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