]>
git.ipfire.org Git - thirdparty/sqlite.git/log
numist [Wed, 23 Oct 2019 18:14:46 +0000 (18:14 +0000)]
numist [Wed, 23 Oct 2019 18:01:41 +0000 (18:01 +0000)]
drh [Tue, 22 Oct 2019 19:51:29 +0000 (19:51 +0000)]
Disqualify row-value comparisons for use by an index if the right-hand side
has an affinity that does not match the index.
Fix for ticket [
6ef984af8972c2eb ]
FossilOrigin-Name:
5c118617cf08e17a6edfdfba86e3fc49132a780990b68b52724c2aaeac85f506
drh [Tue, 22 Oct 2019 11:29:22 +0000 (11:29 +0000)]
Previous check-in to fix [
b47e3627ecaadbde ] was incomplete. This check-in
completes the fix and adds a test cases.
FossilOrigin-Name:
c7da1c01f1f239e68c2173ac5748b8c5798271e43bdcee68f51f97cd0ca92bd5
drh [Tue, 22 Oct 2019 01:00:16 +0000 (01:00 +0000)]
Move the sqlite3LocateCollSeq(), sqlite3FindCollSeq(), and
sqlite3GetCollSeq() routines so that they are all beside one another in
the callback.c source file. No logic changes.
FossilOrigin-Name:
9ff80a9bf8fee776e2f282d0597215b77d48093ebc71d047ad1457da0582ddbc
drh [Tue, 22 Oct 2019 00:03:41 +0000 (00:03 +0000)]
When flipping ("commuting") a comparison operator, set the new EP_Commuted
bit rather than adding extra EP_Collate bits, to single later processing that
the order of precedence for COLLATE operators is inverted.
Fix for ticket [
b47e3627ecaadbde ]
FossilOrigin-Name:
90f7c477354d67d22d5eb0da22dac579f384ab44743fdc19887220e32203ebc2
drh [Mon, 21 Oct 2019 23:41:56 +0000 (23:41 +0000)]
Add a VdbeCoverage() macro that was omitted from check-in [
eea1e7aa57e74c43 ].
FossilOrigin-Name:
cd2317d04c1c4bcf5fe63aa02a6051bdfae8f5566a098e3f45bf9ec1dd0c3ea6
drh [Mon, 21 Oct 2019 16:15:57 +0000 (16:15 +0000)]
Try to fix a harmless compiler warning reported by ICC.
FossilOrigin-Name:
7f41b44ca2ecb907ea0fd09a974ac9dbdf911463a94f0f77c826cf1b1d9c3e8c
dan [Sun, 20 Oct 2019 08:26:08 +0000 (08:26 +0000)]
Fix a resource leak in fts5 that could occur if an auxiliary function is called from within a query that does not use the full-text index.
FossilOrigin-Name:
b528bdcd45db1b783ecd9739c3d3c890f04de7003f079668970eafaf8e23b2f3
drh [Fri, 18 Oct 2019 15:58:50 +0000 (15:58 +0000)]
Enhance the ".imposter" command in the CLI so that the first argument
can be an existing WITHOUT ROWID table instead of an index. The resulting
imposter is the same table, but with columns in storage order and with
all constraints removed.
FossilOrigin-Name:
9dc0d34586eebf6705d9bd81494c417ac76707b8625d1ff99eda18b4ca2d8a50
dan [Thu, 17 Oct 2019 15:41:36 +0000 (15:41 +0000)]
Avoid an infinite loop in fts3/4 incremental-merge in the case where the lowest level in the database contains segments but no data (because there is a delete-marker for each valid entry). Fix for [
bf1aab89 ].
FossilOrigin-Name:
35beaee059a6cccead4311886ca928d936f23584cf435e35e265e98feea723dc
mistachkin [Wed, 16 Oct 2019 17:46:22 +0000 (17:46 +0000)]
Enhancements to SQL query normalization for UPDATE statements.
FossilOrigin-Name:
bba975c7af3de9aeb5c62fb8b05d61b96e4ecd0b030008442bbdd345e1e5f134
drh [Wed, 16 Oct 2019 14:56:03 +0000 (14:56 +0000)]
If an AFTER DELETE trigger fires when a conflict row is deleted by REPLACE
conflict resolution, make sure the conflict really has been resolved and that
the trigger did not recreate the row before continuing.
Ticket [
a8a4847a2d96f5de ]
FossilOrigin-Name:
eea1e7aa57e74c4329003f4550168e2aed9e33d2301a3ba84b10781a9cebbc1b
drh [Tue, 15 Oct 2019 19:01:55 +0000 (19:01 +0000)]
Formatting change on a multi-line conditional, for improved clarity.
No logic changes.
FossilOrigin-Name:
7248e3476511ecd317f54edcfe1e87443bfdcc1b10c89c7734eefcabafec6c0b
drh [Mon, 14 Oct 2019 20:32:31 +0000 (20:32 +0000)]
Futher improvements to the IN operator for row-values on virtual tables.
FossilOrigin-Name:
bc751fb64d5b08e5ca4c85cd1c6fbf09590fa9dad7e176ba373082ea373655b5
drh [Mon, 14 Oct 2019 15:24:20 +0000 (15:24 +0000)]
dan [Mon, 14 Oct 2019 15:15:50 +0000 (15:15 +0000)]
Fix a problem with row-value IN(...) operators and virtual tables.
FossilOrigin-Name:
aa57d7abac0bb92d4d5fd4e093a11cf8efc04e4eed748b2a400d01f137250649
drh [Sat, 12 Oct 2019 23:38:00 +0000 (23:38 +0000)]
When Select-Trace is enabled (in debugging builds only) do not show the
result of Window function tree rewrites if there are no window functions.
FossilOrigin-Name:
d1acf72ae1ea7484bb9c3a8630094f1a3a9597578c7b9d6e02fc0a4e3f59c57d
dan [Fri, 11 Oct 2019 18:55:10 +0000 (18:55 +0000)]
Update the zipfile extension to use deflateBound(), instead of compressBound(), to learn the maximum possible size of a deflate()d buffer.
FossilOrigin-Name:
f5ee30426e8876e70304f852153b56991a2a66e0f6a82597e9dcccf49163272d
drh [Fri, 11 Oct 2019 17:14:40 +0000 (17:14 +0000)]
Futher improvements to LEFT JOIN strength reduction.
FossilOrigin-Name:
8a39167bd2d46496f7484cfec371e4bad22da882209b01da9459c4ed5877da25
drh [Fri, 11 Oct 2019 16:01:21 +0000 (16:01 +0000)]
Improvements to the LEFT JOIN strength reduction optimization.
FossilOrigin-Name:
548082dfab5d9484279ccc11cd2833ac131b54b7481372b576d7c28bbb3294ea
dan [Fri, 11 Oct 2019 15:33:13 +0000 (15:33 +0000)]
Ensure fts3/4 prefix indexes are flushed to disk before an 'optimize' command. Fix for [
745f1abc ].
FossilOrigin-Name:
4ed905b18847d4dbf5a2570052abced338065f824137b90300f62d77b3159d80
dan [Fri, 11 Oct 2019 14:27:17 +0000 (14:27 +0000)]
Fix the fts3/4 integrity-check command so that it works with "ORDER=DESC" tables. Fix for [
8a6fa2bb ].
FossilOrigin-Name:
5863546df99abd1ad4ebcaba18dec647be4368e2c13ce0b28e48c8608d3e87ef
drh [Fri, 11 Oct 2019 14:25:00 +0000 (14:25 +0000)]
Increase the version number to 3.31.0 for the next release cycle.
FossilOrigin-Name:
ffd4c30620abe6ba38d82f3db934d18cc8468aaac4cd50a4e01be8910854d3f0
drh [Fri, 11 Oct 2019 14:21:48 +0000 (14:21 +0000)]
Faster response to sqlite3_interrupt() in the OP_IntegrityCk and OP_Count
opcodes.
FossilOrigin-Name:
bf875dc59909f9c22f7c1fc843bc4d9e5d97af5cb4ef43c4fa1d566ddfdeaacb
mistachkin [Thu, 10 Oct 2019 23:58:28 +0000 (23:58 +0000)]
mistachkin [Thu, 10 Oct 2019 23:58:16 +0000 (23:58 +0000)]
Fix harmless compiler warning seen with MSVC.
FossilOrigin-Name:
73a82114733af2a316f20eb8578badef307d14286c6ec03197744a6793425161
dan [Thu, 10 Oct 2019 17:09:44 +0000 (17:09 +0000)]
Prevent SQLite from assuming that if ((? IS NOT NULL) IS NOT NULL) is true, ? may not be NULL. Fix for [
d51a8696 ].
FossilOrigin-Name:
7833feecfe745e237f239ee4c38a9e4bf7ad66a32919150208da87c00a826473
dan [Thu, 10 Oct 2019 16:41:44 +0000 (16:41 +0000)]
Fix a problem in the fts3 integrity-check routine causing it to report as corrupt tables that contain values with embedded 0x00 bytes.
FossilOrigin-Name:
629e20c9880acc2cb9e2fa6da39a15a90483e9a8f433df29d285c23bdfb03b0b
dan [Thu, 10 Oct 2019 15:17:09 +0000 (15:17 +0000)]
Be sure to rewrite column references inside FILTER clauses and window frame definitions when flattening queries. Fix for [
1079ad19 ].
FossilOrigin-Name:
ccba7202b69d239724c3b589439c9c3b0e1bba237accfeb11c39d492522b8719
dan [Wed, 9 Oct 2019 21:14:00 +0000 (21:14 +0000)]
Avoid assuming that an expression that contains the sub-expression (? IS FALSE) or (? IS TRUE) may only be true if ? is non-null. Fix for [
a976c487 ].
FossilOrigin-Name:
eb7ed90b8a65748f0721aaf7bdddd2207f552be5015603fbfb7044d815ae2f36
dan [Wed, 9 Oct 2019 18:36:32 +0000 (18:36 +0000)]
Do not allow users to effectively disable fts5 crisismerge operations by setting the crisismerge threshold to higher than the maximum allowable segment b-trees on a single level. Fix for [
d392017c ].
FossilOrigin-Name:
86e497209217abb7bcb491a023cd353f3c7c9c103ebd9f58dd8661b12cf3694c
drh [Wed, 9 Oct 2019 15:37:58 +0000 (15:37 +0000)]
An improved fix for the dbsqlfuzz-discovered ALWAYS() failure following OOM in
sqlite3ExprCollSeq(). This time with a test case (engineered by Dan).
FossilOrigin-Name:
907f7965b335d8d5441f2e386bb190d1f93ffcd45ca98d2d1c621dede491fc5e
dan [Wed, 9 Oct 2019 15:26:45 +0000 (15:26 +0000)]
Disallow fts5 page sizes greater than 65536 bytes - as there are 16-bit offsets used in the page header.
FossilOrigin-Name:
75775c5ab44e497cb19be10397229637f1374f05c3244e8f92d6c54fcea94f5f
drh [Wed, 9 Oct 2019 15:08:27 +0000 (15:08 +0000)]
Remove the "fastfuzztest" makefile target. Use only "fuzztest".
FossilOrigin-Name:
e17571c789db31123642d0ed1f3d8764e070019e0deb8b88cce58d2183551cdf
drh [Wed, 9 Oct 2019 15:03:45 +0000 (15:03 +0000)]
drh [Wed, 9 Oct 2019 15:00:37 +0000 (15:00 +0000)]
Change sqlite3SelectDup() to always return NULL if an OOM has occurred.
FossilOrigin-Name:
01ba4641ab436c6065c8725908fc0913f2abded4ea62e004b7534e0116b9451a
drh [Wed, 9 Oct 2019 13:52:31 +0000 (13:52 +0000)]
Use the "fuzztest" target in place of "fastfuzztest".
FossilOrigin-Name:
7129e468fd182c1820cdfa2c66a81d1697e5d1580680b77c0df9bb0ae0049e0d
drh [Wed, 9 Oct 2019 13:12:55 +0000 (13:12 +0000)]
Remove the obsolete "fastfuzztest" target from the makefiles.
FossilOrigin-Name:
3d44f1ee0f606409bc9c091dae2c9d2e78ada318a0de08437f4f4835a1a5d203
drh [Wed, 9 Oct 2019 01:19:07 +0000 (01:19 +0000)]
Save CPU cycles in sqlite3Prepare() by, among other things, shifting the
EXPLAIN column label logic over to sqlite3VdbeMakeReady().
FossilOrigin-Name:
1ca5ef84506aac3e2f08baa36095b3befdeedf2a3443fcd9154a277b55cbf64b
dan [Tue, 8 Oct 2019 13:34:24 +0000 (13:34 +0000)]
Fix problems with using the fts5 'rebuild' command inside a transaction that contains other updates of the same table. Fix for [
e258f008 ].
FossilOrigin-Name:
238e0835714696aba0631f288fcc30ec5fddb43893d469c6bf017f386b3cddee
dan [Mon, 7 Oct 2019 20:36:18 +0000 (20:36 +0000)]
Disallow page-sizes smaller than 32 bytes in fts5. Also ensure the fts5 integrity-check works even when "PRAGMA reverse_unordered_selects" is true. Fix for [
265e935b26 ].
FossilOrigin-Name:
8ab0aebdb3c2d6fb3160b2c58ce6cc0495a6ddd960878a6395958c837f3d1b71
drh [Mon, 7 Oct 2019 20:33:26 +0000 (20:33 +0000)]
Omit a pointless memory allocation in vdbeSorterSort().
FossilOrigin-Name:
5d76dbc5b0584c15d7d59e5c079868f2077f32b865f406b40ec837b8ab6ef2e1
dan [Mon, 7 Oct 2019 18:43:21 +0000 (18:43 +0000)]
Fix a problem with running ALTER TABLE ADD COLUMN statements within a transaction that writes to one or more virtual tables.
FossilOrigin-Name:
31e85fbbc4cfd09a98b4a6dc6624f863816f376c6a4eef1fafc657c8e1abbc36
dan [Mon, 7 Oct 2019 13:46:43 +0000 (13:46 +0000)]
Add a test case for the assert() fix in the previous commit.
FossilOrigin-Name:
32fba11ab72f6300391267eaad64e92fa767c289029e668e4bd6c9165acf1487
drh [Mon, 7 Oct 2019 13:26:58 +0000 (13:26 +0000)]
Fix a faulty assert() statement in the sqlite3VdbeMemExpandBlob() routine.
FossilOrigin-Name:
69a26eade2f92029e722a5a654214b1e2a3fc7ed497ce9aa5a7dce944f90e502
drh [Mon, 7 Oct 2019 01:05:57 +0000 (01:05 +0000)]
Fix the OP_SeekRowid opcode so that it works correctly with a Real argument
without damaging the value in the register that is the argument.
Ticket [
b2d4edaffdc156cc ]. Test cases in TH3.
FossilOrigin-Name:
3cde82c86b963fa75192907d548febd3882c7d8fc7daf1903fadd5ca46623be1
drh [Sat, 5 Oct 2019 19:53:21 +0000 (19:53 +0000)]
Omit the check for conflicting shared-cache locks in sqlite3Prepare() if the
database connection uses no shared cache. We might be able to go back and
remove this code completely, due to the newer Schema.iGeneration logic, but
that will take more analysis. This check-in gives the speed benefit but not
the reduction in code size.
FossilOrigin-Name:
0b73a09270dfafb27f8d1762b547ef8178c9da66f45e7153ff0b76272dfa92f5
drh [Sat, 5 Oct 2019 19:24:52 +0000 (19:24 +0000)]
Optimization to sqlite3VtabUnlockList() for the common case when there
is no work to do.
FossilOrigin-Name:
fc8d45086dc2bcb9bce756088e99e63cbeedf9129139fb0e6a48b43c4f502180
drh [Sat, 5 Oct 2019 18:33:25 +0000 (18:33 +0000)]
Call sqlite3Prepare() directly, rather than going through sqlite3_prepare(),
when processing the sqlite_master.sql column for a schema.
FossilOrigin-Name:
cc49380ea76a4a05843d3a0bdfb925464dc9d72c33cf5ab5243dd07d161ad038
drh [Sat, 5 Oct 2019 15:28:24 +0000 (15:28 +0000)]
Reorder two comparisons for a small performance gain in OP_Transaction.
FossilOrigin-Name:
d7667f6560318272c8b35b478e29b0ed134105dfd119a2fd53ef0490442c60cc
drh [Sat, 5 Oct 2019 14:39:36 +0000 (14:39 +0000)]
Performance optimization to the lookaside-memory disabling mechanism.
FossilOrigin-Name:
17ce1c49cb0ed6fdd8c7c33431bc2afa217f1092c99b8dd608890a8e7aec7fb1
drh [Fri, 4 Oct 2019 15:03:17 +0000 (15:03 +0000)]
dan [Thu, 3 Oct 2019 16:02:22 +0000 (16:02 +0000)]
Avoid running a couple of tests in affinity2.test as part of the valgrind permutations, as the way floating point computations are simulated by valgrind causes them to fail.
FossilOrigin-Name:
7f9a4b6015ac332a04d3e394a6b3210fc95253d8786a261178a5639cb8d9d987
drh [Thu, 3 Oct 2019 14:51:59 +0000 (14:51 +0000)]
Increase the precision of floating point value display in VDBE debugging
output. No changes to normally deployed code.
FossilOrigin-Name:
a561a656ff50efc0103da3988626cea3ef05757403b83960f2aa6c0a48c2765e
dan [Thu, 3 Oct 2019 14:36:36 +0000 (14:36 +0000)]
Fix some test script issues that come up with SQLITE_OMIT_VIRTUALTABLE builds.
FossilOrigin-Name:
3934d2d08ee14d644dc01f967c10f219b76b172c963c90a7a8141f2b08a7d5bf
dan [Thu, 3 Oct 2019 13:44:08 +0000 (13:44 +0000)]
Fix issues with command line invocation of wapptest.tcl.
FossilOrigin-Name:
9e0d5d2640a92070967bc9fdf5c5b1653e41b9c04e04dcb70f18ead10f053aef
drh [Wed, 2 Oct 2019 19:44:42 +0000 (19:44 +0000)]
Update error detection logic in releasetest.tcl to account for new
output formats in USAN.
FossilOrigin-Name:
3f36b988360204628d5ad1df2db34818b9a2d6ba989018d4c17757229f4b0f65
dan [Wed, 2 Oct 2019 19:43:38 +0000 (19:43 +0000)]
Update corruptM.test to account for the fact that the database schema may be loaded from within the "sqlite3" command for some test permutations.
FossilOrigin-Name:
cb9470fc064aad72a4e42c6a021410401b3b1a32446ae8b9cd9c759f0a2a01ef
dan [Wed, 2 Oct 2019 19:33:34 +0000 (19:33 +0000)]
Fix a long-standing problem in fts4 incrmental merge.
FossilOrigin-Name:
67da31e24ebb49c4cac81c9e7cfca37ca422555fd0fdb01d8f180890783c84ff
drh [Wed, 2 Oct 2019 00:25:08 +0000 (00:25 +0000)]
Disable sqlite3_drop_module() tests when virtual tables are omitted from
the build.
FossilOrigin-Name:
9f4035f91a9f914797c67afbf19139b2cd25aea48595f7254fe5d18cd693d972
drh [Tue, 1 Oct 2019 21:31:57 +0000 (21:31 +0000)]
Remove references to test scripts analyzeA.test and analyzeB.test from
permutations.test, since those test modules no longer exist.
FossilOrigin-Name:
2394879698107479270c9d899c704de3756ceae177a338b3c37844e2a31aa6dd
drh [Mon, 30 Sep 2019 19:13:31 +0000 (19:13 +0000)]
The nodeReaderInit() function in FTS3 may not assume that the node is
non-empty.
FossilOrigin-Name:
361eb2f682a303bba72b39d322d9de630494ca044fe0508dcb23b6130d312d85
drh [Sat, 28 Sep 2019 18:28:19 +0000 (18:28 +0000)]
Add missing comment to constant definitions.
FossilOrigin-Name:
661a3789eb329a2487855e49c31067a9dde4c91c1a3a65b65375d079f906b1da
drh [Sat, 28 Sep 2019 16:14:55 +0000 (16:14 +0000)]
drh [Sat, 28 Sep 2019 11:19:56 +0000 (11:19 +0000)]
In FTS3/4, the poslist end marker must be larger than any other possible
poslist value, even on a corrupt poslist.
FossilOrigin-Name:
752679aea5a6bbde24cbf39e2fa018f7dd1c226d463ca4bd74125303b2255170
drh [Fri, 27 Sep 2019 17:36:37 +0000 (17:36 +0000)]
Update requirement marks due to changes in documentation wording.
FossilOrigin-Name:
326cdc16f4db23c1d17596e4ef8d9d7abc672d48665950029ba53fd40c1b2d99
drh [Fri, 27 Sep 2019 16:33:27 +0000 (16:33 +0000)]
Allow compile-time options -DHAVE_GETHOSTUUID=0 and -DHAVE_GETHOSTUUID=1.
FossilOrigin-Name:
3bcb9cc104e0265a600b03415ad955187fc6445ea8e46dc656412cba5bc1d621
drh [Fri, 27 Sep 2019 15:15:38 +0000 (15:15 +0000)]
Alternative implementation of the previous check-in which is testable.
FossilOrigin-Name:
102ef64462cf0d78395ccc7ebb8e3bf6b7647c06b7657a037e051697bc08d6b7
drh [Fri, 27 Sep 2019 15:01:02 +0000 (15:01 +0000)]
Fix sqlite3ExprCompare() so that it ignores differences in the Expr.iTable
field for IN operators, as otherwise it can lead to false negatives, which
is usually harmless, but can cause problems for an assert() in the window
function logic.
FossilOrigin-Name:
6a204b192a6c6f21988cab217366f21b14c672b81ceadc43675761a6d8c4484f
dan [Thu, 26 Sep 2019 20:57:53 +0000 (20:57 +0000)]
drh [Thu, 26 Sep 2019 20:05:16 +0000 (20:05 +0000)]
Allow DROP TABLE to work on tables name "sqlite_parameters" just as it
does with tables named "sqlite_stat%". Fix for the ".parameter clear"
command in the shell.
FossilOrigin-Name:
e768179baacb2423205a774cc8149fe58ed86a9320102aff4844b1d8933aa1db
dan [Thu, 26 Sep 2019 19:53:26 +0000 (19:53 +0000)]
drh [Thu, 26 Sep 2019 16:57:42 +0000 (16:57 +0000)]
New dbsqlfuzz cases added to test/fuzzdata8.db.
FossilOrigin-Name:
49073b7003330027303c4c776e9f85112f8b99b89f848fec3f953eba501d7505
drh [Thu, 26 Sep 2019 16:08:35 +0000 (16:08 +0000)]
Test for an OOM condition in resolveAlias().
FossilOrigin-Name:
322eca7f6ad2234059669015aabb773a790e8bc3da95431c9c851ff5342c969b
dan [Thu, 26 Sep 2019 15:53:37 +0000 (15:53 +0000)]
Fix a window-functions problem that could occur if an ORDER BY clause contains an alias for a window-function that is not a top-level expression.
FossilOrigin-Name:
1cc6cf6407c6e25aeafeca379a93d0ad2614839c07fb3644e46926fce5f1cfab
drh [Wed, 25 Sep 2019 18:44:49 +0000 (18:44 +0000)]
drh [Wed, 25 Sep 2019 17:47:41 +0000 (17:47 +0000)]
dan [Wed, 25 Sep 2019 16:41:44 +0000 (16:41 +0000)]
Further simplifications to window-function code.
FossilOrigin-Name:
5fe15c1d8383989257e11d1806e6b035acacd1b504ae385ba58d20db10f26eee
drh [Wed, 25 Sep 2019 11:49:36 +0000 (11:49 +0000)]
In the previous check-in, the variable should be openMode, not openFlags.
FossilOrigin-Name:
77b0db22d6c7a031f332bfcf1c8fcd94e464de9f2396f0327ee761a30ebc8b60
drh [Wed, 25 Sep 2019 10:36:31 +0000 (10:36 +0000)]
In the unix VFS layer, do not attempt to chown() the journal to be the same
as the database if running in 8+3 filename mode. Also, update the comments
on the chown() attempt to be more precise.
FossilOrigin-Name:
ab853724a7e01ca32167d294c3c80d6632e805bdf39b6d56db82226a00ad72dc
drh [Wed, 25 Sep 2019 02:07:50 +0000 (02:07 +0000)]
Simplifications to the window-function code.
FossilOrigin-Name:
489a1eb3aa2f1225b97b50a5f8688cf1a4ab0371973da1badc29616d70386c03
dan [Tue, 24 Sep 2019 20:20:05 +0000 (20:20 +0000)]
Bug fixes for window frames of the form (... RANGE BETWEEN b PRECEDING AND a PRECEDING) or (... RANGE a FOLLOWING AND b FOLLOWING) where (a > b).
FossilOrigin-Name:
040e196a8be3ca41b9365310ab88c2a3cc84b918a6511c77a6d95d4b4e0da3ed
drh [Mon, 23 Sep 2019 12:38:10 +0000 (12:38 +0000)]
Omit the sqlite3IntTokens array constant for a code simplification.
FossilOrigin-Name:
f907395ef5a2dc1d084b6a286af00de4c742cf12d4f347c21e1b757786508f57
drh [Mon, 23 Sep 2019 11:55:22 +0000 (11:55 +0000)]
When a scalar subquery has a pre-existing "LIMIT X" then change it to
"LIMIT X<>0" rather than just "LIMIT 1" so that if X is 0 the limit
will still be zero. Ticket [
99cd4807dc03f178 ]
FossilOrigin-Name:
82e5dcf5c1d500ed82f398b38fdae0f30033804e897fbab3c10f1e15e2abedef
drh [Sat, 21 Sep 2019 18:49:12 +0000 (18:49 +0000)]
Fix a harmless unused variable warning in the test logic.
FossilOrigin-Name:
d7673a445f4cde8f71153ce81efdc34fbed8b8625714d54afae1a83d548671ff
drh [Sat, 21 Sep 2019 17:31:03 +0000 (17:31 +0000)]
dan [Sat, 21 Sep 2019 15:44:12 +0000 (15:44 +0000)]
Allow SQLite to omit redundant ORDER BY sorts in the case where a SELECT statement has GROUP BY and ORDER BY clauses that use the same expressions, even when the ORDER BY expressions are marked "DESC".
FossilOrigin-Name:
20f7951bb238ddc0b8932a55145df426b6fdf7b8631e069345902c853c90f191
drh [Sat, 21 Sep 2019 13:34:59 +0000 (13:34 +0000)]
Add --multithread, --serialized, and --singlethread options to the
speed-check.sh test script.
FossilOrigin-Name:
c17078af6046ba3cb0d7819c915a800c851d7368e13d149140db2a124df32bab
dan [Fri, 20 Sep 2019 21:12:40 +0000 (21:12 +0000)]
dan [Fri, 20 Sep 2019 20:52:16 +0000 (20:52 +0000)]
Fix a problem with queries containing a min() or max() function for which the FILTER clause excludes all rows.
FossilOrigin-Name:
b1d7e104e034655fe41bc55c562d91e8074a2973d538b8b29301458db45afc57
dan [Thu, 19 Sep 2019 13:51:52 +0000 (13:51 +0000)]
Fix an assert() in fts3 that could fail when accessing a corrupt database.
FossilOrigin-Name:
601ce9532d34f97a5faa170b6d8a272e5c54f2eabff84660201a1840e0fd9929
drh [Wed, 18 Sep 2019 20:34:54 +0000 (20:34 +0000)]
Always clear the temporary register cache after coding a subroutine.
FossilOrigin-Name:
b6f2a7f9cdb547c925f08306df82519e41a7a0dd2cabd9861a48917bb6eef845
dan [Wed, 18 Sep 2019 17:22:00 +0000 (17:22 +0000)]
Add extra tests for the handling of corrupt records in fts3.
FossilOrigin-Name:
40e29a47d1266c16a4992e43579a51addcc632503099c4cd128f77dd4e67da3c
drh [Wed, 18 Sep 2019 12:49:34 +0000 (12:49 +0000)]
Fix another potential "jump depends on uninitialized value" warning.
FossilOrigin-Name:
633b214e9b9d99788ed72ab4823a69a43c7c40ed07fb76c7d56c50453c0e58ab
dan [Wed, 18 Sep 2019 11:46:34 +0000 (11:46 +0000)]
Fix a "jump depends on unititialized value" valgrind error in fts5 triggered by corrupt database records.
FossilOrigin-Name:
6b6751cd90601a1e2744a7d233c973291ecb783801b9327c3b99734dd22bcd27
drh [Wed, 18 Sep 2019 11:16:46 +0000 (11:16 +0000)]
Fix an OOB read in the INSTR() function introduced yesterday by check-in
[
3fb40f518086c1e8 ] and detected by OSSFuzz. The test case is in TH3.
FossilOrigin-Name:
d49047c1b59bbfd05204af9973cdb0fab51b4d2661b550aec10d917fff94dc9b
drh [Tue, 17 Sep 2019 21:28:54 +0000 (21:28 +0000)]
Do not change the OP_String8 opcode into OP_String until *after* any necessary
encoding conversions are accomplished. Otherwise, a rerun of the prepared
statement after an OOM can result in errors. Test case in TH3.
FossilOrigin-Name:
8efd62594eae725decb719aa7777c020f982b7cdc2c92bab3b91bf349a5bc298
drh [Tue, 17 Sep 2019 13:30:30 +0000 (13:30 +0000)]
drh [Tue, 17 Sep 2019 03:16:29 +0000 (03:16 +0000)]
Fix the instr() SQL function so that it makes a copy of its argument
before changing the datatype, since the datatype affects processing.
Also fix the sqlite3_value_text() routine so that it always works even
for values obtained form sqlite3_value_dup(). Ticket [
587791f92620090e ]
FossilOrigin-Name:
3fb40f518086c1e8d11eb1f4134e965450dbedfa4277bce39ef1e969fc747d38