[fpc-pascal] TSQLQuery and buffering.
gpd at gpdnet.co.uk
Mon Mar 27 11:02:37 CEST 2017
>> Indeed, that's why I can't currently see where the problem lies. It
>> shouldn't buffer the rows/records, but it does... or at least
>> something does and I'm pretty sure it's not my program.
> The DB-client library maybe?
I was running some other tests and copied the table contents over to both postgres and MS SQL Server.
Postgres has the same issue, all rows are (seemingly) buffered on the TSQLQuery.Open and huge amounts of RAM used. However, using MS SQL Server almost no memory is used at all! All program results are identical and all I did in the program was swap out the TSQLConnection with different "drivers".
The problem therefore lies in either the Pascal layer on top of the native client libs or in the way the client libs themselves work :( I suspect the latter.
I will need to do some more investigation in a different way if I am to work round this one.
I apologise for potentially wasting people's time. It might be good for people to know the above issues (limitations?) anyway.
More information about the fpc-pascal