]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
2 years agoMerge the 3.41.2 patches into the bedrock-3.41 subbranch of bedrock. bedrock-3.41
drh [Wed, 22 Mar 2023 13:35:58 +0000 (13:35 +0000)] 
Merge the 3.41.2 patches into the bedrock-3.41 subbranch of bedrock.

FossilOrigin-Name: b7a144c499446125964bbe21f3447cdfaa9de6a9743eeb970abfcbe277f14827

2 years agoMerge the 3.41.2 patch into the wal2-3.41 subbranch of wal2. wal2-3.41
drh [Wed, 22 Mar 2023 13:25:22 +0000 (13:25 +0000)] 
Merge the 3.41.2 patch into the wal2-3.41 subbranch of wal2.

FossilOrigin-Name: db44f17a84ec5907315a8790c1dbbd8eb8fba7f8d9a05998e2c6b1bde7babc2a

2 years agoVersion 3.41.2 version-3.41.2
drh [Wed, 22 Mar 2023 11:56:21 +0000 (11:56 +0000)] 
Version 3.41.2

FossilOrigin-Name: 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da

2 years agoIncrement the version number in the TEA configure script to 3.41.2.
drh [Wed, 22 Mar 2023 11:12:28 +0000 (11:12 +0000)] 
Increment the version number in the TEA configure script to 3.41.2.

FossilOrigin-Name: 2bb74aa501b7245f4e4d789630fe8c5265c7644ce223404fe7360d5a1fe8cd76

2 years agoFix a valgrind error and potential buffer overread when handling a corrupt database.
drh [Tue, 21 Mar 2023 11:27:41 +0000 (11:27 +0000)] 
Fix a valgrind error and potential buffer overread when handling a corrupt database.

FossilOrigin-Name: cb8b34fa1aa8bbe756ad9cfd864f93f8b5a78948b2622aaa230d4db18b846a4f

2 years agoFix a problem causing a cursor to retain an out-of-date cell-info cache when processi...
drh [Mon, 20 Mar 2023 15:50:40 +0000 (15:50 +0000)] 
Fix a problem causing a cursor to retain an out-of-date cell-info cache when processing a DISTINCT query on values that are identical according to their collation sequence, but different on disk.

FossilOrigin-Name: b02811847cbb9c80ba886d3e84fc6a8048cde5c932405f50416baf6e0cbd78e9

2 years agoFix problems with the sqlite3_error_offset() function and its use in the CLI.
drh [Mon, 20 Mar 2023 01:59:58 +0000 (01:59 +0000)] 
Fix problems with the sqlite3_error_offset() function and its use in the CLI.

FossilOrigin-Name: d5cd6c885b71b0939f5832fbb63bf800ae03dbbc2dc0f7beab1270133d414c54

2 years agoIncrease the size of ref-count values in the pager layer to 64-bits, to avoid
drh [Sun, 19 Mar 2023 21:53:35 +0000 (21:53 +0000)] 
Increase the size of ref-count values in the pager layer to 64-bits, to avoid
any reasonable possiblity of overflowing the counters.

FossilOrigin-Name: 824611ad33011bda676ce6c9c3cb2b46442fc0a48c458bdc86dd960623c1e945

2 years agoAvoid a buffer overread in fts3 that could occur when processing a corrupt record.
drh [Sun, 19 Mar 2023 10:30:02 +0000 (10:30 +0000)] 
Avoid a buffer overread in fts3 that could occur when processing a corrupt record.

FossilOrigin-Name: 1f91fe4bfc81bf66f9c8f0aebe0acdbac89e2c20d90a5eb4ea0a3c560b82a9cd

2 years agoFix a potential buffer overread in the recovery extension.
dan [Fri, 17 Mar 2023 14:22:45 +0000 (14:22 +0000)] 
Fix a potential buffer overread in the recovery extension.

FossilOrigin-Name: 78836713c965066cb9c1cc732a9cecb1d74a25f37775a01c088393881e4fd8d6

2 years agoEnsure that an error does not delete the Table object out from under
drh [Fri, 17 Mar 2023 12:25:10 +0000 (12:25 +0000)] 
Ensure that an error does not delete the Table object out from under
the xConstruct method of a virtual table.
dbsqlfuzz 7cc8804a1c6d4e3d554d79096e6ea75a7c1c7d2d

FossilOrigin-Name: c5bd0ea3b5b2f3ed8e971c5fd6e85e8f06d8055d74df65612c3794138306e6ba

2 years agoIncrease the version number to 3.41.2
drh [Fri, 17 Mar 2023 10:30:05 +0000 (10:30 +0000)] 
Increase the version number to 3.41.2

FossilOrigin-Name: 122f12f5363245a4566dc15ce81ecac5fce70ce9aa478408483f88bd86a8e6bc

2 years agoFix assert() statements that would (incorrectly) fire if an IF NOT EXISTS
drh [Fri, 17 Mar 2023 00:10:06 +0000 (00:10 +0000)] 
Fix assert() statements that would (incorrectly) fire if an IF NOT EXISTS
trigger that already exists contained two or more RETURNING clauses.

FossilOrigin-Name: 9b43b34d81adb1a8fd5e087f6c61387ed3a2e3e604418e295906d220f5cc5254

2 years agoCorrectly handle SELECT DISTINCT ... ORDER BY when all of the result set terms
drh [Thu, 16 Mar 2023 21:05:59 +0000 (21:05 +0000)] 
Correctly handle SELECT DISTINCT ... ORDER BY when all of the result set terms
are constant and there are more result set terms than ORDER BY terms.

FossilOrigin-Name: 097512b60498803570fe80d0403963ed2b5cecbee7156af355418ff9f1851d60

2 years agoDo not use the one-pass optimization on an UPDATE if there is a subquery
drh [Thu, 16 Mar 2023 10:21:52 +0000 (10:21 +0000)] 
Do not use the one-pass optimization on an UPDATE if there is a subquery
in the WHERE clause, since if the subquery is hidden behind a short-circuit
operator, the subquery might not be evaluated until after one or more rows
have been updated.

FossilOrigin-Name: b5d8a9a6a58b4eb81a663192f578e0fbed72e8155bc7e1100ece04e8394a1984

2 years agoRemove a NEVER() from btreeNext().
drh [Thu, 16 Mar 2023 09:16:31 +0000 (09:16 +0000)] 
Remove a NEVER() from btreeNext().

FossilOrigin-Name: 40623f5ab07481179f1efd5d377555c8d78bf0706a16212c0f6b954c17736a5c

2 years agoFix a broken assert() in the recovery extension.
drh [Thu, 16 Mar 2023 09:12:09 +0000 (09:12 +0000)] 
Fix a broken assert() in the recovery extension.

FossilOrigin-Name: 048711e49002e59cbaf51079403a3f37abaa7d3a04e0cb20de4aed2d56c0e837

2 years agoDisallow the one-pass optimization for DELETE if the WHERE clause contains
drh [Wed, 15 Mar 2023 18:05:02 +0000 (18:05 +0000)] 
Disallow the one-pass optimization for DELETE if the WHERE clause contains
a subquery.

FossilOrigin-Name: 25e1831885e8de370482a1e9f664f1590fa49995048fb16e1f948acd2a29c3e3

2 years agoFix Bloom filters on an expression index.
drh [Tue, 14 Mar 2023 20:16:48 +0000 (20:16 +0000)] 
Fix Bloom filters on an expression index.

FossilOrigin-Name: 11e0256b8c6f29bd2e60a0820f740e9927112bf6a0814751b7a73896298b4826

2 years agoThe cherry-pick merge at [371838562a675c1b] caused a performance regression
drh [Sat, 11 Mar 2023 23:29:34 +0000 (23:29 +0000)] 
The cherry-pick merge at [371838562a675c1b] caused a performance regression
for some queries, which is here fixed.

FossilOrigin-Name: 6d6d95fcedbc8758ab284d3014ae4a97af6247003bb3d0a7056f2e6bffa6cae4

2 years agoMerge the 3.41.1 patches into the bedrock branch.
drh [Fri, 10 Mar 2023 12:47:24 +0000 (12:47 +0000)] 
Merge the 3.41.1 patches into the bedrock branch.

FossilOrigin-Name: 2780cc9f8b75d0449f1cb241b2f8e78acb82629d3482390071684bf0577a0905

2 years agoVersion 3.41.1 version-3.41.1
drh [Fri, 10 Mar 2023 12:13:52 +0000 (12:13 +0000)] 
Version 3.41.1

FossilOrigin-Name: 20399f3eda5ec249d147ba9e48da6e87f969d7966a9a896764ca437ff7e737ff

2 years agoMerge the latest 3.41 patches into a new branch called wal2-3.41.
drh [Fri, 10 Mar 2023 00:21:20 +0000 (00:21 +0000)] 
Merge the latest 3.41 patches into a new branch called wal2-3.41.

FossilOrigin-Name: e67bfc76fae5a5368816532aa666fc85c46623c2d8c10efa4a43c2e06fbc9e23

2 years agoIn the Bloom filter optimization, hash all strings and blobs into the same
drh [Thu, 9 Mar 2023 16:04:34 +0000 (16:04 +0000)] 
In the Bloom filter optimization, hash all strings and blobs into the same
value, because we do not know if two different strings might compare equal
even if they have different byte sequences, due to collating functions.
Formerly, the hash of a string or blob was just its length.  This could
all be improved.

FossilOrigin-Name: cc8a0ee40cfc83ab42a0ff452de0a53fe17784aefb944ea7ac2cb078a8310730

2 years agoFix countofview.test so that it works with SQLITE_OMIT_PROGRESS_CALLBACK builds.
dan [Thu, 9 Mar 2023 15:08:56 +0000 (15:08 +0000)] 
Fix countofview.test so that it works with SQLITE_OMIT_PROGRESS_CALLBACK builds.

FossilOrigin-Name: d55a7742c9447eba20a7fe252fb3edcabba3793030a55976d5a5e6c65bce7706

2 years agoUpdate the version number to 3.41.1
drh [Thu, 9 Mar 2023 14:14:18 +0000 (14:14 +0000)] 
Update the version number to 3.41.1

FossilOrigin-Name: e4e2e64725a196ee4f287649db33f49fd7329c95cef3ce743cd177c998a6a343

2 years agoMerge count-of-view optimization fixes from trunk. But count-of-view is
drh [Thu, 9 Mar 2023 13:58:49 +0000 (13:58 +0000)] 
Merge count-of-view optimization fixes from trunk.  But count-of-view is
still off by default for this branch.

FossilOrigin-Name: cbbe8986ea26e78a7c5b122170cb5bf3f275f8e3a2941017f9ef11d7f3864256

2 years agoFix a possible NULL pointer dereference due to the sqlite3_interrupt()
drh [Thu, 9 Mar 2023 01:35:52 +0000 (01:35 +0000)] 
Fix a possible NULL pointer dereference due to the sqlite3_interrupt()
enhancement in the 3.41.0 release.

FossilOrigin-Name: 66d24a220e3455a183b61490f42869520744cb3990e13f3ded92f1b6a7e248ce

2 years agoKeep the historical datatype ("INT", not "NUM") for a table created as follows: ...
drh [Wed, 8 Mar 2023 14:37:04 +0000 (14:37 +0000)] 
Keep the historical datatype ("INT", not "NUM") for a table created as follows: "CREATE TABLE t1 AS SELECT CAST(123 AS INT) AS value;".  The use of FLEXNUM only occurs on compound queries.

FossilOrigin-Name: dc1033af4bf707095032f66d7a8ab63204f38bae244fab16a2bc870840d5bffd

2 years agoFix an assertion fault added by [65ffee234787213c].
drh [Wed, 8 Mar 2023 00:04:47 +0000 (00:04 +0000)] 
Fix an assertion fault added by [65ffee234787213c].

FossilOrigin-Name: d00e68baf73238d2f91df6b19525c91539a7fe26406516cbacfff113e79e26ea

2 years agoCherry-pick the agg-with-indexed-expr optimization fix from trunk.
drh [Sat, 4 Mar 2023 15:49:33 +0000 (15:49 +0000)] 
Cherry-pick the agg-with-indexed-expr optimization fix from trunk.

FossilOrigin-Name: b2ad89d3f0fe5c7582d97e65770eb93986ba8d4b031aafb04f86160383b47aab

2 years agoDo not use an expression index on a generated column if generated column has the...
drh [Fri, 3 Mar 2023 19:47:09 +0000 (19:47 +0000)] 
Do not use an expression index on a generated column if generated column has the wrong affinity.

FossilOrigin-Name: 65ffee234787213ca3b12afde1b5ed7ae536366c30e984b14c0975da0c57917d

2 years agoEnhance PRAGMA integrity_check so that it can detect when there are extra
drh [Fri, 3 Mar 2023 18:47:29 +0000 (18:47 +0000)] 
Enhance PRAGMA integrity_check so that it can detect when there are extra
bytes at the end of an index record, which might cause OP_IdxRowid to
malfunction.

FossilOrigin-Name: c143f08713ec5dcc7609804f1fa0d795005c7ebd265b73e42342584d759eae01

2 years agoWhen it is known when preparing a statement that X cannot be NULL, transform the...
drh [Fri, 3 Mar 2023 17:11:15 +0000 (17:11 +0000)] 
When it is known when preparing a statement that X cannot be NULL, transform the expression (X IS NULL) to integer value 1 instead of 'true'. This is because under some circumstances, "Y IS TRUE" may not be equivalent to "Y IS 1".

FossilOrigin-Name: 0fc7f7c2a90ce9bc3462478441b4e628c90e5adff0d461e6cc3521371b7f1f08

2 years agoWhen flattening the right operand of a LEFT JOIN,
drh [Thu, 2 Mar 2023 14:09:11 +0000 (14:09 +0000)] 
When flattening the right operand of a LEFT JOIN,
ensure that the OP_IfNullRow opcode does not
NULL-out a subquery result that was computed within OP_Once.

FossilOrigin-Name: c80b262c9dbde80c51872f36f9c4d406eba1c3f34468d36d5cb7084b1720ee5c

2 years agoWhen flattening a view that is the right operand of a LEFT JOIN
drh [Wed, 1 Mar 2023 20:44:34 +0000 (20:44 +0000)] 
When flattening a view that is the right operand of a LEFT JOIN
always insert the TK_IF_NULL_ROW expression nodes, even for TK_COLUMN
expressions, as the TK_COLUMN might be a column from an outer query
and hence still need to be NULLed out.

FossilOrigin-Name: 371838562a675c1bdd9c80250230eb87ac0e5e135cc39abbdbe1f8b1b8149445

2 years agoMake sure subtypes do not cross a subquery
drh [Wed, 1 Mar 2023 15:28:34 +0000 (15:28 +0000)] 
Make sure subtypes do not cross a subquery
boundary even if the function that returned the value with a subtype is
buried down inside a larger expression.

FossilOrigin-Name: 9dc460318d98308f51e31df216872ff96ece67c86f50c3fd11bf2a3df112afdd

2 years agoWhen a table-valued function appears as the right table of a RIGHT JOIN,
drh [Sun, 26 Feb 2023 21:09:45 +0000 (21:09 +0000)] 
When a table-valued function appears as the right table of a RIGHT JOIN,
the argument constraints on the table-valued function should be considered
part of the ON clause of the RIGHT JOIN.

FossilOrigin-Name: d225d077c4fcc526e70d59018479bba723d464cac5ac805eeeebd7d2a48cedcf

2 years agoFix a problem with the sqlite3sessions_fullchangeset() and sqlite3changebatch_add...
dan [Fri, 24 Feb 2023 19:58:56 +0000 (19:58 +0000)] 
Fix a problem with the sqlite3sessions_fullchangeset() and sqlite3changebatch_add() APIs on this branch.

FossilOrigin-Name: a95a4bce8892eba3ab6e76a49975a52efeedebfd9af22bb31af30301b1d92328

2 years agoProvide -DHAVE_LOG2=0 and -DHAVE_LOG10=0 compile-time options for use on systems
drh [Thu, 23 Feb 2023 17:12:07 +0000 (17:12 +0000)] 
Provide -DHAVE_LOG2=0 and -DHAVE_LOG10=0 compile-time options for use on systems
that lack the log2() and log10() standard math library routines, to cause
SQLite to substitute its own alternatives.

FossilOrigin-Name: ff3362ab53752de10bd95a16804ce3ef31edd8f0cb3099841c3e4ffc1d79d64d

2 years agoUpdate the bedrock branch to version 3.41.0
drh [Tue, 21 Feb 2023 21:22:24 +0000 (21:22 +0000)] 
Update the bedrock branch to version 3.41.0

FossilOrigin-Name: dc1d85707b130aae2f07b6b1961e0acd42d7a302b3518670f3dbfa96c179386d

2 years agoUpdate the wal2 branch to version 3.41.0.
drh [Tue, 21 Feb 2023 21:19:36 +0000 (21:19 +0000)] 
Update the wal2 branch to version 3.41.0.

FossilOrigin-Name: 7bb1f6dca2d2e0c0c70f1d2d0c7130c182fc45e48138c57a3fbe92ee1f68da96

2 years agoVersion 3.41.0 version-3.41.0
drh [Tue, 21 Feb 2023 18:09:37 +0000 (18:09 +0000)] 
Version 3.41.0

FossilOrigin-Name: 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d

2 years agoDisable DQS by default in the MSVC makefile for the amalgamation tarball.
drh [Tue, 21 Feb 2023 13:28:49 +0000 (13:28 +0000)] 
Disable DQS by default in the MSVC makefile for the amalgamation tarball.

FossilOrigin-Name: 409a19145e9558686acab730b94c6d53691b6d0efcea1e9239fc7e5863586a85

2 years agoYet another comment typo fix. No changes to working code.
drh [Tue, 21 Feb 2023 12:42:25 +0000 (12:42 +0000)] 
Yet another comment typo fix.  No changes to working code.

FossilOrigin-Name: cdbdc8013fcfa8ce1bd4f5521c8d98afc53b9c577d43e5e6d0d1e15c789b910f

2 years agoFix a minor typo in a comment. No changes to working code.
drh [Tue, 21 Feb 2023 12:34:00 +0000 (12:34 +0000)] 
Fix a minor typo in a comment.  No changes to working code.

FossilOrigin-Name: 7981671d1449b3fc6eb214deb558d91b87dc4fa6e38e24606625a146cc71664a

2 years agoFix formatting and improved documentation on the various sqlite3_file_control()
drh [Tue, 21 Feb 2023 12:30:18 +0000 (12:30 +0000)] 
Fix formatting and improved documentation on the various sqlite3_file_control()
opcodes.  Other minor documentation changes.  No changes to working code.

FossilOrigin-Name: 13280f720a4ef5a1f7f2a2fbe72f374d3a2e12be9bc0c50f7fce50d0cd28a67f

2 years agoUpdate the TEA version number to 3.41.0
drh [Mon, 20 Feb 2023 19:43:01 +0000 (19:43 +0000)] 
Update the TEA version number to 3.41.0

FossilOrigin-Name: b450a920c0c59affd105616e999205cb9d2b25a79f8a7f7f05610ddaac0f770f

2 years agoFix an incorrect #ifdef in the CLI.
drh [Mon, 20 Feb 2023 16:55:58 +0000 (16:55 +0000)] 
Fix an incorrect #ifdef in the CLI.

FossilOrigin-Name: 3c4d29cf227511bf218ef620d497dc72c708dcc819971b34c7629f3ed11803fb

2 years agoFix a harmless compiler warning.
drh [Sun, 19 Feb 2023 19:16:51 +0000 (19:16 +0000)] 
Fix a harmless compiler warning.

FossilOrigin-Name: b2534d8de5051a3516f4b9ee5a4b99e1dcf455e9af88c60815d2c2a479fc8566

2 years agoMerge the lastest trunk code into the bedrock branch.
drh [Sat, 18 Feb 2023 21:52:25 +0000 (21:52 +0000)] 
Merge the lastest trunk code into the bedrock branch.

FossilOrigin-Name: 73e9f8d0bf78bbbaa3435330e485126bb09f008f35c1d0f366efd5e511f8f4a9

2 years agoMerge the latest trunk enhancements into the wal2 branch.
drh [Sat, 18 Feb 2023 21:42:38 +0000 (21:42 +0000)] 
Merge the latest trunk enhancements into the wal2 branch.

FossilOrigin-Name: a36de0c803ee170b34105fadfc1f9790cda68a921fd5034790397f9853798f43

2 years agoFix stale requirement marks and fix a typo in the documentation for
drh [Sat, 18 Feb 2023 20:31:26 +0000 (20:31 +0000)] 
Fix stale requirement marks and fix a typo in the documentation for
sqlite3_preupdate_hook().

FossilOrigin-Name: 655991f5d9afdd3281049eb430921046e0ba90eef215020c2fb149adc0d3c4c5

2 years agoFix a harmless UBSAN warning in debugging code of the new unhex() function.
drh [Sat, 18 Feb 2023 15:50:23 +0000 (15:50 +0000)] 
Fix a harmless UBSAN warning in debugging code of the new unhex() function.

FossilOrigin-Name: 315574d5cbe5c805ff2163052d986b054985984fb45bfb064d1a7b39a22b90eb

2 years agoFix a harmless typo in the test case added by [29fc06465efb948f].
drh [Fri, 17 Feb 2023 22:48:46 +0000 (22:48 +0000)] 
Fix a harmless typo in the test case added by [29fc06465efb948f].

FossilOrigin-Name: e0a0bf56f11f32f58705098e76c276deaf90cfa87e110032bdaad10ce9674f61

2 years agoDo not allow the COUNTOFVIEW optimization to run if the count() contains
drh [Fri, 17 Feb 2023 18:27:48 +0000 (18:27 +0000)] 
Do not allow the COUNTOFVIEW optimization to run if the count() contains
a FILTER clause.  dbsqlfuzz 4f8e0de6e272bbbb3e1b41cb5aea31e0b47297e3

FossilOrigin-Name: 29fc06465efb948f98d2733bb25ffa1e0662a0189304006b3d0be9fec7dd28c5

2 years agoUpdate testrunner.tcl to run zipvfs test scripts on unix.
dan [Tue, 14 Feb 2023 18:09:40 +0000 (18:09 +0000)] 
Update testrunner.tcl to run zipvfs test scripts on unix.

FossilOrigin-Name: e6c8e19ab0d6e7526d4596b75a45bb6becaf3c029690f7e75c016eac803c9990

2 years agoIgnore extra parentheses around a subquery on the RHS of an IN operator,
drh [Mon, 13 Feb 2023 19:32:40 +0000 (19:32 +0000)] 
Ignore extra parentheses around a subquery on the RHS of an IN operator,
because that is what PostgreSQL does.

FossilOrigin-Name: ecdeef43b27412b0b0b09e09a62ad3a03836a3fc80f2070268090e7ca8f02712

2 years agoDo not allow WHERE clause terms to match constant string index terms, which
drh [Mon, 13 Feb 2023 18:42:01 +0000 (18:42 +0000)] 
Do not allow WHERE clause terms to match constant string index terms, which
can happen if DQS_DDL is enabled.  Follow-up to
[44200596aa943963].  dbsqlfuzz 54c9db85ed4af7055f5fd0d50877875c82b11d46.

FossilOrigin-Name: 2d2b91cc0f6fed8cb6f738dc7019047ce0f1e86b5eb8efa997095d08a32cbcb6

2 years agoAllow vector-IN expressions like "(a, b) IN ( (?,?), (?,?) )" to use an index.
dan [Mon, 13 Feb 2023 18:37:48 +0000 (18:37 +0000)] 
Allow vector-IN expressions like "(a, b) IN ( (?,?), (?,?) )" to use an index.

FossilOrigin-Name: 18a99d9cfbc3a0419342b3fe91a83d2217578d0f6e8ee1084237d000946b1942

2 years agoFix compile time option SQLITE_DEFAULT_SYNCHRONOUS so that it works consistently.
dan [Mon, 13 Feb 2023 18:26:58 +0000 (18:26 +0000)] 
Fix compile time option SQLITE_DEFAULT_SYNCHRONOUS so that it works consistently.

FossilOrigin-Name: bf6f1ee77c4bf653f6cd2a3db5292b8c5c83f18ea9acf951107d22807546b28a

2 years agoAllow vector-IN expressions like "(a, b) IN ( (?,?), (?,?) )" to use an index.
dan [Mon, 13 Feb 2023 16:10:31 +0000 (16:10 +0000)] 
Allow vector-IN expressions like "(a, b) IN ( (?,?), (?,?) )" to use an index.

FossilOrigin-Name: 1815b15ddb8785a25b7617aab19e13c2410b9377389c16a85176025b3d9400e8

2 years agoIn the LIKE optimization, do not analyze the new virtual WHERE clause terms
drh [Mon, 13 Feb 2023 12:46:22 +0000 (12:46 +0000)] 
In the LIKE optimization, do not analyze the new virtual WHERE clause terms
until both have been added, since they are expected to be consecutive and
the analysis might add complementary terms.
This fixes a problem caused by [44200596aa943963] and discovered by dbsqlfuzz
and recorded as case 7e3b5983727d843b910b2d9ab556e4afcd777cfb.

FossilOrigin-Name: d35de3ad3fac6b30d3f266cbe4b1e9923eb31a1eff4a869205bbc3ba122eeec5

2 years agoChange a variable from 32 to 64-bits to avoid a harmless compiler warning
drh [Sat, 11 Feb 2023 21:11:39 +0000 (21:11 +0000)] 
Change a variable from 32 to 64-bits to avoid a harmless compiler warning
in Xcode.  [forum:/forumpost/402d733c22|Forum post 402d733c22].

FossilOrigin-Name: 0216ce23cf23bc147c5de6de178a6689b7ad744bf0ee0098809938b5fe10708b

2 years agoDo a better job of detecting when a WHERE clause term might be useful to
drh [Fri, 10 Feb 2023 21:53:33 +0000 (21:53 +0000)] 
Do a better job of detecting when a WHERE clause term might be useful to
an expression index.  Fix for performance regression reported by
[forum:/forumpost/e65800d8cb|forum thread e65800d8cb].

FossilOrigin-Name: 44200596aa943963bc6ca98b5d4fd5b9235d1109d8dfc1a75eeae353b4239142

2 years agoFix a problem with the fts5 trigram tokenizer and LIKE or GLOB patterns for which...
dan [Fri, 10 Feb 2023 17:17:04 +0000 (17:17 +0000)] 
Fix a problem with the fts5 trigram tokenizer and LIKE or GLOB patterns for which contain runs of 2 or fewer non-wildcard characters that are 3 or more bytes when encoded as utf-8.

FossilOrigin-Name: 00714b39b39c51519edbc0194f98c7275fecf96763a06fd95db6e1d81bb9f1f1

2 years agoEnsure that the valueFromFunction() routine does not clear a prior
drh [Fri, 10 Feb 2023 14:20:18 +0000 (14:20 +0000)] 
Ensure that the valueFromFunction() routine does not clear a prior
parser error.  dbsqlfuzz 6fa816f20cf5b62260d635d110b88f38e29d8fe1.

FossilOrigin-Name: 734766451123c98a467c3407562eaa097b3307c8a275e1c8dd93e4654fe78014

2 years agoMinor text-only updates to wasm demo/test HTML and license header.
stephan [Fri, 10 Feb 2023 11:05:16 +0000 (11:05 +0000)] 
Minor text-only updates to wasm demo/test HTML and license header.

FossilOrigin-Name: f28e2a8613571fe3c23bfbbb602311071f4cb9731653216cfe436c38b0a59736

2 years agoFix ext/wasm/fiddle build, which was silently broken by recent build refactoring.
stephan [Fri, 10 Feb 2023 11:04:39 +0000 (11:04 +0000)] 
Fix ext/wasm/fiddle build, which was silently broken by recent build refactoring.

FossilOrigin-Name: dcf532931136d09bef23ccad669d486cb31daec8565317c3209c280b5695d45d

2 years agoDisable the double-quoted string misfeature by default in CLI builds.
drh [Thu, 9 Feb 2023 15:32:24 +0000 (15:32 +0000)] 
Disable the double-quoted string misfeature by default in CLI builds.
DQS can be reenabled at run-time using the ".dbconfig dqs_dml" and
".dbconfig dqs_ddl" dot-commands.

FossilOrigin-Name: c995932c3ffe7f2710ebce0fa407eca3200418aa84febc15fb15f20f3758a98d

2 years agoSquelch two harmless signedness comparison warnings in shell.c.in.
stephan [Thu, 9 Feb 2023 12:59:44 +0000 (12:59 +0000)] 
Squelch two harmless signedness comparison warnings in shell.c.in.

FossilOrigin-Name: bdd3edec13fa1142a8074c316e9ecec93fb278d42836eeb38587376fdf22cebd

2 years agoNew test cases added to fuzzdata8.db.
drh [Thu, 9 Feb 2023 12:47:15 +0000 (12:47 +0000)] 
New test cases added to fuzzdata8.db.

FossilOrigin-Name: be67bafccd79ba835ed7e287e09852ce83805da0797b164d0c8e44be05d9d28a

2 years agoThe "flexnum" affinity that was added by [44135d6ea84f7ba6] needs to also
drh [Thu, 9 Feb 2023 11:51:40 +0000 (11:51 +0000)] 
The "flexnum" affinity that was added by [44135d6ea84f7ba6] needs to also
be added to the output of the affinity() built-in function.
dbsqlfuzz d309eaa5fe492c9606a8be876c2bc7dedb29d3d8

FossilOrigin-Name: f4ec68ceefa3a607f37d6355aac89fd1ae1704da4061bad7f271db1f17c1dd3a

2 years agoBack out the 'txn' enhancement to date/time functions. The duration of a
drh [Wed, 8 Feb 2023 20:29:48 +0000 (20:29 +0000)] 
Back out the 'txn' enhancement to date/time functions.  The duration of a
"transaction" is confused and needs to be straightened out prior to moving
forward with this change.

FossilOrigin-Name: 4a145f07322d768a07619bed27e0390d50f3a01d07787b9296234a5ceb6f1218

2 years agoAlways use 64-bit integers for stats associated with STAT1 and STAT4.
drh [Wed, 8 Feb 2023 17:28:42 +0000 (17:28 +0000)] 
Always use 64-bit integers for stats associated with STAT1 and STAT4.

FossilOrigin-Name: 6647d1cb8b53102c8114b1f3e34173d907504d78aa3140eab53f88027a36660b

2 years agoBetter fix the problem where optimizing an fts5 table too often causes it to become...
dan [Wed, 8 Feb 2023 17:28:08 +0000 (17:28 +0000)] 
Better fix the problem where optimizing an fts5 table too often causes it to become unreadable (first attempt was [35bed981]).

FossilOrigin-Name: 459d986d38fc0ccbfd66801e0f22900cfed831268cf59ac8d1cd1e556f0d1441

2 years agoCause gcc warning suppression in shell.c to be nice in other project(s).
larrybr [Wed, 8 Feb 2023 14:49:52 +0000 (14:49 +0000)] 
Cause gcc warning suppression in shell.c to be nice in other project(s).

FossilOrigin-Name: 6b41ba2e996ab7b9c3943ab93a19748db5cf37792f5d59d20eec301085282355

2 years agoUpdate an assert() in the stat4 code that is only true for a well-formed database.
dan [Wed, 8 Feb 2023 14:25:00 +0000 (14:25 +0000)] 
Update an assert() in the stat4 code that is only true for a well-formed database.

FossilOrigin-Name: 04439f3b23b22a3c187637f286764568ee922227e3e34b2e63075876b4d1f2ac

2 years agoFix an incorrect assert() in STAT4 logic added just a few days ago on
drh [Wed, 8 Feb 2023 14:17:34 +0000 (14:17 +0000)] 
Fix an incorrect assert() in STAT4 logic added just a few days ago on
[2023-02-01|/info/55a26c67ed4a3a93].

FossilOrigin-Name: 168fa2fb22b8c1ad80c7001a429d3a80b48acfbfebb5414a0caa76964ea647c3

2 years agoAdd the 'txn' date/time format. Change CURRENT_TIMESTAMP and similar to use
drh [Wed, 8 Feb 2023 12:47:37 +0000 (12:47 +0000)] 
Add the 'txn' date/time format.  Change CURRENT_TIMESTAMP and similar to use
'tnx'-style semantics instead of 'now'-style.

FossilOrigin-Name: 61cc8ed8d3541eddf23a9d542179c3f0223c5b8519b54d3be79988a376e25a89

2 years agoTest cases to show that CURRENT_TIMESTAMP and similar hold the same value txn-date
drh [Wed, 8 Feb 2023 12:31:47 +0000 (12:31 +0000)] 
Test cases to show that CURRENT_TIMESTAMP and similar hold the same value
across a transaction.

FossilOrigin-Name: 7b2fa20e31b8a0314b9ccb97bb556898d552505dbc5943f248df3f86c0f4e008

2 years agoRevert the behavior of date/time functions with no arguments so that they
drh [Wed, 8 Feb 2023 12:01:48 +0000 (12:01 +0000)] 
Revert the behavior of date/time functions with no arguments so that they
once again work like 'now', even while CURRENT_TIMESTAMP and similar work
like 'txn'.

FossilOrigin-Name: 06180caff0f5d8aba83b9f7be682ccdd6cb2ffc228b557ee6c1fd00fe5c23e92

2 years agoChange the behavior of date-time functions without any arguments (and thus
drh [Wed, 8 Feb 2023 11:34:05 +0000 (11:34 +0000)] 
Change the behavior of date-time functions without any arguments (and thus
the CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP variables) so that they
work like 'txn' instead of like 'now'.  This is an incompatibility with legacy,
but brings SQLite into conformance with all other SQL systems.

FossilOrigin-Name: 1ac78be54502779236645eac35b962797f2fb98307d059d2aa19658c4fa74cb7

2 years agoMerge wasi-patches branch into trunk.
stephan [Wed, 8 Feb 2023 08:49:52 +0000 (08:49 +0000)] 
Merge wasi-patches branch into trunk.

FossilOrigin-Name: 9902e66a37d59c1909593bbc296091df3fa3bfa12ec7062bd84e458030f77c8d

2 years agoSimplify the code and add test cases.
drh [Tue, 7 Feb 2023 23:55:59 +0000 (23:55 +0000)] 
Simplify the code and add test cases.

FossilOrigin-Name: d3bed4caff561e71c396cc869c5b4d9bf216ba203485e738c12ec62741f1aba5

2 years agoAdd support for the 'txn' argument to date/time functions that works like
drh [Tue, 7 Feb 2023 21:55:14 +0000 (21:55 +0000)] 
Add support for the 'txn' argument to date/time functions that works like
'now' but keeps the same time for the entire transaction.

FossilOrigin-Name: 5e4f45af96247e29910403a63ac148cb313b005f9c014b37a9a49d98f5fef9a6

2 years agoFix a test script problem causing "make test" to fail for non-RBU builds.
dan [Tue, 7 Feb 2023 18:41:23 +0000 (18:41 +0000)] 
Fix a test script problem causing "make test" to fail for non-RBU builds.

FossilOrigin-Name: 2abc3f9de0d2b66342598ab9015e62568ed20c7da4744a0f0a76b1db72c7e941

2 years agoFix a typo in example documentation code for sqlite3_vtab_in_next().
drh [Tue, 7 Feb 2023 16:58:58 +0000 (16:58 +0000)] 
Fix a typo in example documentation code for sqlite3_vtab_in_next().

FossilOrigin-Name: a95dbfae6133cc7aac950c3e7ba55a29d80b1625c39479a7d1d10b0868ee2be4

2 years agoFix an pcache memory leak that might occur due to the munmap() enhancement
drh [Tue, 7 Feb 2023 16:23:00 +0000 (16:23 +0000)] 
Fix an pcache memory leak that might occur due to the munmap() enhancement
of [754f331614f6f6e6] if "PRAGMA shrink_memory" is used.

FossilOrigin-Name: f8c1f9c44bb3da7856690ac04c1de1fb8b7e3ccc32141bf414cd85bd90644a30

2 years agoMerge the latest trunk enhancements into the bedrock branch.
drh [Tue, 7 Feb 2023 11:39:47 +0000 (11:39 +0000)] 
Merge the latest trunk enhancements into the bedrock branch.

FossilOrigin-Name: b7d9f14d78a52f87fcc7bc1d3e9f00d6ce1d648b1b244bc3989d7308f52063a0

2 years agoFix a dropped error code in wal.c.
dan [Tue, 7 Feb 2023 11:19:20 +0000 (11:19 +0000)] 
Fix a dropped error code in wal.c.

FossilOrigin-Name: 2537db6f6b9df00913b57e2ad0e4deef2040ce47b28f9a9939f42c0443d70ac9

2 years agoFix an assert() in sqlite3WalFindFrame() so that it matches the equivalent assert...
dan [Tue, 7 Feb 2023 10:58:39 +0000 (10:58 +0000)] 
Fix an assert() in sqlite3WalFindFrame() so that it matches the equivalent assert() on trunk.

FossilOrigin-Name: f5bf91d9bf3910ab3dcf44c138084dfc26fb123edb8934bfdfcdd5c4afb67f2d

2 years agoMerge trunk into wasi-patches branch. wasi-patches
stephan [Mon, 6 Feb 2023 22:25:18 +0000 (22:25 +0000)] 
Merge trunk into wasi-patches branch.

FossilOrigin-Name: 656d36f50f630da68262469087bad1ac71b10325e233a7963103c8cbc232f61a

2 years agoRoll back part of [c54f29d8] which attempted to use symbols which that worker does...
stephan [Mon, 6 Feb 2023 21:20:59 +0000 (21:20 +0000)] 
Roll back part of [c54f29d8] which attempted to use symbols which that worker does not have access to.

FossilOrigin-Name: 90b12211376eb445df7221b3d3593394ff651ef93f4218492c6208bc74b8fc63

2 years agoFix RBU test scripts to avoid attempting to copy or delete a locked file.
dan [Mon, 6 Feb 2023 19:00:54 +0000 (19:00 +0000)] 
Fix RBU test scripts to avoid attempting to copy or delete a locked file.

FossilOrigin-Name: f25eb898fce44120136f8ee5557305f43541e8a75323cfc3becf103f3fa795aa

2 years agoDisable an invalid assert(). Add the "WAL2" compile-time property so that
drh [Mon, 6 Feb 2023 19:00:53 +0000 (19:00 +0000)] 
Disable an invalid assert().  Add the "WAL2" compile-time property so that
test scripts can more easily determine that they are dealing with a
WAL2-capable build.

FossilOrigin-Name: e93113259e05fb6b81ad1b4a460bd54168ff5c372b643d4845c1b1c87b7db204

2 years agoMerge the latest trunk enhancements into the wal2 branch.
drh [Mon, 6 Feb 2023 17:48:49 +0000 (17:48 +0000)] 
Merge the latest trunk enhancements into the wal2 branch.

FossilOrigin-Name: 44f8f33d4ab159476800142e763dfc6beb2c2c1d857c8eebb286498dec4004fd

2 years agoOmit the obsolete client/server test cases.
drh [Mon, 6 Feb 2023 16:23:52 +0000 (16:23 +0000)] 
Omit the obsolete client/server test cases.

FossilOrigin-Name: 5dde07a91dcf99b9c9a418b4e2178f66eef4cffd4799538a419674314a7530f9

2 years agoFix the build after the previous change test-cleanup
drh [Mon, 6 Feb 2023 15:49:54 +0000 (15:49 +0000)] 
Fix the build after the previous change

FossilOrigin-Name: aea3b6f6515bc3b7e7205b7d17d99cb1fc68030eb929d8adbe25f065668c9c95

2 years agoRemove the long obsolete "client/server" mode tests.
drh [Mon, 6 Feb 2023 15:46:34 +0000 (15:46 +0000)] 
Remove the long obsolete "client/server" mode tests.

FossilOrigin-Name: 08e3114caec0633fc54f8febb7f4732b46a1f47508bbca0a6a2bff02591254d5