OLD | NEW |
1 # 2001 September 15 | 1 # 2001 September 15 |
2 # | 2 # |
3 # The author disclaims copyright to this source code. In place of | 3 # The author disclaims copyright to this source code. In place of |
4 # a legal notice, here is a blessing: | 4 # a legal notice, here is a blessing: |
5 # | 5 # |
6 # May you do good and not evil. | 6 # May you do good and not evil. |
7 # May you find forgiveness for yourself and forgive others. | 7 # May you find forgiveness for yourself and forgive others. |
8 # May you share freely, never taking more than you give. | 8 # May you share freely, never taking more than you give. |
9 # | 9 # |
10 #*********************************************************************** | 10 #*********************************************************************** |
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
391 } {SQLITE_OK} | 391 } {SQLITE_OK} |
392 | 392 |
393 # At one point the following set of conditions would cause SQLite to | 393 # At one point the following set of conditions would cause SQLite to |
394 # retain a RESERVED or EXCLUSIVE lock after the transaction was committed: | 394 # retain a RESERVED or EXCLUSIVE lock after the transaction was committed: |
395 # | 395 # |
396 # * The journal-mode is set to something other than 'delete', and | 396 # * The journal-mode is set to something other than 'delete', and |
397 # * there exists one or more active read-only statements, and | 397 # * there exists one or more active read-only statements, and |
398 # * a transaction that modified zero database pages is committed. | 398 # * a transaction that modified zero database pages is committed. |
399 # | 399 # |
400 set temp_status unlocked | 400 set temp_status unlocked |
401 if {$TEMP_STORE==3} {set temp_status unknown} | 401 if {$TEMP_STORE>=2} {set temp_status unknown} |
402 do_test lock-7.1 { | 402 do_test lock-7.1 { |
403 set STMT [sqlite3_prepare $DB "SELECT * FROM sqlite_master" -1 TAIL] | 403 set STMT [sqlite3_prepare $DB "SELECT * FROM sqlite_master" -1 TAIL] |
404 sqlite3_step $STMT | 404 sqlite3_step $STMT |
405 } {SQLITE_ROW} | 405 } {SQLITE_ROW} |
406 do_test lock-7.2 { | 406 do_test lock-7.2 { |
407 execsql { PRAGMA lock_status } | 407 execsql { PRAGMA lock_status } |
408 } [list main shared temp $temp_status] | 408 } [list main shared temp $temp_status] |
409 do_test lock-7.3 { | 409 do_test lock-7.3 { |
410 execsql { | 410 execsql { |
411 PRAGMA journal_mode = truncate; | 411 PRAGMA journal_mode = truncate; |
412 BEGIN; | 412 BEGIN; |
413 UPDATE t4 SET a = 10 WHERE 0; | 413 UPDATE t4 SET a = 10 WHERE 0; |
414 COMMIT; | 414 COMMIT; |
415 } | 415 } |
416 execsql { PRAGMA lock_status } | 416 execsql { PRAGMA lock_status } |
417 } [list main shared temp $temp_status] | 417 } [list main shared temp $temp_status] |
418 do_test lock-7.4 { | 418 do_test lock-7.4 { |
419 sqlite3_finalize $STMT | 419 sqlite3_finalize $STMT |
420 } {SQLITE_OK} | 420 } {SQLITE_OK} |
421 | 421 |
422 do_test lock-999.1 { | 422 do_test lock-999.1 { |
423 rename db2 {} | 423 rename db2 {} |
424 } {} | 424 } {} |
425 | 425 |
426 finish_test | 426 finish_test |
OLD | NEW |