I also have a question. MySQL potentially produces result sets of up to
64 bit size - rows. The MySQL client theoretically copes with these by
storing a result set as a doubly linked list, and there's nothing to stop
me doing the same. But is it necessary?

Why not return a range, that will fetch next row when needed? popFront() will call socket's recv, parse and then store that row for the front() calls. This may be internally buffered to 100 rows or so.

Example: https://github.com/pszturmaj/ddb/blob/master/postgres.d#L2145

Reply via email to