r

On Sat, 25 Mar 2017, Martin Schreiber wrote:

On Saturday 25 March 2017 10:28:37 Michael Van Canneyt wrote:
On Sat, 25 Mar 2017, Martin Schreiber wrote:
> On Saturday 25 March 2017 09:32:33 Gary Doades wrote:
>> I Understand about the "normal" use of TSQLQuery and data sets and I
>> also use this for small result set that need the data changing some way
>> and writing back to the DB. What I need now is an equally convenient and
>> powerful way of processing "big data".
>
> MSEgui has TSQLResult for that purpose without the TDataset overhead.
> https://gitlab.com/mseide-msegui/mseide-msegui/blob/master/lib/common/db/
>msesqlresult.pas

Can you explain in 2 words how this differs from TDataset ?
At first sight it is not fundamentally different.
The structure looks almost exactly the same, just the names are different.

Please follow the datatransfer from database to the destination in application in T*Dataset and compare it with TSQLResult and you probably will see the difference.

Looking at the above unit, I can only presume you load the field directly
from the cursor returned by the native library.

Makes sense.


And while you're at it, please explain what the 'overhead' is of TDataset.
That TBufDataset introduces overhead is a design decision. But TDataset
itself introduces no "overhead".

TDataset/TDataSource/TDatalink/TField is a complex machine, don't you think? Follow the code of a TDataset.Next() call step by step and you will see what I mean.

As far as I can make out, TSQLResult is usable only for scanning a result set.
TDataset has a lot more functions, hence has a lot more overhead.

But TSQLResult is an interesting idea; I've long been looking for something
more lightweight for use in web apps, where the typical use case is just
scan a result set and transfer it to the browser. I had thought to reuse
TSQLStatement and keep TField/TFieldDef so as not to invent too much new classes. I'll maybe use your code as inspiration.

Thanks!

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

Reply via email to