Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Bugfix for previous checkin. (CVS 1587) |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
2737505f28e37627ed6091e356d00562 |
User & Date: | danielk1977 2004-06-14 09:41:18 |
Context
2004-06-14
| ||
11:35 | Don't invoke authorisation callback during database initialisation. (CVS 1588) check-in: 293fbf0a user: danielk1977 tags: trunk | |
09:41 | Bugfix for previous checkin. (CVS 1587) check-in: 2737505f user: danielk1977 tags: trunk | |
09:35 | Ensure master journal file is deleted when a transaction is committed. (CVS 1586) check-in: cb3cbe00 user: danielk1977 tags: trunk | |
Changes
Changes to src/vdbeaux.c.
1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 |
sqlite3OsClose(&master); sqliteFree(zMaster); return rc; } } } sqlite3OsClose(&master); sqliteFree(zMaster); zMaster = 0; /* Delete the master journal file. This commits the transaction. After ** doing this the directory is synced again before any individual ** transaction files are deleted. */ rc = sqlite3OsDelete(zMaster); assert( rc==SQLITE_OK ); rc = sqlite3OsSyncDirectory(zMainFile); if( rc!=SQLITE_OK ){ /* This is not good. The master journal file has been deleted, but ** the directory sync failed. There is no completely safe course of ** action from here. The individual journals contain the name of the ** master journal file, but there is no way of knowing if that ** master journal exists now or if it will exist after the operating |
< < > > |
1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 |
sqlite3OsClose(&master); sqliteFree(zMaster); return rc; } } } sqlite3OsClose(&master); /* Delete the master journal file. This commits the transaction. After ** doing this the directory is synced again before any individual ** transaction files are deleted. */ rc = sqlite3OsDelete(zMaster); assert( rc==SQLITE_OK ); sqliteFree(zMaster); zMaster = 0; rc = sqlite3OsSyncDirectory(zMainFile); if( rc!=SQLITE_OK ){ /* This is not good. The master journal file has been deleted, but ** the directory sync failed. There is no completely safe course of ** action from here. The individual journals contain the name of the ** master journal file, but there is no way of knowing if that ** master journal exists now or if it will exist after the operating |
Changes to test/attach2.test.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 ... 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 |
# May you share freely, never taking more than you give. # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this script is testing the ATTACH and DETACH commands # and related functionality. # # $Id: attach2.test,v 1.17 2004/06/14 09:35:17 danielk1977 Exp $ # set testdir [file dirname $argv0] source $testdir/tester.tcl # Ticket #354 ................................................................................ execsql {SELECT * FROM t1} db2 } {1 2 1 2} db close db2 close file delete -force test2.db if 0 { # These tests - attach2-5.* - check that the master journal file is deleted # correctly when a multi-file transaction is committed or rolled back. # # Update: It's not actually created if a rollback occurs, so that test # doesn't really prove too much. foreach f [glob test.db*] {file delete -force $f} do_test attach2-5.1 { ................................................................................ } } {} do_test attach2-5.5 { glob test.db* } {test.db test.db2} db close } finish_test |
| < < < < < |
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 300 301 302 303 304 305 306 307 308 309 310 311 312 313 ... 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 |
# May you share freely, never taking more than you give. # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this script is testing the ATTACH and DETACH commands # and related functionality. # # $Id: attach2.test,v 1.18 2004/06/14 09:41:18 danielk1977 Exp $ # set testdir [file dirname $argv0] source $testdir/tester.tcl # Ticket #354 ................................................................................ execsql {SELECT * FROM t1} db2 } {1 2 1 2} db close db2 close file delete -force test2.db # These tests - attach2-5.* - check that the master journal file is deleted # correctly when a multi-file transaction is committed or rolled back. # # Update: It's not actually created if a rollback occurs, so that test # doesn't really prove too much. foreach f [glob test.db*] {file delete -force $f} do_test attach2-5.1 { ................................................................................ } } {} do_test attach2-5.5 { glob test.db* } {test.db test.db2} db close finish_test |