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