Mercurial
comparison deita/d_sqlite.c @ 260:1f9877b637e9
Add Copilot-powered cyberpunk JRPG chat
Integrate the production JRPG chat with Seobeo streaming, Deita persistence, and a Bazel-managed Copilot SDK and LiteLLM inference stack.
Co-authored-by: Copilot <[email protected]>
| author | MrJuneJune <mrjunejune@users.noreply.github.com> |
|---|---|
| date | Wed, 05 Aug 2026 09:19:41 -0700 |
| parents | ae6a88e6e484 |
| children |
comparison
equal
deleted
inserted
replaced
| 259:667156fcd3e3 | 260:1f9877b637e9 |
|---|---|
| 20 int32 result = sqlite3_open(connection_string, &p_db); | 20 int32 result = sqlite3_open(connection_string, &p_db); |
| 21 | 21 |
| 22 if (result != SQLITE_OK) | 22 if (result != SQLITE_OK) |
| 23 { | 23 { |
| 24 fprintf(stderr, "deita__sqlite_connection_create: Failed to open database: %s\n", sqlite3_errmsg(p_db)); | 24 fprintf(stderr, "deita__sqlite_connection_create: Failed to open database: %s\n", sqlite3_errmsg(p_db)); |
| 25 sqlite3_close(p_db); | |
| 26 free(p_connection); | |
| 27 return NULL; | |
| 28 } | |
| 29 result = sqlite3_busy_timeout(p_db, 5000); | |
| 30 if (result != SQLITE_OK) | |
| 31 { | |
| 32 fprintf( | |
| 33 stderr, | |
| 34 "deita__sqlite_connection_create: Failed to set busy timeout: %s\n", | |
| 35 sqlite3_errmsg(p_db)); | |
| 25 sqlite3_close(p_db); | 36 sqlite3_close(p_db); |
| 26 free(p_connection); | 37 free(p_connection); |
| 27 return NULL; | 38 return NULL; |
| 28 } | 39 } |
| 29 | 40 |
| 86 p_result_set->database_type = DEITA_DATABASE_TYPE_SQLITE3; | 97 p_result_set->database_type = DEITA_DATABASE_TYPE_SQLITE3; |
| 87 p_result_set->native_result = p_stmt; | 98 p_result_set->native_result = p_stmt; |
| 88 p_result_set->column_count = sqlite3_column_count(p_stmt); | 99 p_result_set->column_count = sqlite3_column_count(p_stmt); |
| 89 p_result_set->has_data = FALSE; | 100 p_result_set->has_data = FALSE; |
| 90 p_result_set->is_done = FALSE; | 101 p_result_set->is_done = FALSE; |
| 102 p_result_set->has_error = FALSE; | |
| 91 | 103 |
| 92 return p_result_set; | 104 return p_result_set; |
| 93 } | 105 } |
| 94 | 106 |
| 95 Deita_Result_Set* deita__sqlite_query_execute_prepared( | 107 Deita_Result_Set* deita__sqlite_query_execute_prepared( |
| 134 p_result_set->database_type = DEITA_DATABASE_TYPE_SQLITE3; | 146 p_result_set->database_type = DEITA_DATABASE_TYPE_SQLITE3; |
| 135 p_result_set->native_result = p_stmt; | 147 p_result_set->native_result = p_stmt; |
| 136 p_result_set->column_count = sqlite3_column_count(p_stmt); | 148 p_result_set->column_count = sqlite3_column_count(p_stmt); |
| 137 p_result_set->has_data = FALSE; | 149 p_result_set->has_data = FALSE; |
| 138 p_result_set->is_done = FALSE; | 150 p_result_set->is_done = FALSE; |
| 151 p_result_set->has_error = FALSE; | |
| 139 | 152 |
| 140 return p_result_set; | 153 return p_result_set; |
| 141 } | 154 } |
| 142 | 155 |
| 143 int32 deita__sqlite_query_execute_update( | 156 int32 deita__sqlite_query_execute_update( |
| 227 else | 240 else |
| 228 { | 241 { |
| 229 fprintf(stderr, "deita__sqlite_result_set_next: Error stepping through results\n"); | 242 fprintf(stderr, "deita__sqlite_result_set_next: Error stepping through results\n"); |
| 230 p_result_set->has_data = FALSE; | 243 p_result_set->has_data = FALSE; |
| 231 p_result_set->is_done = TRUE; | 244 p_result_set->is_done = TRUE; |
| 245 p_result_set->has_error = TRUE; | |
| 232 return FALSE; | 246 return FALSE; |
| 233 } | 247 } |
| 234 } | 248 } |
| 235 | 249 |
| 236 int32 deita__sqlite_result_set_get_column_count(Deita_Result_Set *p_result_set) | 250 int32 deita__sqlite_result_set_get_column_count(Deita_Result_Set *p_result_set) |