%PDF- %PDF-
| Direktori : /usr/share/doc/libaprutil1-dev/html/ |
| Current File : //usr/share/doc/libaprutil1-dev/html/structapr__dbd__driver__t.html |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Apache Portable Runtime Utility Library: apr_dbd_driver_t Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Apache Portable Runtime Utility Library
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle"><div class="title">apr_dbd_driver_t Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a5483b4c47dde6814395bebfb7959fb37" id="r_a5483b4c47dde6814395bebfb7959fb37"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a5483b4c47dde6814395bebfb7959fb37">name</a></td></tr>
<tr class="separator:a5483b4c47dde6814395bebfb7959fb37"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abe128d58439959850b95c8ff8ebd89a1" id="r_abe128d58439959850b95c8ff8ebd89a1"><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#abe128d58439959850b95c8ff8ebd89a1">init</a> )(apr_pool_t *pool)</td></tr>
<tr class="separator:abe128d58439959850b95c8ff8ebd89a1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af8b234bd87eef570b123910ec6694a15" id="r_af8b234bd87eef570b123910ec6694a15"><td class="memItemLeft" align="right" valign="top">void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#af8b234bd87eef570b123910ec6694a15">native_handle</a> )(apr_dbd_t *handle)</td></tr>
<tr class="separator:af8b234bd87eef570b123910ec6694a15"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a09e95874c608afe6029c2630e181af89" id="r_a09e95874c608afe6029c2630e181af89"><td class="memItemLeft" align="right" valign="top">apr_dbd_t *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a09e95874c608afe6029c2630e181af89">open</a> )(apr_pool_t *pool, const char *params, const char **<a class="el" href="structapr__dbd__driver__t.html#a8f91d0602037b1553a11e69444f486e0">error</a>)</td></tr>
<tr class="separator:a09e95874c608afe6029c2630e181af89"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a644f9d26c9a3f3ebbde35fcc5caa7903" id="r_a644f9d26c9a3f3ebbde35fcc5caa7903"><td class="memItemLeft" align="right" valign="top">apr_status_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a644f9d26c9a3f3ebbde35fcc5caa7903">check_conn</a> )(apr_pool_t *pool, apr_dbd_t *handle)</td></tr>
<tr class="separator:a644f9d26c9a3f3ebbde35fcc5caa7903"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a51f2fb88a8f6d109e859e470c12922e2" id="r_a51f2fb88a8f6d109e859e470c12922e2"><td class="memItemLeft" align="right" valign="top">apr_status_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a51f2fb88a8f6d109e859e470c12922e2">close</a> )(apr_dbd_t *handle)</td></tr>
<tr class="separator:a51f2fb88a8f6d109e859e470c12922e2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0c9507b1cdf1a221165e7e48e6b54404" id="r_a0c9507b1cdf1a221165e7e48e6b54404"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a0c9507b1cdf1a221165e7e48e6b54404">set_dbname</a> )(apr_pool_t *pool, apr_dbd_t *handle, const char *<a class="el" href="structapr__dbd__driver__t.html#a5483b4c47dde6814395bebfb7959fb37">name</a>)</td></tr>
<tr class="separator:a0c9507b1cdf1a221165e7e48e6b54404"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a665ebdcc7ccf31b394aa25b138425331" id="r_a665ebdcc7ccf31b394aa25b138425331"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a665ebdcc7ccf31b394aa25b138425331">start_transaction</a> )(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_transaction_t **trans)</td></tr>
<tr class="separator:a665ebdcc7ccf31b394aa25b138425331"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8ec55cbddf69f4d371017d0c985abe76" id="r_a8ec55cbddf69f4d371017d0c985abe76"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a8ec55cbddf69f4d371017d0c985abe76">end_transaction</a> )(apr_dbd_transaction_t *trans)</td></tr>
<tr class="separator:a8ec55cbddf69f4d371017d0c985abe76"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac42de1c72ac0ed642335b607d3697ce8" id="r_ac42de1c72ac0ed642335b607d3697ce8"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#ac42de1c72ac0ed642335b607d3697ce8">query</a> )(apr_dbd_t *handle, int *nrows, const char *statement)</td></tr>
<tr class="separator:ac42de1c72ac0ed642335b607d3697ce8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2df4f0cf267ce9129189e3bb47e4b98e" id="r_a2df4f0cf267ce9129189e3bb47e4b98e"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a2df4f0cf267ce9129189e3bb47e4b98e">select</a> )(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, const char *statement, int random)</td></tr>
<tr class="separator:a2df4f0cf267ce9129189e3bb47e4b98e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a518d4b194539fb068ef38ba16d803185" id="r_a518d4b194539fb068ef38ba16d803185"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a518d4b194539fb068ef38ba16d803185">num_cols</a> )(apr_dbd_results_t *res)</td></tr>
<tr class="separator:a518d4b194539fb068ef38ba16d803185"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2f5afd04b4ad2ef6ce737b8bad4c0cea" id="r_a2f5afd04b4ad2ef6ce737b8bad4c0cea"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a2f5afd04b4ad2ef6ce737b8bad4c0cea">num_tuples</a> )(apr_dbd_results_t *res)</td></tr>
<tr class="separator:a2f5afd04b4ad2ef6ce737b8bad4c0cea"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad7257c26c42d4f399d9a1ab04cc6c17a" id="r_ad7257c26c42d4f399d9a1ab04cc6c17a"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#ad7257c26c42d4f399d9a1ab04cc6c17a">get_row</a> )(apr_pool_t *pool, apr_dbd_results_t *res, apr_dbd_row_t **row, int rownum)</td></tr>
<tr class="separator:ad7257c26c42d4f399d9a1ab04cc6c17a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac0bd3f0fa31886ec88d1fc3e426ac729" id="r_ac0bd3f0fa31886ec88d1fc3e426ac729"><td class="memItemLeft" align="right" valign="top">const char *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#ac0bd3f0fa31886ec88d1fc3e426ac729">get_entry</a> )(const apr_dbd_row_t *row, int col)</td></tr>
<tr class="separator:ac0bd3f0fa31886ec88d1fc3e426ac729"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8f91d0602037b1553a11e69444f486e0" id="r_a8f91d0602037b1553a11e69444f486e0"><td class="memItemLeft" align="right" valign="top">const char *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a8f91d0602037b1553a11e69444f486e0">error</a> )(apr_dbd_t *handle, int errnum)</td></tr>
<tr class="separator:a8f91d0602037b1553a11e69444f486e0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae5d5d9f82e15252b8a04258c1ab1a155" id="r_ae5d5d9f82e15252b8a04258c1ab1a155"><td class="memItemLeft" align="right" valign="top">const char *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#ae5d5d9f82e15252b8a04258c1ab1a155">escape</a> )(apr_pool_t *pool, const char *string, apr_dbd_t *handle)</td></tr>
<tr class="separator:ae5d5d9f82e15252b8a04258c1ab1a155"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2f2a54582974268e8ba3264dca640ca6" id="r_a2f2a54582974268e8ba3264dca640ca6"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a2f2a54582974268e8ba3264dca640ca6">prepare</a> )(apr_pool_t *pool, apr_dbd_t *handle, const char *<a class="el" href="structapr__dbd__driver__t.html#ac42de1c72ac0ed642335b607d3697ce8">query</a>, const char *label, int nargs, int nvals, <a class="el" href="group___a_p_r___util___d_b_d.html#ga19608fa5d518a5121bee23daacc5c230">apr_dbd_type_e</a> *types, apr_dbd_prepared_t **statement)</td></tr>
<tr class="separator:a2f2a54582974268e8ba3264dca640ca6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9c68730a69a09b4ab06febb944147888" id="r_a9c68730a69a09b4ab06febb944147888"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a9c68730a69a09b4ab06febb944147888">pvquery</a> )(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, va_list args)</td></tr>
<tr class="separator:a9c68730a69a09b4ab06febb944147888"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad0b6fca421fe2e009804ab85ab64c1db" id="r_ad0b6fca421fe2e009804ab85ab64c1db"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#ad0b6fca421fe2e009804ab85ab64c1db">pvselect</a> )(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random, va_list args)</td></tr>
<tr class="separator:ad0b6fca421fe2e009804ab85ab64c1db"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a849f8ae47843b0f2d8633d3f3b002493" id="r_a849f8ae47843b0f2d8633d3f3b002493"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a849f8ae47843b0f2d8633d3f3b002493">pquery</a> )(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, const char **args)</td></tr>
<tr class="separator:a849f8ae47843b0f2d8633d3f3b002493"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1295f5431413acc31faf84342bdf6ed0" id="r_a1295f5431413acc31faf84342bdf6ed0"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a1295f5431413acc31faf84342bdf6ed0">pselect</a> )(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random, const char **args)</td></tr>
<tr class="separator:a1295f5431413acc31faf84342bdf6ed0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac9ce02c899fa2e984182347fb6c6afe4" id="r_ac9ce02c899fa2e984182347fb6c6afe4"><td class="memItemLeft" align="right" valign="top">const char *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#ac9ce02c899fa2e984182347fb6c6afe4">get_name</a> )(const apr_dbd_results_t *res, int col)</td></tr>
<tr class="separator:ac9ce02c899fa2e984182347fb6c6afe4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a00d4b7a3362ced55e9b5f0c2513aa284" id="r_a00d4b7a3362ced55e9b5f0c2513aa284"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a00d4b7a3362ced55e9b5f0c2513aa284">transaction_mode_get</a> )(apr_dbd_transaction_t *trans)</td></tr>
<tr class="separator:a00d4b7a3362ced55e9b5f0c2513aa284"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a81620ae15072e50976ddca1808efbba4" id="r_a81620ae15072e50976ddca1808efbba4"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a81620ae15072e50976ddca1808efbba4">transaction_mode_set</a> )(apr_dbd_transaction_t *trans, int mode)</td></tr>
<tr class="separator:a81620ae15072e50976ddca1808efbba4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a975698d5688012fe2810542769ac4f05" id="r_a975698d5688012fe2810542769ac4f05"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a975698d5688012fe2810542769ac4f05">pformat</a></td></tr>
<tr class="separator:a975698d5688012fe2810542769ac4f05"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9731123f5323c4d12b24065b4c36cb1a" id="r_a9731123f5323c4d12b24065b4c36cb1a"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a9731123f5323c4d12b24065b4c36cb1a">pvbquery</a> )(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, va_list args)</td></tr>
<tr class="separator:a9731123f5323c4d12b24065b4c36cb1a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a003dc5921881f3d548026ba6be8044f2" id="r_a003dc5921881f3d548026ba6be8044f2"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#a003dc5921881f3d548026ba6be8044f2">pvbselect</a> )(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random, va_list args)</td></tr>
<tr class="separator:a003dc5921881f3d548026ba6be8044f2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af3769b3e57bd3fcef9cadf43415320d1" id="r_af3769b3e57bd3fcef9cadf43415320d1"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#af3769b3e57bd3fcef9cadf43415320d1">pbquery</a> )(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, const void **args)</td></tr>
<tr class="separator:af3769b3e57bd3fcef9cadf43415320d1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abf1e22068afc62e081fbf985c2683bd9" id="r_abf1e22068afc62e081fbf985c2683bd9"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#abf1e22068afc62e081fbf985c2683bd9">pbselect</a> )(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random, const void **args)</td></tr>
<tr class="separator:abf1e22068afc62e081fbf985c2683bd9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa4e7085c08af67ae80cfca708ee00d4f" id="r_aa4e7085c08af67ae80cfca708ee00d4f"><td class="memItemLeft" align="right" valign="top">apr_status_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__dbd__driver__t.html#aa4e7085c08af67ae80cfca708ee00d4f">datum_get</a> )(const apr_dbd_row_t *row, int col, <a class="el" href="group___a_p_r___util___d_b_d.html#ga19608fa5d518a5121bee23daacc5c230">apr_dbd_type_e</a> type, void *data)</td></tr>
<tr class="separator:aa4e7085c08af67ae80cfca708ee00d4f"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<h2 class="groupheader">Field Documentation</h2>
<a id="a644f9d26c9a3f3ebbde35fcc5caa7903" name="a644f9d26c9a3f3ebbde35fcc5caa7903"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a644f9d26c9a3f3ebbde35fcc5caa7903">◆ </a></span>check_conn</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">apr_status_t(* apr_dbd_driver_t::check_conn) (apr_pool_t *pool, apr_dbd_t *handle)</td>
</tr>
</table>
</div><div class="memdoc">
<p>check_conn: check status of a database connection</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- a pool to use for error messages (if any). </td></tr>
<tr><td class="paramname">handle</td><td>- the connection to check </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS or error </dd></dl>
</div>
</div>
<a id="a51f2fb88a8f6d109e859e470c12922e2" name="a51f2fb88a8f6d109e859e470c12922e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51f2fb88a8f6d109e859e470c12922e2">◆ </a></span>close</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">apr_status_t(* apr_dbd_driver_t::close) (apr_dbd_t *handle)</td>
</tr>
</table>
</div><div class="memdoc">
<p>close: close/release a connection obtained from <a class="el" href="structapr__dbd__driver__t.html#a09e95874c608afe6029c2630e181af89">open()</a></p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>- the connection to release </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS or error </dd></dl>
</div>
</div>
<a id="aa4e7085c08af67ae80cfca708ee00d4f" name="aa4e7085c08af67ae80cfca708ee00d4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4e7085c08af67ae80cfca708ee00d4f">◆ </a></span>datum_get</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">apr_status_t(* apr_dbd_driver_t::datum_get) (const apr_dbd_row_t *row, int col, <a class="el" href="group___a_p_r___util___d_b_d.html#ga19608fa5d518a5121bee23daacc5c230">apr_dbd_type_e</a> type, void *data)</td>
</tr>
</table>
</div><div class="memdoc">
<p>datum_get: get a binary entry from a row</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">row</td><td>- row pointer </td></tr>
<tr><td class="paramname">col</td><td>- entry number </td></tr>
<tr><td class="paramname">type</td><td>- type of data to get </td></tr>
<tr><td class="paramname">data</td><td>- pointer to data, allocated by the caller </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS, an error code on error or if col is out of bounds </dd></dl>
</div>
</div>
<a id="a8ec55cbddf69f4d371017d0c985abe76" name="a8ec55cbddf69f4d371017d0c985abe76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ec55cbddf69f4d371017d0c985abe76">◆ </a></span>end_transaction</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::end_transaction) (apr_dbd_transaction_t *trans)</td>
</tr>
</table>
</div><div class="memdoc">
<p>end_transaction: end a transaction (commit on success, rollback on error). May be a no-op.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">trans</td><td>- the transaction. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success or error code </dd></dl>
</div>
</div>
<a id="a8f91d0602037b1553a11e69444f486e0" name="a8f91d0602037b1553a11e69444f486e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f91d0602037b1553a11e69444f486e0">◆ </a></span>error</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char *(* apr_dbd_driver_t::error) (apr_dbd_t *handle, int errnum)</td>
</tr>
</table>
</div><div class="memdoc">
<p>error: get current error message (if any)</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>- the connection </td></tr>
<tr><td class="paramname">errnum</td><td>- error code from operation that returned an error </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the database current error message, or message for errnum (implementation-dependent whether errnum is ignored) </dd></dl>
</div>
</div>
<a id="ae5d5d9f82e15252b8a04258c1ab1a155" name="ae5d5d9f82e15252b8a04258c1ab1a155"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5d5d9f82e15252b8a04258c1ab1a155">◆ </a></span>escape</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char *(* apr_dbd_driver_t::escape) (apr_pool_t *pool, const char *string, apr_dbd_t *handle)</td>
</tr>
</table>
</div><div class="memdoc">
<p>escape: escape a string so it is safe for use in query/select</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- pool to alloc the result from </td></tr>
<tr><td class="paramname">string</td><td>- the string to escape </td></tr>
<tr><td class="paramname">handle</td><td>- the connection </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the escaped, safe string </dd></dl>
</div>
</div>
<a id="ac0bd3f0fa31886ec88d1fc3e426ac729" name="ac0bd3f0fa31886ec88d1fc3e426ac729"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0bd3f0fa31886ec88d1fc3e426ac729">◆ </a></span>get_entry</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char *(* apr_dbd_driver_t::get_entry) (const apr_dbd_row_t *row, int col)</td>
</tr>
</table>
</div><div class="memdoc">
<p>get_entry: get an entry from a row</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">row</td><td>- row pointer </td></tr>
<tr><td class="paramname">col</td><td>- entry number </td></tr>
<tr><td class="paramname">val</td><td>- entry to fill </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success, -1 for no data, +1 for general error </dd></dl>
</div>
</div>
<a id="ac9ce02c899fa2e984182347fb6c6afe4" name="ac9ce02c899fa2e984182347fb6c6afe4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9ce02c899fa2e984182347fb6c6afe4">◆ </a></span>get_name</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char *(* apr_dbd_driver_t::get_name) (const apr_dbd_results_t *res, int col)</td>
</tr>
</table>
</div><div class="memdoc">
<p>get_name: get a column title from a result set</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">res</td><td>- result set pointer </td></tr>
<tr><td class="paramname">col</td><td>- entry number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>param name, or NULL if col is out of bounds. </dd></dl>
</div>
</div>
<a id="ad7257c26c42d4f399d9a1ab04cc6c17a" name="ad7257c26c42d4f399d9a1ab04cc6c17a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7257c26c42d4f399d9a1ab04cc6c17a">◆ </a></span>get_row</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::get_row) (apr_pool_t *pool, apr_dbd_results_t *res, apr_dbd_row_t **row, int rownum)</td>
</tr>
</table>
</div><div class="memdoc">
<p>get_row: get a row from a result set</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- pool to allocate the row </td></tr>
<tr><td class="paramname">res</td><td>- result set pointer </td></tr>
<tr><td class="paramname">row</td><td>- pointer to row pointer. May point to NULL on entry </td></tr>
<tr><td class="paramname">rownum</td><td>- row number, or -1 for "next row". Ignored if random access is not supported. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success, -1 for rownum out of range or data finished </dd></dl>
</div>
</div>
<a id="abe128d58439959850b95c8ff8ebd89a1" name="abe128d58439959850b95c8ff8ebd89a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe128d58439959850b95c8ff8ebd89a1">◆ </a></span>init</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void(* apr_dbd_driver_t::init) (apr_pool_t *pool)</td>
</tr>
</table>
</div><div class="memdoc">
<p>init: allow driver to perform once-only initialisation. Called once only. May be NULL </p>
</div>
</div>
<a id="a5483b4c47dde6814395bebfb7959fb37" name="a5483b4c47dde6814395bebfb7959fb37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5483b4c47dde6814395bebfb7959fb37">◆ </a></span>name</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* apr_dbd_driver_t::name</td>
</tr>
</table>
</div><div class="memdoc">
<p>name </p>
</div>
</div>
<a id="af8b234bd87eef570b123910ec6694a15" name="af8b234bd87eef570b123910ec6694a15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8b234bd87eef570b123910ec6694a15">◆ </a></span>native_handle</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void *(* apr_dbd_driver_t::native_handle) (apr_dbd_t *handle)</td>
</tr>
</table>
</div><div class="memdoc">
<p>native_handle: return the native database handle of the underlying db</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>- apr_dbd handle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>- native handle </dd></dl>
</div>
</div>
<a id="a518d4b194539fb068ef38ba16d803185" name="a518d4b194539fb068ef38ba16d803185"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a518d4b194539fb068ef38ba16d803185">◆ </a></span>num_cols</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::num_cols) (apr_dbd_results_t *res)</td>
</tr>
</table>
</div><div class="memdoc">
<p>num_cols: get the number of columns in a results set</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">res</td><td>- result set. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of columns </dd></dl>
</div>
</div>
<a id="a2f5afd04b4ad2ef6ce737b8bad4c0cea" name="a2f5afd04b4ad2ef6ce737b8bad4c0cea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f5afd04b4ad2ef6ce737b8bad4c0cea">◆ </a></span>num_tuples</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::num_tuples) (apr_dbd_results_t *res)</td>
</tr>
</table>
</div><div class="memdoc">
<p>num_tuples: get the number of rows in a results set of a synchronous select</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">res</td><td>- result set. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of rows, or -1 if the results are asynchronous </dd></dl>
</div>
</div>
<a id="a09e95874c608afe6029c2630e181af89" name="a09e95874c608afe6029c2630e181af89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09e95874c608afe6029c2630e181af89">◆ </a></span>open</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">apr_dbd_t *(* apr_dbd_driver_t::open) (apr_pool_t *pool, const char *params, const char **<a class="el" href="structapr__dbd__driver__t.html#a8f91d0602037b1553a11e69444f486e0">error</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p>open: obtain a database connection from the server rec. Must be explicitly closed when you're finished with it. WARNING: only use this when you need a connection with a lifetime other than a request</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- a pool to use for error messages (if any). </td></tr>
<tr><td class="paramname">params</td><td>- connection parameters. </td></tr>
<tr><td class="paramname">error</td><td>- descriptive error. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>database handle, or NULL on error. </dd></dl>
</div>
</div>
<a id="af3769b3e57bd3fcef9cadf43415320d1" name="af3769b3e57bd3fcef9cadf43415320d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3769b3e57bd3fcef9cadf43415320d1">◆ </a></span>pbquery</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::pbquery) (apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, const void **args)</td>
</tr>
</table>
</div><div class="memdoc">
<p>pbquery: query using a prepared statement + binary args</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- working pool </td></tr>
<tr><td class="paramname">handle</td><td>- the connection </td></tr>
<tr><td class="paramname">nrows</td><td>- number of rows affected. </td></tr>
<tr><td class="paramname">statement</td><td>- the prepared statement to execute </td></tr>
<tr><td class="paramname">args</td><td>- binary args to prepared statement </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success or error code </dd></dl>
</div>
</div>
<a id="abf1e22068afc62e081fbf985c2683bd9" name="abf1e22068afc62e081fbf985c2683bd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf1e22068afc62e081fbf985c2683bd9">◆ </a></span>pbselect</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::pbselect) (apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random, const void **args)</td>
</tr>
</table>
</div><div class="memdoc">
<p>pbselect: select using a prepared statement + binary args</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- working pool </td></tr>
<tr><td class="paramname">handle</td><td>- the connection </td></tr>
<tr><td class="paramname">res</td><td>- pointer to query results. May point to NULL on entry </td></tr>
<tr><td class="paramname">statement</td><td>- the prepared statement to execute </td></tr>
<tr><td class="paramname">random</td><td>- Whether to support random-access to results </td></tr>
<tr><td class="paramname">args</td><td>- binary args to prepared statement </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success or error code </dd></dl>
</div>
</div>
<a id="a975698d5688012fe2810542769ac4f05" name="a975698d5688012fe2810542769ac4f05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a975698d5688012fe2810542769ac4f05">◆ </a></span>pformat</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* apr_dbd_driver_t::pformat</td>
</tr>
</table>
</div><div class="memdoc">
<p>format of prepared statement parameters </p>
</div>
</div>
<a id="a849f8ae47843b0f2d8633d3f3b002493" name="a849f8ae47843b0f2d8633d3f3b002493"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a849f8ae47843b0f2d8633d3f3b002493">◆ </a></span>pquery</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::pquery) (apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, const char **args)</td>
</tr>
</table>
</div><div class="memdoc">
<p>pquery: query using a prepared statement + args</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- working pool </td></tr>
<tr><td class="paramname">handle</td><td>- the connection </td></tr>
<tr><td class="paramname">nrows</td><td>- number of rows affected. </td></tr>
<tr><td class="paramname">statement</td><td>- the prepared statement to execute </td></tr>
<tr><td class="paramname">args</td><td>- args to prepared statement </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success or error code </dd></dl>
</div>
</div>
<a id="a2f2a54582974268e8ba3264dca640ca6" name="a2f2a54582974268e8ba3264dca640ca6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f2a54582974268e8ba3264dca640ca6">◆ </a></span>prepare</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::prepare) (apr_pool_t *pool, apr_dbd_t *handle, const char *<a class="el" href="structapr__dbd__driver__t.html#ac42de1c72ac0ed642335b607d3697ce8">query</a>, const char *label, int nargs, int nvals, <a class="el" href="group___a_p_r___util___d_b_d.html#ga19608fa5d518a5121bee23daacc5c230">apr_dbd_type_e</a> *types, apr_dbd_prepared_t **statement)</td>
</tr>
</table>
</div><div class="memdoc">
<p>prepare: prepare a statement</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- pool to alloc the result from </td></tr>
<tr><td class="paramname">handle</td><td>- the connection </td></tr>
<tr><td class="paramname">query</td><td>- the SQL query </td></tr>
<tr><td class="paramname">label</td><td>- A label for the prepared statement. use NULL for temporary prepared statements (eg within a Request in httpd) </td></tr>
<tr><td class="paramname">nargs</td><td>- number of parameters in the query </td></tr>
<tr><td class="paramname">nvals</td><td>- number of values passed in p[b]query/select </td></tr>
<tr><td class="paramname">types</td><td>- pointer to an array with types of parameters </td></tr>
<tr><td class="paramname">statement</td><td>- statement to prepare. May point to null on entry. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success or error code </dd></dl>
</div>
</div>
<a id="a1295f5431413acc31faf84342bdf6ed0" name="a1295f5431413acc31faf84342bdf6ed0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1295f5431413acc31faf84342bdf6ed0">◆ </a></span>pselect</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::pselect) (apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random, const char **args)</td>
</tr>
</table>
</div><div class="memdoc">
<p>pselect: select using a prepared statement + args</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- working pool </td></tr>
<tr><td class="paramname">handle</td><td>- the connection </td></tr>
<tr><td class="paramname">res</td><td>- pointer to query results. May point to NULL on entry </td></tr>
<tr><td class="paramname">statement</td><td>- the prepared statement to execute </td></tr>
<tr><td class="paramname">random</td><td>- Whether to support random-access to results </td></tr>
<tr><td class="paramname">args</td><td>- args to prepared statement </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success or error code </dd></dl>
</div>
</div>
<a id="a9731123f5323c4d12b24065b4c36cb1a" name="a9731123f5323c4d12b24065b4c36cb1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9731123f5323c4d12b24065b4c36cb1a">◆ </a></span>pvbquery</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::pvbquery) (apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, va_list args)</td>
</tr>
</table>
</div><div class="memdoc">
<p>pvbquery: query using a prepared statement + binary args</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- working pool </td></tr>
<tr><td class="paramname">handle</td><td>- the connection </td></tr>
<tr><td class="paramname">nrows</td><td>- number of rows affected. </td></tr>
<tr><td class="paramname">statement</td><td>- the prepared statement to execute </td></tr>
<tr><td class="paramname">args</td><td>- binary args to prepared statement </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success or error code </dd></dl>
</div>
</div>
<a id="a003dc5921881f3d548026ba6be8044f2" name="a003dc5921881f3d548026ba6be8044f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a003dc5921881f3d548026ba6be8044f2">◆ </a></span>pvbselect</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::pvbselect) (apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random, va_list args)</td>
</tr>
</table>
</div><div class="memdoc">
<p>pvbselect: select using a prepared statement + binary args</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- working pool </td></tr>
<tr><td class="paramname">handle</td><td>- the connection </td></tr>
<tr><td class="paramname">res</td><td>- pointer to query results. May point to NULL on entry </td></tr>
<tr><td class="paramname">statement</td><td>- the prepared statement to execute </td></tr>
<tr><td class="paramname">random</td><td>- Whether to support random-access to results </td></tr>
<tr><td class="paramname">args</td><td>- binary args to prepared statement </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success or error code </dd></dl>
</div>
</div>
<a id="a9c68730a69a09b4ab06febb944147888" name="a9c68730a69a09b4ab06febb944147888"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c68730a69a09b4ab06febb944147888">◆ </a></span>pvquery</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::pvquery) (apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, va_list args)</td>
</tr>
</table>
</div><div class="memdoc">
<p>pvquery: query using a prepared statement + args</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- working pool </td></tr>
<tr><td class="paramname">handle</td><td>- the connection </td></tr>
<tr><td class="paramname">nrows</td><td>- number of rows affected. </td></tr>
<tr><td class="paramname">statement</td><td>- the prepared statement to execute </td></tr>
<tr><td class="paramname">args</td><td>- args to prepared statement </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success or error code </dd></dl>
</div>
</div>
<a id="ad0b6fca421fe2e009804ab85ab64c1db" name="ad0b6fca421fe2e009804ab85ab64c1db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0b6fca421fe2e009804ab85ab64c1db">◆ </a></span>pvselect</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::pvselect) (apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random, va_list args)</td>
</tr>
</table>
</div><div class="memdoc">
<p>pvselect: select using a prepared statement + args</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- working pool </td></tr>
<tr><td class="paramname">handle</td><td>- the connection </td></tr>
<tr><td class="paramname">res</td><td>- pointer to query results. May point to NULL on entry </td></tr>
<tr><td class="paramname">statement</td><td>- the prepared statement to execute </td></tr>
<tr><td class="paramname">random</td><td>- Whether to support random-access to results </td></tr>
<tr><td class="paramname">args</td><td>- args to prepared statement </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success or error code </dd></dl>
</div>
</div>
<a id="ac42de1c72ac0ed642335b607d3697ce8" name="ac42de1c72ac0ed642335b607d3697ce8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac42de1c72ac0ed642335b607d3697ce8">◆ </a></span>query</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::query) (apr_dbd_t *handle, int *nrows, const char *statement)</td>
</tr>
</table>
</div><div class="memdoc">
<p>query: execute an SQL query that doesn't return a result set</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>- the connection </td></tr>
<tr><td class="paramname">nrows</td><td>- number of rows affected. </td></tr>
<tr><td class="paramname">statement</td><td>- the SQL statement to execute </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success or error code </dd></dl>
</div>
</div>
<a id="a2df4f0cf267ce9129189e3bb47e4b98e" name="a2df4f0cf267ce9129189e3bb47e4b98e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2df4f0cf267ce9129189e3bb47e4b98e">◆ </a></span>select</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::select) (apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, const char *statement, int random)</td>
</tr>
</table>
</div><div class="memdoc">
<p>select: execute an SQL query that returns a result set</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- pool to allocate the result set </td></tr>
<tr><td class="paramname">handle</td><td>- the connection </td></tr>
<tr><td class="paramname">res</td><td>- pointer to result set pointer. May point to NULL on entry </td></tr>
<tr><td class="paramname">statement</td><td>- the SQL statement to execute </td></tr>
<tr><td class="paramname">random</td><td>- 1 to support random access to results (seek any row); 0 to support only looping through results in order (async access - faster) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success or error code </dd></dl>
</div>
</div>
<a id="a0c9507b1cdf1a221165e7e48e6b54404" name="a0c9507b1cdf1a221165e7e48e6b54404"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c9507b1cdf1a221165e7e48e6b54404">◆ </a></span>set_dbname</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::set_dbname) (apr_pool_t *pool, apr_dbd_t *handle, const char *<a class="el" href="structapr__dbd__driver__t.html#a5483b4c47dde6814395bebfb7959fb37">name</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p>set_dbname: select database name. May be a no-op if not supported.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- working pool </td></tr>
<tr><td class="paramname">handle</td><td>- the connection </td></tr>
<tr><td class="paramname">name</td><td>- the database to select </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success or error code </dd></dl>
</div>
</div>
<a id="a665ebdcc7ccf31b394aa25b138425331" name="a665ebdcc7ccf31b394aa25b138425331"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a665ebdcc7ccf31b394aa25b138425331">◆ </a></span>start_transaction</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::start_transaction) (apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_transaction_t **trans)</td>
</tr>
</table>
</div><div class="memdoc">
<p>transaction: start a transaction. May be a no-op.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>- a pool to use for error messages (if any). </td></tr>
<tr><td class="paramname">handle</td><td>- the connection </td></tr>
<tr><td class="paramname">trans</td><td>- ptr to a transaction. May be null on entry </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success or error code </dd></dl>
</div>
</div>
<a id="a00d4b7a3362ced55e9b5f0c2513aa284" name="a00d4b7a3362ced55e9b5f0c2513aa284"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00d4b7a3362ced55e9b5f0c2513aa284">◆ </a></span>transaction_mode_get</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::transaction_mode_get) (apr_dbd_transaction_t *trans)</td>
</tr>
</table>
</div><div class="memdoc">
<p>transaction_mode_get: get the mode of transaction</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">trans</td><td>- the transaction. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>mode of transaction </dd></dl>
</div>
</div>
<a id="a81620ae15072e50976ddca1808efbba4" name="a81620ae15072e50976ddca1808efbba4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81620ae15072e50976ddca1808efbba4">◆ </a></span>transaction_mode_set</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* apr_dbd_driver_t::transaction_mode_set) (apr_dbd_transaction_t *trans, int mode)</td>
</tr>
</table>
</div><div class="memdoc">
<p>transaction_mode_set: get the mode of transaction</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">trans</td><td>- the transaction. </td></tr>
<tr><td class="paramname">mode</td><td>- new mode of the transaction </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the mode of transaction in force after the call </dd></dl>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="apr__dbd__internal_8h_source.html">apr_dbd_internal.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>