21 #ifndef APR_DBD_INTERNAL_H
22 #define APR_DBD_INTERNAL_H
32 #define TXN_IGNORE_ERRORS(t) \
33 ((t) && ((t)->mode & APR_DBD_TRANSACTION_IGNORE_ERRORS))
34 #define TXN_NOTICE_ERRORS(t) \
35 ((t) && !((t)->mode & APR_DBD_TRANSACTION_IGNORE_ERRORS))
37 #define TXN_DO_COMMIT(t) (!((t)->mode & APR_DBD_TRANSACTION_ROLLBACK))
38 #define TXN_DO_ROLLBACK(t) ((t)->mode & APR_DBD_TRANSACTION_ROLLBACK)
40 #define TXN_MODE_BITS \
41 (APR_DBD_TRANSACTION_ROLLBACK|APR_DBD_TRANSACTION_IGNORE_ERRORS)
50 void (*
init)(apr_pool_t *pool);
57 void *(*native_handle)(apr_dbd_t *handle);
69 apr_dbd_t *(*open)(apr_pool_t *pool,
const char *params,
78 apr_status_t (*
check_conn)(apr_pool_t *pool, apr_dbd_t *handle);
85 apr_status_t (*
close)(apr_dbd_t *handle);
104 apr_dbd_transaction_t **trans);
122 int (*
query)(apr_dbd_t *handle,
int *nrows,
const char *statement);
135 int (*
select)(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res,
136 const char *statement,
int random);
162 int (*
get_row)(apr_pool_t *pool, apr_dbd_results_t *res,
163 apr_dbd_row_t **row,
int rownum);
172 const char* (*get_entry)(
const apr_dbd_row_t *row,
int col);
181 const char *(*error)(apr_dbd_t *handle,
int errnum);
190 const char *(*escape)(apr_pool_t *pool,
const char *string,
208 const char *label,
int nargs,
int nvals,
220 int (*
pvquery)(apr_pool_t *pool, apr_dbd_t *handle,
int *nrows,
221 apr_dbd_prepared_t *statement, va_list args);
233 int (*
pvselect)(apr_pool_t *pool, apr_dbd_t *handle,
234 apr_dbd_results_t **res,
235 apr_dbd_prepared_t *statement,
int random, va_list args);
246 int (*
pquery)(apr_pool_t *pool, apr_dbd_t *handle,
int *nrows,
247 apr_dbd_prepared_t *statement,
const char **args);
259 int (*
pselect)(apr_pool_t *pool, apr_dbd_t *handle,
260 apr_dbd_results_t **res, apr_dbd_prepared_t *statement,
261 int random,
const char **args);
270 const char* (*get_name)(
const apr_dbd_results_t *res,
int col);
299 int (*
pvbquery)(apr_pool_t *pool, apr_dbd_t *handle,
int *nrows,
300 apr_dbd_prepared_t *statement, va_list args);
313 apr_dbd_results_t **res,
314 apr_dbd_prepared_t *statement,
int random, va_list args);
325 int (*
pbquery)(apr_pool_t *pool, apr_dbd_t *handle,
int *nrows,
326 apr_dbd_prepared_t *statement,
const void **args);
338 int (*
pbselect)(apr_pool_t *pool, apr_dbd_t *handle,
339 apr_dbd_results_t **res, apr_dbd_prepared_t *statement,
340 int random,
const void **args);
350 apr_status_t (*
datum_get)(
const apr_dbd_row_t *row,
int col,
358 APU_DECLARE(apr_status_t) apr_dbd_mutex_lock(
void);
359 APU_DECLARE(apr_status_t) apr_dbd_mutex_unlock(
void);
int(* transaction_mode_set)(apr_dbd_transaction_t *trans, int mode)
Definition: apr_dbd_internal.h:285
int(* start_transaction)(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_transaction_t **trans)
Definition: apr_dbd_internal.h:103
apr_status_t(* datum_get)(const apr_dbd_row_t *row, int col, apr_dbd_type_e type, void *data)
Definition: apr_dbd_internal.h:350
apr_status_t(* check_conn)(apr_pool_t *pool, apr_dbd_t *handle)
Definition: apr_dbd_internal.h:78
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)
Definition: apr_dbd_internal.h:312
apr_status_t(* close)(apr_dbd_t *handle)
Definition: apr_dbd_internal.h:85
int(* set_dbname)(apr_pool_t *pool, apr_dbd_t *handle, const char *name)
Definition: apr_dbd_internal.h:94
int(* num_tuples)(apr_dbd_results_t *res)
Definition: apr_dbd_internal.h:151
int(* pvquery)(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, va_list args)
Definition: apr_dbd_internal.h:220
int(* pvbquery)(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, va_list args)
Definition: apr_dbd_internal.h:299
void(* init)(apr_pool_t *pool)
Definition: apr_dbd_internal.h:50
int(* query)(apr_dbd_t *handle, int *nrows, const char *statement)
Definition: apr_dbd_internal.h:122
const char * pformat
Definition: apr_dbd_internal.h:288
int(* pbquery)(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, const void **args)
Definition: apr_dbd_internal.h:325
const char *(* error)(apr_dbd_t *handle, int errnum)
Definition: apr_dbd_internal.h:181
apr_dbd_type_e
Definition: apr_dbd.h:55
const char * name
Definition: apr_dbd_internal.h:45
int(* get_row)(apr_pool_t *pool, apr_dbd_results_t *res, apr_dbd_row_t **row, int rownum)
Definition: apr_dbd_internal.h:162
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)
Definition: apr_dbd_internal.h:207
int(* end_transaction)(apr_dbd_transaction_t *trans)
Definition: apr_dbd_internal.h:113
Definition: apr_dbd_internal.h:43
int(* select)(apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, const char *statement, int random)
Definition: apr_dbd_internal.h:135
int(* transaction_mode_get)(apr_dbd_transaction_t *trans)
Definition: apr_dbd_internal.h:277
int(* num_cols)(apr_dbd_results_t *res)
Definition: apr_dbd_internal.h:143
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)
Definition: apr_dbd_internal.h:233
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)
Definition: apr_dbd_internal.h:338
int(* pquery)(apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, const char **args)
Definition: apr_dbd_internal.h:246
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)
Definition: apr_dbd_internal.h:259