drh
f78d0f426c
Take collating sequence into account when removing redundant columns from
...
indexes on WITHOUT ROWID tables. This is the first proof-of-concept fix
for ticket [3182d3879020ef3]. More testing needed.
FossilOrigin-Name: b34fa5bff40d3d364bd8c80e7de55c606ef3caac47b14b5265ebcb38857eb85e
2019-04-28 19:27:02 +00:00
dan
73c0d272a9
Add the ".recover" command to the shell tool. For recovering as much data as possible from corrupt databases.
...
FossilOrigin-Name: 50fe48458942fa7a6bcc76316c6321f95b23dc34f2f8e0a483826483b2fb16f6
2019-04-27 20:30:19 +00:00
drh
6c59136498
Fix a minor typo in a comment. No changes to code.
...
FossilOrigin-Name: 95209072176ff21a91e96d5bd014b35ef100da2b0b93958baf6df4294a8daa85
2019-04-27 20:16:42 +00:00
dan
1b16216f9e
Fix building the shell with SQLITE_OMIT_VIRTUAL_TABLE. And without SQLITE_ENABLE_DBPAGE_VTAB.
...
FossilOrigin-Name: 425d708c3908fe74f69b62e6dd1722a0018088977e12f14b312dad1df0fbb804
2019-04-27 20:15:15 +00:00
dan
0aa01ee42c
Add comments and fix formatting issues in new code in shell.c.in.
...
FossilOrigin-Name: b91d819bd16de43fc99e379da0ba9c915b0c5afc68e804a50c3c1662c1f9a740
2019-04-27 19:36:49 +00:00
dan
42ebb01e9f
Add the "--lost-and-found" option to the ".recover" command. For setting the name of the orphaned rows table.
...
FossilOrigin-Name: 67bb88e24c74d02ae0c4ac6ff2f873f6b0035ccefe5cccfc71c5686cbc76b4c3
2019-04-27 18:47:03 +00:00
dan
f57bea31ba
Fix a problem in the .recover command with recovering WITHOUT ROWID tables where the PK columns are not the leftmost in the CREATE TABLE statement.
...
FossilOrigin-Name: 91df4b8e0386105d01614921e8410994b621404a3d46ec4af8687b8743c52d52
2019-04-27 15:35:45 +00:00
dan
98c5ad309f
Have .recover store all orphaned rows in a single table, with extra columns to indicate the orphaned page and sub-tree they were discovered within.
...
FossilOrigin-Name: 7221f6e33ed6a5a96ec61e25f2a1f70b84aae66e503d897eb7b7ff1aec42355d
2019-04-26 21:11:37 +00:00
dan
db5ba5c385
Omit tests of the LIKE optimization in like3.test when SQLITE_ENABLE_ICU is defined.
...
FossilOrigin-Name: af53c41a127c314c0608f3fd016d3a26896783745e46cd180976a188400cdb75
2019-04-26 17:08:50 +00:00
dan
ca42438261
Fix another problem with database freelist handling in the ".recover" command.
...
FossilOrigin-Name: bee2652ac26370e612a8c81dd7554befc2d523442a2fbbc77dc73479e6a0d7fd
2019-04-26 15:40:27 +00:00
dan
c0b42437ab
Fix a locking-page related problem with the ".recover" command.
...
FossilOrigin-Name: afdae10424f0f3d0f10a4b73e9732aa55c5ee664814d8ca0edd372cfb17c2445
2019-04-26 15:14:53 +00:00
dan
6aa001527c
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 1da302d85d7ad4ba54f877117a45d667439fd2ef31dc70ea1d54dc1fba196e68
2019-04-25 20:06:34 +00:00
dan
9c014f8b0c
Unless the "--freelist-corrupt" option is specified, do not have the .recover command attempt to recover data from pages that are on the database free-list.
...
FossilOrigin-Name: 8d2f52bb640d6d0f84b18d746043e56f45a73ace93239be1d036701f7f4018fd
2019-04-25 19:23:15 +00:00
dan
b9b71dbfd4
Fix a bug preventing .recover from working on databases where the final page of the db is corrupt.
...
FossilOrigin-Name: 959bbd11e92cc789973daf20dfcb8a6d8dc724dd603b286cbdd59e5d1fdb2909
2019-04-25 16:20:40 +00:00
dan
efa363b84c
Improve the performance of the .recover command.
...
FossilOrigin-Name: a50768314d10d743a0cc013b434b516f0763e0a6c5b79655d8fefde7de53e869
2019-04-24 20:48:55 +00:00
drh
dbdd93b7e1
New test cases in test/fuzzdata8.db.
...
FossilOrigin-Name: 7be6222c9ec44596e4eddd906c831eb1272b90fbdf68641d791f216264feb7cf
2019-04-24 17:04:02 +00:00
dan
bebea908b8
Fix another instance in fts3 where a corrupt record can cause a buffer overflow.
...
FossilOrigin-Name: e1724f1d618cfbcfd1e495d8965a395656cfc1114e1bffd4bc3be0bd5cdb6550
2019-04-24 16:13:52 +00:00
dan
a27cce76bf
Fix a problem in fts5 where a corrupt position list could lead to a buffer overwrite.
...
FossilOrigin-Name: 516ca8945150bdc1363603e234be5f3f4a3861f581d7cc9455da3e87b9974309
2019-04-24 15:57:25 +00:00
dan
04687f9e03
Fix an error in fts3_write.c allowing a corrupt database to cause a crash.
...
FossilOrigin-Name: 6e4a5f22811bcd1485e27073ec96821d448b91b6d1ff1659cc3772449d19a762
2019-04-24 15:13:02 +00:00
mistachkin
8e7e517b68
Correction to the #if in the previous check-in.
...
FossilOrigin-Name: 30dc05ac12910d318a737f8d7a0e895e5c42ff4c53472aeebc89f052eac05deb
2019-04-24 04:53:01 +00:00
mistachkin
49b0572302
Fix for 8-byte alignment asserts that can trigger in some circumstances with 32-bit MSVC.
...
FossilOrigin-Name: 4c02832e0c4351ced9d2391f09ee071c65a74b85a0509bf58f045afeb166f48c
2019-04-24 00:37:11 +00:00
drh
29e780068b
Make no atttempt to generate VDBE code for VACUUM after a syntax error.
...
FossilOrigin-Name: 930842470da27d72650033ef2c1df413e70f7c40eb46f91027b35f5ee156af38
2019-04-23 22:00:39 +00:00
dan
b182588c8e
Have ".recover" handle "\r" and "\n" in the same way as ".dump".
...
FossilOrigin-Name: f95f0f02ab6c6cf45f25b613c7ab57f68249689d0a9eddf4c9518ddf0edad365
2019-04-23 20:48:32 +00:00
dan
38f9c7194d
Fixes for the ".recover" shell command.
...
FossilOrigin-Name: 8dcc1d89d955bf58c80a8c30a37960f0cf95719953951a92626cc332cc75ec60
2019-04-23 18:03:02 +00:00
drh
3ea557e0e7
Changes to the --hexdb decoder option in the shell (and also in the TCL
...
test code) so that it works on systems where sscanf() does not recognize
"%hhx" as wanting to delivery results into a character-size variable.
FossilOrigin-Name: 4258e42d92b0113ba59f407197fc24f21734900e5b02952deed07818be3e3e5d
2019-04-23 15:30:58 +00:00
mistachkin
d5ddecb2f0
Minor simplification of NULL value handling for STAT4.
...
FossilOrigin-Name: 69bad9257f8db6a2a761bdd298d972eb48d4f845ec11dedc802ba3bafb979915
2019-04-23 15:08:11 +00:00
drh
d94d9e2289
New test cases in fuzzdata8.db.
...
FossilOrigin-Name: 0fe3c3fd30294d15cdfe29e9c49f3c8968e864ec8a114282561642f75586ab09
2019-04-23 12:31:41 +00:00
drh
f4b331535d
Improvement on the previous check-in. Parse.rc is less reliable than
...
Parse.nErr for detecting SQLITE_TOOBIG errors.
FossilOrigin-Name: 8d478cfb92fdeb87591403fe1713b290fee309a38b71abee0002012935d1db98
2019-04-23 12:30:15 +00:00
dan
b40af49d73
Enhance the ".recover" command. Fix a problem with overflow pages in dbdata.c.
...
FossilOrigin-Name: f193ca587f9e4f925f4f2343b0b07053bd6f93dd87fc6f8f41cf4479e90cf562
2019-04-22 20:52:12 +00:00
drh
2b13cd99d3
Early detection of SQLITE_TOOBIG when processing nested queries.
...
FossilOrigin-Name: 5d85d80ef8b216639244c6f4e6a2c0050af3cf9c3998f372bae4a19c0430f2fd
2019-04-22 20:05:54 +00:00
dan
a9a5465eb4
Fix an assert() that may be false for corrupt databases.
...
FossilOrigin-Name: b2ce5ed175cb5029ac07392ae371c86eeec23c74624aad007dee51cf359f3eeb
2019-04-22 11:47:40 +00:00
dan
68cb86ef23
Add the ".recovery" command to the shell tool. For recovering the maximum amount data from corrupt databases. Still needs work.
...
FossilOrigin-Name: 7461d2e120f2149315ddac2676d51d7445bcdb8e97543effd9c30603517ef9da
2019-04-20 20:57:28 +00:00
drh
1d2d71a02c
Mark a single branch as no longer reachable.
...
FossilOrigin-Name: 4f35b3b78a461b0617a5cd04f60d2ab277bcc7c994dae463851a3cb5d041a723
2019-04-19 23:05:56 +00:00
drh
6b23603eb9
Increase the version number to 3.29 for the next development cycle.
...
FossilOrigin-Name: 6cf16703fd4a835c249c947006ae4a4bf81873c8ca1803945453c9845f882dc1
2019-04-19 22:01:10 +00:00
drh
17180fca9d
Improved optimization of the AND and OR operators.
...
FossilOrigin-Name: 0fbd154eb419b57b9c064c1f47346835d6324388b966b73f8a0122de065f08b1
2019-04-19 17:26:19 +00:00
dan
65455fc682
Fix a problem with renaming a table that starts with "sqlite". Fix for ticket [f00d7b65].
...
FossilOrigin-Name: a2ead8aa4517b63cda7bf84464326e9cb5e228224caa603568c0e04ea44e6588
2019-04-19 16:34:22 +00:00
drh
ad31727fc6
Use macros to determine if an expression is always true or always false.
...
FossilOrigin-Name: 6de980a09c3a7adf71f2c9a63a242673b5e1f246e8ee071b26844275f0dad0fc
2019-04-19 16:21:51 +00:00
drh
d5c851c1cb
Streamline the processing of the AND operator. Slightly smaller and faster.
...
FossilOrigin-Name: 7713996aa99ce6dd35b5a2db74dd26658fb8d9817169b2a7531cdef6edb41403
2019-04-19 13:38:34 +00:00
dan
3b412ac247
Add the sqlite_dbptr virtual table to the dbdata extension. For querying the links between b-tree pages.
...
FossilOrigin-Name: 3213a15f2133afbb0a4fec3b8f6e0eeca8c0befafd6658c41074e84f589d5d32
2019-04-18 21:14:11 +00:00
mistachkin
7a3e50dc97
Minor simplification of NULL value handling for STAT4.
...
FossilOrigin-Name: 5718a9d5fc3fdfc89db869501c81fda39b3ec5c7e11fa0038fc258e316f5d8a1
2019-04-18 19:21:19 +00:00
dan
f1173b69b1
Add the experimental dbdata extension.
...
FossilOrigin-Name: a3ab58832935e1399ecc7e4d8daefa3a6afa6b301792ce7176bc5d7c173510fb
2019-04-17 21:17:22 +00:00
drh
680f0fe32a
Small performance and size optimization in sqlite3WalFindFrame().
...
FossilOrigin-Name: 03f2e78899fad99b0a0951b3a408268276954d4cd785389ed9a0192c9217f6fe
2019-04-17 21:12:05 +00:00
drh
e551b51472
Fix a typo in the CLI help output for the ".dump" command.
...
FossilOrigin-Name: 57638248de147efe8d663b3ae1389f590c7b2b7225ecfe295699d68c2893cd09
2019-04-17 13:58:07 +00:00
drh
25f933ad93
In the "pgidx" report from "showdb", also show the number of rows on each
...
database btree page.
FossilOrigin-Name: 2bda9dc41c07092ae37d0c6001c1271e0622bfff7151201fc2bb4c95422c087b
2019-04-17 13:23:28 +00:00
drh
8083ef029f
In the "pgidx" command of the showdb utility, try to identify orphaned pages
...
and show when pages have been zeroed out.
FossilOrigin-Name: eed701ef919c70d891727250be6a1b626aeb894c562d221e319ae6d74fc71d3d
2019-04-17 12:29:45 +00:00
drh
698c86f40d
Small performance improvement on the variable-length integer decoder:
...
sqlite3GetVarint().
FossilOrigin-Name: 5df2bf62fcd4dfdaa195062dddbd5ce5420bc239b2649ac8f547e0db34e7f0bb
2019-04-17 12:07:08 +00:00
drh
7e427337fe
Faster and smaller implementation of sqlite3StrICmp().
...
FossilOrigin-Name: 7ac500fb5abfe1ad60f2ffdcc8fbe5ccc1c641bbeed53f00940e9ff78788e53d
2019-04-17 11:34:44 +00:00
drh
d331c7ab1f
Version 3.28.0
...
FossilOrigin-Name: 884b4b7e502b4e991677b53971277adfaf0a04a284f8e483e2553d0f83156b50
2019-04-16 19:49:53 +00:00
dan
2eb2ca8391
Avoid a sanitizer error (pointer arithmatic overflow) in vdbesort.c.
...
FossilOrigin-Name: af61a2fc45a0fa1277d7453779238b77de4c298a9f60714b7dc62ddca5874f80
2019-04-16 11:21:13 +00:00
dan
112e174020
Avoid a sanitizer error in test1.c. Have releasetest.tcl/wapptest.tcl create a file called "makecommand.sh" that can be used to rerun a test from the command line.
...
FossilOrigin-Name: 4de4480ffdea1e923c4b964692ccde92d713c8b6c056bb04bddf1ff55ee891ec
2019-04-16 10:51:29 +00:00
dan
af4d50c4a1
Fix a bug in test module test_fs.c causing a segfault on OpenBSD.
...
FossilOrigin-Name: ee886600297c2a03d9d1d10db88d3d107b48e5d4de5e5d91b0ab16cc7c447ede
2019-04-15 19:17:50 +00:00
dan
46b341530e
Fix a problem with the user-auth extension and deserializing in-memory databases.
...
FossilOrigin-Name: 09fa0b3c4adf7f81a777975762029ad43dbdc76b02dc32d2307e1c42465213c9
2019-04-15 15:41:33 +00:00
dan
189aa7dc96
Fix a test script problem in fts5corrupt3.test.
...
FossilOrigin-Name: 734192d876e0489cb34e454aaa4a9c6858145791a49959b31dee2917a8e41a7d
2019-04-15 13:59:08 +00:00
drh
660107f35e
Update tool/symbols.sh to ignore symbols from sessions and rebaser and to not
...
try to compile with ICU which is not available on all platforms.
FossilOrigin-Name: 0bab4ece6e81916d0f7255a8e553b8ca040cb8a96ab21e294212e232119f8ddc
2019-04-15 13:51:27 +00:00
drh
07891f0294
Remove a stray tab from the source code.
...
FossilOrigin-Name: 0ada58e9303d53aba8bdc37abe5904aa40e91f80e247eb51cb1192387b0d661c
2019-04-14 00:40:29 +00:00
drh
d4de9f7b1e
Fix an obsolete comment and other minor issues from code inspection.
...
FossilOrigin-Name: cd084427319394386844d6651479256a2fd57a412fccb79ba53172ce76693eb1
2019-04-14 00:34:20 +00:00
drh
766b431ab9
Fix a harmless compiler warning in test logic.
...
FossilOrigin-Name: c3932e66040bf4c82727a26a976291fab219e8bc8a6d7579e19304538cc6df18
2019-04-13 16:50:21 +00:00
drh
328c84f1e9
Fix the fts3varint.test script so that it works even on versions of TCL
...
for which Tcl_GetWideIntFromObj() does not work.
FossilOrigin-Name: 53f787ad298756027f630bfefade98b46f01539eb152f7e359b280335c77379e
2019-04-13 16:43:58 +00:00
dan
de21ad704a
Fix a test script problem in fts5corrupt3.test.
...
FossilOrigin-Name: 858f62274eb727109d0452ad2d80c0e0acab0f569494b1218c404501e103ed39
2019-04-13 16:35:02 +00:00
dan
e2081dd859
Partially revert the test file changes in [4371a0c46e]. It is no longer required following [93ae382e97c23c90].
...
FossilOrigin-Name: 593a7e6e20a2f91fe3497edd7effad50ac876f7f03c9222e332dfeb43d26882e
2019-04-13 15:07:00 +00:00
drh
73f940c89e
Fix additional compiler warnings introduced by the previous check-in and found
...
by MSVC.
FossilOrigin-Name: 6fc0deffa4eed902fd13eefe6d2765f338f3dadc5b29f7cae5064e135417746b
2019-04-13 14:17:09 +00:00
drh
f6ad201ac2
Fixes for harmless compiler warnings.
...
FossilOrigin-Name: c28c973ad6debd63f13e5d4d3da036f680baaec9d863eda039f2747db9f1cfd5
2019-04-13 14:07:57 +00:00
drh
3b574e4ea9
Use the 64-bit memory allocator interfaces in extensions, whenever possible.
...
FossilOrigin-Name: 07ee06fd390bfebebc014b47583d489747b0423bb96c810bed5c605ce0e3be71
2019-04-13 04:38:32 +00:00
drh
0aa3231ff0
Enforce the SQLITE_LIMIT_COLUMN limit on virtual tables.
...
FossilOrigin-Name: 0b6ae032c28e7fe34d81d1769f6e2901addbd1b95cd9a255dcef274061fb0164
2019-04-13 04:01:12 +00:00
drh
158931ab64
Test case changes so that they work with both Tcl8.6 and Tcl8.7.
...
FossilOrigin-Name: 7b771405a9adc3ec191156be4ebe7122f4c698d88d69ae2134c75acb8d8feebb
2019-04-12 16:25:42 +00:00
dan
37eca05112
Tweaks to wapptest.tcl: Ensure that the "Debug" checkbox is disabled unless the app is in "config" state, and have Debug variants run "test" instead of "fulltest".
...
FossilOrigin-Name: dd248c186a157b5ed60bbdae669b31237b8354c1a7e6ed64d377904043bd57ee
2019-04-12 13:40:54 +00:00
dan
150dfbd2c8
Fix minor problems in tcl test scripts.
...
FossilOrigin-Name: 56b664185e3e56ad22e0c16a5b946fc8204d4d33221b6b4269d6d650dfd9969c
2019-04-12 12:10:03 +00:00
dan
9b475e65a1
Add the test/wapptest.tcl script, an alternative to releasetest.tcl that uses wapp to provide the user-interface.
...
FossilOrigin-Name: edd87cd606ce264f181c16bbe889adeb8b27e90914f914c0f5d7b68c2dc2d7bd
2019-04-11 19:07:17 +00:00
dan
8ea00d744e
Merge trunk changes into this branch.
...
FossilOrigin-Name: d805fc0cf1c4ef07a7bc947f75828931e3788d0e64730caab3b42ae58009a194
2019-04-11 19:04:01 +00:00
dan
e639128cb0
Further tweaks to wapptest.tcl. Add the ability to run the extra (n)debug tests that releasetest.tcl runs.
...
FossilOrigin-Name: ec9c4f6d8da25dcc834812c2bb24bda1017833b1c572bdbbf87f0191e1310706
2019-04-11 19:03:15 +00:00
drh
323096175e
Remove the vfslog.c extension from the testfixture target in main.mk, as
...
that extension has no TCL bindings and is inaccessible.
FossilOrigin-Name: d71f8bbc4efd8af935671c4e7626862d6e5a4c2e51527b9e82b2f0c94ddf6e93
2019-04-11 17:06:54 +00:00
dan
971194aca3
Fix RBU so that it does not write rows that should be excluded into partial indexes (corrupting the database).
...
FossilOrigin-Name: 31eb27f438ad727b095a518bfe0f7ed37cb806fc1e6929b821eddcc6cc9de260
2019-04-11 16:54:20 +00:00
dan
579d41dc8d
Fix the checksymbols target in Makefile.in.
...
FossilOrigin-Name: 1956eb348170a9a873878b522f377fa7303cdb3beca41f5515b6b9da1b1f544d
2019-04-11 06:50:52 +00:00
dan
93673620ec
Have wapptest.tcl display the name, OS and architecture of the host.
...
FossilOrigin-Name: c47e53b4d0f29628bd20ba3daf7e759c4bfed07710d982c095445c01376d57f5
2019-04-10 19:45:19 +00:00
dan
523fb53f72
Various fixes for the wapptest.tcl script.
...
FossilOrigin-Name: cbf423656047f0cb5200be6981a205e0ae206eef8263aa686f4a3621fb07fb57
2019-04-10 18:56:30 +00:00
drh
6adba9031c
Update the list of OMIT options in the omittest.tcl script.
...
FossilOrigin-Name: f294cfc173c5653ef161dbff63b7838dbccdcad797f5163c49b3173f9f35ab0f
2019-04-10 18:29:40 +00:00
drh
0364f229cc
Further refinement of the sqlite3VdbeMEmExpandBlob() fix of check-in
...
[df58774e994bd] to prevent a reference to an unused variable - problem
discovered by Valgrind.
FossilOrigin-Name: 09435b5700a2650816ad9ffa628be5fa19da62369c30329801feb5e840463c7e
2019-04-10 13:24:35 +00:00
drh
0e1a574875
Change the name of some internal testing interfaces to avoid a name
...
conflict in AIX.
FossilOrigin-Name: c1cae7e7f0a612508c8f82b334d9ebc423f443e99b13092d52e26b348c7cbc5e
2019-04-10 12:02:55 +00:00
drh
86ec1eddde
Do not place arbitrary restrictions on the length of the failure message
...
for a uniqueness constraint.
FossilOrigin-Name: 037da798fa5510ba7c776831ebcd683a85dca28e25bc657ff17bb2b08c3d406e
2019-04-10 00:58:07 +00:00
drh
9e26ac852a
New test case for SQLITE_TOOBIG errors.
...
FossilOrigin-Name: 4c77fbbe5d54248821161d708d0631fab65659bef31f95a61af681d4639f5918
2019-04-09 21:37:27 +00:00
drh
c3dcdba387
Improved reporting of SQLITE_TOOBIG errors while parsing.
...
FossilOrigin-Name: ea2d4b65e20e44e19219c821bf68e97ff3af1760b3b4762250d020ba2a5a6343
2019-04-09 21:32:46 +00:00
dan
c7f3373ec7
Fix a problem caused by a small SQLITE_LIMIT_LENGTH value and a CREATE TABLE with a very large name.
...
FossilOrigin-Name: 9b5d408864920b302f2d21abcae1d90f1e0cd68b18262136554ba0e6219d6025
2019-04-09 20:50:44 +00:00
dan
a3020dcb21
Add test/wapptest.tcl, a wapp alternative to releasetest.tcl.
...
FossilOrigin-Name: a4af0c2fee05aaa2e95ae6a5c847ff2d363e24f325f4ffdcf51bc264b9bf5e2d
2019-04-09 19:53:32 +00:00
drh
25050f2620
Use an unsigned integer to count free pages in btree.c:freePage2().
...
FossilOrigin-Name: 8820408597341344b308277ce6ef41b47c7514d6c613520789b05ee52cbedae8
2019-04-09 01:26:31 +00:00
drh
427db2d245
Make the testcase() macro added in the previous check-in reachable for
...
testing.
FossilOrigin-Name: 80704a16f6dbbeacc65fa36a3623df10292a28aeacf9e2c1d2891258479e3b89
2019-04-07 18:21:12 +00:00
drh
7d683394f1
Fix a faulty assert() in the sqlite3VdbeMemExpandBlob() routine.
...
FossilOrigin-Name: df58774e994bd306b1a2e1f259e7e4408f01c5b1dc104673698168bbf8a63ce5
2019-04-07 18:04:57 +00:00
dan
ce3c3eeda0
Fix two assert() statements in fts5 that are only true if the database is not corrupt.
...
FossilOrigin-Name: edb095a9a679c8c702abd0a487e55ed4b09110b54bcd7d5275020576f2713a39
2019-04-06 15:38:46 +00:00
drh
7bbdc3c597
Remove some stale references to the addopcodes.tcl script from documentation.
...
FossilOrigin-Name: c0381b0bc90aa3c2415c4b3ac338cfe6d308bb5d4247bc6f2b6e919f549c254c
2019-04-05 21:17:11 +00:00
drh
f1722baaf8
Eliminate the tool/addopcodes.tcl script. The purpose of that script was to
...
keep the number of parser codes below 256 in order to save parser table space.
But we have long since blown through that ceiling so the addopcodes.tcl script
was just needless complexity. There is no longer any reason to keep it around.
FossilOrigin-Name: d272819298083ebbde57962a2938925b1aaa1caf03e48bb3ea26ad91e0461d84
2019-04-05 20:56:46 +00:00
dan
6cf3009f6c
Add further tests so that veryquick.test covers all vdbe branches.
...
FossilOrigin-Name: cbc67de5a3937fa65811ed7c13e870699c895660dc2132cf9d3cf5d83364e344
2019-04-05 20:47:15 +00:00
drh
ce059e5219
Improved comment on the sqlite3FaultSim() function. No changes to code.
...
FossilOrigin-Name: 08b29672c552e5a6a3874746c6cc7025295e0e44dec43a1bfba3022acce849ff
2019-04-05 17:22:50 +00:00
dan
94c7ab5038
In the test_vfs.c VFS, if a Tcl xWrite script returns "SQLITE_OMIT", silently omit the write() call.
...
FossilOrigin-Name: 8b5a621e2ee3bb9d7d4f905217872e7e59153be9477aaa626cea287d56710b5b
2019-04-05 16:52:45 +00:00
drh
e3bd232e2d
Add the ability to override the new corruption detection logic
...
of the previous checkin, in order to exercise downstream corruption
detection during testing.
FossilOrigin-Name: e859d3184606dd453b9fc4ee388922d7be4b61aad84a66ac82107935ffd56f3a
2019-04-05 16:38:12 +00:00
drh
86223e8d65
In the xfer-optimization, do early detection of when the source and destination
...
index share the same btree, to avoid a long delay prior to reporting the
database corruption.
FossilOrigin-Name: af1e5873d44d31466023ae145bdfc6b4191eb48b62e5752c6e683bcf571980e7
2019-04-05 15:44:55 +00:00
dan
d1f9932e4b
Add further test cases to improve VDBE branch coverage.
...
FossilOrigin-Name: 51a95e52fc58d8be2c9c51576dff7258c705735b66d203948f80db017b4c10d2
2019-04-04 20:55:37 +00:00
drh
4c81cada05
Fix a typo in the documentation for sqlite3_value_frombind(). Also add a new
...
hyperlink to that same documentation. No code changes.
FossilOrigin-Name: bf3cd9364fdfc951feb04f78728eb8e0dae12b3dc5702a36bb6e69c0abab8864
2019-04-04 19:21:45 +00:00
drh
eacc8816dc
Minor fixes to requirements marks.
...
FossilOrigin-Name: 02ebc60b9bbc1736f4989eb56f8d31ca97fe90c930841d10986c618381ceb8b4
2019-04-04 18:20:25 +00:00
dan
b84b38fd89
Add test cases to improve coverage of VDBE branches. Still some to go.
...
FossilOrigin-Name: 4cef609d61de272cfdc2b39e1d49c7cd56ec834086bd63095116ff98f4d402bd
2019-04-04 17:58:34 +00:00
drh
80ac9cb3c0
Correctly initialize the loadable extension thunk.
...
FossilOrigin-Name: 4fca46ded7873d4939d7c6bff363ded41667f2255a4ab624a1a24bebbae733eb
2019-04-04 17:39:54 +00:00
drh
677525756b
Simplification of the recent VACUUM changes that make the code more like
...
what it was before the change. Also, make the VACUUM command a no-inline
procedure to work around a performance regression.
FossilOrigin-Name: 9cac5ac145d62117c918539baaa8a3c124230e031842e35fa1ba59f658c99518
2019-04-04 15:25:52 +00:00
drh
eb80863cbf
Fix an incorrect comment on a test case for rowid renumbering in VACUUM.
...
FossilOrigin-Name: 0d293fb43f2eb64026ac1e0422f54d4839b101898cc9913fc7746760c08ed41f
2019-04-04 14:36:02 +00:00
drh
4e61e88348
Only preserve rowid values for VACUUM INTO. Keep the legacy behavior of
...
renumbering rowids for ordinary VACUUM.
FossilOrigin-Name: 13a0ea6466b051ea5281865ed5285b8b5a99ec4307f400c5f7b03692723f1cd1
2019-04-04 14:00:23 +00:00
drh
b92d7d264e
Add a defense-in-depth NEVER() test to the WAL cleanup code.
...
FossilOrigin-Name: 8d3af2010f4f652865f5c0d18e3bc793de05f8e75e75cc77786f61004b2ad28f
2019-04-03 17:48:10 +00:00
dan
3f49c321e8
Fix a couple of problems with "RANGE BETWEEN <expr> PRECEDING AND <expr> PRECEDING" frames.
...
FossilOrigin-Name: 39225cc77579896214dceb93b7f224b4b3bc95b3505a2e19b41b0b18b184fbc4
2019-04-03 16:27:44 +00:00
drh
0f134f0267
Small optimizations to the grammar for window functions save about 120 bytes
...
of space in the parser tables.
FossilOrigin-Name: bce01d9584e52b23d7c07c2e832d5fa5d6e6235711c856b903a296725f61ed6e
2019-04-02 18:12:20 +00:00
drh
94809086e5
Use a separate bit on db->dbOptFlags to disable the xInverse optimization on
...
window functions, rather than reusing the query-flattener disable bit.
FossilOrigin-Name: bc0fb1c324be2fd668bc4398c7d364b7e3c5a98537fe5fb58a125b66f3e6d041
2019-04-02 17:45:56 +00:00
drh
3de52e8fa0
Including the phrase EXCLUDE NO OTHERS in the frame-spec of a window function
...
(which is the default setting for EXCLUDE) silently disables the xInverse
optimization. This is a feature, but we will keep it undocumented for now
in case we later decide it is a bad idea.
FossilOrigin-Name: 10aedce3dd2c0c9f0ee9e0aefd0b4d2c2eb17c4ca72003c4db9768ea5cdafcf4
2019-04-02 17:45:01 +00:00
drh
3fda0aaf00
Put the list of keywords in mkkeywordhash.c into alphabetical order.
...
FossilOrigin-Name: ac98b23b34632fbc654a34a8b3d842ce65603e4c04d89c589b46f4d48a61152d
2019-04-02 13:10:50 +00:00
drh
860d2b08c6
Make sure the MEM_FromBind bit inthe Mem.flags field is not included in
...
the MEM_TypeMask. This critical changes was omitted from the previous two
check-ins by mistake, and so those check-ins are not fully functional.
FossilOrigin-Name: f7ba2daf91c96ba16958188d6084a0ff129310d348932de493d326f1d24679cd
2019-04-02 00:56:20 +00:00
drh
e8975ac9e1
Add new APIs to the extension loading mechanism.
...
FossilOrigin-Name: 6f122faf8a34b986e58ba4622cff918c6d133d6f91d4b723b50bd086d5bed8e1
2019-04-02 00:48:29 +00:00
drh
29ddbbbf36
Add the sqlite3_value_frombind() interface. Use that interface to
...
improve fts3_tokenizer().
FossilOrigin-Name: b3f2c3205a28dc21ea7080e5e1ba246ce9c9b90c1309262ca11d8e40943ed677
2019-04-02 00:28:54 +00:00
drh
e0f20b46fb
Performance improvement on the OP_Variable opcode.
...
FossilOrigin-Name: 1dc7993bb6957587a6c63142e97b8e4137c3d81bbfd724f86048e0894bcb429b
2019-04-01 20:57:11 +00:00
drh
d6db6598ca
Improvements to the sqlite3ExprImpliesNonNullRow() theorem prover.
...
FossilOrigin-Name: 3fde627616030ca0de87169467e2e453fdc91154942e3a3a92a221df5923b2d2
2019-04-01 19:42:42 +00:00
dan
afb3f3c72c
Add a test case to cover a missed VDBE branch generated by window.c.
...
FossilOrigin-Name: b36813d6467c82159bd3bb69d34ac28fc161a13052ca67d7cf9ad75e2aaea9d5
2019-04-01 18:43:09 +00:00
dan
1d07f1d8c7
If the library is built with SQLITE_VDBE_COVERAGE defined, have the Tcl tests generate a vdbe coverage report in file testdir/vdbe_coverage.txt.
...
FossilOrigin-Name: f0ed714637bf30443d0551d9b6fececa00fc9dfe9669fe720c4598ef71c61e2c
2019-04-01 17:24:20 +00:00
drh
495ed62e85
Frame range comparisons can never be NULL because the values will have
...
been checked for NULL prior to the test.
FossilOrigin-Name: fa37cf9a6aa3e4325674cb6af68f617d25e349c3f694d0117a19a36fc42daf15
2019-04-01 16:23:21 +00:00
drh
83c5bb997a
Mark rowid-comparison opcodes as never-null for VDBE coverage tracking
...
purposes.
FossilOrigin-Name: a69bb4f257500e40ef4056d5628ef25266def5bcef07eebdb471a79fffe80237
2019-04-01 15:55:38 +00:00
drh
21826f44bf
Improved VDBE branch coverage in the run-time frame-spec error detection
...
logic of window functions.
FossilOrigin-Name: f56d305a7bad6608d51d8c8cef417ddb66cff50f0a75d28554ea669e47f3d90d
2019-04-01 14:30:30 +00:00
drh
c906533650
Improved comments on the VDBE branch coverage testing logic. Fix the
...
VDBE branch coverage measurement on the OP_MustBeInt opcode.
FossilOrigin-Name: 8681750e855a020ee374cb9f973f701a72068e33f97d0101a4fab3a228e5ebda
2019-04-01 14:01:21 +00:00
drh
6cbbcd8ad6
Fix a defect in the VDBE branch coverage testing logic.
...
FossilOrigin-Name: 1fcf3307d37f0e8e0c8c54491c609b73c7add6eaa38409a41c7cd6614a877a19
2019-04-01 13:06:19 +00:00
mistachkin
4e2d3d40dc
Fix harmless compiler warnings seen with MSVC.
...
FossilOrigin-Name: 6cf8b18ec20f11c25ff7396f29c742404d3a88d5e97a5fd53ccfaff51dec3f33
2019-04-01 03:07:21 +00:00
drh
8fe25c64f1
Early detection of too many columns in an index avoid a possible 16-bit
...
signed integer overflow.
FossilOrigin-Name: 8af0caeb6d1e55f66ad2f12af94845dccfe1d0420faf326f5917fc07f8aa6050
2019-03-31 21:09:33 +00:00
drh
ce5752cd1f
Add some missing VdbeCoverage() macros.
...
FossilOrigin-Name: d03b611302f68483770d49b113b4ed685ba03526d2007647c306f8ec7ae697d2
2019-03-31 18:17:00 +00:00
drh
3fc6042992
Improvements to VdbeCoverage macros.
...
FossilOrigin-Name: 10ee9e337e5f8a846dc827f6deb07930a790ac9d290b62f73de59454e465d5a1
2019-03-30 20:43:40 +00:00
drh
6f88359df6
Fix issues with the previous check-in and add more VDBE branch coverage
...
testing macros.
FossilOrigin-Name: b5f72f10f2dfdbee9fe98c63ffb933e841203790746a920b99df14ca5c14127c
2019-03-30 20:37:04 +00:00
drh
bf00f6d7ec
Enhanced VdbeCoverage() macros in the new windows function code.
...
FossilOrigin-Name: f24066f8dd847dfb656f26c4a8142e7fb6a412ffe325aea6254cb122cfbb3e1c
2019-03-30 20:10:11 +00:00
drh
b336d1ab83
Add a call to sqlite3FaultSim(410) inside of btreeRestoreCursorPosition()
...
to simplify testing of error scenarios.
FossilOrigin-Name: bb643bac535ac7d5fb4c13edb8782cd13540bbc7d2b2deb689f4ca8d1914f422
2019-03-30 19:17:35 +00:00
drh
119e1ffc5e
The defragmentPage() routine detects corruption in the first-free-slot fields
...
at offset 1 in the header and throws an error, rather than asserting.
FossilOrigin-Name: fb125bd338ab32b33d02fe61b76497b6d4a2a160056d6e759e15c94903e61a41
2019-03-30 18:39:13 +00:00
drh
2c794b15a0
Add the blobio.c extension module implementing readblob() and writeblob().
...
Experimental.
FossilOrigin-Name: e3fde56da46e9592143b8beeee5eba4d74b8ef67edb7bf73a85edd2e0f7a8d21
2019-03-30 17:30:50 +00:00
dan
0708054570
Add an extra IO-error test to windowfault.test.
...
FossilOrigin-Name: 5b8c44cd39c529e8adbc51f67088409e963515b988868856120a59e6c7160210
2019-03-30 17:07:23 +00:00
drh
7678fdc33d
Change the fts3_tokenizer() function to always return the pointer as a BLOB
...
as long as the first argument is a bound parameter, regardless of the
SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER setting.
FossilOrigin-Name: 27160df7b3a04ac59d06013ede1d2ee27a4ace86a525ecc333bf7f8b5c580afb
2019-03-29 17:26:44 +00:00
drh
038ebf6875
Remove the unused P5 flag from the OP_Rewind opcode.
...
FossilOrigin-Name: c2edbf3b8c643edcd5823eb907fd7531cf5be8a8b6a014fa1b123eb0ea3231cf
2019-03-29 15:21:22 +00:00
dan
3580843595
Fix a fairly obscure problem causing the planner to sometimes choose sub-optimal plans for a query with a single virtual table in the FROM clause, and at least one IN(...) constraint in the WHERE clause.
...
FossilOrigin-Name: f5752517f590b37bfc0267650f5800320e22a8ecaba34aa6893281ce8d268026
2019-03-29 13:17:50 +00:00
drh
a920b209ff
Fix typos in the comments of the sessions extension, one of which affects
...
the generated documentation. No code changes.
FossilOrigin-Name: 040d5d515bcb37bea05e0d156dbaf066c68052ac574f1b0b2cb118d473a353e0
2019-03-29 11:48:10 +00:00
drh
5155b75be2
The two-argument version of fts3_tokenizer() works regardless of the
...
value of SQLITE_DBCONFIG_ENABLE_FT3_TOKENIZER as long as the second
argument is a bind parameter.
FossilOrigin-Name: ab76e3a90e56bd36a17ded9c7a77e88632ca12d3bd73f197df747a634c81e0cf
2019-03-29 11:39:41 +00:00
drh
57b1a3e303
Initial implementation of the sqlite3_value_frombind() interface.
...
FossilOrigin-Name: 98da62dfdacc6b3c490c387d1f8a74cc5daa978776967e264ad4800c380b0ddf
2019-03-29 11:13:37 +00:00
drh
d137f4e6e5
Recover a some of the performance lost by window function alias fix two
...
check-ins back.
FossilOrigin-Name: 965cbcea117835d2c6d2ec58c8025b227f491c35805e282cb31228436bc6bec1
2019-03-29 01:15:11 +00:00
drh
f72a97925d
Add new test cases to test/fuzzdata8.db
...
FossilOrigin-Name: f908cd40b275a5753d5167ebb25871300381687adcb3a7fcb1f14b57a20ee3d0
2019-03-28 20:50:41 +00:00
dan
4ded26a53c
Prevent aliases of window functions expressions from being used as arguments to aggregate or other window functions.
...
FossilOrigin-Name: 1e16d3e8fc60d39ca3899759ff15d355fdd7d3e23b325d8d2b0f954e11ce8dce
2019-03-28 16:15:05 +00:00
drh
6f1644c0f9
Show the pointer address for Window objects in the TreeView display.
...
FossilOrigin-Name: 1ae70ad2ffd36c27b154940126c5e3ed00c05c0d8761d9320a65a03b1b4e4dc6
2019-03-28 13:53:12 +00:00
drh
0dc0e9c2af
More improvements to TreeView output for Window objects:
...
(1) Show when the frame-spec is implied rather than explicit.
(2) Move the FILTER clause out from within the OVER clause, making it
a sibling of the OVER clause, to match syntax.
FossilOrigin-Name: d6a07433421ac9a475ff0014587f0beefdf88ce89aef9443f8a20cd26083731f
2019-03-28 13:35:28 +00:00
drh
fc15f4c528
Improved TreeView display of Window objects.
...
Change the Window.eType field to Window.eFrmType to avoid confusion with
other "eType" values.
FossilOrigin-Name: ec2f207dedb223077bbd3e4584499250eb12219712c917e930acccfa2c46e23b
2019-03-28 13:03:41 +00:00
drh
a2b6806b3e
If the string formatter in sqlite3NestedParse() fails due to an over-length
...
string, make sure this error is recorded by the parser so that it knows to
fail.
FossilOrigin-Name: 85e53ff13300132250221de769a2aa7d92d81bb48d60f6e99000bc69a5b1e6fb
2019-03-28 04:03:17 +00:00
drh
40f827a65e
Improvements to the README.md file. No code changes.
...
FossilOrigin-Name: bbdbaf84a52937ccf877072a8b01b07f7b9c037c59ba54df72ca888d5404cbad
2019-03-28 01:00:37 +00:00
mistachkin
61ad5513e0
Support building the Tcl bindings DLL using MSVC.
...
FossilOrigin-Name: b2011c13173114505705d2ff2ba6f476697d51aca0bddd585a9e5a639dca41e2
2019-03-27 14:59:56 +00:00
mistachkin
ba9ee09598
Fix harmless compiler warnings seen with MSVC.
...
FossilOrigin-Name: 5be64ea8e33f632f9c337feac9b0663d8e6e59fc9a71e5d832d9fd905c06458e
2019-03-27 14:58:18 +00:00
dan
725b1cfc53
Fix a problem with window frames that use "BETWEEN <start> AND 0 PRECEDING".
...
FossilOrigin-Name: 7927b6b023502e990d23f30251b5b0918b547726b863bfb6747dcd7f1f71d19a
2019-03-26 16:47:17 +00:00
drh
d4a591dd6b
Fix harmless compiler warnings.
...
FossilOrigin-Name: a063f7c426d1ac066bf05cc03288f49b1c92e06a8cb2bc271cce9bd3022a74ea
2019-03-26 16:21:11 +00:00
dan
b60c3b01cc
Add support for new window functions related features - GROUPS frames, RANGE frames with logical start and end points, the EXCLUDE clause and window chaining.
...
FossilOrigin-Name: c6da39115d3e2b0fd3a03c4bcae8ee8b05a6bbd6b11f8c54712fbff6387f610d
2019-03-26 13:08:34 +00:00
drh
1cb0263bcd
Fix an obsolete comment in the CLI. No code changes.
...
FossilOrigin-Name: fade103cbac1b067f9544935b767f36dc266aceb3269cc84a3ae3b04ad9a4823
2019-03-25 22:05:22 +00:00