dan
a22c1c84cc
Add the -trigram option to the fts5txt2db.tcl script.
...
FossilOrigin-Name: a394dd260252e7b7dcbc90fd321dfd40d9375f0598ea52b01001c568cbdbafce
2020-10-01 17:15:12 +00:00
dan
ccf578d435
Add tests for the trigram tokenizer. Fix minor issues.
...
FossilOrigin-Name: 897ced99b44085012aa44d3264940dcbd4c77b295a894a1b58fb2c03a0f7fee8
2020-10-01 16:10:22 +00:00
drh
deaa61072d
Fix the OP_SeekScan opcode so that its variable names do not cause problems
...
for the test/vdbe-compress.tcl script.
FossilOrigin-Name: 7a78274a072324b94d6f79e5b7a198b2fa9321ff5d6a528b51f57d3ee95c765b
2020-10-01 15:46:21 +00:00
drh
644f43c0f7
Remove a debugging printf() accidentally left in the previous check-in.
...
FossilOrigin-Name: e9d1efa597fb073dc4bc4286e03059a350ed05d3e6476cd3247e6cde626f458b
2020-10-01 14:38:39 +00:00
drh
67306cb3b4
The IN-early-out optimization does not work for virtual tables. Do
...
not try to use it there. Fix for ticket [2d5a3163563d559f]. Test
cases in TH3.
FossilOrigin-Name: dbec6910d9648f4907373c818a5cb347a2e487784208751ccecfacca752ff99d
2020-10-01 14:36:15 +00:00
dan
33a99fad08
Add experimental unicode-aware trigram tokenizer to fts5. And support for LIKE and GLOB optimizations for fts5 tables that use said tokenizer.
...
FossilOrigin-Name: 0d7810c1aea93c0a3da1ccc4911dbce8a1b6e1dbfe1ab7e800289a0c783b5985
2020-09-30 20:35:37 +00:00
drh
fad4dd0fd1
Improved query optimization for multi-column indexes where the second or
...
later columns are constrained by an IN operator and the earlier index columns
limit the search to a small number of rows. Use the new OP_SeekScan opcode
which does scanning of the relevant range of the index but gives up and
falls back to doing a seek if the number of rows scanned grows to large,
in order to guard against pathological cases where the estimated number
of rows to be scanned is far too small.
FossilOrigin-Name: 4a43430fd23f88352c33b29c4c105b72f6dc821f94bf362040c41a1648c402e5
2020-09-30 18:06:51 +00:00
drh
4f65b3bbfb
For the OP_SeekScan opcode, adjust the number of steps run before giving
...
up based on the estimated number of comparisons needed to perform a seek.
FossilOrigin-Name: dc4172e6b8e1f62dc7329a3adb2223f290bc4c8055c265e88182ef432f4bcf10
2020-09-30 18:03:22 +00:00
drh
395a60dad4
Back out the incorrect optimization of check-in [e51ecadcbdef5ce6] as
...
ticket [5c4e7aa793943803] reports a case where the optimization does not
work.
FossilOrigin-Name: 7395e96b8cc370c8ac2657fb805915b0992a15d80f8bf256d277b423fec64675
2020-09-30 17:32:22 +00:00
drh
af3711536b
In the query flattener when substituting expression Y in place of expression X,
...
if X is marked has having come from an ON or USING clause of a LEFT JOIN, then
be sure that all subexpressions of Y, not just the root node of Y, are
similarly marked. Otherwise, if Y is an AND operator, it will be split up
during WHERE clause analysis and the subexpressions will not get the special
treatment needed by LEFT JOIN ON/USING clauses.
Fix for ticket [66e4b0e271c47145].
FossilOrigin-Name: 69f9eb7343a416c5ab426c8e1b9f0ae576544b4ccc5d87f5481c8ff884f696e1
2020-09-30 15:36:03 +00:00
shearer
1e6c58dee2
Better understanding of savepoint code
...
FossilOrigin-Name: ce6d8d621505f25e4fd43e7cf27445e1a2ddd58d79108d63499c2ae30cc9f610
2020-09-30 09:17:53 +00:00
drh
a957e22fa4
Add an sqlite3FaultSim() call to btreeNext() to make it easier to
...
simulate I/O errors in calls to sqlite3BtreeNext(), and in OP_SeekScan.
FossilOrigin-Name: 29cca775d3f5411624f0a8d55d34a038a24f1009d25b097315adb64e70c4b299
2020-09-30 00:48:45 +00:00
drh
f287d00108
In the OP_SeekScan opcode, changes to pOp must occur after the call
...
to VdbeBranchTaken() so that the VdbeBranchTaken() attributes the branch
to the correct opcode.
FossilOrigin-Name: 61fbe7aa7cc0e8fe3e6b1c5aec277183d8cd7c86b1e835c38e0b37a9b8063343
2020-09-30 00:10:22 +00:00
drh
a54e1b1fc8
The OP_SeekScan opcode is a no-op if the cursor is not pointing to a valid
...
row upon entry.
FossilOrigin-Name: 4afc96b5fe80bd192a23e0230edc207e641931c3bf48296b1a385c786386f1b7
2020-09-29 23:52:25 +00:00
drh
0b2949c36e
Coverage testing of the OP_SeekScan opcode. Fix a problem that comes up when
...
OP_SeekScan reaches the end of the table.
FossilOrigin-Name: 9e57e758a6a33f54d28a546b4eebfb5cfacef30dc4e0207e43bb9d2c06fc3439
2020-09-29 20:22:19 +00:00
drh
dfbaae7572
Improved comments on the new OP_SeekScan opcode.
...
FossilOrigin-Name: 6110fdd5bb7b4ae5c065404c802ae726362ef084966b73cffe58c4bfb98689d2
2020-09-29 17:29:11 +00:00
drh
c40076a8cf
Improved performance by manually in-lining the sqlite3VdbeIdxKeyCompare()
...
routine for the OP_IdxGT opcode and its kin.
FossilOrigin-Name: 2206a2c848a122ee220c89427f9be0460cba0706f58852139d7b37184ce29a29
2020-09-29 16:05:09 +00:00
drh
46f0f4e56d
Typo fix to repair the early-out optimization. Also avoid unnecessary
...
OP_SeekHit opcodes.
FossilOrigin-Name: 8fd7d8dfcd515aa6b65d6eb27b033d3b3a31db467b9100cc13c62bc60113019e
2020-09-29 15:32:54 +00:00
drh
f761d937c2
The OP_SeekScan opcode works, but using it requires disabling the
...
IN-earlyout optimization because the OP_IfNoHope opcode might move the
cursor.
FossilOrigin-Name: f3c36b840c9a29c0add28039db216f4207a308e5057fc76e3f0004024a8267ac
2020-09-29 01:48:46 +00:00
drh
68cf0ace3d
Revisiting the IN-scan optimization to try to fix it for the corner case
...
where the statistics deceive the query planner into using a scan when
an indexed lookup would be better. This check-in changes the code
generation to do the IN-scan using a new OP_SeekScan opcode. That new
opcode is designed to abandon the scan and fall back to a seek if
it doesn't find a match quickly enough. For this work-in-progress check-in,
OP_SeekScan is still a no-op and OP_SeekGE still ends up doing all the work.
FossilOrigin-Name: d720b6981eeb0ffdb14494ca63eca298ee724ae4ad4863c7c7cbfdad7fa52519
2020-09-28 19:51:54 +00:00
drh
75fa266341
Small performance improvement and size reduction by reducing the size of
...
the WhereTerm object.
FossilOrigin-Name: 43f7ddad800acf40917c5cc3d926640dbec17c34d5f1cbbb74bd80f44eeed0a5
2020-09-28 15:49:43 +00:00
drh
f573b4fb94
Avoid the possibility of integer overflow on the --pagecache option to
...
the CLI. See [forum:10a2892377|forum post 10a2892377]
FossilOrigin-Name: d3d13df31a97648f952beb2e1a783f947a80ec843227985ad9ebd14452d2f654
2020-09-28 13:34:05 +00:00
mistachkin
273ee15121
Fix harmless compiler warning seen with MSVC.
...
FossilOrigin-Name: 4591ee03d7a1ef3f0f6ad0629493fdb7a1c0ddb3277a9e87aa244cb0ca770593
2020-09-21 20:18:44 +00:00
dan
7548ab20e6
In fts5 integrity checks, do not compare the contents of the index against an external content table unless specifically requested.
...
FossilOrigin-Name: 782163693f37aeb65209bebbaeb6659a36881b8c4b4bec778b366658488bf966
2020-09-21 14:53:21 +00:00
drh
9ca41fbfa9
Remove a new assert() that the compiler finds is always true at compile-time,
...
to avoid a compiler warning.
FossilOrigin-Name: 8bbaee238593741da107b92b254cb5f0cf8b6bcc760bf2b25d20e46c8edee2a9
2020-09-20 13:33:28 +00:00
drh
79d9af960b
Attempt to silence harmless static analyzer warnings in Lemon and in the
...
Lemon-generated parser.
FossilOrigin-Name: de8ce22a46c90afa5475cd24c28b7a82b26410dc72d662af2f9d9e5e528e0eec
2020-09-20 12:10:28 +00:00
dan
68cffa65fb
Fix a typo in the documentation comment for sqlite3_preupdate_hook().
...
FossilOrigin-Name: 4542d194e2fef5e21e1c3679914bd9e21fab31cfb111cf640524fb3514a8afa3
2020-09-17 21:11:25 +00:00
dan
39c7125a97
Fix a problem in sqlite-expert causing it to ignore equality constraints on the second or subsequent columns of a multi-column PRIMARY KEY.
...
FossilOrigin-Name: c666c85a433fbc83edef4dbfb0399672e570f5d7979ab61cb39ff5488595d822
2020-09-17 17:01:16 +00:00
dan
f2e151aeab
Fix a problem in fts5 causing the in-memory hash table to be flushed more often than necessary.
...
FossilOrigin-Name: 9a55601d072bcd1ac0f6f1633216c7c8b3ff3e037451e2cfd285cbe19b60b9fc
2020-09-17 15:16:50 +00:00
dan
3acd3fb9d8
Fix a "jump depends on unitialized value" valgrind/asan error in fts5.
...
FossilOrigin-Name: 66f94d623c16b4527e42f0519e32ec78eaf9ee6fd61ee7d0eb657cc59a8f7d68
2020-09-17 14:16:02 +00:00
drh
f2fa084cf1
Earlier detection of corruption in the rtreecheck() SQL function to prevent
...
a (harmless) read of an uninitialized value.
FossilOrigin-Name: e2074b24788149562b15022ccd2784d6649f08ebc41410e3bfb2401baf0892e2
2020-09-17 11:56:04 +00:00
drh
bc2e95140b
Prevent use-after-free of the u.vtab.idxStr string following an OOM
...
while generating the OP_VFilter opcode.
FossilOrigin-Name: 751fe4edb2d4602e652523c2759de3f4fffd29d5c66cae68caf45b30fd8b750a
2020-09-17 11:32:14 +00:00
drh
f1ea425560
DISTINCT may not be ignored inside a UNION ALL common table expression.
...
Fix for ticket [c51489c3b8f919c5]
FossilOrigin-Name: 7d2b590d3abd66a7e6ae9046198eb669e0fd2f223f7691281e9ad795a12b8903
2020-09-17 00:46:09 +00:00
drh
d96e3821e4
Fix a pair of assert()s in "PRAGMA foreign_key_check" that might have given
...
a false-positive following an OOM.
FossilOrigin-Name: 9ea3039b538ffd0f348c8fbc9452af1fbf899a1f668af9a2404bdd0f8dd21351
2020-09-16 19:48:23 +00:00
drh
18ef40e563
Fix harmless compiler warnings in Lemon.
...
FossilOrigin-Name: 6c94ba4b1c16b676978808dcb24f63c2f22915af5dcfe9f635c037011affcf4b
2020-09-16 16:55:56 +00:00
dan
b5a69238b4
Fix a buffer overread found by OSSFuzz that could occur if a WITHOUT ROWID table with many columns was NATURAL JOINed against itself.
...
FossilOrigin-Name: 3d35fa0be866213274fc09250225b345f6b08a9b4ec373d53d95e627e24512be
2020-09-15 20:48:30 +00:00
drh
ddcfe92105
Do not invoke usleep() for more than 999999 microseconds.
...
FossilOrigin-Name: 1f5ed852f25515bbc0a7aaf236fdef40fa7e31805eee1249277fde4e68f95130
2020-09-15 12:29:35 +00:00
dan
86f477edaa
Catch fts5 index corruption caused by issuing 'delete' commands with incorrect data earlier in some cases. Also fix a couple of test script problems.
...
FossilOrigin-Name: b79f19edfd33c2a75f936c352668e14e81f35acf4f07edc27a21f941a7304b38
2020-09-11 15:01:49 +00:00
drh
94acc2ef42
Try again to fix the typo in the sqlite3_txn_state() documentation.
...
FossilOrigin-Name: 6d1ab0403c2855b595f5d294305f41f56a7a93503f2a58d1b1d12431d480704e
2020-09-10 15:09:11 +00:00
drh
4fb8452875
Fix typo in the documentation for the new sqlite3_txn_state() interface.
...
FossilOrigin-Name: 23f7d01758cbcf22bd34e78fb8284c7af18f3059a03c4ff6ab3e556ca11fce19
2020-09-10 14:54:57 +00:00
drh
786142a994
If an amalgamation is created using SQLITE_ENABLE_UPDATE_DELETE_LIMIT,
...
ensure that it can still be compiled without that option by setting the
SQLITE_UDL_CAPABLE_PARSER flag in the preamble.
FossilOrigin-Name: 5b905d7d7714d1d2c433ff58f5d6917d6d27302d44ca347aa740e768f1354b16
2020-09-10 12:41:46 +00:00
dan
ebd2ecdda7
Fix another (harmless in practice) tsan error in shared-cache mode.
...
FossilOrigin-Name: 5a74fa3f0a64f462c8add9beae231a9bbdd19e54d07b54f08726cb1411fc8d3a
2020-09-07 11:14:27 +00:00
drh
8ab0809473
Remove an artifical limitation on the length of columns in the "box"
...
output mode of the command-line shell.
FossilOrigin-Name: 783fa887c9ed1a7d72c310df1dd9de91c016061b05fdeec87fbb2a7eb0b952ea
2020-09-06 17:40:38 +00:00
drh
2b75d3beb0
Fix a bug in Fossil that might cause it to crash if there is
...
a multi-terminal token with a space following the "|" separator.
This does not affect SQLite.
FossilOrigin-Name: 430c5d1da57af452f236cc862139d84ab97b6020f6d327dae5268c58e6e83a87
2020-09-05 06:21:54 +00:00
dan
78f04753ae
Fix a tsan error that could occur when using shared-cache mode.
...
FossilOrigin-Name: de80bc87300257cc49d98e2d22e914211f213dce912f320c8b37b3883c73923c
2020-09-04 19:10:43 +00:00
dan
2b06b0769e
Ensure that the busy-handler count is reset at the end of each sqlite3_file_control() and sqlite3_prepare() (and _v2() and _v3()).
...
FossilOrigin-Name: 5dd05940617fb05ee2faf212b15afc3a8e9695318eccb76761b37359fea681d1
2020-09-04 17:30:59 +00:00
mistachkin
52cfe0312a
Fix harmless compiler warning.
...
FossilOrigin-Name: a711e8cd2c7b64e06241736ecef478ac64ddbe7b58e0933b6febba63f7fb06e1
2020-09-01 19:02:52 +00:00
drh
512aa78ca2
In the Lemon output, add a prefix comment that explains that the output file
...
is automatically generated and shows the name of the source file.
FossilOrigin-Name: d34caf3bb63d0512ea116a8c8c8343b76aa39441bd4b3e98231747a705b91d54
2020-09-01 12:26:55 +00:00
drh
60c71b02ca
Lemon updates: (1) include the #defines for all tokens in the generated C
...
file, so that the C-file can be stand-alone. (2) If the grammar begins with
a %include {...} directive on line one, make that directive the header for
the generated C file. (3) Enhance the lemon.html documentation.
FossilOrigin-Name: 84d54eb35716174195ee7e5ac846f47308e5dbb0056e8ff568daa133860bab74
2020-09-01 11:20:03 +00:00
drh
fa17e134b2
Improvements to the IN-early-out optimization so that it works more
...
efficiently when there are two or more indexed IN clauses on a single table.
FossilOrigin-Name: 35505c68c1945c35babd2496e02bc4907a15c8e7b8d77f05f230bd0e9d4891d7
2020-09-01 01:52:03 +00:00
drh
d321b6f4ad
Fix a harmless compiler warning.
...
FossilOrigin-Name: 3ca0b7d54d73d07cd6b32e650a809174bb1cd66ce5ecdb36f65b70899ea05824
2020-09-01 00:26:21 +00:00
drh
37ccfcfeb9
New test-control that returns the number of calls to
...
sqlite3BtreeMovetoUnpacked() on the main database and then resets the
counter. This only works for SQLITE_DEBUG builds.
FossilOrigin-Name: dca5b91926431768babac28a6faf7674a5014db95caba727995b470e92b3182a
2020-08-31 18:49:04 +00:00
drh
c51ceeb049
Fix the documentation for the OP_IdxGT family of opcodes to show that the
...
P5 operand is not used.
FossilOrigin-Name: 62f7d2a61259f296ffdcb3b3ee1a13925c4563ac8ed669f8a8a63fc7bc3a0a37
2020-08-31 12:29:03 +00:00
dan
acd3c8a995
Fix a sanitizer warning in zipfile.c.
...
FossilOrigin-Name: ded1a75b3cf39834d38a385f38ae969b296f6c9409856b7eea08645e861b1ac2
2020-08-29 19:00:19 +00:00
dan
d49c0c83ef
Improve performance of wal-mode locking on unix in cases where there are hundreds of connections to a single database within the same process.
...
FossilOrigin-Name: a1c19eea8f141b89a0921da0724096feb21a772ef6654f164e2c36ebf9f7871e
2020-08-29 15:15:07 +00:00
dan
6acdee6765
Fix handling of an xShmLock(SHARED, UNLOCK) call when the caller does not hold any lock on the specified slot, but another connection in the same process holds an EXCLUSIVE.
...
FossilOrigin-Name: 3eb365027b885e1f61965efd53a3643b6ff441ae01e79038a091314516a50dd4
2020-08-28 20:01:06 +00:00
dan
8337da6678
Modify the unixShmLock() function to avoid iterating through the (possibly large) set of connections to the same database file.
...
FossilOrigin-Name: e0faddf0dfc3a40b6b94408296dd781dd0264ecc9f2129ce4405438433fb00e0
2020-08-28 19:27:15 +00:00
mistachkin
72c38d87bf
Add the miscellaneous 'series' extension to the shell.
...
FossilOrigin-Name: fc0856dccfab273d50457052fa3c6da768d0eb2504ad04d9540da4e3222fc829
2020-08-28 18:47:39 +00:00
drh
7b8524168e
Update Lemon documentation. Patches from sgbeal.
...
FossilOrigin-Name: f5dc83442bf010bc4083e083b3a1acbb9918b7e685ca676dd899a0e09df196bc
2020-08-28 13:10:00 +00:00
drh
e2678b93af
Fix a couple of unreachable branches.
...
FossilOrigin-Name: f2d26f2b11317abd4f993faa1a4df7afcd1a2d4e448ecc69ca05e9ebf102cd62
2020-08-28 12:58:21 +00:00
dan
832aa023c6
Add fts5 test to confirm that for a table with columns a, b, c and d, "{a b}" and "-{c d}" are handled similarly.
...
FossilOrigin-Name: 1a04920998368e56276fd0b100be8343609c6ff8a731cf8e26a0490f9c6dabdf
2020-08-28 11:19:49 +00:00
drh
04cd60e18c
Remove a (harmless) redundant variable from the CLI implementation.
...
FossilOrigin-Name: 3f7bbb840de0a9b1ca89288805cb151aea6fcb82efda9ba39f51abf1b17c070b
2020-08-27 20:55:54 +00:00
drh
92e21ef079
Include the original text of the CHECK constraint in the error message for
...
anonymous CHECK constraints.
FossilOrigin-Name: 5ce34a955bb36d77edc9951cb7ac2ef9c876d7d3ff5852af682f558e248f428c
2020-08-27 18:36:30 +00:00
drh
359941bd33
Apple the same fix for ticket [9eda2697f5cc1aba] to text-to-integer
...
conversions that was done for floating point conversions by
check-in [1c76f1d8ec0937a2].
FossilOrigin-Name: aafb7a21041090e529491b0ce30c3902420be0551b1b2c55840a5fbb9105fb7d
2020-08-27 16:28:30 +00:00
dan
ca3ee7e18a
Do not attempt to run test script analyze3.test as part of the "prepare" permutation.
...
FossilOrigin-Name: f7f13cb1bc699c034a3f5f7a2431c8055cb79e2a14d5e70e1fc5dd6dec00fb26
2020-08-27 14:53:47 +00:00
drh
60081a0382
Enhance the ".databases" command in the CLI so that it shows the result
...
of sqlite3_db_readonly() and sqlite3_txn_state() for each database file.
FossilOrigin-Name: 0ffd16d23dd3b6467cce31af506c70fde44c3796d386c2a03896e43a6d683e60
2020-08-26 19:07:18 +00:00
drh
30497f4169
If the argument to the ".read" command in the CLI begins with "|" then
...
run the remainder of the argument as a command and read input from the
output of that command.
FossilOrigin-Name: 6c716f4b556ea8f9c9f15cffd81cb970488eadf1d5da2ba6b366d3bdeb36e492
2020-08-26 10:50:48 +00:00
drh
99744fa4ab
Add support for the sqlite3_txn_state() interface.
...
FossilOrigin-Name: ad195e3dd89d0f33b50070c18fb8f43c4eb24162515dfdd7c04d9e7d96b902a2
2020-08-25 19:09:07 +00:00
drh
58d6f633ba
Reduce the N in the logN term for the sorting cost associated with computing
...
DISTINCT by B-Tree by half, under the assumption that the DISTINCT will
eliminate about half the rows of output. This is really a wild guess. But
we do not have any better way of estimating what the row-count reduction due
to DISTINCT will actually be.
FossilOrigin-Name: 8787417ec1da8071d84c6ff0d7a90b5fd458ab6baba871327f36bc4e1bceca61
2020-08-24 23:44:27 +00:00
dan
599456f0ab
Correctly handle expressions like "x IS (not) true/false" within the rhs of IN() expressions. Fix for [f3ff1472].
...
FossilOrigin-Name: 493a25949b9a6d0be82169b597133e491d8be4f4147b6eae135b06c1d810abd3
2020-08-24 10:52:52 +00:00
dan
6c3b4b07d1
Fix a crash that could occur in SQLITE_MAX_EXPR_DEPTH=0 builds when processing SQL containing syntax errors.
...
FossilOrigin-Name: 5f58dd3a19605b6f49b4364fa29892502eff35f12a7693a8694100e1844711ea
2020-08-20 16:25:26 +00:00
dan
7b14b990d0
Avoid a buffer overrun in test code that could occur if certain test functions were passed a hex-string containing an odd number of digits.
...
FossilOrigin-Name: 3c5e63c22ffbfeb66eb6ee38912d29fad6f2bd4d74b6a25e89bd36bf40eaa661
2020-08-20 11:03:33 +00:00
drh
14f38b3d0a
Try to make SQLite easier to compiler for Mac Catalyst. See
...
[https://sqlite.org/forum/forumpost/803387a1c5 |forum post 803387a1c5].
FossilOrigin-Name: e1595a20d71e61957944cc2b634578968cda8fba08a1f1e75edba20dc9c6080b
2020-08-19 23:51:54 +00:00
drh
46fe138d98
Do not skip over TK_IF_NULL_ROW operators when bypassing TK_COLLATE operators.
...
Fix to check-in [ac31edd3eeafcef4] which was itself a fix for ticket
[45f4bf4eb4ffd788].
FossilOrigin-Name: 871f2ddcfbb9196dbd851a350e3471ee6d242d86bbd755201f7e2406fce3ac55
2020-08-19 23:32:06 +00:00
dan
1d42e619ac
Update releasetest_data.tcl so that the "Fast-One" configuration runs bigmmap.test as part of release testing.
...
FossilOrigin-Name: a0aa35aaa5694a96638a7c7b1cd69c7523750cbe95831a13c1ee5a6d48256b76
2020-08-19 15:24:19 +00:00
dan
fce445b8fa
Fix a problem in test file bigmmap.test.
...
FossilOrigin-Name: d8e47382160e98be646ce3ba568578493088d1bb11d513ded3e00b576fb07f06
2020-08-19 15:21:52 +00:00
drh
9191c702fc
Fix the -quote option on the CLI to set the correct column separator.
...
FossilOrigin-Name: c778f8295c3c9b6cd6107b33fd7664ae75c97840fc974c9f971755a523f185c4
2020-08-17 09:11:21 +00:00
drh
1d8f892a31
Optimization to sqlite3BeginWriteOperation().
...
FossilOrigin-Name: 2173d4c6e3addc75964508f2fc8e42755376b3bc285286fa90df4831a6fa280b
2020-08-16 00:30:44 +00:00
drh
45d827cb6a
Optimization of the sqlite3SrcListDelete() routine.
...
FossilOrigin-Name: 1b4acd1ac4a8d24f8804c6d0770f5b0022f569d51742b6954b26e525f04d38ca
2020-08-15 23:48:22 +00:00
drh
289a0c849b
Remove more unnecessary sqlite3GetVdbe() calls, replacing them with assert()s.
...
FossilOrigin-Name: b7dc932197665f0ebde3ffb8f0785c22da07ce307cfd5f0eab69e86e4b38fcde
2020-08-15 22:23:00 +00:00
drh
f0b41745c5
Avoid unnecessary calls to the sqlite3GetVdbe() routine. Add assert()
...
statements to prove each call is unnecessary.
FossilOrigin-Name: 86d3790caf92e9cb7a9aaaa110f309b4b6945ac30cfd53fc3e5aa1ec3075ada5
2020-08-15 21:55:14 +00:00
drh
398221e2ad
Omit the unnecessary not-NULL check on the upper bound of a forward index
...
range scan. The subsequent OP_IdxGT will always catch the NULL. Similarly,
omit the not-NULL check on the lower bound of a reverse index range scan,
as the SeekLE opcode will disallow the NULL.
FossilOrigin-Name: e51ecadcbdef5ce6e41d68412aee70aa4a1416c850358a6fa7e9a1ab443e719d
2020-08-15 19:58:59 +00:00
drh
861889e4f8
When doing an UPDATE or DELETE using a multi-column index where only a few
...
of the earlier columns of the index are useful for the index lookup,
postpone doing the main table seek until after all WHERE clause constraints
have been evaluated, in case those constraints can be covered by unused
later terms of the index, thus avoiding unnecessary main table seeks.
FossilOrigin-Name: 7fee0b1075d622835dc6828c061be516102da9e2809f52d9ab7c4bbef7dfb871
2020-08-14 21:51:02 +00:00
drh
a3d6d6a93f
Update the version number to 3.34.0 for the next development cycle.
...
FossilOrigin-Name: 70f34f3df5358d36c8578afbc05756450c46da36b8dce339ed87fc0b9d4057cb
2020-08-14 21:37:32 +00:00
drh
f8556d0106
Optimizations to the logic that converts main table accesses into equivalent
...
index accesses. Code is now slightly smaller and faster than trunk.
FossilOrigin-Name: 611b640442025e57b8e161f8ddac1f19bd3be9a3d5266f4cef287595c3ed9257
2020-08-14 21:32:16 +00:00
drh
68c0c71065
For UPDATE and DELETE, use OP_DeferredSeek always. If the seek must later
...
be resolved, add the OP_FinishSeek opcode after all WHERE clause terms have
been processed. This obviates the need for the WHERE_SEEK_TABLE and
WHERE_SEEK_UNIQ_TABLE flags to sqlite3WhereBegin() and the ensuing
complication, and it allows the covering index optimization to be used
further into WHERE clause processing.
FossilOrigin-Name: a495f60d315e34b1a1bc5fb1336e05047add52c8fb2710b577c97b10a5e734f6
2020-08-14 20:04:26 +00:00
drh
5e6d90fe15
Experimental change to try to get some DELETE operations to access values
...
using the index rather than the main table, so as to avoid unnecessary
main table seeks.
FossilOrigin-Name: 2f7cb6ab39e54fd6eb3a280d3022c3d4f4ed92e83af7226e63e0199a96397a6b
2020-08-14 17:39:31 +00:00
dan
e0404386f2
Fix an inconsequential memory leak in sqldiff. Update the "Sanitize" case in wapptest.tcl to use -fsanitize=address,undefined, and to run more tests.
...
FossilOrigin-Name: 613fb5c2525be77e48bad0a74e8b7bf53489365060fb9c7713a0caddb1820c71
2020-08-14 16:14:40 +00:00
drh
ef215fbf3b
Version 3.33.0
...
FossilOrigin-Name: fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0ff3f
2020-08-14 13:23:32 +00:00
dan
96e337df6b
Fix "make test" handling of environment variable QUICKTEST_OMIT so that it can be used to exclude test files in other than the main test directory.
...
FossilOrigin-Name: b050976079ba4a22d4dfeadb81f40cf71da6588c95bf2b634d88b416de5accd7
2020-08-13 17:27:57 +00:00
drh
a3e6495970
Improvement on the previous fix.
...
FossilOrigin-Name: f6cffa2d50bfebe5b025f412b7a49b7fdafb798aaf1ddc80e6656ccd1f012a7f
2020-08-12 16:19:12 +00:00
drh
b6a74caf93
Fix an assertion() fault in ALTER TABLE found by OSSFuzz. Test case in TH3.
...
FossilOrigin-Name: 41de742c5713ab1a0c0c15c44af3ffac40bbc527ae2dc11d829ba9773eb4c84a
2020-08-12 15:39:43 +00:00
drh
c08716a317
Fix harmless USAN warnings from gcc9.
...
FossilOrigin-Name: 72c4c69fea13f5e24df25645e6941ce3ff896f0a3c73cd63329f819cc907ab40
2020-08-11 21:53:42 +00:00
drh
4dfdb86c8d
New test cases for the use of the ieee754 and decimal extensions in the CLI.
...
FossilOrigin-Name: bc1590f32fc4e2696b4126bd0302cb6405031dd4f55b86f3f1611f7f39299f85
2020-08-11 18:17:04 +00:00
dan
91faeec8d0
Modify a test for corruption within the wal checkpoint code to account for the pending-byte page. And for the fact that test configurations might move the pending-byte page.
...
FossilOrigin-Name: 7dfb74c37e678dde347d9d85846672f82ad282e300e32676330b764be2e4d580
2020-08-11 18:00:10 +00:00
drh
8c1fbe81d0
Minor comment fixes. No changes to code.
...
FossilOrigin-Name: 533aeb90085d989078073067172135db98e37e00be84f99757255858126196e4
2020-08-11 17:20:02 +00:00
drh
24c22753fc
Remove an unused #define from sqliteInt.h.
...
FossilOrigin-Name: d5b254f94c1ce6f0f26024d0b9c80e610f7cc891360bc4c2cb116e9eda2874b3
2020-08-11 16:46:21 +00:00
drh
47eb561c40
Simplify #ifdefs associated with Parse.eParseMode. Fix an #ifdef error
...
associated with SQLITE_OMIT_AUTOVACUUM.
FossilOrigin-Name: 5bbd4bddd3b9fa64d134ed62bce3eb4a09456bf24dec2474b5d764a3a3775964
2020-08-10 21:01:32 +00:00
dan
9f567eb9f5
Fix a problem causing test failures in corruptL.test for some permutations.
...
FossilOrigin-Name: 680bdc6524ad6af0e74401e96e3a576145042fb865c1582bfaffc11d4ff76a4f
2020-08-10 19:35:01 +00:00
dan
26c48d2aab
Fix a problem building fts3 separately from the amalgamation.
...
FossilOrigin-Name: 2a167cfbb2abd76e1b33116b671e58a767fc972dd79bee0004aad09a1dd2b487
2020-08-10 19:30:21 +00:00