| 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 |