On Sat, 25 Mar 2017, Gary Doades wrote:


On Fri, 24 Mar 2017, Gary Doades wrote:

Really, the question is simple: Is there ANY way of TSQLQuery NOT reading the entire result set into memory?

Set Unidirectional to True, and it will keep only 1 row in memory.
When you are simply scanning through the result set, this is all you need.

Hi Michael,

Many thanks for your reply. I had read about UniDirectional and I have indeed 
tried this. It doesn't seem to make any significant difference. Looking through 
the source code for TBufDataset it looks like UniDirectional just turns off 
building various indexes/structures etc. and fetches the result set all in one 
go instead of 10 row chunks. It still buffers everything in memory.

In that case, it is a bug. The very purpose of UniDirectional is exactly NOT to buffer anything, just to keep the current record in memory.

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to