1 #ifndef __DC_SQLITE3_H__
2 #define __DC_SQLITE3_H__
11 #include <libetpan/libetpan.h>
15 typedef struct _dc_sqlite3 dc_sqlite3_t;
31 void dc_sqlite3_unref (dc_sqlite3_t*);
33 #define DC_OPEN_READONLY 0x01
34 int dc_sqlite3_open (dc_sqlite3_t*,
const char* dbfile,
int flags);
36 void dc_sqlite3_close (dc_sqlite3_t*);
37 int dc_sqlite3_is_open (
const dc_sqlite3_t*);
40 int dc_sqlite3_set_config (dc_sqlite3_t*,
const char* key,
const char* value);
41 int dc_sqlite3_set_config_int (dc_sqlite3_t*,
const char* key, int32_t value);
42 int dc_sqlite3_set_config_int64 (dc_sqlite3_t*,
const char* key, int64_t value);
43 char* dc_sqlite3_get_config (dc_sqlite3_t*,
const char* key,
const char* def);
44 int32_t dc_sqlite3_get_config_int (dc_sqlite3_t*,
const char* key, int32_t def);
45 int64_t dc_sqlite3_get_config_int64 (dc_sqlite3_t*,
const char* key, int64_t def);
48 sqlite3_stmt* dc_sqlite3_prepare (dc_sqlite3_t*,
const char* sql);
49 int dc_sqlite3_execute (dc_sqlite3_t*,
const char* sql);
50 int dc_sqlite3_try_execute (dc_sqlite3_t*,
const char* sql);
51 int dc_sqlite3_table_exists (dc_sqlite3_t*,
const char* name);
52 void dc_sqlite3_log_error (dc_sqlite3_t*,
const char* msg, ...);
53 uint32_t dc_sqlite3_get_rowid (dc_sqlite3_t*,
const char* table,
const char* field,
const char* value);
54 uint32_t dc_sqlite3_get_rowid2 (dc_sqlite3_t*,
const char* table,
const char* field, uint64_t value,
const char* field2, uint32_t value2);
56 void dc_sqlite3_begin_transaction(dc_sqlite3_t*);
57 void dc_sqlite3_commit (dc_sqlite3_t*);
58 void dc_sqlite3_rollback (dc_sqlite3_t*);
61 #define DC_HOUSEKEEPING_DELAY_SEC 10