00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef DBA_DB_H
00023 #define DBA_DB_H
00024
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028
00029 #include <dballe/core/record.h>
00030 #include <dballe/core/var.h>
00031 #include <dballe/db/cursor.h>
00032
00042 #ifndef DBA_DB_DEFINED
00043 #define DBA_DB_DEFINED
00044 typedef struct _dba_db* dba_db;
00045 #endif
00046
00062 dba_err dba_db_create(const char* dsn, const char* user, const char* password, dba_db* db);
00063
00076 dba_err dba_db_create_generic(const char* config, dba_db* db);
00077
00088 dba_err dba_db_create_from_file(const char* pathname, dba_db* db);
00089
00104 dba_err dba_db_create_from_url(const char* url, dba_db* db);
00105
00114 int dba_db_is_url(const char* str);
00115
00127 dba_err dba_db_create_test(dba_db* db);
00128
00138 void dba_db_delete(dba_db db);
00139
00155 dba_err dba_db_reset(dba_db db, const char* repinfo_file);
00156
00165 dba_err dba_db_delete_tables(dba_db db);
00166
00188 dba_err dba_db_update_repinfo(dba_db db, const char* repinfo_file, int* added, int* deleted, int* updated);
00189
00193 dba_err dba_db_rep_cod_from_memo(dba_db db, const char* memo, int* rep_cod);
00194
00198 dba_err dba_db_rep_memo_from_cod(dba_db db, int rep_cod, const char** memo);
00199
00212 dba_err dba_db_check_rep_cod(dba_db db, int rep_cod, int* valid);
00213
00231 dba_err dba_db_ana_query(dba_db db, dba_record query, dba_db_cursor* cur, int* count);
00232
00257 dba_err dba_db_insert(dba_db db, dba_record rec, int can_replace, int pseudoana_can_add, int* ana_id, int* context_id);
00258
00280 dba_err dba_db_query(dba_db db, dba_record rec, dba_db_cursor* cur, int* count);
00281
00293 dba_err dba_db_remove(dba_db db, dba_record rec);
00294
00309 dba_err dba_db_remove_orphans(dba_db db);
00310
00332 dba_err dba_db_qc_query(dba_db db, int id_context, dba_varcode id_var, const dba_varcode* qcs, size_t qcs_size, dba_record attrs, int* count);
00333
00350 dba_err dba_db_qc_insert_or_replace(dba_db db, int id_context, dba_varcode id_var, dba_record attrs, int can_replace);
00351
00369 dba_err dba_db_qc_insert(dba_db db, int id_context, dba_varcode id_var, dba_record attrs);
00370
00387 dba_err dba_db_qc_insert_new(dba_db db, int id_context, dba_varcode id_var, dba_record attrs);
00388
00407 dba_err dba_db_qc_remove(dba_db db, int id_context, dba_varcode id_var, dba_varcode* qcs, int qcs_size);
00408
00409 #ifdef __cplusplus
00410 }
00411 #endif
00412
00413
00414 #endif