drh
9025af1603
Add an assert() to prevent the value of the SQLITE_VTABRISK macros from being
...
changed in a way that would break logic.
FossilOrigin-Name: 33babdb582ca712cc089165a953972096b57d1cb683954fa830df5e7befaadba
2021-06-08 12:22:24 +00:00
dan
822810b95a
Avoid a buffer overread in fts3 that could occur when handling corrupt data structures.
...
FossilOrigin-Name: 45f459d2fa4be97d9bbb970efbc0b5d40efaf93f52ed111fd0fcdc572c24327b
2021-06-08 12:15:56 +00:00
dan
bc85a51595
Fix a buffer overread that could occur in fts5 when handling corrupt records.
...
FossilOrigin-Name: 078962a2164a784b135bacee51ef10973dc2e30de04353d48698d0e72edd63d8
2021-06-07 17:36:57 +00:00
dan
ec73546103
Fix a buffer overrun in fts3 that could occur when handling corrupt records and '^' queries.
...
FossilOrigin-Name: 9d0b6b0f42a47a3892ebc765250756fb8b844e8399d992a8b65f55af3800ea06
2021-06-07 15:28:33 +00:00
drh
09c69fc1b3
Add recent dbsqlfuzz test cases to test/fuzzdata8.db.
...
FossilOrigin-Name: 162022003c2b4a393296939e2616bd3c7bbfd65b198ba6c9894e4234de2d3122
2021-06-07 14:21:03 +00:00
drh
ccf0bb49bb
Avoid use of uninitialized memory while running defragmentPage() on a
...
corrupt database file.
dbsqlfuzz 4c45cecc0b255aaf2ea85453ccd17e814fd0b6b2
FossilOrigin-Name: 35e40d75754ec6fb93fe57c6ecbe731104e77c997d7e17ef1a22984837dfcab2
2021-06-07 13:50:36 +00:00
drh
fe972341a5
Fix an assert() in the OP_ParseSchema opcode that might fail on a corrupt
...
database file when running with PRAGMA writable_schema=ON.
dbsqlfuzz e7d743ca65f2767e415095f0c5a49166a0f55eea.
FossilOrigin-Name: 10801f65af495a999ef61741322ea82dc20bd92ea8e55e4016c409096f38b0d1
2021-06-07 11:50:23 +00:00
drh
9a4127a8c1
Remove unnecessary end-of-line whitespace from the regexp.c extension.
...
FossilOrigin-Name: 17e26a1f5e3cc4e96b9265dcdbf54f376304b0908f3ff0a0d3df33653e77e5b6
2021-06-07 00:54:38 +00:00
drh
9ae57841d0
Omit the unnecessary highlighting of the security implications of
...
SQLTIE_DIRECTONLY in the sqlite3_create_function() documentation.
No changes to code.
FossilOrigin-Name: 2aa9368b63b42ac7c700516f109edcc6098c12b850eae591afed4e51a3f41819
2021-06-07 00:41:18 +00:00
drh
06258a4260
A better fix for the problem addressed by [4eb80b0cc61526c1]. This fix
...
also avoids reading uninitialized variables.
FossilOrigin-Name: 1c71de43dbc68002c4a6229e7efffb019655baff67a51fe922571fe420c95835
2021-06-04 23:26:56 +00:00
larrybr
e427fe5210
Make MSVC build examples work when taken literally, and say when they do.
...
FossilOrigin-Name: b53ca8ed8336d9e442a920e1c05a17a38dadc2fd1e0cb73e68d380ef34c87af8
2021-06-04 21:46:29 +00:00
drh
946b65793c
Improvements to the OP_SeekScan optimization. Added the
...
SQLITE_TESTCTRL_TUNE test-control.
FossilOrigin-Name: 9a2ab6092d644fc3effc4ab4aca33efb2b4dd4213b2154d518a3e87eec4d3983
2021-06-04 17:47:08 +00:00
drh
50dce5e82f
Add the (missing) dependency of regexp.c to the shell.c rule in the makefiles.
...
This dependency should have been added by [5d4535bfb603d7c8] but was missed.
FossilOrigin-Name: c93be7e66039e4c27b86f49d29f5c653cc6c02f6cbc6ad02d8bb1d32d0240863
2021-06-04 16:17:38 +00:00
drh
abc15f1b9a
Fix harmless compiler warnings.
...
FossilOrigin-Name: 83aca2d8704e51eeed5652b1506c6fc883c0397728cda456f229369788b8608a
2021-06-04 16:11:19 +00:00
drh
9718bca77f
Fix more cases in the regexp extension where the 0x00 terminator at the end
...
of the input string is being pattern matched.
[forum/forumpost/9104f0d9e7|Forum post 9104f0d9e7].
FossilOrigin-Name: 569e00d4acd426667990d675ca5da48a1859ac84af2412464ecd29c7c5da828c
2021-06-04 15:56:43 +00:00
drh
2d26cfcc4a
Revamp SQLITE_TESTCTRL_TUNE to provide visibility of current turning
...
parameter values.
FossilOrigin-Name: 677e645e69e1f06487c26da6671fc03f0fb89a0f8e0d35712e6bdcf7279bdfc4
2021-06-04 13:40:26 +00:00
drh
f3c1256a4d
Add support for SQLITE_TESTCTRL_TUNE and the ".testctrl tune ID VALUE" command
...
in the CLI.
FossilOrigin-Name: f1199d58b9cfdcddb83bc35544ce38299ac4ed50d7ab90d33463f6ccce526feb
2021-06-04 13:16:46 +00:00
drh
2540a7482a
Merge recent trunk enchancements into the seekscan-improvements branch.
...
FossilOrigin-Name: d9e85fe80cdd3d798a583a5f99148235d0c3f39adfabbc661615893c387e6e45
2021-06-04 12:29:22 +00:00
dan
19e4eefbca
Fix a case where combining row-value UPDATE FROM syntax with window functions over aggregates can cause an error.
...
FossilOrigin-Name: 4a587c3492faa99490fd67ca1de9fceafcdc12d220f42817791923be258b73f1
2021-06-03 18:56:42 +00:00
drh
a6df0e693f
Fix the truncate optimization so that PRAGMA count_changes and changes()
...
return correct values even for a WITHOUT ROWID table.
[forum:/forumpost/07dedbf9a1|Forum post 07dedbf9a1].
FossilOrigin-Name: 820ae3b117c2d8c117c0c5a4e440a7d06886772516c7fc0a84606388f91be195
2021-06-03 18:51:51 +00:00
drh
6468990e7b
Add the regexp() and regexpi() extension functions to the CLI.
...
FossilOrigin-Name: 5d4535bfb603d7c8229ef60f99666459f2997e02e186bc1e52b7ec1320251d67
2021-06-03 13:51:31 +00:00
drh
de30a3d2e1
Fix a bug in the regexp extension in which the "." wildcard would match
...
the 0x00 terminator at the end of the comparison string.
FossilOrigin-Name: fa23108b299fc70e80540c449500e50ac6344a152f4f6b9c1b1f568bbda8f6e1
2021-06-03 13:44:19 +00:00
drh
75f7317722
Fix the case-insensitive version of the regexp() function so that it does not
...
use the prefix optimization incorrectly.
[forum:/forumpost/983b43ef8e|Forum post 983b43ef8e].
FossilOrigin-Name: 1a8e43cc1b7969c40140dd7fd481d5ffd9de80e214eb494567c286d93a2b06e5
2021-06-03 12:31:08 +00:00
drh
3074faabed
Add an optimization control bit to disable the OP_SeekScan optimization.
...
FossilOrigin-Name: f674c41e5cbbb08ffc3cc00ab449229b672054c872e209337f12e7eacb531fe5
2021-06-02 19:28:07 +00:00
drh
9966439879
Fix an ALWAYS which can be false.
...
FossilOrigin-Name: a87f8ecd6db11ea40a15314b875fc78289c19ab2dec6f738b4bf37f4aafa7bbd
2021-06-02 18:50:39 +00:00
drh
e847164f55
Tighten assert() restrictions on the OP_SeekScan opcode.
...
FossilOrigin-Name: dbc33d3ae30de5427a4351824a11026145f778fad95bd0b825bd0a4b63059677
2021-06-02 17:32:51 +00:00
drh
eda790d28b
Never use WHERE_IN_SEEKSCAN for the 2nd or subsequent IN operator.
...
FossilOrigin-Name: d0b98619082038ed451912bcdf56568835a8577989a25cacf25591f2366d4f52
2021-06-02 17:14:50 +00:00
drh
b034a24140
This is an attempt to address the OP_SeekScan performance issue identified by
...
[forum:/forumpost/b4fcb8a598|forum post b4fcb8a598].
FossilOrigin-Name: d58efb3f21a4150b8136197e43837c7b646c42d492a7c24ddc7591dba415a2c8
2021-06-02 12:44:26 +00:00
mistachkin
f9ac1ab1e7
Fix issue in 'mkopcodeh.tcl' tool that prevented its termination in rare circumstances.
...
FossilOrigin-Name: a8d921136f8ab132279984a77d0eeaf355342cdb0a98d7e1e59c8e6c8ed9459c
2021-06-01 21:07:49 +00:00
dan
b56a09079e
Fix a problem with running ALTER TABLE against schemas that contain compound SELECT statements with ORDER BY clauses containing one or more references to the second or subsequent component SELECT statements.
...
FossilOrigin-Name: 587a3044468a40707c714d013cb766d8a4d9eb13bb20871846a0e8c34bea8cf4
2021-06-01 15:37:14 +00:00
drh
d65b7e36ec
Do not confuse the ">" operator with IS NOT NULL when checking to see if
...
a partial index is usable.
[forum:/forumpost/d813704d7c|Forum post d813704d7c].
FossilOrigin-Name: 8cc23931d61b7d78521acce93fc2603649c5813c7a0869cb2c1bde2c8c4e51b4
2021-05-29 23:07:59 +00:00
drh
d36bcec9ad
Fix a subtle error in an assert().
...
dbsqlfuzz eefbd0215c0c1b4bcc32b8141b48b35f7b431300
FossilOrigin-Name: a5ec81eb49e55fc03591666f336c09e5469785c8680f253ec3cc5366ac2fa45a
2021-05-29 21:50:05 +00:00
drh
e9de65201c
Make a deep copy of the result of a subquery in case the subquery is
...
reused. Fix for the problem reported by
[forum:/forumpost/28216b36ac|forum post 28216b36ac] and introduced by
check-in [f30fb19ff763a7cb]. Further changes to try to optimize the new
OP_Copy opcode back into either OP_SCopy or OP_Move will be attempted
separately. A test case will be in TH3.
FossilOrigin-Name: c9f0b9cb0aef107265435e22c164dd3c974eadfd00abf7cfd4fc7ec95c0dd7d0
2021-05-28 12:48:31 +00:00
drh
d2f55773f1
Fix a potential memory leak in json_group_object() following an error.
...
dbsqlfuzz cd32630de3ff039d97089592b63cb3616f8ec9dd
FossilOrigin-Name: 21676731cedae27d1ab9fe62b269001ae6e3eeb3caa87b4f5536f777631a8bbc
2021-05-28 12:15:19 +00:00
drh
48a296c589
Add the merge-test.tcl script to ease verification of LTS branches.
...
FossilOrigin-Name: f958ffbc61c693b71538cc3aa5f95ce0f0b5d4906efbb0c075f543e19883a669
2021-05-27 16:31:04 +00:00
drh
342cb33b23
Improved comment on the prpagateConstants() routine. No changes to executable
...
code.
FossilOrigin-Name: d61a875df48d8baab3ada0174c8e0312a9268bbd11bf104b4385eff9e2744266
2021-05-27 14:09:01 +00:00
drh
48f4f27cfb
Remove a NEVER that is reachable following OOM in writable_schema=ON mode
...
with a corrupt schema.
FossilOrigin-Name: 4eb80b0cc61526c1ff7478b1b855b29fa4326daee61facd1d85e4297bb32ac9d
2021-05-27 10:23:16 +00:00
drh
7d11e647ad
Improvements to the constant-propagation optimization in order to better
...
deal with unusual affinities. See
[forum:/forumpost/6a06202608|forum post 6a06202608] for more detail.
FossilOrigin-Name: 9be208a6d70582c6808abe6e016ab9cd8d10f0deefb8c7a8c0543372cca15b12
2021-05-26 23:10:19 +00:00
drh
a8ed515400
Minor optimization to opcode comparison logic in the fixes to
...
the constant-propagation optimization on this branch.
FossilOrigin-Name: f17dec40a0ccc044bd32e035fc10797552329af242408a45f36125ed8d2ef088
2021-05-26 19:52:21 +00:00
dan
c3b48848b3
Add new test file whereM.test. Containing tests for the change on this branch.
...
FossilOrigin-Name: c4c76b824c41afb5b4d7b397c4d3142698aa303ea3a368c0cc7af4884e3a10bd
2021-05-26 19:37:27 +00:00
dan
40b82f9dc6
Avoid assuming that an expression like "x=10" in a WHERE clause implies that CASE(x AS TEXT)=='10'.
...
FossilOrigin-Name: 389ec669f416c74d651e25572f6e007c2a62ddd4027524f553107b06db5c55eb
2021-05-26 18:51:57 +00:00
drh
14c4d42874
Take care that the code is not generated for the same Select object more
...
than once, as transformations that apply during the first pass might
cause problems for the second pass.
dbsqlfuzz 836b625cd8a41809ef80fc7ebaa6554357bcb463.
FossilOrigin-Name: f30fb19ff763a7cbe768ea49954704e14d6400f69bb4257c9c890e1564e14835
2021-05-26 18:46:51 +00:00
dan
151446e793
Update an assert() in wherecode.c that might fail following an unrelated SQL error.
...
FossilOrigin-Name: 3e2c36a8272ab3c1777638c0ed8222e7ff04657fe1c40f74a63b99a5a90258cc
2021-05-26 14:32:33 +00:00
dan
137b8ebb2b
Do not run sessionbig.test as part of the session_strm permutation. It is too slow.
...
FossilOrigin-Name: 708ce7ad8acee702d08d1987aa253b0bfc3fd97255d6e4153122b03eba337570
2021-05-25 16:10:12 +00:00
dan
4df68e0ae5
Update an allocation routine in the sessions module to allow it to allocate the maximum size permitted by sqlite3_realloc64().
...
FossilOrigin-Name: 0b45e821911e4a852edd6d9e9cfe5f9de33337edf76fb12b79adaf11a4b83e8a
2021-05-25 15:21:54 +00:00
dan
78a9d7551c
Enhance the shell tool ".dump PATTERN" command so that it dumps the contents of shadow tables when a virtual table is identified by the PATTERN.
...
FossilOrigin-Name: b0bc5ab9ceec496ac260ccfd53b51a2b53a81576fbe04c97b99f6705b063c59f
2021-05-25 11:39:14 +00:00
dan
c00727ab58
Fix a problem in the in-memory journal code that could occasionally lead to a segfault when a sub-transaction that modified zero pages was committed.
...
FossilOrigin-Name: 17960165f5840cab45b7a8bb02779ebfb321c68f33ec6da9ab14063ccd134fa4
2021-05-24 14:35:19 +00:00
drh
0fcf6f01e7
Minor comment improvements in fuzzcheck.c.
...
FossilOrigin-Name: 7aca8d52c16c2192d9c1ff03a976c482a60365cef8d2474b540ff4c84e8737b4
2021-05-24 12:28:13 +00:00
drh
b6b06bb339
New dbsqlfuzz cases added to test/fuzzdata8.db.
...
FossilOrigin-Name: 5bb5c9ec049488f95e47bbd9f1db9038ffabad3cfafa613acdaa790ab4034eee
2021-05-24 12:13:10 +00:00
drh
bf7f3a005e
Fix the TreeView module so that it works with the TK_ERROR exprssion.
...
Also fix an assert() that was failing due to the recent TK_ERROR addition.
FossilOrigin-Name: dd56fbe0cfb0f7848190ce097b378321dd25ae509c7edf93682b091014824fc6
2021-05-24 11:35:16 +00:00