]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Sat, 9 Dec 2017 01:02:33 +0000 (01:02 +0000)]
Fix a harmless API signature mismatch in the unix VFS.
FossilOrigin-Name:
bab9de7fdda20a724f7c21ec2c25b488ece08b685f1e4fd15c9e73b6b4a0133a
drh [Fri, 8 Dec 2017 19:37:04 +0000 (19:37 +0000)]
The query planner tries to avoids using indexes that use unknown collating
functions.
FossilOrigin-Name:
02013fc120bf71a8be3550c696a588af8c92f2209f8e5db530624878ddc8aa7e
dan [Fri, 8 Dec 2017 16:23:38 +0000 (16:23 +0000)]
Add compile time switch SQLITE_ENABLE_ICU_COLLATIONS. For enabling ICU
collations without also enabling the tokenizer, the LIKE operator, the
REGEXP operator, or the unicode aware upper()/lower() scalar functions.
FossilOrigin-Name:
a079f914522d7bc4b3d27d70114eb09adedfac936a64883e6ed8d382c428dd0e
drh [Fri, 8 Dec 2017 14:07:14 +0000 (14:07 +0000)]
Make sure the bComplex variable in sqlite3DeleteFrom() is initialized when
compiling with -DSQLITE_OMIT_TRIGGER.
FossilOrigin-Name:
e526d0c40b971d970367a52a57d3920cb64e6a98920114bfac46ba009f0b1eb5
drh [Thu, 7 Dec 2017 22:10:16 +0000 (22:10 +0000)]
When doing a table scan using an index, do not error out if collating
functions used by that index are unavailable, since they will not be used.
FossilOrigin-Name:
bbd69fa6fa7f3c86fb5cd1b69e1abbe1bbad61aa281e6c073a402d1b202e42ec
mistachkin [Thu, 7 Dec 2017 22:04:53 +0000 (22:04 +0000)]
drh [Thu, 7 Dec 2017 16:51:25 +0000 (16:51 +0000)]
Fix harmless compiler warnings in the rot13 extension.
FossilOrigin-Name:
113470772b04210b9300803124c06af2c0b33278313b311fefe6f80594b24e4a
drh [Thu, 7 Dec 2017 13:15:48 +0000 (13:15 +0000)]
drh [Wed, 6 Dec 2017 20:50:08 +0000 (20:50 +0000)]
Fix an unreachable branch in cases when SQLITE_ENABLE_STAT4 is not defined.
FossilOrigin-Name:
6a55bd67720451cdf316155cf348103bfce1056a78bcddf0029b45ff0fdbcc71
dan [Tue, 5 Dec 2017 14:58:59 +0000 (14:58 +0000)]
Fix a compilation problem when both SQLITE_ENABLE_MULTITHREADED_CHECKS and
SQLITE_ENABLE_API_ARMOUR are defined.
FossilOrigin-Name:
0342ce510d2063a63839399a2cfa25b7fc02f4fde17764082676b332d6136241
dan [Fri, 1 Dec 2017 18:40:18 +0000 (18:40 +0000)]
Fix the ".lint fkey-indexes" shell command so that it works with WITHOUT ROWID
tables.
FossilOrigin-Name:
5771b1d611b3562ea6c040f3f893073c4d0ee58c35b37ae211520d9aee8ed547
dan [Thu, 30 Nov 2017 11:21:59 +0000 (11:21 +0000)]
dan [Thu, 30 Nov 2017 07:55:15 +0000 (07:55 +0000)]
Update test file walprotocol.test to account for the changes in the wal
locking protocol.
FossilOrigin-Name:
64e567009dd56ef595850fe460925bc15fa875163541527638b654aa2b2cf785
dan [Tue, 28 Nov 2017 20:43:40 +0000 (20:43 +0000)]
dan [Tue, 28 Nov 2017 13:39:41 +0000 (13:39 +0000)]
Lock the wal file for all snapshot transactions, even if they would not
otherwise require this, preventing checkpointers and writers from wrapping the
wal file. This means that if one connection has an open snapshot transaction
it is guaranteed that a second connection can open a transaction on the same
snapshot.
FossilOrigin-Name:
b81a31495bd27c1d96f7df653da3502054240cb5acf66b860da7f0f9b422a524
dan [Tue, 28 Nov 2017 07:52:00 +0000 (07:52 +0000)]
Add experimental feature to detect threading bugs in apps that use
SQLITE_CONFIG_MULTITHREADED. Enabled at compile time using
SQLITE_ENABLE_MULTITHREADED_CHECKS.
FossilOrigin-Name:
40b598c8392f030f6ed8c63ce81cb0426bb3984397c19c756215f6a569a40164
dan [Tue, 28 Nov 2017 07:47:57 +0000 (07:47 +0000)]
Use a symbolic constant instead of a literal (-1) to identify a
warn-on-contention mutex.
FossilOrigin-Name:
12a23c0a66fac5c9674120b390f6abaeaba3f7ff04693b281af1eefb93d6f47c
drh [Tue, 28 Nov 2017 00:52:14 +0000 (00:52 +0000)]
Update tests to deal with SQLITE_FAST_SECURE_DELETE.
FossilOrigin-Name:
e6b89304695be371978e65dddd710c8bd563c66b9c94d23165142b6c235c82e1
dan [Mon, 27 Nov 2017 17:56:14 +0000 (17:56 +0000)]
Fix a faulty NEVER assert() that could fail for SQLITE_ENABLE_STAT4 builds
that use foreign keys.
FossilOrigin-Name:
465350e55ddaf30cfba7874653301de7238a9dc2bc5e1f800fc95de9360679f6
drh [Sun, 26 Nov 2017 02:14:18 +0000 (02:14 +0000)]
Fix an CSV output quoting problem in the command-line shell on Windows.
FossilOrigin-Name:
6500cdbd36b0169f37fe363c49182b3e30477a51bb521c2a964555cd086a5589
dan [Sat, 25 Nov 2017 21:09:29 +0000 (21:09 +0000)]
Fix builds with both SQLITE_ENABLE_MULTITHREADED_CHECKS and
SQLITE_THREADSAFE=0 defined.
FossilOrigin-Name:
7d0b12fcb58353b883ffce77df824a5cc8b1e913a21ec3f22fb73481a398c916
dan [Sat, 25 Nov 2017 17:51:01 +0000 (17:51 +0000)]
Add experimental feature to detect threading bugs in apps that use
SQLITE_CONFIG_MULTITHREADED. Enabled at compile time using
SQLITE_ENABLE_MULTITHREADED_CHECKS.
FossilOrigin-Name:
a66886ac13aa6d8ccbb6d673ddd00267c93e3ee1fbc158236fce3157d150868d
dan [Fri, 24 Nov 2017 19:24:44 +0000 (19:24 +0000)]
drh [Fri, 24 Nov 2017 16:55:48 +0000 (16:55 +0000)]
Enhance the configure script to detect zLib.
FossilOrigin-Name:
e3b6e22049caf78bc4153ded8dc295fe30ad320323d921f16bd794ef30f1b115
drh [Thu, 23 Nov 2017 04:45:35 +0000 (04:45 +0000)]
Fix a problem in the omit-table-from-left-join optimization
from check-in [
0cd82ee9a8413cf ] that was discovered by OSSFuzz.
FossilOrigin-Name:
b016c28fa5617a20ad34c005372e738d28f7fc4388d19ee0cb7add4ed19d74aa
drh [Thu, 23 Nov 2017 00:45:21 +0000 (00:45 +0000)]
Completely disable the skip-ahead-distinct optimization for all but the
inner-most loop of a DISTINCT join. Fix for ticket [
ef9318757b152e3a26e9592 ]
FossilOrigin-Name:
b7595cf2cadcba486e60b3c230ccc412a7cf449c1d56cbe65869e6d5d9f1374d
drh [Tue, 21 Nov 2017 23:38:48 +0000 (23:38 +0000)]
Fix the skip-ahead-distinct optimization on joins for cases there the table
in the inner loop of the join does not contribute any columns to the
result set. Proposed fix for ticket [
ef9318757b152e3a2 ]
FossilOrigin-Name:
2dcef5a9ae7f347da65207bf6bf612fb12e18e1a6704799322f0cf2a86154cfd
mistachkin [Tue, 21 Nov 2017 21:15:17 +0000 (21:15 +0000)]
mistachkin [Tue, 21 Nov 2017 21:14:32 +0000 (21:14 +0000)]
Fix compilation issue (C99-ism) in the shell seen with MSVC.
FossilOrigin-Name:
9cb47430553f00216e9b06e3d8226b903da536152fac80a5b6f615508c933252
dan [Tue, 21 Nov 2017 20:53:14 +0000 (20:53 +0000)]
Update the omit-table-from-left-join optimization so that it can omit tables
from the middle of the join as well as the end.
FossilOrigin-Name:
0cd82ee9a8413cf127b5ca65770e3f363bd579941cd592298d3b0c27715583f3
dan [Tue, 21 Nov 2017 19:22:45 +0000 (19:22 +0000)]
Update the omit-table-from-left-join optimization so that it can omit tables
from the middle of the join as well as the end.
FossilOrigin-Name:
618ca9fe53d8d2d7b4f368e6ee404d5fceeecac0d689f32ab62af8a6cbb37401
dan [Mon, 20 Nov 2017 15:46:10 +0000 (15:46 +0000)]
Fix a problem preventing the planner from identifying scans that visit at most
one row in cases where that property is guaranteed by a unique, not-null,
non-IPK column that is the leftmost in its table.
FossilOrigin-Name:
7fdb1e2ac2040dc47800a224d33a5c95d55200c480d46fedec1e97fb4f089ef7
dan [Mon, 20 Nov 2017 15:45:03 +0000 (15:45 +0000)]
dan [Mon, 20 Nov 2017 14:40:03 +0000 (14:40 +0000)]
Fix a problem preventing the planner from identifying scans that visit at most
one row in cases where that property is guaranteed by a unique, not-null,
non-IPK column that is the leftmost in its table.
FossilOrigin-Name:
299d7ca52fec32f04ffd2b8561dd4b839e891792162f8b00259368683436b02d
dan [Sat, 18 Nov 2017 18:07:17 +0000 (18:07 +0000)]
Enhance the log messages produced in some cases if database corruption is
encountered by an SQLITE_DEBUG build.
FossilOrigin-Name:
ee840a7669dd462af072625232ea4238198c9b94e1873f361c45f3b0985456f3
dan [Sat, 18 Nov 2017 17:30:08 +0000 (17:30 +0000)]
Enhance the log messages produced in some cases if database corruption is
encountered by an SQLITE_DEBUG build.
FossilOrigin-Name:
23a3128083834b5fc80adf45448f7dc65587c52761fb3c9483b80313b369406f
drh [Fri, 17 Nov 2017 21:01:04 +0000 (21:01 +0000)]
Improved fix for ticket [
da78413751863 ] that does not require disabling the
query flattener as was done in [
005d5b870625 ]. This also makes the code
generator for vector IN operators a little easier to understand.
FossilOrigin-Name:
723f1be3d4a905a6a16333f8ef3e1067dcd4944497b303033c49946fc37c780f
dan [Fri, 17 Nov 2017 20:07:19 +0000 (20:07 +0000)]
Add some missing "finish_test" lines to the end of test scripts.
FossilOrigin-Name:
c21406ab3281480d3eddca0cdf5aea3abc224425ee52c10eed3ff702a0ae5c26
drh [Fri, 17 Nov 2017 17:32:40 +0000 (17:32 +0000)]
New assert() statements in the rowvalue IN expression processing.
FossilOrigin-Name:
00c328317473cee8fd7bd92c58409a356337b727cfa562bd8de59350d978769c
drh [Fri, 17 Nov 2017 15:02:00 +0000 (15:02 +0000)]
Clarification of comments on sqlite3FindInIndex(). No changes to code.
FossilOrigin-Name:
071cabd23cd010180711a138f891a0e358031dd128532def4f62c5764651bace
dan [Fri, 17 Nov 2017 13:21:12 +0000 (13:21 +0000)]
Do not count temporary databases that have been attached using ATTACH when
figuring out if a master-journal file is required by a transaction.
FossilOrigin-Name:
93e012a317c8a4bfb84327616a597acabfcb24417197eefdccb8031bcf64e0c0
dan [Fri, 17 Nov 2017 08:20:10 +0000 (08:20 +0000)]
Avoid creating a master journal if all or all but one of the databases in the
transaction is a temp file.
FossilOrigin-Name:
355d1232fd7314723afaa8d6b8b73506b09cbba1113a88b10204ba89be993508
dan [Thu, 16 Nov 2017 20:48:47 +0000 (20:48 +0000)]
Ensure that empty space on pages is zeroed before they are written to disk.
This helps with compressed databases, and stops valgrind complaining about
uninitialized bytes and write().
FossilOrigin-Name:
5ffec5db33137251090d45e2ca7e3e7823e3215ae89822d905923424ceba2ac2
drh [Thu, 16 Nov 2017 19:04:33 +0000 (19:04 +0000)]
Add a missing "finish_test" to the end of the stmtvtab1.test script.
FossilOrigin-Name:
e0b5c0585e8530bd516b340093a46d8e358a731facb78da22d3208633c852804
drh [Wed, 15 Nov 2017 19:14:08 +0000 (19:14 +0000)]
Futher improvements to the .testctrl interface in the shell.
FossilOrigin-Name:
1ca3b8cce93e83fabe35c22cb726b8ce0883e0448afa3301ad0b53073055fa8d
drh [Wed, 15 Nov 2017 17:07:22 +0000 (17:07 +0000)]
UI improvements on the .testctrl dot-command in the shell.
FossilOrigin-Name:
5d66219c4706e11a9c2a1290224e7c17b19f74657e8239accfb4c6f6be6af9b5
drh [Tue, 14 Nov 2017 23:48:23 +0000 (23:48 +0000)]
In the parse tree, combine LIMIT and OFFSET into a single expression rooted
on a TK_LIMIT node, for a small code size reduction and performance increase,
and a reduction in code complexity.
FossilOrigin-Name:
3925facd942c9df663f9b29b1e6f94f6be14af8c2b99eb691bfc836b4c220826
drh [Tue, 14 Nov 2017 19:34:22 +0000 (19:34 +0000)]
Add the ability to read from read-only WAL-mode database files as long as
the -wal and -shm files are present on disk.
FossilOrigin-Name:
00ec95fcd02bb415dabd7f25fee24856d45d6916c18b2728e97e9bb9b8322ba3
dan [Tue, 14 Nov 2017 17:06:37 +0000 (17:06 +0000)]
Fix the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables.
FossilOrigin-Name:
dae4a97a483bee1e6ac0271ddd28a0dffcebf7522edaf12eb5e0eba5fc62516a
drh [Tue, 14 Nov 2017 03:42:52 +0000 (03:42 +0000)]
Improvement to a comment. No changes to code.
FossilOrigin-Name:
486949fc03706e0056439b52ce60931ea4ce0a65e391da7f6287fe13862de251
drh [Mon, 13 Nov 2017 05:51:37 +0000 (05:51 +0000)]
Remove some branches in walTryBeginRead() that were
added by check-in [
ce5d13c2de ] but became unreachable with the addition
of logic in check-in [
18b26843 ] that enabled read-only clients to parse
the WAL file into a heap-memory WAL-index, thus guaranteeing that the
WAL-index header is always available.
FossilOrigin-Name:
9c6b38b9a96c11bdf9db4ea025720a4f49dcb723fa2e2776edc8453bce85c7e3
drh [Sat, 11 Nov 2017 20:11:01 +0000 (20:11 +0000)]
In wal.c: improved comments, new assert() and testcase() macros, and
replace some magic numbers with appropriate symbolic constants.
FossilOrigin-Name:
13ec8a77a47aa471af587459f4094da0d06674c5960f0d34777bcb3d38bc413b
drh [Sat, 11 Nov 2017 13:30:44 +0000 (13:30 +0000)]
Further comment improvements in wal.c. No code changes.
FossilOrigin-Name:
346388007de585083dc67ad865b91db7c7d7b78c10a06f8bb7c48767c326c47e
dan [Fri, 10 Nov 2017 20:13:14 +0000 (20:13 +0000)]
Omit some extra code from non-SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds.
FossilOrigin-Name:
72be33f9c84de3ec4afc40549482417456ca82c1d16b473dc034b144055271e5
drh [Fri, 10 Nov 2017 20:00:50 +0000 (20:00 +0000)]
Improved comments and variable names in the read-only WAL logic.
FossilOrigin-Name:
d3c25740eec9a2a41c29e6e488fcf6587c1fb821147a442c29439b25a92154a5
dan [Fri, 10 Nov 2017 17:47:54 +0000 (17:47 +0000)]
Add further tests for the code on this branch.
FossilOrigin-Name:
f8c4e33f4813e0c909064406b5cc17e2d465d8a48a50ede1d356b39479d3d669
dan [Fri, 10 Nov 2017 16:14:26 +0000 (16:14 +0000)]
Fix a problem involving "DELETE/UPDATE...LIMIT" statements that use an INDEXED
BY clause.
FossilOrigin-Name:
09f94c2c8199b0d23a45cc062ca9561f9e5ddfcba117100e41889ce199d21bdb
dan [Fri, 10 Nov 2017 15:42:21 +0000 (15:42 +0000)]
Fix a problem with (DELETE...LIMIT) statements against WITHOUT ROWID tables
with a single column PK.
FossilOrigin-Name:
35477a3dcceadf5dade8e036d5a2ce91b9ca83c4b85d309db233bdbcf538b1cc
mistachkin [Fri, 10 Nov 2017 12:41:21 +0000 (12:41 +0000)]
Fix harmless compiler warning seen with MSVC.
FossilOrigin-Name:
3711ef2366af8fefccaaa0a6ee520ce6bc9c74a4fe0666f0a85ef96be46e02d3
mistachkin [Thu, 9 Nov 2017 23:24:29 +0000 (23:24 +0000)]
Avoid superfluous SHM unlock call in the Win32 VFS.
FossilOrigin-Name:
5a384be6979b783d1f3af2ac6307e7e731c415d052f9405f04c0216f59414633
mistachkin [Thu, 9 Nov 2017 22:25:58 +0000 (22:25 +0000)]
mistachkin [Thu, 9 Nov 2017 22:23:50 +0000 (22:23 +0000)]
Revise and vastly simplify the Win32 SHM file locking semantics, allowing all new tests to pass.
FossilOrigin-Name:
d0997b0f5bc9a9869684e39a17a01c430d6383c8b31d6c00ea17a5eac15bc6f0
mistachkin [Thu, 9 Nov 2017 20:37:37 +0000 (20:37 +0000)]
dan [Thu, 9 Nov 2017 20:34:35 +0000 (20:34 +0000)]
Enhance walro2.test to better ensure that readonly_shm clients are not using
invalid *-shm files.
FossilOrigin-Name:
ff630b66714b20c09888ead0a45f344d63e0d9a5208867d6266e74f79187076c
mistachkin [Thu, 9 Nov 2017 20:02:44 +0000 (20:02 +0000)]
Get read-only SHM file tests passing on Win32.
FossilOrigin-Name:
abef05353554e72f4d08aff562b87ff8530e8537a79e58d831205ea8c46eed07
dan [Thu, 9 Nov 2017 19:53:06 +0000 (19:53 +0000)]
Add SQLITE_ENABLE_UPDATE_DELETE_LIMIT for views and WITHOUT ROWID tables.
FossilOrigin-Name:
584b88aaf89ab30cb51185396b7b50c6ecba286add023a26ab41d865b9c605ce
mistachkin [Thu, 9 Nov 2017 18:53:51 +0000 (18:53 +0000)]
Further corrections to read-only SHM file handling on Win32.
FossilOrigin-Name:
43c311701bdf1202918cd46fa6133a11458e0ef8ddb09e46290a231083f395ce
mistachkin [Thu, 9 Nov 2017 18:21:51 +0000 (18:21 +0000)]
Corrections to Win32 lock detection for SHM files.
FossilOrigin-Name:
3a91be975daee65c3e1199855613066015d5df8ad44ababdef31d1c698b5e746
mistachkin [Thu, 9 Nov 2017 17:29:18 +0000 (17:29 +0000)]
Corrections to the Win32 porting changes on this branch.
FossilOrigin-Name:
0b26a5a26d700e20eea5ebbd620af0af6f2d61c652cfca5b8563267588cb2be6
mistachkin [Thu, 9 Nov 2017 17:29:04 +0000 (17:29 +0000)]
Make it possible to use OSTRACE for multi-process testing.
FossilOrigin-Name:
0a7d416c4c43632725dc89cda8667cd9726b5152ee4692e4d0c9e2031e60cfb4
mistachkin [Thu, 9 Nov 2017 16:30:55 +0000 (16:30 +0000)]
Initial work on porting the changes on this branch to Win32.
FossilOrigin-Name:
3738bfd0c0eadb10eea58954af5052cb6ce164059f3aacfe65d7da6a400c63c7
drh [Thu, 9 Nov 2017 03:55:09 +0000 (03:55 +0000)]
Disallow ORDER BY and LIMIT on UPDATE and DELETE of views and WITHOUT ROWID
tables. This is a temporary fix for ticket [
d4beea1633f1b88f ] until a better
solution can be found.
FossilOrigin-Name:
62fe56b59270d9d7372b1bb8a53788a40d20d0f111fe38c61dd6269848592c70
drh [Wed, 8 Nov 2017 19:26:27 +0000 (19:26 +0000)]
Extra comments on the sqlite3OsShmMap() call in walBeginUnlocked(). No
changes to code.
FossilOrigin-Name:
033ee92bf4d5dc57f5cb8fd02d1154ae06f2d3261d214e7191a82c70c8ffebf7
drh [Wed, 8 Nov 2017 17:51:10 +0000 (17:51 +0000)]
Turns out that SQLITE_READONLY_CANTLOCK is an historical name that must
be preserved. So make a new SQLITE_READLOCK_CANTINIT name instead.
FossilOrigin-Name:
04974a8b5c0e6748216226006ca9125529c8bb2a7a9df4641217eb1413426a14
drh [Wed, 8 Nov 2017 17:32:12 +0000 (17:32 +0000)]
Change the name of SQLITE_READONLY_CANTLOCK to SQLITE_READONLY_CANTINIT.
FossilOrigin-Name:
6d7f94faa7e6de62f82bc6cac019508a9c1ffd6fa1d14f52fa93e9c06afdd32f
dan [Wed, 8 Nov 2017 11:14:53 +0000 (11:14 +0000)]
Fix a problem causing LSM to add unnecessary padding to empty segments in
compressed databases.
FossilOrigin-Name:
1bc2d04645c5239ba9a30a13f6fb3c8cc46461c864e7927012bc0ad305eb705e
drh [Wed, 8 Nov 2017 02:50:09 +0000 (02:50 +0000)]
Improved comments used for documentation of sqlite3_vfs. No changes
to code.
FossilOrigin-Name:
db8f22d069b1725f16b208c96c0c47b6ab0e30236feeac43cca4217ef80316b8
dan [Tue, 7 Nov 2017 21:25:15 +0000 (21:25 +0000)]
dan [Tue, 7 Nov 2017 21:15:07 +0000 (21:15 +0000)]
Handle the race condition that may occur if another process connects and then
checkpoints and truncates the wal file while a readonly-shm client is building
its heap-memory wal-index.
FossilOrigin-Name:
5a6703fc3f2174b3e9a624c7272ae013b73c42d6c97ffa62b58553efdb54e3bc
dan [Tue, 7 Nov 2017 19:02:00 +0000 (19:02 +0000)]
Fix handling of partial indexes in checkindex.c (sqlite3_checker).
FossilOrigin-Name:
31932a9eb8dbb33d5535715ae8bbfdc55ce66b1a1a0abd57cefe720eeb31e231
dan [Tue, 7 Nov 2017 18:20:15 +0000 (18:20 +0000)]
Fix a problem causing an INDEXED BY specifying an unusable partial index to be
mishandled.
FossilOrigin-Name:
292a04086a902634fc514b379a2b245eb2681c1b84d9bb950b6ecb9aab28b468
drh [Tue, 7 Nov 2017 16:54:20 +0000 (16:54 +0000)]
Add the --trace option to the sqlite3_checker utility program.
FossilOrigin-Name:
dc217b7cfe680044d8742e317701abd0269162da8f5cb097361ae7f47fd9ba2d
drh [Tue, 7 Nov 2017 16:23:24 +0000 (16:23 +0000)]
Enhance the checkindex.c virtual table so that it will output the
index_name and after_key parameters. Also add a new diagnostic output
column named scanner_sql which shows the SQL statement used to implement
the current index scan.
FossilOrigin-Name:
32e2520ce91351acceda845d81c9567f7a634257dc2b5b90fe6fb6583d8c0f87
dan [Tue, 7 Nov 2017 15:43:52 +0000 (15:43 +0000)]
On unix, if the *-shm file cannot be opened for read/write access, open it
read-only and proceed as if the readonly_shm=1 URI option were specified.
FossilOrigin-Name:
ba718754fa5ab8596cb84b751051de98afa2706fe6c5df39ad6d925d790719ee
dan [Tue, 7 Nov 2017 09:08:43 +0000 (09:08 +0000)]
Add fault-injection tests for the code on this branch.
FossilOrigin-Name:
a7d949fb735f60c19e7257a1a7a12568a9c15be9cd980c018f3a0d6bf112c339
dan [Mon, 6 Nov 2017 19:49:34 +0000 (19:49 +0000)]
Add further test cases for the new code on this branch. And a couple of fixes.
FossilOrigin-Name:
71af9acb227a91d9ad8798c9d0b12d6967e863d050f5cb1fddb45f25ee1f47db
drh [Mon, 6 Nov 2017 09:34:45 +0000 (09:34 +0000)]
Fix a harmless compiler warning from Xcode 9.1.
FossilOrigin-Name:
66d98310b91c69fd01c6a9a958ef1eabda14ec6cd0e4b6612f877f2dfe486c54
dan [Sat, 4 Nov 2017 21:06:35 +0000 (21:06 +0000)]
Add further tests for the code added on this branch.
FossilOrigin-Name:
a6716fcde38b28b8a03b40f9d16f78a57ec20f60cf391ff553692641cb7f0d3f
dan [Sat, 4 Nov 2017 18:10:03 +0000 (18:10 +0000)]
In cases where a readonly_shm client cannot take the DMS lock on the *-shm
file, have it parse the wal file and create a wal-index to access it in heap
memory.
FossilOrigin-Name:
18b268433d739486eac1b04947bd418655e4bc56e8dc63ffa558aa4552a32e30
dan [Sat, 4 Nov 2017 08:53:37 +0000 (08:53 +0000)]
Fix an LSM problem with read-only connections and compression (not
compression-factory) callbacks.
FossilOrigin-Name:
51ee5188b03c4b9508e94afaee4bf1f224aef28875efabda8ce09a5ab641d99e
drh [Fri, 3 Nov 2017 08:46:48 +0000 (08:46 +0000)]
The extensions functions in spellfix are all deterministic.
FossilOrigin-Name:
29ec855e13e0dcd675dcf12948b42f9e669d0a31c5d9efb95857888aba0beeee
mistachkin [Fri, 3 Nov 2017 06:45:37 +0000 (06:45 +0000)]
dan [Thu, 2 Nov 2017 18:57:46 +0000 (18:57 +0000)]
Fix test cases in wal2.test broken by the locking change in the previous
commit.
FossilOrigin-Name:
f569c3517234881f9425075aab65a32ffd0deb8e793f421a241d8cca881da33f
dan [Thu, 2 Nov 2017 11:12:03 +0000 (11:12 +0000)]
Avoid locking shm-lock WAL_READ_LOCK(0) during recovery. Doing this allows
recovery to proceed while a readonly_shm connection in unlocked mode has an
ongoing read transaction.
FossilOrigin-Name:
5190d84a296b7cf716ef43bf7b6d4d351ef1a4d650de37dc01a5ab333da7c05d
dan [Wed, 1 Nov 2017 20:59:28 +0000 (20:59 +0000)]
If a readonly_shm connection cannot map the *-shm file because no other
process is holding the DMS lock, have it read from the database file only,
ignoring any content in the wal file.
FossilOrigin-Name:
ce5d13c2de69b73378637d4f7e109714f7cd17bf1d1ad995e0be442d517ed1b3
drh [Wed, 1 Nov 2017 19:58:25 +0000 (19:58 +0000)]
Fix harmless compiler warnings in sqlite3_checker.exe
FossilOrigin-Name:
491f867b377b3b9e00bd713fb07df00207673f9eca0e7d5b7af7974082c8e3f0
drh [Wed, 1 Nov 2017 19:50:11 +0000 (19:50 +0000)]
Make sure the JSON1 extension is available to sqlite3_checker.exe
FossilOrigin-Name:
a946a8ed46ba76b9a09bcbac58000d3d92db1f08a98f6cc12365be696d8921de
drh [Wed, 1 Nov 2017 19:44:19 +0000 (19:44 +0000)]
Add the checkindex.c extension and the sqlite3_checker utility program used
for doing live validation of large databases.
FossilOrigin-Name:
0c5d18a01ec77f784d5434c5465ab8da9a0c365a58d4bd8551872ca90aaf42d6
drh [Wed, 1 Nov 2017 19:22:08 +0000 (19:22 +0000)]
Adjust page numbers in the ext/repair/test/checkfreelist01.test module due to
the fact that the pending-byte page is no longer shifted down to a low-numbered
page but is in its rightful place.
FossilOrigin-Name:
c1641affae31a4350727ce940c92499263880e672dc2c3f47e78e1c23ae99b78
drh [Wed, 1 Nov 2017 18:31:34 +0000 (18:31 +0000)]
Add the "sqlite3_imposter DB SCHEMA ROOT SQL" command to sqlite3_checker.
Use it to fix the checkindex01.test module. There are still errors reported
by the checkfreelist01.test module.
FossilOrigin-Name:
0593a2ba74c886afe8a65cea1310025bb9777c320d093278044719210c9f6ba2