]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
5 years agoIf an AFTER DELETE trigger fires when a conflict row is deleted by REPLACE
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

5 years agoFormatting change on a multi-line conditional, for improved clarity.
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

5 years agoFuther improvements to the IN operator for row-values on virtual tables.
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

5 years agoNew test cases in test/fuzzdata8.db.
drh [Mon, 14 Oct 2019 15:24:20 +0000 (15:24 +0000)] 
New test cases in test/fuzzdata8.db.

FossilOrigin-Name: 344d9cb0c726078af6deb4a26bed3aded5b26914bb286d3446d3a4e9150840b7

5 years agoFix a problem with row-value IN(...) operators and virtual tables.
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

5 years agoWhen Select-Trace is enabled (in debugging builds only) do not show the
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

5 years agoUpdate the zipfile extension to use deflateBound(), instead of compressBound(), to...
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

5 years agoFuther improvements to LEFT JOIN strength reduction.
drh [Fri, 11 Oct 2019 17:14:40 +0000 (17:14 +0000)] 
Futher improvements to LEFT JOIN strength reduction.

FossilOrigin-Name: 8a39167bd2d46496f7484cfec371e4bad22da882209b01da9459c4ed5877da25

5 years agoImprovements to the LEFT JOIN strength reduction optimization.
drh [Fri, 11 Oct 2019 16:01:21 +0000 (16:01 +0000)] 
Improvements to the LEFT JOIN strength reduction optimization.

FossilOrigin-Name: 548082dfab5d9484279ccc11cd2833ac131b54b7481372b576d7c28bbb3294ea

5 years agoEnsure fts3/4 prefix indexes are flushed to disk before an 'optimize' command. Fix...
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

5 years agoFix the fts3/4 integrity-check command so that it works with "ORDER=DESC" tables...
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

5 years agoIncrease the version number to 3.31.0 for the next release cycle.
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

5 years agoFaster response to sqlite3_interrupt() in the OP_IntegrityCk and OP_Count
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

5 years agoUpdate the autoconf makefile for MSVC.
mistachkin [Thu, 10 Oct 2019 23:58:28 +0000 (23:58 +0000)] 
Update the autoconf makefile for MSVC.

FossilOrigin-Name: 9455643eecb74c8ac93ad3b3566f30e380dd912cdce3de993da5af42973ac59c

5 years agoFix harmless compiler warning seen with MSVC.
mistachkin [Thu, 10 Oct 2019 23:58:16 +0000 (23:58 +0000)] 
Fix harmless compiler warning seen with MSVC.

FossilOrigin-Name: 73a82114733af2a316f20eb8578badef307d14286c6ec03197744a6793425161

5 years agoPrevent SQLite from assuming that if ((? IS NOT NULL) IS NOT NULL) is true, ? may...
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

5 years agoFix a problem in the fts3 integrity-check routine causing it to report as corrupt...
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

5 years agoBe sure to rewrite column references inside FILTER clauses and window frame definitio...
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

5 years agoAvoid assuming that an expression that contains the sub-expression (? IS FALSE) or...
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

5 years agoDo not allow users to effectively disable fts5 crisismerge operations by setting...
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

5 years agoAn improved fix for the dbsqlfuzz-discovered ALWAYS() failure following OOM in
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

5 years agoDisallow fts5 page sizes greater than 65536 bytes - as there are 16-bit offsets used...
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

5 years agoRemove the "fastfuzztest" makefile target. Use only "fuzztest".
drh [Wed, 9 Oct 2019 15:08:27 +0000 (15:08 +0000)] 
Remove the "fastfuzztest" makefile target.  Use only "fuzztest".

FossilOrigin-Name: e17571c789db31123642d0ed1f3d8764e070019e0deb8b88cce58d2183551cdf

5 years agoNew test cases added to test/fuzzdata8.db.
drh [Wed, 9 Oct 2019 15:03:45 +0000 (15:03 +0000)] 
New test cases added to test/fuzzdata8.db.

FossilOrigin-Name: b68d21e93a0839b42f49845918df7738ee7fa2a05c7f4ae2f89fdbb5e47ad8eb

5 years agoChange sqlite3SelectDup() to always return NULL if an OOM has occurred.
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

5 years agoUse the "fuzztest" target in place of "fastfuzztest". makefile-cleanup
drh [Wed, 9 Oct 2019 13:52:31 +0000 (13:52 +0000)] 
Use the "fuzztest" target in place of "fastfuzztest".

FossilOrigin-Name: 7129e468fd182c1820cdfa2c66a81d1697e5d1580680b77c0df9bb0ae0049e0d

5 years agoRemove the obsolete "fastfuzztest" target from the makefiles.
drh [Wed, 9 Oct 2019 13:12:55 +0000 (13:12 +0000)] 
Remove the obsolete "fastfuzztest" target from the makefiles.

FossilOrigin-Name: 3d44f1ee0f606409bc9c091dae2c9d2e78ada318a0de08437f4f4835a1a5d203

5 years agoSave CPU cycles in sqlite3Prepare() by, among other things, shifting the
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

5 years agoFix problems with using the fts5 'rebuild' command inside a transaction that contains...
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

5 years agoDisallow page-sizes smaller than 32 bytes in fts5. Also ensure the fts5 integrity...
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

5 years agoOmit a pointless memory allocation in vdbeSorterSort().
drh [Mon, 7 Oct 2019 20:33:26 +0000 (20:33 +0000)] 
Omit a pointless memory allocation in vdbeSorterSort().

FossilOrigin-Name: 5d76dbc5b0584c15d7d59e5c079868f2077f32b865f406b40ec837b8ab6ef2e1

5 years agoFix a problem with running ALTER TABLE ADD COLUMN statements within a transaction...
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

5 years agoAdd a test case for the assert() fix in the previous commit.
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

5 years agoFix a faulty assert() statement in the sqlite3VdbeMemExpandBlob() routine.
drh [Mon, 7 Oct 2019 13:26:58 +0000 (13:26 +0000)] 
Fix a faulty assert() statement in the sqlite3VdbeMemExpandBlob() routine.

FossilOrigin-Name: 69a26eade2f92029e722a5a654214b1e2a3fc7ed497ce9aa5a7dce944f90e502

5 years agoFix the OP_SeekRowid opcode so that it works correctly with a Real argument
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

5 years agoOmit the check for conflicting shared-cache locks in sqlite3Prepare() if the
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

5 years agoOptimization to sqlite3VtabUnlockList() for the common case when there
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

5 years agoCall sqlite3Prepare() directly, rather than going through sqlite3_prepare(),
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

5 years agoReorder two comparisons for a small performance gain in OP_Transaction.
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

5 years agoPerformance optimization to the lookaside-memory disabling mechanism.
drh [Sat, 5 Oct 2019 14:39:36 +0000 (14:39 +0000)] 
Performance optimization to the lookaside-memory disabling mechanism.

FossilOrigin-Name: 17ce1c49cb0ed6fdd8c7c33431bc2afa217f1092c99b8dd608890a8e7aec7fb1

5 years agoVersion 3.30.0 version-3.30.0
drh [Fri, 4 Oct 2019 15:03:17 +0000 (15:03 +0000)] 
Version 3.30.0

FossilOrigin-Name: c20a35336432025445f9f7e289d0cc3e4003fb17f45a4ce74c6269c407c6e09f

5 years agoAvoid running a couple of tests in affinity2.test as part of the valgrind permutation...
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

5 years agoIncrease the precision of floating point value display in VDBE debugging
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

5 years agoFix some test script issues that come up with SQLITE_OMIT_VIRTUALTABLE builds.
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

5 years agoFix issues with command line invocation of wapptest.tcl.
dan [Thu, 3 Oct 2019 13:44:08 +0000 (13:44 +0000)] 
Fix issues with command line invocation of wapptest.tcl.

FossilOrigin-Name: 9e0d5d2640a92070967bc9fdf5c5b1653e41b9c04e04dcb70f18ead10f053aef

5 years agoUpdate error detection logic in releasetest.tcl to account for new
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

5 years agoUpdate corruptM.test to account for the fact that the database schema may be loaded...
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

5 years agoFix a long-standing problem in fts4 incrmental merge.
dan [Wed, 2 Oct 2019 19:33:34 +0000 (19:33 +0000)] 
Fix a long-standing problem in fts4 incrmental merge.

FossilOrigin-Name: 67da31e24ebb49c4cac81c9e7cfca37ca422555fd0fdb01d8f180890783c84ff

5 years agoDisable sqlite3_drop_module() tests when virtual tables are omitted from
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

5 years agoRemove references to test scripts analyzeA.test and analyzeB.test from
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

5 years agoThe nodeReaderInit() function in FTS3 may not assume that the node is
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

5 years agoAdd missing comment to constant definitions.
drh [Sat, 28 Sep 2019 18:28:19 +0000 (18:28 +0000)] 
Add missing comment to constant definitions.

FossilOrigin-Name: 661a3789eb329a2487855e49c31067a9dde4c91c1a3a65b65375d079f906b1da

5 years agoImprovements to a comment. No code changes.
drh [Sat, 28 Sep 2019 16:14:55 +0000 (16:14 +0000)] 
Improvements to a comment.  No code changes.

FossilOrigin-Name: 1a3671c7003bfff817a8239424c2f945d9dfced97daadb5a5acab203b9bda69b

5 years agoIn FTS3/4, the poslist end marker must be larger than any other possible
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

5 years agoUpdate requirement marks due to changes in documentation wording.
drh [Fri, 27 Sep 2019 17:36:37 +0000 (17:36 +0000)] 
Update requirement marks due to changes in documentation wording.

FossilOrigin-Name: 326cdc16f4db23c1d17596e4ef8d9d7abc672d48665950029ba53fd40c1b2d99

5 years agoAllow compile-time options -DHAVE_GETHOSTUUID=0 and -DHAVE_GETHOSTUUID=1.
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

5 years agoAlternative implementation of the previous check-in which is testable.
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

5 years agoFix sqlite3ExprCompare() so that it ignores differences in the Expr.iTable
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

5 years agoMore minor test file fixes.
dan [Thu, 26 Sep 2019 20:57:53 +0000 (20:57 +0000)] 
More minor test file fixes.

FossilOrigin-Name: 352878fe1cbcf7b6803624544bba5a95565d1638d4dd09e91764ddad17889301

5 years agoAllow DROP TABLE to work on tables name "sqlite_parameters" just as it
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

5 years agoMinor fix for test file indexexpr1.test.
dan [Thu, 26 Sep 2019 19:53:26 +0000 (19:53 +0000)] 
Minor fix for test file indexexpr1.test.

FossilOrigin-Name: 0ceab26f15c4c7039647cbccf8939dd5c36a60b70ffeefcd3b415c8d4d8351cd

5 years agoNew dbsqlfuzz cases added to test/fuzzdata8.db.
drh [Thu, 26 Sep 2019 16:57:42 +0000 (16:57 +0000)] 
New dbsqlfuzz cases added to test/fuzzdata8.db.

FossilOrigin-Name: 49073b7003330027303c4c776e9f85112f8b99b89f848fec3f953eba501d7505

5 years agoTest for an OOM condition in resolveAlias().
drh [Thu, 26 Sep 2019 16:08:35 +0000 (16:08 +0000)] 
Test for an OOM condition in resolveAlias().

FossilOrigin-Name: 322eca7f6ad2234059669015aabb773a790e8bc3da95431c9c851ff5342c969b

5 years agoFix a window-functions problem that could occur if an ORDER BY clause contains an...
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

5 years agoAdd a missing VdbeCoverage() macro.
drh [Wed, 25 Sep 2019 18:44:49 +0000 (18:44 +0000)] 
Add a missing VdbeCoverage() macro.

FossilOrigin-Name: 36d35dbd5a80dc4a149ed7409cc4b43712622fc4c6a8915b4fbb62fd1d6b7763

5 years agoRemove an unused variable.
drh [Wed, 25 Sep 2019 17:47:41 +0000 (17:47 +0000)] 
Remove an unused variable.

FossilOrigin-Name: a19884455b9bafcdc769362d61cfd02df1b5643263e004cb533698bbcfca752b

5 years agoFurther simplifications to window-function code.
dan [Wed, 25 Sep 2019 16:41:44 +0000 (16:41 +0000)] 
Further simplifications to window-function code.

FossilOrigin-Name: 5fe15c1d8383989257e11d1806e6b035acacd1b504ae385ba58d20db10f26eee

5 years agoIn the previous check-in, the variable should be openMode, not openFlags.
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

5 years agoIn the unix VFS layer, do not attempt to chown() the journal to be the same
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

5 years agoSimplifications to the window-function code.
drh [Wed, 25 Sep 2019 02:07:50 +0000 (02:07 +0000)] 
Simplifications to the window-function code.

FossilOrigin-Name: 489a1eb3aa2f1225b97b50a5f8688cf1a4ab0371973da1badc29616d70386c03

5 years agoBug fixes for window frames of the form (... RANGE BETWEEN b PRECEDING AND a PRECEDIN...
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

5 years agoOmit the sqlite3IntTokens array constant for a code simplification.
drh [Mon, 23 Sep 2019 12:38:10 +0000 (12:38 +0000)] 
Omit the sqlite3IntTokens array constant for a code simplification.

FossilOrigin-Name: f907395ef5a2dc1d084b6a286af00de4c742cf12d4f347c21e1b757786508f57

5 years agoWhen a scalar subquery has a pre-existing "LIMIT X" then change it to
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

5 years agoFix a harmless unused variable warning in the test logic.
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

5 years agoFix harmless compiler warnings.
drh [Sat, 21 Sep 2019 17:31:03 +0000 (17:31 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: 8ea1dc727d391b15d0c4fa858ff68d5b8a63dde46408f24027dac8d28f044cbd

5 years agoAllow SQLite to omit redundant ORDER BY sorts in the case where a SELECT statement...
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

5 years agoAdd --multithread, --serialized, and --singlethread options to the
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

5 years agoSimplify the fix in the previous commit.
dan [Fri, 20 Sep 2019 21:12:40 +0000 (21:12 +0000)] 
Simplify the fix in the previous commit.

FossilOrigin-Name: 5ef64b0f55d952c7b0016055eaf6bbc1b5b7afc09a62ee8e5e694ffa9863ac7c

5 years agoFix a problem with queries containing a min() or max() function for which the FILTER...
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

5 years agoFix an assert() in fts3 that could fail when accessing a corrupt database.
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

5 years agoAlways clear the temporary register cache after coding a subroutine.
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

5 years agoAdd extra tests for the handling of corrupt records in fts3.
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

5 years agoFix another potential "jump depends on uninitialized value" warning.
drh [Wed, 18 Sep 2019 12:49:34 +0000 (12:49 +0000)] 
Fix another potential "jump depends on uninitialized value" warning.

FossilOrigin-Name: 633b214e9b9d99788ed72ab4823a69a43c7c40ed07fb76c7d56c50453c0e58ab

5 years agoFix a "jump depends on unititialized value" valgrind error in fts5 triggered by corru...
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

5 years agoFix an OOB read in the INSTR() function introduced yesterday by check-in
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

5 years agoDo not change the OP_String8 opcode into OP_String until *after* any necessary
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

5 years agoTest cases for ticket [587791f92620090e]
drh [Tue, 17 Sep 2019 13:30:30 +0000 (13:30 +0000)] 
Test cases for ticket [587791f92620090e]

FossilOrigin-Name: ca0e3a83a1c015b346a791e6de03904d17a769c52dad0e3d71316c6e2e3f43c7

5 years agoFix the instr() SQL function so that it makes a copy of its argument
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

5 years agoImproved type information display when tracing VDBE execution.
drh [Mon, 16 Sep 2019 20:16:17 +0000 (20:16 +0000)] 
Improved type information display when tracing VDBE execution.

FossilOrigin-Name: ee83d8e30d6f9ca8f1cce653ee094ff151f633f4b6a21dd814ab07e8cfb901eb

5 years agoDo not attempt the LIKE optimization for non-text columns and a pattern
drh [Mon, 16 Sep 2019 18:19:41 +0000 (18:19 +0000)] 
Do not attempt the LIKE optimization for non-text columns and a pattern
prefix of "-".  Ticket [0f0428096f17252a]

FossilOrigin-Name: 6fe0367f9a337b7c62886b7771f3ce0642faa13f4e4f3d9a0c848abbab514cd0

5 years agoAdd recent interesting cases from dbsqlfuzz.
drh [Mon, 16 Sep 2019 15:15:38 +0000 (15:15 +0000)] 
Add recent interesting cases from dbsqlfuzz.

FossilOrigin-Name: f06ef3d75d85545dd58c6dda10f7ad04fafbb7ae8706b3821be21f86a94795f1

5 years agoDocumentation updates for the SQLITE_DIRECTONLY flag.
drh [Mon, 16 Sep 2019 14:42:07 +0000 (14:42 +0000)] 
Documentation updates for the SQLITE_DIRECTONLY flag.

FossilOrigin-Name: 5beb6dc9bc2d3d0003e33488df9c01aaf28c41c30fd9ca35543cbe3ec5a8d9ce

5 years agoFix a problem with processing CTEs that use a WINDOW clause.
dan [Mon, 16 Sep 2019 05:34:08 +0000 (05:34 +0000)] 
Fix a problem with processing CTEs that use a WINDOW clause.

FossilOrigin-Name: ca564d4b5b19fe56842a04f31bb61352e6ae9d72a7e7634eb27ebcf5f670545a

5 years agoAdd the --no-rowids option to the ".recover" command.
dan [Sat, 14 Sep 2019 16:44:51 +0000 (16:44 +0000)] 
Add the --no-rowids option to the ".recover" command.

FossilOrigin-Name: 01d71b947a7422081d5c7d6ac2c91b9c936dc41926ab58c92f4a088a64e8c051

5 years agoExtra comments on fields of the Window object.
drh [Sat, 14 Sep 2019 16:21:02 +0000 (16:21 +0000)] 
Extra comments on fields of the Window object.

FossilOrigin-Name: 3dbed162518a73213bbfb137c763064518fdc2daeae3952cfab39ce0e6813d3f

5 years agoFix the windows inverse function on the JSON aggregates.
drh [Sat, 14 Sep 2019 00:21:34 +0000 (00:21 +0000)] 
Fix the windows inverse function on the JSON aggregates.

FossilOrigin-Name: f464d847af490dd3ec45565dcc4c2e6ff4ed1ebb65036f30ca0b3ce2e73080e6

5 years agoFix a problem with using json1 window functions with an EXCLUDE clause.
dan [Fri, 13 Sep 2019 20:42:46 +0000 (20:42 +0000)] 
Fix a problem with using json1 window functions with an EXCLUDE clause.

FossilOrigin-Name: 4a1978814da41608a16f6953bd575c97d587a34bd80b7ac0e619d62bfdc903d2

5 years agoFix the windowB test module so that it works even if SQLite is built without
drh [Fri, 13 Sep 2019 18:59:04 +0000 (18:59 +0000)] 
Fix the windowB test module so that it works even if SQLite is built without
JSON support.

FossilOrigin-Name: 807975c76b36347f02aa0ce9661d608adbffe1f7e77c15f8da677e47e1187153

5 years agoAdd the SQLITE_SUBTYPE flag, which may be passed to sqlite3_create_window_function...
dan [Fri, 13 Sep 2019 18:27:17 +0000 (18:27 +0000)] 
Add the SQLITE_SUBTYPE flag, which may be passed to sqlite3_create_window_function() to indicate that the window function uses sqlite3_value_subtype() to check the sub-type of its arguments.

FossilOrigin-Name: ba2ebc3a348decc5cedaf14960e30e7ae26a26824cfa198727f2499162142ef3

5 years agoFix a typo in the carray extension header comment - the comment that serves
drh [Fri, 13 Sep 2019 17:30:24 +0000 (17:30 +0000)] 
Fix a typo in the carray extension header comment - the comment that serves
as the documentation to this extension.

FossilOrigin-Name: 658a42d3633b31fda260f2c5a1a2c7dd8eb4eb0114d322369017c56faf5ecd42