]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Sat, 26 Oct 2019 17:08:06 +0000 (17:08 +0000)]
Performance optimization on sqlite3GenerateConstraintChecks() - bypass the
loop that checks each column for NOT NULL constraints if it is known in
advance that the table has no NOT NULL constraints.
FossilOrigin-Name:
e3c3f4d7872f431a95627d52553101388c1e39458cc7e7f93fc81255f49a89a5
drh [Sat, 26 Oct 2019 16:38:49 +0000 (16:38 +0000)]
Clarify some comments and add assert() and testcase() macros to the
replace-trigger recheck logic for ticket [
c1e19e12046d23fe ]
FossilOrigin-Name:
8c0042bd5ccd83f8794d19cbb1ec7564584f0dce54bfebc0ada00b836aca065f
drh [Sat, 26 Oct 2019 16:02:34 +0000 (16:02 +0000)]
Fix a problem in the legacy ".explain on" formatting when it is used on
a query with more than 8 output columns.
FossilOrigin-Name:
070b49825c5f87cce15be4b758f0dfdd65226ec379465ca527a18706a1f3b8f4
drh [Sat, 26 Oct 2019 15:40:17 +0000 (15:40 +0000)]
Minor changes to help ensure the pointer returned by sqlite3VdbeGetOp() is
not used after it becomes invalid.
FossilOrigin-Name:
346bdd49fb93aa58e8bd14250974d8c0c32cc7e8317c8b12da1fa44db10d8a3a
drh [Sat, 26 Oct 2019 12:27:55 +0000 (12:27 +0000)]
Overnight, OSSFuzz helpfully pointed out a potential use-after-free bug in
yesterdays changes, involving continued use of a pointer after the memory
pointed to had been realloc()-ed. Thanks Google.
FossilOrigin-Name:
c422afb507dc875751e6a72e4ba5f4f0793097c0de4533c1600311f689e76ed7
drh [Sat, 26 Oct 2019 01:43:14 +0000 (01:43 +0000)]
Add missing VdbeCoverage() macro. Fix an off-by-one error in partial index
handling. New test cases. Ticket [
c1e19e12046d23fe ]
FossilOrigin-Name:
41cc8e3dab998f7efc898d18837ca7fdac94ea3f89954990c5231456bf725fee
drh [Sat, 26 Oct 2019 00:04:21 +0000 (00:04 +0000)]
If replace triggers are run during uniqueness checking, then rerun all
uniqueness checks a second time using the ABORT algorithm.
Fix for ticket [
c1e19e12046d23fe ]
FossilOrigin-Name:
fbac0c65d8464b126d385262d176864add55452ec9e3d5eb76ffee06e820cb9c
drh [Fri, 25 Oct 2019 14:46:05 +0000 (14:46 +0000)]
Performance optimization in sqlite3BtreeCursor().
FossilOrigin-Name:
ea068b099c96b8b9526114732d2a6be186cf381b7329d102778ad25b95510c9e
dan [Thu, 24 Oct 2019 20:35:27 +0000 (20:35 +0000)]
In fts5, fix a case of overreading a buffer by 1 byte when counting characters in malformed utf-8. Fix for [
dd1f67bf ].
FossilOrigin-Name:
8d964e1c21d4cea699023e02b0616a75c5859dd083c9365cdcbc0676ebbdaae4
drh [Thu, 24 Oct 2019 19:35:26 +0000 (19:35 +0000)]
Correction to check-in [
bec5b6d4d083556d ] so that it detects *all*
triggers that might perturb the insertion cursor.
Ticket [
50c09fc2cf0d91ce ].
FossilOrigin-Name:
521f1d36282549488a47a434484a24924ee970d29f05a8ae499b7d536bcd692b
drh [Wed, 23 Oct 2019 21:00:40 +0000 (21:00 +0000)]
Add an experimental set of UUID processing functions as the uuid.c
extension in ext/misc/uuid.c.
FossilOrigin-Name:
1a6e009372cf9571e540812c8607e95a86740112a1091f03e3f632339eccb629
drh [Wed, 23 Oct 2019 18:09:39 +0000 (18:09 +0000)]
When a vector comparison appears in the WHERE clause and the constraint side
has a COLLATE clause on the first term of the vector, be sure to honor that
COLLATE clause. Ticket [
135c9da7513e5a97 ].
FossilOrigin-Name:
978b2d20cf95d0b7143e3104ce1e9d5c85002867b554dc6b21deb528b730bbc7
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)]