Native D MySQL Driver
Dejan Lekic
dejan.lekic at gmail.com
Fri Nov 4 09:58:23 PDT 2011
Steve Teale wrote:
>
> Don't get me wrong. I was not asking if it should be possible to get a
> complete result set, only if we needed to support sets with 2^^64 rows on
> a 32 bit system. Personally I think that is close to stupid - SQL is
> supposed to allow you to select the rows you want - not to make you do
> that on the client side.
It is all right - you asked for opinions - you got it. :)
I am also writing a native D database driver, for the Ingres RDBMS. It is
basically an implementation of the all Ingres DAMP protocols (lvl 1 to 7,
the latest one). There you really need to make a cursor if you really want
to do something you describe above. However, Ingres RDBMS will send you the
result in messages (ie. chunks). But it really does not matter if it sends
the result in chunks or if it streams the whole thing immediately (i would
actually prefer Ingres does that, it would make some things easier).
If I as a developer execute "SELECT * FROM few_bil_rows_table" I am *aware*
of the consequence, but I still want *ALL ROWS*, because, say, I am doing an
OLAP query, and I want to generate a huge report ASAP. :) Ask any BI expert,
and they will tell you that 2^64 result set is nothing! :) Yes, hands down,
if one deals with 2^64 result sets, that person will most likely *not* use
MySQL/MariaDB but something more suitable, like Ingres (now Actian)
VectorWise, and similar.
If I wanted to do it in chunks, I would code that myself, and execute
something like "SELECT * FROM few_bil_rows_table LIMIT offset, rowCount".
More information about the Digitalmars-d
mailing list