P
PeteCresswell
The app's back end has been bloating badly - seemingly as the result
of an iterative process that creates records and attempts to save
them, trapping the 3022 if there is already a record out there and
merrily moving on to the next record.
I've run it a half-dozen times solo and nada: no bloat.
But the two times I have run it with two people connected to the back
end concurrently, the bloat happens.
We're talking 84 megs ===> 170+ megs.
Could multiple users connected really be a factor?
Intuitively, it doesn't seem so.... but my tests *seem* to say
otherwise.
Here are a few code frags:
--------------------------------------------------
Public Function PaymentAccruals_Update_Security( _
) As Long
4000 DebugStackPush mModuleName & ": PaymentAccruals_Update_Security"
4001 On Error GoTo PaymentAccruals_Update_Security_err
....
4820 With thePaymentAccrualRS
4821 .AddNew
4822 !SecurityID = theSecurityID
4823 !TradingAccountID = tradingAccountRS!
TradingAccountID
4824 !PaymentAccrualDate = curAccrualDate
4825 !PaymentAccrualAmount = curAccrual
4826 !CreatedAt = theTimeStamp
4827 !CreatedBy = theUserID
4828 .Update
4829 End With
....
PaymentAccruals_Update_Security_err:
Select Case Err
Case gError_DuplicateValue '3022
Resume Next 'We've already computed this guy and just want to
bypass that date
Case Else
BugAlert True, "SecurityID='" & theSecurityID & "',
SingleSecuritySwitch='" & theSingleSecuritySwitch & "', arraySize='" &
arraySize & "'."
End Select
Resume PaymentAccruals_Update_Security_xit
--------------------------------------------------
of an iterative process that creates records and attempts to save
them, trapping the 3022 if there is already a record out there and
merrily moving on to the next record.
I've run it a half-dozen times solo and nada: no bloat.
But the two times I have run it with two people connected to the back
end concurrently, the bloat happens.
We're talking 84 megs ===> 170+ megs.
Could multiple users connected really be a factor?
Intuitively, it doesn't seem so.... but my tests *seem* to say
otherwise.
Here are a few code frags:
--------------------------------------------------
Public Function PaymentAccruals_Update_Security( _
) As Long
4000 DebugStackPush mModuleName & ": PaymentAccruals_Update_Security"
4001 On Error GoTo PaymentAccruals_Update_Security_err
....
4820 With thePaymentAccrualRS
4821 .AddNew
4822 !SecurityID = theSecurityID
4823 !TradingAccountID = tradingAccountRS!
TradingAccountID
4824 !PaymentAccrualDate = curAccrualDate
4825 !PaymentAccrualAmount = curAccrual
4826 !CreatedAt = theTimeStamp
4827 !CreatedBy = theUserID
4828 .Update
4829 End With
....
PaymentAccruals_Update_Security_err:
Select Case Err
Case gError_DuplicateValue '3022
Resume Next 'We've already computed this guy and just want to
bypass that date
Case Else
BugAlert True, "SecurityID='" & theSecurityID & "',
SingleSecuritySwitch='" & theSingleSecuritySwitch & "', arraySize='" &
arraySize & "'."
End Select
Resume PaymentAccruals_Update_Security_xit
--------------------------------------------------