Fossil SCM
Yet another missed db_unprotect() call.
Commit
2041072e8d049273b2a748a2817011dfce4548da2a24d0042c982e9b55cb2af8
Parent
16ec693daebe316…
1 file changed
+2
M
src/db.c
+2
| --- src/db.c | ||
| +++ src/db.c | ||
| @@ -247,17 +247,19 @@ | ||
| 247 | 247 | db.nBegin--; |
| 248 | 248 | if( db.nBegin==0 ){ |
| 249 | 249 | int i; |
| 250 | 250 | if( db.doRollback==0 && db.nPriorChanges<sqlite3_total_changes(g.db) ){ |
| 251 | 251 | i = 0; |
| 252 | + db_unprotect(PROTECT_ALL); | |
| 252 | 253 | while( db.nBeforeCommit ){ |
| 253 | 254 | db.nBeforeCommit--; |
| 254 | 255 | sqlite3_exec(g.db, db.azBeforeCommit[i], 0, 0, 0); |
| 255 | 256 | sqlite3_free(db.azBeforeCommit[i]); |
| 256 | 257 | i++; |
| 257 | 258 | } |
| 258 | 259 | leaf_do_pending_checks(); |
| 260 | + db_protect_pop(); | |
| 259 | 261 | } |
| 260 | 262 | for(i=0; db.doRollback==0 && i<db.nCommitHook; i++){ |
| 261 | 263 | int rc = db.aHook[i].xHook(); |
| 262 | 264 | if( rc ){ |
| 263 | 265 | db.doRollback = 1; |
| 264 | 266 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -247,17 +247,19 @@ | |
| 247 | db.nBegin--; |
| 248 | if( db.nBegin==0 ){ |
| 249 | int i; |
| 250 | if( db.doRollback==0 && db.nPriorChanges<sqlite3_total_changes(g.db) ){ |
| 251 | i = 0; |
| 252 | while( db.nBeforeCommit ){ |
| 253 | db.nBeforeCommit--; |
| 254 | sqlite3_exec(g.db, db.azBeforeCommit[i], 0, 0, 0); |
| 255 | sqlite3_free(db.azBeforeCommit[i]); |
| 256 | i++; |
| 257 | } |
| 258 | leaf_do_pending_checks(); |
| 259 | } |
| 260 | for(i=0; db.doRollback==0 && i<db.nCommitHook; i++){ |
| 261 | int rc = db.aHook[i].xHook(); |
| 262 | if( rc ){ |
| 263 | db.doRollback = 1; |
| 264 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -247,17 +247,19 @@ | |
| 247 | db.nBegin--; |
| 248 | if( db.nBegin==0 ){ |
| 249 | int i; |
| 250 | if( db.doRollback==0 && db.nPriorChanges<sqlite3_total_changes(g.db) ){ |
| 251 | i = 0; |
| 252 | db_unprotect(PROTECT_ALL); |
| 253 | while( db.nBeforeCommit ){ |
| 254 | db.nBeforeCommit--; |
| 255 | sqlite3_exec(g.db, db.azBeforeCommit[i], 0, 0, 0); |
| 256 | sqlite3_free(db.azBeforeCommit[i]); |
| 257 | i++; |
| 258 | } |
| 259 | leaf_do_pending_checks(); |
| 260 | db_protect_pop(); |
| 261 | } |
| 262 | for(i=0; db.doRollback==0 && i<db.nCommitHook; i++){ |
| 263 | int rc = db.aHook[i].xHook(); |
| 264 | if( rc ){ |
| 265 | db.doRollback = 1; |
| 266 |