00001
00002
00003
00004
00005 #if !defined(_INCLUDED_SUL_DATABASE_H_HEADER__)
00006 #define _INCLUDED_SUL_DATABASE_H_HEADER__
00007
00017 typedef apr_int32_t sul_key_t;
00018
00023 typedef struct sul_dbc_t sul_dbc_t;
00024
00029 typedef struct sul_dbr_t sul_dbr_t;
00030
00041 SUL_DECLARE(sul_error_t *)
00042 sul_dbc_create(sul_dbc_t **self, const char *dbname,
00043 const char *user, const char *passwd,
00044 apr_pool_t *pool);
00045
00052 SUL_DECLARE(sul_error_t *)
00053 sul_dbc_close(sul_dbc_t *dbc);
00054
00064 SUL_DECLARE(sul_error_t *)
00065 sul_dbc_update(sul_dbc_t *dbc, apr_pool_t *pool, const char *sql);
00066
00076 SUL_DECLARE(sul_error_t *)
00077 sul_dbc_updatef(sul_dbc_t *dbc, apr_pool_t *pool, const char *f, ...);
00078
00089 SUL_DECLARE(sul_error_t *)
00090 sul_dbc_query(sul_dbr_t **resp, sul_dbc_t *dbc, apr_pool_t *pool, const char *sql);
00091
00102 SUL_DECLARE(sul_error_t *)
00103 sul_dbc_queryf(sul_dbr_t **resp, sul_dbc_t *dbc, apr_pool_t *pool, const char *f, ...);
00104
00110 SUL_DECLARE(apr_uint32_t)
00111 sul_dbc_refs_read(sul_dbc_t *dbc);
00112
00118 SUL_DECLARE(sul_error_t *)
00119 sul_dbc_refs_inc(sul_dbc_t *dbc);
00120
00126 SUL_DECLARE(sul_error_t *)
00127 sul_dbc_refs_dec(sul_dbc_t *dbc);
00128
00135 SUL_DECLARE(sul_error_t *)
00136 sul_dbc_owner_set_thread(sul_dbc_t *dbc);
00137
00145 SUL_DECLARE(sul_error_t *)
00146 sul_dbc_owner_set_none(sul_dbc_t *dbc);
00147
00154 SUL_DECLARE(sul_error_t *)
00155 sul_dbc_begin(sul_dbc_t *dbc);
00156
00163 SUL_DECLARE(sul_error_t *)
00164 sul_dbc_end(sul_dbc_t *dbc);
00165
00172 SUL_DECLARE(sul_error_t *)
00173 sul_dbc_rollback(sul_dbc_t *dbc);
00174
00185 SUL_DECLARE(sul_key_t)
00186 sul_dbc_primary_key(sul_dbc_t *dbc, const char *serial, apr_pool_t *pool);
00187
00197 SUL_DECLARE(sul_key_t)
00198 sul_dbc_query_key(sul_dbc_t *dbc, const char *sql, apr_pool_t *pool);
00199
00206 SUL_DECLARE(apr_ssize_t)
00207 sul_dbr_number_rows(sul_dbr_t *res);
00208
00215 SUL_DECLARE(apr_ssize_t)
00216 sul_dbr_number_fields(sul_dbr_t *res);
00217
00226 SUL_DECLARE(char *)
00227 sul_dbr_field_value_by_index(sul_dbr_t *res, apr_ssize_t row, apr_ssize_t index);
00228
00237 SUL_DECLARE(char *)
00238 sul_dbr_field_value_by_name(sul_dbr_t *res, apr_ssize_t row, const char *name);
00239
00251 SUL_DECLARE(char *)
00252 sul_dbc_escape(const char *str, apr_pool_t *pool);
00253
00256 #endif
00257