Mercurial
annotate deita/deita.h @ 152:7387eec8e7f8
[Postdog] Updated to use Seobeo_Client instead of CURL. Updated to handle websocket connection.
| author | June Park <parkjune1995@gmail.com> |
|---|---|
| date | Sun, 11 Jan 2026 07:47:05 -0800 |
| parents | ae6a88e6e484 |
| children | f3084bca7317 |
| rev | line source |
|---|---|
|
75
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
1 #ifndef DEITA |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
2 #define DEITA |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
3 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
4 #include "dowa/dowa.h" |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
5 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
6 // Database types |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
7 typedef enum |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
8 { |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
9 DEITA_DATABASE_TYPE_SQLITE3 = 0 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
10 // Future: DEITA_DATABASE_TYPE_POSTGRES, DEITA_DATABASE_TYPE_MYSQL |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
11 } Deita_Database_Type; |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
12 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
13 // Connection handle (opaque) |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
14 typedef struct Deita_Connection Deita_Connection; |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
15 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
16 // Result set (opaque) |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
17 typedef struct Deita_Result_Set Deita_Result_Set; |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
18 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
19 // Column value type |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
20 typedef enum |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
21 { |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
22 DEITA_COLUMN_TYPE_NULL = 0, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
23 DEITA_COLUMN_TYPE_INTEGER, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
24 DEITA_COLUMN_TYPE_REAL, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
25 DEITA_COLUMN_TYPE_TEXT, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
26 DEITA_COLUMN_TYPE_BLOB |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
27 } Deita_Column_Type; |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
28 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
29 // --- Connection Management --- // |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
30 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
31 extern Deita_Connection* Deita_Connection_Create( |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
32 Deita_Database_Type database_type, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
33 const char *connection_string |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
34 ); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
35 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
36 extern void Deita_Connection_Close(Deita_Connection *p_connection); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
37 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
38 extern boolean Deita_Connection_Is_Open(Deita_Connection *p_connection); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
39 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
40 // --- Query Execution --- // |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
41 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
42 extern Deita_Result_Set* Deita_Query_Execute( |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
43 Deita_Connection *p_connection, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
44 const char *query, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
45 Dowa_Arena *p_arena |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
46 ); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
47 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
48 extern Deita_Result_Set* Deita_Query_Execute_Prepared( |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
49 Deita_Connection *p_connection, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
50 const char *query, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
51 int32 parameter_count, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
52 const char **parameter_values, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
53 Dowa_Arena *p_arena |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
54 ); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
55 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
56 extern int32 Deita_Query_Execute_Update( |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
57 Deita_Connection *p_connection, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
58 const char *query |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
59 ); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
60 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
61 extern int32 Deita_Query_Execute_Update_Prepared( |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
62 Deita_Connection *p_connection, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
63 const char *query, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
64 int32 parameter_count, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
65 const char **parameter_values |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
66 ); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
67 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
68 // --- Result Set Access --- // |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
69 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
70 extern boolean Deita_Result_Set_Next(Deita_Result_Set *p_result_set); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
71 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
72 extern int32 Deita_Result_Set_Get_Column_Count(Deita_Result_Set *p_result_set); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
73 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
74 extern const char* Deita_Result_Set_Get_Column_Name( |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
75 Deita_Result_Set *p_result_set, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
76 int32 column_index |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
77 ); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
78 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
79 extern Deita_Column_Type Deita_Result_Set_Get_Column_Type( |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
80 Deita_Result_Set *p_result_set, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
81 int32 column_index |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
82 ); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
83 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
84 extern const char* Deita_Result_Set_Get_Text( |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
85 Deita_Result_Set *p_result_set, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
86 int32 column_index |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
87 ); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
88 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
89 extern int64 Deita_Result_Set_Get_Integer( |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
90 Deita_Result_Set *p_result_set, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
91 int32 column_index |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
92 ); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
93 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
94 extern double Deita_Result_Set_Get_Real( |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
95 Deita_Result_Set *p_result_set, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
96 int32 column_index |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
97 ); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
98 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
99 extern void Deita_Result_Set_Free(Deita_Result_Set *p_result_set); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
100 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
101 #endif |