Mercurial
comparison deita/deita_internal.h @ 75:ae6a88e6e484
[Deita] Simple DB connection lib.
| author | June Park <parkjune1995@gmail.com> |
|---|---|
| date | Wed, 31 Dec 2025 11:20:08 -0800 |
| parents | |
| children | f3084bca7317 |
comparison
equal
deleted
inserted
replaced
| 74:4b96794c8d59 | 75:ae6a88e6e484 |
|---|---|
| 1 #ifndef DEITA_INTERNAL | |
| 2 #define DEITA_INTERNAL | |
| 3 | |
| 4 #include <sqlite3.h> | |
| 5 #include "deita.h" | |
| 6 | |
| 7 struct Deita_Connection | |
| 8 { | |
| 9 Deita_Database_Type database_type; | |
| 10 void *native_handle; | |
| 11 boolean is_open; | |
| 12 }; | |
| 13 | |
| 14 struct Deita_Result_Set | |
| 15 { | |
| 16 Deita_Database_Type database_type; | |
| 17 void *native_result; | |
| 18 int32 column_count; | |
| 19 boolean has_data; | |
| 20 boolean is_done; | |
| 21 }; | |
| 22 | |
| 23 // SQLite3-specific functions (implemented in d_sqlite.c) | |
| 24 extern Deita_Connection* deita__sqlite_connection_create(const char *connection_string); | |
| 25 extern void deita__sqlite_connection_close(Deita_Connection *p_connection); | |
| 26 extern boolean deita__sqlite_connection_is_open(Deita_Connection *p_connection); | |
| 27 | |
| 28 extern Deita_Result_Set* deita__sqlite_query_execute( | |
| 29 Deita_Connection *p_connection, | |
| 30 const char *query, | |
| 31 Dowa_Arena *p_arena | |
| 32 ); | |
| 33 | |
| 34 extern Deita_Result_Set* deita__sqlite_query_execute_prepared( | |
| 35 Deita_Connection *p_connection, | |
| 36 const char *query, | |
| 37 int32 parameter_count, | |
| 38 const char **parameter_values, | |
| 39 Dowa_Arena *p_arena | |
| 40 ); | |
| 41 | |
| 42 extern int32 deita__sqlite_query_execute_update( | |
| 43 Deita_Connection *p_connection, | |
| 44 const char *query | |
| 45 ); | |
| 46 | |
| 47 extern int32 deita__sqlite_query_execute_update_prepared( | |
| 48 Deita_Connection *p_connection, | |
| 49 const char *query, | |
| 50 int32 parameter_count, | |
| 51 const char **parameter_values | |
| 52 ); | |
| 53 | |
| 54 extern boolean deita__sqlite_result_set_next(Deita_Result_Set *p_result_set); | |
| 55 extern int32 deita__sqlite_result_set_get_column_count(Deita_Result_Set *p_result_set); | |
| 56 extern const char* deita__sqlite_result_set_get_column_name(Deita_Result_Set *p_result_set, int32 column_index); | |
| 57 extern Deita_Column_Type deita__sqlite_result_set_get_column_type(Deita_Result_Set *p_result_set, int32 column_index); | |
| 58 extern const char* deita__sqlite_result_set_get_text(Deita_Result_Set *p_result_set, int32 column_index); | |
| 59 extern int64 deita__sqlite_result_set_get_integer(Deita_Result_Set *p_result_set, int32 column_index); | |
| 60 extern double deita__sqlite_result_set_get_real(Deita_Result_Set *p_result_set, int32 column_index); | |
| 61 extern void deita__sqlite_result_set_free(Deita_Result_Set *p_result_set); | |
| 62 | |
| 63 #endif |