3.2. Internal Database Query Functions

These functions are called by libdbi when the libdbi user runs queries and accesses their results. There are also a bunch of helper functions that deal with the character encodings as well as with string escaping and quoting.

3.2.1. dbd_goto_row

int dbd_goto_row(dbi_result_t *result, unsigned long long rowidx, unsigned long long currowidx);

Jumps to the specifed row in the result set. Internal row counts start at 0. The current row number is passed to the driver to allow it to check whether a (presumably expensive) seek operation is required.

Arguments

result: The target result handle.

row: The target row number.

row: The current row number.

Returns

1 on success, 0 on error.

3.2.2. dbd_fetch_row

int dbd_fetch_row(dbi_result_t *result, unsigned long long rowidx);

Fetches the target row, retrieving one-time field information if necessary. Also see the _dbd_row_allocate and _dbd_row_finalize helper functions.

Arguments

result: The target result object.

rowidx: The number of the row to fetch. Internal row numbers start at zero.

Returns

0 on error, 1 on successful fetch.

3.2.3. dbd_free_query

int dbd_free_query(dbi_result_t *result);

Frees the target result handle.

Arguments

result: The target result handle.

Returns

0 on success.