mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-30 19:03:16 +03:00
Fix the xCheckReservedLock() method of the flock VFS to avoid dropping the file-lock.
FossilOrigin-Name: 8ffaf85249ff38ceea037a6e96b3484c912f1c1aa55b8642297d592768661344
This commit is contained in:
@ -146,6 +146,52 @@ do_test lock5-flock.8 {
|
||||
db2 close
|
||||
} {}
|
||||
|
||||
do_test lock5-flock.9 {
|
||||
sqlite3 db test.db -vfs unix-flock
|
||||
execsql {
|
||||
SELECT * FROM t1
|
||||
}
|
||||
} {1 2}
|
||||
|
||||
do_test lock5-flock.10 {
|
||||
sqlite3 db2 test.db -vfs unix-flock
|
||||
execsql {
|
||||
SELECT * FROM t1
|
||||
} db2
|
||||
} {1 2}
|
||||
|
||||
do_test lock5-flock.10 {
|
||||
execsql {
|
||||
PRAGMA cache_size = 1;
|
||||
BEGIN;
|
||||
WITH s(i) AS (
|
||||
SELECT 1 UNION ALL SELECT i+1 FROM s WHERE i<10000
|
||||
)
|
||||
INSERT INTO t1 SELECT i, i+1 FROM s;
|
||||
}
|
||||
|
||||
catchsql {
|
||||
SELECT * FROM t1
|
||||
} db2
|
||||
} {1 {database is locked}}
|
||||
|
||||
do_test lock5-flock.11 {
|
||||
forcecopy test.db test.db2
|
||||
forcecopy test.db-journal test.db2-journal
|
||||
db2 close
|
||||
sqlite3 db2 test.db2 -vfs unix-flock
|
||||
catchsql {
|
||||
SELECT * FROM t1
|
||||
} db2
|
||||
} {0 {1 2}}
|
||||
|
||||
do_test lock5-flock.12 {
|
||||
file exists test.db2-journal
|
||||
} 0
|
||||
|
||||
db close
|
||||
db2 close
|
||||
|
||||
}
|
||||
|
||||
#####################################################################
|
||||
|
Reference in New Issue
Block a user