airdbc.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00084 #ifndef _ADB_AIRDBC_H_
00085 #define _ADB_AIRDBC_H_
00086
00087 #include <airdbc/drv_pg.h>
00088 #include <airdbc/drv_oci.h>
00089
00091 #define ADB_ERROR_DOMAIN g_quark_from_string("AirDBCError")
00092
00094 #define ADB_ERROR_RDBMS 1
00095
00097 #define ADB_ERROR_CONNECT 2
00098
00100 #define ADB_ERROR_ARGUMENT 3
00101
00103 #define ADB_ERROR_RANGE 4
00104
00105 struct _AdbConnection;
00114 typedef struct _AdbConnection AdbConnection;
00115
00116 struct _AdbStatement;
00124 typedef struct _AdbStatement AdbStatement;
00125
00126 struct _AdbResultSet;
00133 typedef struct _AdbResultSet AdbResultSet;
00134
00154 AdbConnection *adb_conn_create(
00155 const char *uri,
00156 GError **err);
00157
00167 gboolean adb_conn_open(
00168 AdbConnection *conn,
00169 GError **err);
00170
00180 gboolean adb_conn_close(
00181 AdbConnection *conn,
00182 GError **err);
00183
00191 gboolean adb_conn_is_open(
00192 AdbConnection *conn);
00193
00203 void adb_conn_free(
00204 AdbConnection *conn);
00205
00217 gboolean adb_transaction_begin(
00218 AdbConnection *conn,
00219 GError **err);
00220
00230 gboolean adb_transaction_commit(
00231 AdbConnection *conn,
00232 GError **err);
00233
00243 gboolean adb_transaction_rollback(
00244 AdbConnection *conn,
00245 GError **err);
00246
00263 AdbStatement *adb_stmt_prepare(
00264 AdbConnection *conn,
00265 char *sql,
00266 uint32_t param_maxlen,
00267 GError **err);
00268
00275 void adb_stmt_free(
00276 AdbStatement *stmt);
00277
00290 gboolean adb_stmt_bind(
00291 AdbStatement *stmt,
00292 uint32_t pos,
00293 const char *val,
00294 GError **err);
00295
00310 gboolean adb_stmt_bind_named(
00311 AdbStatement *stmt,
00312 const char *name,
00313 const char *val,
00314 GError **err);
00315
00327 gboolean adb_stmt_execute(
00328 AdbStatement *stmt,
00329 GError **err);
00330
00345 AdbResultSet *adb_stmt_query(
00346 AdbStatement *stmt,
00347 GError **err);
00348
00355 void adb_rs_free(
00356 AdbResultSet *rs);
00357
00382 gboolean adb_rs_next(
00383 AdbResultSet *rs,
00384 GError **err);
00385
00394 uint32_t adb_rs_column_count(
00395 AdbResultSet *rs,
00396 GError **err);
00397
00409 char *adb_rs_column_name(
00410 AdbResultSet *rs,
00411 uint32_t col,
00412 GError **err);
00413
00428 gboolean adb_rs_fetch(
00429 AdbResultSet *rs,
00430 uint32_t col,
00431 const char **val,
00432 GError **err);
00433
00449 gboolean adb_rs_fetch_named(
00450 AdbResultSet *rs,
00451 const char *name,
00452 const char **val,
00453 GError **err);
00454
00455 #endif