This PR extends the CBOR support with the ability to read the
CBOR-encapsulated result sets.
The PR also makes fetching data more efficient with the SQLGetData()
(the alternative to the generally more efficient SQLBindCol()). The
implementation still uses punctual column binding and unbinding, but
SQLFetch() will now cache the source JSON/CBOR object into IRD's records
and will no longer walk the entire list of instantied ARD records all
the way to the ad-hoc bound column.
Counting the total number of rows returned for a query has been changed
to cope with ES's use of indefinite-size arrays, to avoid iterating
twice over the rows in a page.
This PR extends the CBOR support with the ability to read the CBOR-encapsulated result sets.
The PR also makes fetching data more efficient with the SQLGetData() (the alternative to the generally more efficient SQLBindCol()). The implementation still uses punctual column binding and unbinding, but SQLFetch() will now cache the source JSON/CBOR object into IRD's records and will no longer walk the entire list of instantied ARD records all the way to the ad-hoc bound column.
Counting the total number of rows returned for a query has been changed to cope with ES's use of indefinite-size arrays, to avoid iterating twice over the rows in a page.