Apache2
apr_dbd.h
Go to the documentation of this file.
1 /* Licensed to the Apache Software Foundation (ASF) under one or more
2  * contributor license agreements. See the NOTICE file distributed with
3  * this work for additional information regarding copyright ownership.
4  * The ASF licenses this file to You under the Apache License, Version 2.0
5  * (the "License"); you may not use this file except in compliance with
6  * the License. You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 /* Overview of what this is and does:
18  * http://www.apache.org/~niq/dbd.html
19  */
20 
21 #ifndef APR_DBD_H
22 #define APR_DBD_H
23 
24 #include "apu.h"
25 #include "apr_pools.h"
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
55 typedef enum {
80 
81 /* These are opaque structs. Instantiation is up to each backend */
82 typedef struct apr_dbd_driver_t apr_dbd_driver_t;
83 typedef struct apr_dbd_t apr_dbd_t;
86 typedef struct apr_dbd_row_t apr_dbd_row_t;
88 
94 
106  const apr_dbd_driver_t **driver);
107 
144  apr_pool_t *pool, const char *params,
145  apr_dbd_t **handle,
146  const char **error);
147 
159  apr_pool_t *pool, const char *params,
160  apr_dbd_t **handle);
161 
169  apr_dbd_t *handle);
170 
171 /* apr-function-shaped versions of things */
172 
178 APR_DECLARE(const char*) apr_dbd_name(const apr_dbd_driver_t *driver);
179 
187  apr_dbd_t *handle);
188 
197  apr_dbd_t *handle);
198 
208  apr_dbd_t *handle, const char *name);
209 
225  apr_pool_t *pool,
226  apr_dbd_t *handle,
227  apr_dbd_transaction_t **trans);
228 
239  apr_pool_t *pool,
240  apr_dbd_transaction_t *trans);
241 
242 #define APR_DBD_TRANSACTION_COMMIT 0x00
243 #define APR_DBD_TRANSACTION_ROLLBACK 0x01
244 #define APR_DBD_TRANSACTION_IGNORE_ERRORS 0x02
253  apr_dbd_transaction_t *trans);
254 
263  apr_dbd_transaction_t *trans,
264  int mode);
265 
275  int *nrows, const char *statement);
276 
290  apr_dbd_t *handle, apr_dbd_results_t **res,
291  const char *statement, int random);
292 
300  apr_dbd_results_t *res);
301 
310  apr_dbd_results_t *res);
311 
323  apr_dbd_results_t *res, apr_dbd_row_t **row,
324  int rownum);
325 
333 APR_DECLARE(const char*) apr_dbd_get_entry(const apr_dbd_driver_t *driver,
334  apr_dbd_row_t *row, int col);
335 
343 APR_DECLARE(const char*) apr_dbd_get_name(const apr_dbd_driver_t *driver,
344  apr_dbd_results_t *res, int col);
345 
346 
355 APR_DECLARE(const char*) apr_dbd_error(const apr_dbd_driver_t *driver,
356  apr_dbd_t *handle, int errnum);
357 
366 APR_DECLARE(const char*) apr_dbd_escape(const apr_dbd_driver_t *driver,
367  apr_pool_t *pool, const char *string,
368  apr_dbd_t *handle);
369 
399  apr_dbd_t *handle, const char *query,
400  const char *label,
401  apr_dbd_prepared_t **statement);
402 
403 
416  apr_dbd_t *handle, int *nrows,
417  apr_dbd_prepared_t *statement, int nargs,
418  const char **args);
419 
433  apr_dbd_t *handle, apr_dbd_results_t **res,
434  apr_dbd_prepared_t *statement, int random,
435  int nargs, const char **args);
436 
448  apr_pool_t *pool,
449  apr_dbd_t *handle, int *nrows,
450  apr_dbd_prepared_t *statement, ...);
451 
464  apr_pool_t *pool, apr_dbd_t *handle,
465  apr_dbd_results_t **res,
466  apr_dbd_prepared_t *statement,
467  int random, ...);
468 
480  apr_pool_t *pool, apr_dbd_t *handle,
481  int *nrows, apr_dbd_prepared_t *statement,
482  const void **args);
483 
496  apr_pool_t *pool,
497  apr_dbd_t *handle, apr_dbd_results_t **res,
498  apr_dbd_prepared_t *statement, int random,
499  const void **args);
500 
512  apr_pool_t *pool,
513  apr_dbd_t *handle, int *nrows,
514  apr_dbd_prepared_t *statement, ...);
515 
528  apr_pool_t *pool, apr_dbd_t *handle,
529  apr_dbd_results_t **res,
530  apr_dbd_prepared_t *statement,
531  int random, ...);
532 
543  apr_dbd_row_t *row, int col,
544  apr_dbd_type_e type, void *data);
545 
548 #ifdef __cplusplus
549 }
550 #endif
551 
552 #endif
APR memory allocation.
int apr_dbd_select(const apr_dbd_driver_t *driver, apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, const char *statement, int random)
apr_dbd_type_e
Definition: apr_dbd.h:55
int apr_dbd_pbselect(const apr_dbd_driver_t *driver, apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random, const void **args)
int apr_dbd_transaction_start(const apr_dbd_driver_t *driver, apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_transaction_t **trans)
int apr_dbd_pquery(const apr_dbd_driver_t *driver, apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, int nargs, const char **args)
const char * apr_dbd_get_entry(const apr_dbd_driver_t *driver, apr_dbd_row_t *row, int col)
struct apr_dbd_prepared_t apr_dbd_prepared_t
Definition: apr_dbd.h:87
int apr_dbd_pvbquery(const apr_dbd_driver_t *driver, apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement,...)
int apr_dbd_transaction_mode_get(const apr_dbd_driver_t *driver, apr_dbd_transaction_t *trans)
int apr_dbd_num_tuples(const apr_dbd_driver_t *driver, apr_dbd_results_t *res)
int apr_dbd_query(const apr_dbd_driver_t *driver, apr_dbd_t *handle, int *nrows, const char *statement)
struct apr_dbd_t apr_dbd_t
Definition: apr_dbd.h:83
apr_status_t apr_dbd_close(const apr_dbd_driver_t *driver, apr_dbd_t *handle)
int apr_dbd_pvquery(const apr_dbd_driver_t *driver, apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement,...)
struct apr_dbd_results_t apr_dbd_results_t
Definition: apr_dbd.h:85
apr_status_t apr_dbd_datum_get(const apr_dbd_driver_t *driver, apr_dbd_row_t *row, int col, apr_dbd_type_e type, void *data)
int apr_dbd_transaction_end(const apr_dbd_driver_t *driver, apr_pool_t *pool, apr_dbd_transaction_t *trans)
int apr_dbd_num_cols(const apr_dbd_driver_t *driver, apr_dbd_results_t *res)
int apr_dbd_pbquery(const apr_dbd_driver_t *driver, apr_pool_t *pool, apr_dbd_t *handle, int *nrows, apr_dbd_prepared_t *statement, const void **args)
apr_status_t apr_dbd_init(apr_pool_t *pool)
const char * apr_dbd_name(const apr_dbd_driver_t *driver)
apr_status_t apr_dbd_get_driver(apr_pool_t *pool, const char *name, const apr_dbd_driver_t **driver)
const char * apr_dbd_get_name(const apr_dbd_driver_t *driver, apr_dbd_results_t *res, int col)
struct apr_dbd_transaction_t apr_dbd_transaction_t
Definition: apr_dbd.h:84
int apr_dbd_pselect(const apr_dbd_driver_t *driver, apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random, int nargs, const char **args)
void * apr_dbd_native_handle(const apr_dbd_driver_t *driver, apr_dbd_t *handle)
const char * apr_dbd_escape(const apr_dbd_driver_t *driver, apr_pool_t *pool, const char *string, apr_dbd_t *handle)
int apr_dbd_transaction_mode_set(const apr_dbd_driver_t *driver, apr_dbd_transaction_t *trans, int mode)
struct apr_dbd_row_t apr_dbd_row_t
Definition: apr_dbd.h:86
apr_status_t apr_dbd_open_ex(const apr_dbd_driver_t *driver, apr_pool_t *pool, const char *params, apr_dbd_t **handle, const char **error)
int apr_dbd_prepare(const apr_dbd_driver_t *driver, apr_pool_t *pool, apr_dbd_t *handle, const char *query, const char *label, apr_dbd_prepared_t **statement)
int apr_dbd_pvbselect(const apr_dbd_driver_t *driver, apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random,...)
int apr_dbd_get_row(const apr_dbd_driver_t *driver, apr_pool_t *pool, apr_dbd_results_t *res, apr_dbd_row_t **row, int rownum)
int apr_dbd_check_conn(const apr_dbd_driver_t *driver, apr_pool_t *pool, apr_dbd_t *handle)
apr_status_t apr_dbd_open(const apr_dbd_driver_t *driver, apr_pool_t *pool, const char *params, apr_dbd_t **handle)
int apr_dbd_pvselect(const apr_dbd_driver_t *driver, apr_pool_t *pool, apr_dbd_t *handle, apr_dbd_results_t **res, apr_dbd_prepared_t *statement, int random,...)
int apr_dbd_set_dbname(const apr_dbd_driver_t *driver, apr_pool_t *pool, apr_dbd_t *handle, const char *name)
const char * apr_dbd_error(const apr_dbd_driver_t *driver, apr_dbd_t *handle, int errnum)
@ APR_DBD_TYPE_SHORT
Definition: apr_dbd.h:59
@ APR_DBD_TYPE_FLOAT
Definition: apr_dbd.h:67
@ APR_DBD_TYPE_TIME
Definition: apr_dbd.h:71
@ APR_DBD_TYPE_ULONG
Definition: apr_dbd.h:64
@ APR_DBD_TYPE_STRING
Definition: apr_dbd.h:69
@ APR_DBD_TYPE_INT
Definition: apr_dbd.h:61
@ APR_DBD_TYPE_NONE
Definition: apr_dbd.h:56
@ APR_DBD_TYPE_UINT
Definition: apr_dbd.h:62
@ APR_DBD_TYPE_TIMESTAMP
Definition: apr_dbd.h:74
@ APR_DBD_TYPE_BLOB
Definition: apr_dbd.h:76
@ APR_DBD_TYPE_NULL
Definition: apr_dbd.h:78
@ APR_DBD_TYPE_DATETIME
Definition: apr_dbd.h:73
@ APR_DBD_TYPE_DOUBLE
Definition: apr_dbd.h:68
@ APR_DBD_TYPE_LONGLONG
Definition: apr_dbd.h:65
@ APR_DBD_TYPE_UTINY
Definition: apr_dbd.h:58
@ APR_DBD_TYPE_DATE
Definition: apr_dbd.h:72
@ APR_DBD_TYPE_TINY
Definition: apr_dbd.h:57
@ APR_DBD_TYPE_ULONGLONG
Definition: apr_dbd.h:66
@ APR_DBD_TYPE_LONG
Definition: apr_dbd.h:63
@ APR_DBD_TYPE_CLOB
Definition: apr_dbd.h:77
@ APR_DBD_TYPE_TEXT
Definition: apr_dbd.h:70
@ APR_DBD_TYPE_ZTIMESTAMP
Definition: apr_dbd.h:75
@ APR_DBD_TYPE_USHORT
Definition: apr_dbd.h:60
apr_bucket_brigade ap_input_mode_t mode
Definition: mod_dav.h:2662
apr_bucket_brigade request_rec apr_pool_t * pool
Definition: mod_dav.h:557
const char * name
Definition: mod_dav.h:805
int apr_status_t
Definition: apr_errno.h:44
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
#define APR_DECLARE(x)
Definition: macros.h:6
#define APR_DECLARE_NONSTD(x)
Definition: macros.h:7
Definition: apr_dbd_internal.h:43