Subject Re: delayed suspend
Author emb_blaster
Hi Helen, everyone...
Only to confirm if I was understanding rigth...

let see if I understand right:

> If your application code is fetching the contents of that buffer into its own buffer (as would be the case for a Delphi dataset, unless the FOR UPDATE keyphrase were included in the call) then the SUSPEND ends once the row is fetched into the client buffer and the SP is able to continue executing.

by Delphi dataset, you mean IBXs components (TIBTables, TIBQuerys,...), DBX components (TClientDataset, TSQLTable,...), all TDataset descendents, or also another components (like IBO, FIB+, zeos,MDO,...)?

Also this is what we see when use property RecordCount that only count the fetched rows? (if, your table is big and you did only a "dataset.open" is need to do a FetchAll to count all rows)


> If an exception occurs during an iteration of the loop, the SUSPEND doesn't happen and execution passes to the nearest exception
handler.
> -- If the loop doesn't provide its own exception handler, the loop stops executing and control passes to the next exception handler....and so on...but the engine has no way to *recall* output rows that have already been fetched or cached by the client.

so if after a error in my SSP "DoSomethingVeryLong_whitoutDistinctGroupByAndEtc"
the data is blank, then is because the exception handler erased the dataset buffer? (let´s say that the error ocurrs after the suspend take some rows ok?:)