plugins.rawSQL.flushAllClientsCache resets foundsets to record 1 if you’re on a record > 200…
Scenario 1:
-table [orders] has 260 records
-current record selected on form is record 25
-execute plugins.rawSQL.flushAllClientsCache
-foundset/form stays on record 25
Scenario 2:
-table [orders] has 260 records
-current record selected on form is record 225 of 260 records (2nd group of 200 records)
-execute plugins.rawSQL.flushAllClientsCache
-foundset/form jumps to record 1 and the foundset reverts back to the first 200 records
-what’s really disturbing is that the record pointer will jump to record 1, even if another user executes the flushAllClientsCache command.
I found this out inadvertently when my invoice processing program started marking orders with invoice #1 instead of invoice #225 when doing batch processing.
I realize the flushAllClientsCache is an expensive operation. However, I had no idea that it could change the selected record midstream when I’m running a method.
Since Servoy seems to know what record its on when it’s in the first 200 records, it seems to be a bug that it loses it’s bearings when it’s in a recordset > 200 records.
Has anyone else seen this? This makes the flushAllClientsCache completely useless to me as it introduces a critical data corruption situation.
–Jason