20#include "apu_config.h"
39#define CLEANUP_CAST (apr_status_t (*)(void*))
69#define DRIVER_LOAD(name,driver,pool) \
71 extern const apr_dbd_driver_t driver; \
72 apr_hash_set(drivers,name,APR_HASH_KEY_STRING,&driver); \
142#if APU_HAVE_SOME_OTHER_BACKEND
186#elif defined(WIN32) || defined(__CYGWIN__)
200 if ((*driver)->init) {
201 (*driver)->init(
pool);
384 for (q =
query; *q; q++) {
388 }
else if (q[1] ==
'%') {
400 for (
p =
pq, q =
query,
i = 0; *q; q++) {
464 }
else if (q[1] ==
'%') {
static apr_hash_t * drivers
static apr_uint32_t initialised
static apr_uint32_t in_init
static apr_status_t apr_dbd_term(void *ptr)
#define DRIVER_LOAD(name, driver, pool)
APR Dynamic Object Handling Routines.
APR general purpose library routines.
APU_DECLARE(void)
Computes SipHash-2-4, producing a 64bit (APR_SIPHASH_DSIZE) hash from a message and a 128bit (APR_SIP...
APR Thread Mutex Routines.
APR-util Versioning Interface.
#define APU_MAJOR_VERSION
apr_uint32_t apr_atomic_inc32(volatile apr_uint32_t *mem)
int apr_atomic_dec32(volatile apr_uint32_t *mem)
void apr_atomic_set32(volatile apr_uint32_t *mem, apr_uint32_t val)
apr_uint32_t apr_atomic_read32(volatile apr_uint32_t *mem)
apr_pool_t apr_dbd_t const char * query
const char const apr_dbd_driver_t ** driver
apr_pool_t const char apr_dbd_t const char ** error
struct apr_dbd_prepared_t apr_dbd_prepared_t
apr_pool_t apr_dbd_t const char const char * label
apr_pool_t apr_dbd_t apr_dbd_results_t ** res
struct apr_dbd_t apr_dbd_t
apr_dbd_t int const char * statement
apr_dbd_transaction_t int mode
struct apr_dbd_results_t apr_dbd_results_t
apr_pool_t const char apr_dbd_t ** handle
apr_pool_t apr_dbd_results_t apr_dbd_row_t int rownum
apr_pool_t apr_dbd_t int apr_dbd_prepared_t int nargs
struct apr_dbd_transaction_t apr_dbd_transaction_t
apr_pool_t apr_dbd_results_t apr_dbd_row_t ** row
apr_pool_t const char * params
struct apr_dbd_row_t apr_dbd_row_t
@ APR_DBD_TYPE_ZTIMESTAMP
const char int apr_pool_t * pool
#define APR_HASH_KEY_STRING
#define apr_pcalloc(p, size)
const char const char *const * args
static const char *const trans[040]
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(* transaction_mode_get)(apr_dbd_transaction_t *trans)
apr_dbd_t *(* open)(apr_pool_t *pool, const char *params, const char **error)
int(* set_dbname)(apr_pool_t *pool, apr_dbd_t *handle, const char *name)
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)
int(* select)(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, const char *statement, int random)
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(* num_tuples)(apr_dbd_results_t *res)
int(* num_cols)(apr_dbd_results_t *res)
apr_status_t(* close)(apr_dbd_t *handle)
apr_status_t(* check_conn)(apr_pool_t *pool, apr_dbd_t *handle)
int(* start_transaction)(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_transaction_t **trans)
int(* transaction_mode_set)(apr_dbd_transaction_t *trans, int mode)
int(* pquery)(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, const char **args)
int(* end_transaction)(apr_dbd_transaction_t *trans)
const char *(* error)(apr_dbd_t *handle, int errnum)
int(* pvbquery)(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, va_list args)
int(* pvquery)(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, va_list args)
apr_status_t(* datum_get)(const apr_dbd_row_t *row, int col, apr_dbd_type_e type, void *data)
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)
const char *(* get_entry)(const apr_dbd_row_t *row, int col)
int(* query)(apr_dbd_t *handle, int *nrows, const char *statement)
const char *(* get_name)(const apr_dbd_results_t *res, int col)
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(* get_row)(apr_pool_t *pool, apr_dbd_results_t *res, apr_dbd_row_t **row, int rownum)
const char *(* escape)(apr_pool_t *pool, const char *string, apr_dbd_t *handle)
int(* pbquery)(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, const void **args)
void *(* native_handle)(apr_dbd_t *handle)