Skip to content

Commit 74553d3

Browse files
committed
fix: return error in case of internal errors while creating triggers or metatables
1 parent 29ff6c4 commit 74553d3

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/cloudsync.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2935,10 +2935,18 @@ int cloudsync_init_internal (sqlite3_context *context, const char *table_name, c
29352935
// cloudsync_sync_table_key(data, table_name, "*", CLOUDSYNC_KEY_ALGO, crdt_algo_name(algo_new));
29362936

29372937
// check triggers
2938-
dbutils_check_triggers(db, table_name, algo_new);
2938+
int rc = dbutils_check_triggers(db, table_name, algo_new);
2939+
if (rc != SQLITE_OK) {
2940+
dbutils_context_result_error(context, "An error occurred while creating triggers: %s (%d)", sqlite3_errmsg(db), rc);
2941+
return SQLITE_MISUSE;
2942+
}
29392943

29402944
// check meta-table
2941-
dbutils_check_metatable(db, table_name, algo_new);
2945+
rc = dbutils_check_metatable(db, table_name, algo_new);
2946+
if (rc != SQLITE_OK) {
2947+
dbutils_context_result_error(context, "An error occurred while creating metatable: %s (%d)", sqlite3_errmsg(db), rc);
2948+
return SQLITE_MISUSE;
2949+
}
29422950

29432951
// add prepared statements
29442952
if (stmts_add_tocontext(db, data) != SQLITE_OK) {

0 commit comments

Comments
 (0)