Apache2
apr_dbd_driver_t Struct Reference

#include <apr_dbd_internal.h>

Data Fields

const char * name
 
void(* init )(apr_pool_t *pool)
 
void *(* native_handle )(apr_dbd_t *handle)
 
apr_dbd_t *(* open )(apr_pool_t *pool, const char *params, const char **error)
 
apr_status_t(* check_conn )(apr_pool_t *pool, apr_dbd_t *handle)
 
apr_status_t(* close )(apr_dbd_t *handle)
 
int(* set_dbname )(apr_pool_t *pool, apr_dbd_t *handle, const char *name)
 
int(* start_transaction )(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_transaction_t **trans)
 
int(* end_transaction )(apr_dbd_transaction_t *trans)
 
int(* query )(apr_dbd_t *handle, int *nrows, const char *statement)
 
int(* select )(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, const char *statement, int random)
 
int(* num_cols )(apr_dbd_results_t *res)
 
int(* num_tuples )(apr_dbd_results_t *res)
 
int(* get_row )(apr_pool_t *pool, apr_dbd_results_t *res, apr_dbd_row_t **row, int rownum)
 
const char *(* get_entry )(const apr_dbd_row_t *row, int col)
 
const char *(* error )(apr_dbd_t *handle, int errnum)
 
const char *(* escape )(apr_pool_t *pool, const char *string, apr_dbd_t *handle)
 
int(* prepare )(apr_pool_t *pool, apr_dbd_t *handle, const char *query, const char *label, int nargs, int nvals, apr_dbd_type_e *types, apr_dbd_prepared_t **statement)
 
int(* pvquery )(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, va_list args)
 
int(* pvselect )(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random, va_list args)
 
int(* pquery )(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, const char **args)
 
int(* pselect )(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random, const char **args)
 
const char *(* get_name )(const apr_dbd_results_t *res, int col)
 
int(* transaction_mode_get )(apr_dbd_transaction_t *trans)
 
int(* transaction_mode_set )(apr_dbd_transaction_t *trans, int mode)
 
const char * pformat
 
int(* pvbquery )(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, va_list args)
 
int(* pvbselect )(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random, va_list args)
 
int(* pbquery )(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, const void **args)
 
int(* pbselect )(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random, const void **args)
 
apr_status_t(* datum_get )(const apr_dbd_row_t *row, int col, apr_dbd_type_e type, void *data)
 

Field Documentation

◆ check_conn

apr_status_t(* apr_dbd_driver_t::check_conn) (apr_pool_t *pool, apr_dbd_t *handle)

check_conn: check status of a database connection

Parameters
pool- a pool to use for error messages (if any).
handle- the connection to check
Returns
APR_SUCCESS or error

◆ close

apr_status_t(* apr_dbd_driver_t::close) (apr_dbd_t *handle)

close: close/release a connection obtained from open()

Parameters
handle- the connection to release
Returns
APR_SUCCESS or error

◆ datum_get

apr_status_t(* apr_dbd_driver_t::datum_get) (const apr_dbd_row_t *row, int col, apr_dbd_type_e type, void *data)

datum_get: get a binary entry from a row

Parameters
row- row pointer
col- entry number
type- type of data to get
data- pointer to data, allocated by the caller
Returns
APR_SUCCESS, an error code on error or if col is out of bounds

◆ end_transaction

int(* apr_dbd_driver_t::end_transaction) (apr_dbd_transaction_t *trans)

end_transaction: end a transaction (commit on success, rollback on error). May be a no-op.

Parameters
trans- the transaction.
Returns
0 for success or error code

◆ error

const char*(* apr_dbd_driver_t::error) (apr_dbd_t *handle, int errnum)

error: get current error message (if any)

Parameters
handle- the connection
errnum- error code from operation that returned an error
Returns
the database current error message, or message for errnum (implementation-dependent whether errnum is ignored)

◆ escape

const char*(* apr_dbd_driver_t::escape) (apr_pool_t *pool, const char *string, apr_dbd_t *handle)

escape: escape a string so it is safe for use in query/select

Parameters
pool- pool to alloc the result from
string- the string to escape
handle- the connection
Returns
the escaped, safe string

◆ get_entry

const char*(* apr_dbd_driver_t::get_entry) (const apr_dbd_row_t *row, int col)

get_entry: get an entry from a row

Parameters
row- row pointer
col- entry number
val- entry to fill
Returns
0 for success, -1 for no data, +1 for general error

◆ get_name

const char*(* apr_dbd_driver_t::get_name) (const apr_dbd_results_t *res, int col)

get_name: get a column title from a result set

Parameters
res- result set pointer
col- entry number
Returns
param name, or NULL if col is out of bounds.

◆ get_row

int(* apr_dbd_driver_t::get_row) (apr_pool_t *pool, apr_dbd_results_t *res, apr_dbd_row_t **row, int rownum)

get_row: get a row from a result set

Parameters
pool- pool to allocate the row
res- result set pointer
row- pointer to row pointer. May point to NULL on entry
rownum- row number, or -1 for "next row". Ignored if random access is not supported.
Returns
0 for success, -1 for rownum out of range or data finished

◆ init

void(* apr_dbd_driver_t::init) (apr_pool_t *pool)

init: allow driver to perform once-only initialisation. Called once only. May be NULL

◆ name

const char* apr_dbd_driver_t::name

name

◆ native_handle

void*(* apr_dbd_driver_t::native_handle) (apr_dbd_t *handle)

native_handle: return the native database handle of the underlying db

Parameters
handle- apr_dbd handle
Returns
- native handle

◆ num_cols

int(* apr_dbd_driver_t::num_cols) (apr_dbd_results_t *res)

num_cols: get the number of columns in a results set

Parameters
res- result set.
Returns
number of columns

◆ num_tuples

int(* apr_dbd_driver_t::num_tuples) (apr_dbd_results_t *res)

num_tuples: get the number of rows in a results set of a synchronous select

Parameters
res- result set.
Returns
number of rows, or -1 if the results are asynchronous

◆ open

apr_dbd_t*(* apr_dbd_driver_t::open) (apr_pool_t *pool, const char *params, const char **error)

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

Parameters
pool- a pool to use for error messages (if any).
params- connection parameters.
error- descriptive error.
Returns
database handle, or NULL on error.

◆ pbquery

int(* apr_dbd_driver_t::pbquery) (apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, const void **args)

pbquery: query using a prepared statement + binary args

Parameters
pool- working pool
handle- the connection
nrows- number of rows affected.
statement- the prepared statement to execute
args- binary args to prepared statement
Returns
0 for success or error code

◆ pbselect

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)

pbselect: select using a prepared statement + binary args

Parameters
pool- working pool
handle- the connection
res- pointer to query results. May point to NULL on entry
statement- the prepared statement to execute
random- Whether to support random-access to results
args- binary args to prepared statement
Returns
0 for success or error code

◆ pformat

const char* apr_dbd_driver_t::pformat

format of prepared statement parameters

◆ pquery

int(* apr_dbd_driver_t::pquery) (apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, const char **args)

pquery: query using a prepared statement + args

Parameters
pool- working pool
handle- the connection
nrows- number of rows affected.
statement- the prepared statement to execute
args- args to prepared statement
Returns
0 for success or error code

◆ prepare

int(* apr_dbd_driver_t::prepare) (apr_pool_t *pool, apr_dbd_t *handle, const char *query, const char *label, int nargs, int nvals, apr_dbd_type_e *types, apr_dbd_prepared_t **statement)

prepare: prepare a statement

Parameters
pool- pool to alloc the result from
handle- the connection
query- the SQL query
label- A label for the prepared statement. use NULL for temporary prepared statements (eg within a Request in httpd)
nargs- number of parameters in the query
nvals- number of values passed in p[b]query/select
types- pointer to an array with types of parameters
statement- statement to prepare. May point to null on entry.
Returns
0 for success or error code

◆ pselect

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)

pselect: select using a prepared statement + args

Parameters
pool- working pool
handle- the connection
res- pointer to query results. May point to NULL on entry
statement- the prepared statement to execute
random- Whether to support random-access to results
args- args to prepared statement
Returns
0 for success or error code

◆ pvbquery

int(* apr_dbd_driver_t::pvbquery) (apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, va_list args)

pvbquery: query using a prepared statement + binary args

Parameters
pool- working pool
handle- the connection
nrows- number of rows affected.
statement- the prepared statement to execute
args- binary args to prepared statement
Returns
0 for success or error code

◆ pvbselect

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)

pvbselect: select using a prepared statement + binary args

Parameters
pool- working pool
handle- the connection
res- pointer to query results. May point to NULL on entry
statement- the prepared statement to execute
random- Whether to support random-access to results
args- binary args to prepared statement
Returns
0 for success or error code

◆ pvquery

int(* apr_dbd_driver_t::pvquery) (apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, va_list args)

pvquery: query using a prepared statement + args

Parameters
pool- working pool
handle- the connection
nrows- number of rows affected.
statement- the prepared statement to execute
args- args to prepared statement
Returns
0 for success or error code

◆ pvselect

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)

pvselect: select using a prepared statement + args

Parameters
pool- working pool
handle- the connection
res- pointer to query results. May point to NULL on entry
statement- the prepared statement to execute
random- Whether to support random-access to results
args- args to prepared statement
Returns
0 for success or error code

◆ query

int(* apr_dbd_driver_t::query) (apr_dbd_t *handle, int *nrows, const char *statement)

query: execute an SQL query that doesn't return a result set

Parameters
handle- the connection
nrows- number of rows affected.
statement- the SQL statement to execute
Returns
0 for success or error code

◆ select

int(* apr_dbd_driver_t::select) (apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, const char *statement, int random)

select: execute an SQL query that returns a result set

Parameters
pool- pool to allocate the result set
handle- the connection
res- pointer to result set pointer. May point to NULL on entry
statement- the SQL statement to execute
random- 1 to support random access to results (seek any row); 0 to support only looping through results in order (async access - faster)
Returns
0 for success or error code

◆ set_dbname

int(* apr_dbd_driver_t::set_dbname) (apr_pool_t *pool, apr_dbd_t *handle, const char *name)

set_dbname: select database name. May be a no-op if not supported.

Parameters
pool- working pool
handle- the connection
name- the database to select
Returns
0 for success or error code

◆ start_transaction

int(* apr_dbd_driver_t::start_transaction) (apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_transaction_t **trans)

transaction: start a transaction. May be a no-op.

Parameters
pool- a pool to use for error messages (if any).
handle- the connection
trans- ptr to a transaction. May be null on entry
Returns
0 for success or error code

◆ transaction_mode_get

int(* apr_dbd_driver_t::transaction_mode_get) (apr_dbd_transaction_t *trans)

transaction_mode_get: get the mode of transaction

Parameters
trans- the transaction.
Returns
mode of transaction

◆ transaction_mode_set

int(* apr_dbd_driver_t::transaction_mode_set) (apr_dbd_transaction_t *trans, int mode)

transaction_mode_set: get the mode of transaction

Parameters
trans- the transaction.
mode- new mode of the transaction
Returns
the mode of transaction in force after the call

The documentation for this struct was generated from the following file: