Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
rdmark committed Nov 15, 2024
1 parent 519e209 commit 2dac8cf
Showing 1 changed file with 13 additions and 10 deletions.
23 changes: 13 additions & 10 deletions libatalk/cnid/sqlite/cnid_sqlite.c
Original file line number Diff line number Diff line change
Expand Up @@ -531,7 +531,7 @@ cnid_t cnid_sqlite_add(struct _cnid_db *cdb,
/* CNID set is depleted, restart from scratch */
EC_NEG1(cnid_sqlite_execute
(db->cnid_sqlite_con,
"START TRANSACTION;"
"BEGIN TRANSACTION;"
"UPDATE volumes SET Depleted=1 WHERE VolUUID='%s';"
"TRUNCATE TABLE %s;"
"COMMIT;",
Expand All @@ -541,6 +541,7 @@ cnid_t cnid_sqlite_add(struct _cnid_db *cdb,
CNID_SQLITE_FLAG_DEPLETED;
hint = CNID_INVALID;
if (cnid_sqlite_execute(db->cnid_sqlite_con,
"BEGIN TRANSACTION;"
"UPDATE sqlite_sequence SET seq = 16 WHERE name = '`%s`';"
"INSERT INTO sqlite_sequence (name,seq) SELECT '`%s`', "
"16 WHERE NOT EXISTS "
Expand Down Expand Up @@ -760,21 +761,22 @@ int cnid_sqlite_wipe(struct _cnid_db *cdb)
LOG(log_debug, logtype_cnid, "cnid_dbd_wipe");

EC_NEG1(cnid_sqlite_execute(db->cnid_sqlite_con,
"START TRANSACTION;"
"BEGIN TRANSACTION;"
"UPDATE volumes SET Depleted=0 WHERE VolUUID='%s';"
"TRUNCATE TABLE `%s`;"
"COMMIT;",
db->cnid_sqlite_voluuid_str,
db->cnid_sqlite_voluuid_str));
if (cnid_sqlite_execute(db->cnid_sqlite_con,
"UPDATE sqlite_sequence SET seq = 16 WHERE name = '`%s`';"
"INSERT INTO sqlite_sequence (name,seq) SELECT '`%s`', "
"16 WHERE NOT EXISTS "
"(SELECT changes() AS change "
"FROM sqlite_sequence WHERE change <> 0);"
"COMMIT;",
db->cnid_sqlite_voluuid_str,
db->cnid_sqlite_voluuid_str)) {
"BEGIN TRANSACTION;"
"UPDATE sqlite_sequence SET seq = 16 WHERE name = '`%s`';"
"INSERT INTO sqlite_sequence (name,seq) SELECT '`%s`', "
"16 WHERE NOT EXISTS "
"(SELECT changes() AS change "
"FROM sqlite_sequence WHERE change <> 0);"
"COMMIT;",
db->cnid_sqlite_voluuid_str,
db->cnid_sqlite_voluuid_str)) {
LOG(log_error, logtype_cnid, "cnid_sqlite_open: sqlite query error: %s",
sqlite3_errmsg(db->cnid_sqlite_con));
EC_FAIL;
Expand Down Expand Up @@ -972,6 +974,7 @@ struct _cnid_db *cnid_sqlite_open(struct cnid_open_args *args)
* https://developer.apple.com/library/archive/documentation/Networking/Conceptual/AFP/Concepts/Concepts.html
*/
if (cnid_sqlite_execute(db->cnid_sqlite_con,
"BEGIN TRANSACTION;"
"UPDATE sqlite_sequence SET seq = 16 WHERE name = '`%s`';"
"INSERT INTO sqlite_sequence (name,seq) SELECT '`%s`', "
"16 WHERE NOT EXISTS "
Expand Down

0 comments on commit 2dac8cf

Please sign in to comment.