<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Internal Database Query Functions</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="Database Independent Abstraction Layer for C" HREF="index.html"><LINK REL="UP" TITLE="Driver Functions" HREF="driverfuncs.html"><LINK REL="PREVIOUS" TITLE="Driver Infrastructure Functions" HREF="driverfuncs-infrastructure.html"><LINK REL="NEXT" TITLE="Public Database Query Functions" HREF="driverfuncs-publicdbquery.html"></HEAD ><BODY CLASS="SECTION" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Database Independent Abstraction Layer for C: libdbi Driver Author's Guide</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="driverfuncs-infrastructure.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Chapter 3. Driver Functions</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="driverfuncs-publicdbquery.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECTION" ><H1 CLASS="SECTION" ><A NAME="DRIVERFUNCS-DBQUERY" >3.2. Internal Database Query Functions</A ></H1 ><P >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.</P ><DIV CLASS="SECTION" ><H2 CLASS="SECTION" ><A NAME="DBD-GOTO-ROW" >3.2.1. dbd_goto_row</A ></H2 ><DIV CLASS="FUNCSYNOPSIS" ><P ></P ><A NAME="AEN279" ></A ><P ><CODE ><CODE CLASS="FUNCDEF" >int <B CLASS="FSFUNC" >dbd_goto_row</B ></CODE >(dbi_result_t *<VAR CLASS="PDPARAM" >result</VAR >, unsigned long long <VAR CLASS="PDPARAM" >rowidx</VAR >, unsigned long long <VAR CLASS="PDPARAM" >currowidx</VAR >);</CODE ></P ><P ></P ></DIV ><P >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.</P ><P ></P ><DIV CLASS="VARIABLELIST" ><DL ><DT >Arguments</DT ><DD ><P ><TT CLASS="LITERAL" >result</TT >: The target result handle.</P ><P ><TT CLASS="LITERAL" >row</TT >: The target row number.</P ><P ><TT CLASS="LITERAL" >row</TT >: The current row number.</P ></DD ><DT >Returns</DT ><DD ><P >1 on success, 0 on error.</P ></DD ></DL ></DIV ></DIV ><DIV CLASS="SECTION" ><H2 CLASS="SECTION" ><A NAME="DBD-FETCH-ROW" >3.2.2. dbd_fetch_row</A ></H2 ><DIV CLASS="FUNCSYNOPSIS" ><P ></P ><A NAME="AEN306" ></A ><P ><CODE ><CODE CLASS="FUNCDEF" >int <B CLASS="FSFUNC" >dbd_fetch_row</B ></CODE >(dbi_result_t *<VAR CLASS="PDPARAM" >result</VAR >, unsigned long long <VAR CLASS="PDPARAM" >rowidx</VAR >);</CODE ></P ><P ></P ></DIV ><P >Fetches the target row, retrieving one-time field information if necessary. Also see the <A HREF="helperfuncs.html#INTERNAL-DBD-ROW-ALLOCATE" >_dbd_row_allocate</A > and <A HREF="helperfuncs.html#INTERNAL-DBD-ROW-FINALIZE" >_dbd_row_finalize</A > helper functions.</P ><P ></P ><DIV CLASS="VARIABLELIST" ><DL ><DT >Arguments</DT ><DD ><P ><TT CLASS="LITERAL" >result</TT >: The target result object.</P ><P ><TT CLASS="LITERAL" >rowidx</TT >: The number of the row to fetch. Internal row numbers start at zero.</P ></DD ><DT >Returns</DT ><DD ><P >0 on error, 1 on successful fetch.</P ></DD ></DL ></DIV ></DIV ><DIV CLASS="SECTION" ><H2 CLASS="SECTION" ><A NAME="DBD-FREE-QUERY" >3.2.3. dbd_free_query</A ></H2 ><DIV CLASS="FUNCSYNOPSIS" ><P ></P ><A NAME="AEN331" ></A ><P ><CODE ><CODE CLASS="FUNCDEF" >int <B CLASS="FSFUNC" >dbd_free_query</B ></CODE >(dbi_result_t *<VAR CLASS="PDPARAM" >result</VAR >);</CODE ></P ><P ></P ></DIV ><P >Frees the target result handle.</P ><P ></P ><DIV CLASS="VARIABLELIST" ><DL ><DT >Arguments</DT ><DD ><P ><TT CLASS="LITERAL" >result</TT >: The target result handle.</P ></DD ><DT >Returns</DT ><DD ><P >0 on success.</P ></DD ></DL ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="driverfuncs-infrastructure.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="driverfuncs-publicdbquery.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Driver Infrastructure Functions</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="driverfuncs.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Public Database Query Functions</TD ></TR ></TABLE ></DIV ></BODY ></HTML >