]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
10 months agoRemove redundant #ifdef accidentally inserted into mkkeywordhash.c sql-pipes
drh [Mon, 26 Aug 2024 14:20:20 +0000 (14:20 +0000)] 
Remove redundant #ifdef accidentally inserted into mkkeywordhash.c

FossilOrigin-Name: b08f3b74495e125f92c8968472fc8028c73d8df5400195df3081e3d8df8bd985

10 months agoAdd the AGGREGATE clause to the pipeline.
drh [Mon, 26 Aug 2024 14:06:08 +0000 (14:06 +0000)] 
Add the AGGREGATE clause to the pipeline.

FossilOrigin-Name: 16d32676e2e98a7710787de16850c328e7519e893f81ed56f6155a8fa9cbc3a4

10 months agoWorking better now.
drh [Mon, 26 Aug 2024 13:20:38 +0000 (13:20 +0000)] 
Working better now.

FossilOrigin-Name: 4bdcc18d2cf4d11a7ca81117f6f8932fc8d280780d2c1e612189b2f5359cc778

10 months agoReduce rules added to the grammar. Kinda works, but there are still bugs.
drh [Mon, 26 Aug 2024 12:26:26 +0000 (12:26 +0000)] 
Reduce rules added to the grammar.  Kinda works, but there are still bugs.

FossilOrigin-Name: 3c7a5cc6d0d186e68a5885299f7474ad2e31b839af404a649dbc8f5b8f1d0a62

10 months agoAnother version of the parser with a slightly richer syntax. The ghastly
drh [Mon, 26 Aug 2024 02:53:31 +0000 (02:53 +0000)] 
Another version of the parser with a slightly richer syntax.  The ghastly
pipe operator is now optional, but is never required.  Pipelines cannot
be initiated from an arbitrary SELECT unless the arbitrary SELECT is a subquery
on the initial FROM.

FossilOrigin-Name: 8781d7352b926129027f73d1fe21df78fcb6d21ab3caeefe0f829437c7c1250b

10 months agoProof-of-concept grammar rules to parse Google-style "pipe" syntax for SQL,
drh [Mon, 26 Aug 2024 00:15:35 +0000 (00:15 +0000)] 
Proof-of-concept grammar rules to parse Google-style "pipe" syntax for SQL,
without the ghastly "|>" operator.  The grammar rules are not connected to
working code.  They just parse the syntax.  Pipelines that begin with an
ordinary SELECT statement must have the keyword "INTO" (rather than the
"|>" operator) separating the SELECT from the start of the pipeline, to
avoid syntactic and semantic ambiguity.

FossilOrigin-Name: 2c4bae3e68eea14a5edbc753a7a2d764924c95060aff95fa1d2141c11fa77fed

10 months agoshell.c.in: use eputz/oputz() instead of eputf/oputf() where appropriate to avoid...
stephan [Sun, 25 Aug 2024 11:59:29 +0000 (11:59 +0000)] 
shell.c.in: use eputz/oputz() instead of eputf/oputf() where appropriate to avoid compilation errors in -std=c99 mode (namely wasm builds).

FossilOrigin-Name: 9ef8317faebc29d016bdf2e8c678fb21ca2cfa95272f1f18b461fcaf0e220ac5

10 months agoFix harmless compiler warnings in fts5V2toV1Tokenize().
drh [Sat, 24 Aug 2024 20:05:59 +0000 (20:05 +0000)] 
Fix harmless compiler warnings in fts5V2toV1Tokenize().

FossilOrigin-Name: df65d00f104f31741056686f2ba41ecb192c552012bffb17c2a8b5d4db058328

10 months agoFix compiler warnings in the CLI detected by MSVC.
drh [Sat, 24 Aug 2024 20:01:05 +0000 (20:01 +0000)] 
Fix compiler warnings in the CLI detected by MSVC.

FossilOrigin-Name: 23ae505cbfde6dfd1dbb2216cf76c1e316b49f2ca84491a1aae28ad33f7777a9

10 months agoImproved help message for the --enable-test-status configuration option.
drh [Sat, 24 Aug 2024 19:06:52 +0000 (19:06 +0000)] 
Improved help message for the --enable-test-status configuration option.
Fix the build for when that option is omitted.

FossilOrigin-Name: b404a5fe3f0532f6d56b5e65c44a59379c17d175c21ac69a1f2ba8aadf453313

10 months agoNew ./configure option --enable-test-status causes testrunner.tcl to be
drh [Sat, 24 Aug 2024 19:02:33 +0000 (19:02 +0000)] 
New ./configure option --enable-test-status causes testrunner.tcl to be
run with the --status option for targets like mdevtest and releasetest.

FossilOrigin-Name: 9ca8513c26e54c97f2d3c6105c42144100044727f6fb4c28048f7cd7270dd35e

10 months agoRemove a term from an assert() that is no longer relevant.
drh [Sat, 24 Aug 2024 18:42:39 +0000 (18:42 +0000)] 
Remove a term from an assert() that is no longer relevant.

FossilOrigin-Name: 8b4766252b80075354a6b1406c5430fe999a6490aa3e079893fcc682d88734f7

10 months agoAvoid a stack overflow that could be caused by a recursively defined WINDOW() with...
dan [Sat, 24 Aug 2024 15:54:15 +0000 (15:54 +0000)] 
Avoid a stack overflow that could be caused by a recursively defined WINDOW() with a strategically embedded error.

FossilOrigin-Name: bada54bd6bf54190e40aa721b77081015957d204c7b6a9fdbe8c67bcf20798f8

10 months agoEnsure that the WhereLoop.u.btree.pOrderBy field added by the
drh [Sat, 24 Aug 2024 11:48:19 +0000 (11:48 +0000)] 
Ensure that the WhereLoop.u.btree.pOrderBy field added by the
order-by-subquery optimization [7a0cdc7edb704a88] is correctly
initialized.  dbsqlfuzz 437be171a98687082a31ea6efc2fd5c5d64481c8.

FossilOrigin-Name: b75f8b2252aefe7bb96fa237205a1a9dc88c46d9ec09bca7407e6c636b203e7e

10 months agoEliminate use of strcpy() in shell.c.in to squelch an unwarranted link-time warning...
stephan [Fri, 23 Aug 2024 21:20:50 +0000 (21:20 +0000)] 
Eliminate use of strcpy() in shell.c.in to squelch an unwarranted link-time warning on OpenBSD.

FossilOrigin-Name: 32e9bf7f972144eacbb2580151220bc4fc1cbcc8bcf586ffd8e10762abf75c7e

10 months agoFix a problem in the ext/fts5/extract_api_docs.tcl script.
dan [Fri, 23 Aug 2024 17:40:29 +0000 (17:40 +0000)] 
Fix a problem in the ext/fts5/extract_api_docs.tcl script.

FossilOrigin-Name: 9a9d0f6301faefe324261f03543023ffb6a90823349c6946abb0df2f69b31f96

10 months agoAdd fts5 auxiliary function fts5_get_locale(). For querying the locale of a stored...
dan [Fri, 23 Aug 2024 15:18:02 +0000 (15:18 +0000)] 
Add fts5 auxiliary function fts5_get_locale(). For querying the locale of a stored value.

FossilOrigin-Name: 396f720f36a937145ac727c2750acfd26e4eda350b46d648d82a7e9985545a9f

10 months agoEnhance the generate_series() table-valued function such that it is able to
drh [Thu, 22 Aug 2024 18:12:10 +0000 (18:12 +0000)] 
Enhance the generate_series() table-valued function such that it is able to
recognize equality and inequality constraints on the "value" column and
optimize its operating accordingly.

FossilOrigin-Name: d50b784807333c5461a2d027778c746c799285b95bb1952f142b317ea2846460

10 months agoAdd the SQLITE_INDEX_SCAN_HEX bit to the sqlite3_index_info.idxFlags bitmask.
drh [Thu, 22 Aug 2024 16:22:08 +0000 (16:22 +0000)] 
Add the SQLITE_INDEX_SCAN_HEX bit to the sqlite3_index_info.idxFlags bitmask.
When set, this bit causes the EXPLAIN QUERY PLAN output to show the idxNum
value in hex rather than in decimal.  This is purely a debugging aid.

FossilOrigin-Name: 6c00e88ebdb41d6317bb8758825521614dedc2e6e6289ff415c5f0406eed815b

10 months agoAdd SQLITE_TESTCTRL_GETOPT. Use it to implement improvements to the
drh [Wed, 21 Aug 2024 20:25:31 +0000 (20:25 +0000)] 
Add SQLITE_TESTCTRL_GETOPT.  Use it to implement improvements to the
".testctrl opt" dot-command in the CLI, and similar enhancements to TH3.

FossilOrigin-Name: 6500baa9914b08ce19c361a69f19a80e5d800fcb82579d1c1e03601c7a664338

10 months agoAdd the new SQLITE_TESTCTRL_OPTGET that retrieves the current optimization optimization-onoff
drh [Wed, 21 Aug 2024 18:57:55 +0000 (18:57 +0000)] 
Add the new SQLITE_TESTCTRL_OPTGET that retrieves the current optimization
setting.  Use this in the CLI to provide symbolic fine-grain control
over optimization settings using the ".testctrl opt" dot-command.

FossilOrigin-Name: 0ea4e1e8fc689cb1af3a8d21dd6af9d483115412b414e85e8a42480f50d65af2

10 months agoImproved comments on byte-code subroutine calls to materialize subqueries.
drh [Wed, 21 Aug 2024 17:38:50 +0000 (17:38 +0000)] 
Improved comments on byte-code subroutine calls to materialize subqueries.
Should not affect production builds.

FossilOrigin-Name: 6b024c85ef856e26cddac8ad862e16909b5149c3e3efb4e73ba54c97291f1cc4

10 months agoREADME.md: a markup link fix and use the canonical URL for Fossil.
stephan [Wed, 21 Aug 2024 13:57:30 +0000 (13:57 +0000)] 
README.md: a markup link fix and use the canonical URL for Fossil.

FossilOrigin-Name: c49bfee6b878bd96adfc852fdc76e98bf81e2fb82be8325672fbc7af04e7dffa

10 months agoUpdates and enhancements to the README.md file. No code changes.
drh [Wed, 21 Aug 2024 13:44:40 +0000 (13:44 +0000)] 
Updates and enhancements to the README.md file.  No code changes.

FossilOrigin-Name: 3161b8028916bff9a13a04bfb1996bce7e1274a3c403fc58f4d798afd30c528f

10 months agoAdd code comments for a "table-of-contents" and various milestone marks in
drh [Wed, 21 Aug 2024 12:01:46 +0000 (12:01 +0000)] 
Add code comments for a "table-of-contents" and various milestone marks in
the 1300+ line long sqlite3Select() function, to help improve readiability
and maintainability.  Comment changes only - no functional changes.

FossilOrigin-Name: 00cfbb9fa5136e6a7847da4e4ab30d320ca79c22acda9db2030e558d59b8c744

10 months agoFix a minor typo in a comment.
drh [Wed, 21 Aug 2024 10:37:59 +0000 (10:37 +0000)] 
Fix a minor typo in a comment.

FossilOrigin-Name: 92c80af1129051c9eded8df170730ad6366b4f7715dead34c4364c8149d0dce9

10 months agoImprovements to treetrace output for subqueries. Debug code only.
drh [Wed, 21 Aug 2024 10:32:00 +0000 (10:32 +0000)] 
Improvements to treetrace output for subqueries.  Debug code only.

FossilOrigin-Name: 0a835d18d9063b17a1d506fd989ebcf7f0d76593978a3bd5981be59618335f21

10 months agoDe-duplicate some error-output code in shell.c.in as part of tracking down the cause...
stephan [Wed, 21 Aug 2024 09:56:45 +0000 (09:56 +0000)] 
De-duplicate some error-output code in shell.c.in as part of tracking down the cause of [forum:5647ca2af1|forum post 5647ca2af1].

FossilOrigin-Name: fd5904495e0c775174f9380bc6877fb9def3d30dec1c9315979ad4503a18d70b

10 months agoRemove incorrect assert() statements in the SrcItem invariant validator.
drh [Wed, 21 Aug 2024 07:38:14 +0000 (07:38 +0000)] 
Remove incorrect assert() statements in the SrcItem invariant validator.
dbsqlfuzz 7f908865436ce531b0ace55c97a1c71d05c4e76c.

FossilOrigin-Name: 81a1ede38823b8d50e221ecb6ce52a05d82a856099002a71d9f1ac561a587f05

10 months agoRefactor the SrcItem object to move fields associated with subqueries out
drh [Tue, 20 Aug 2024 23:11:28 +0000 (23:11 +0000)] 
Refactor the SrcItem object to move fields associated with subqueries out
into a separate object named Subquery.  This reduces the size of the SrcItem
object by about 1/3rd and provides improved performance.

FossilOrigin-Name: 484bcd75bc95491d8540c791c1c4d40d996cb465839564662e14f98739699bf1

10 months agoFix a name resolution issue with CTEs. srcitem-opt
drh [Tue, 20 Aug 2024 22:44:40 +0000 (22:44 +0000)] 
Fix a name resolution issue with CTEs.

FossilOrigin-Name: 4fa8235dd59cd683d6c6c97bfe181a9637be7c054d435323c903b9dbd74aff02

10 months agoFix minor comment issues.
drh [Tue, 20 Aug 2024 22:05:01 +0000 (22:05 +0000)] 
Fix minor comment issues.

FossilOrigin-Name: c1bbed19f4348ec31c3cb4723eaa8f1554bb58ef4de7feb3a0f39612785f13d5

10 months agoRemove unreachable code.
drh [Tue, 20 Aug 2024 20:01:21 +0000 (20:01 +0000)] 
Remove unreachable code.

FossilOrigin-Name: 17699329aa8e234c6793a38db5ca05def9395b287bcc8bc05493b824327edb59

10 months agoTighter checking of access constraints on union members in SrcItem.
drh [Tue, 20 Aug 2024 19:09:59 +0000 (19:09 +0000)] 
Tighter checking of access constraints on union members in SrcItem.
Improved invariant checking.

FossilOrigin-Name: fd72d3400a8fe5747f494eee81654698acee350bb95b9db269e87d857af03492

10 months agoFix some stray SrcItem field name fixes.
drh [Tue, 20 Aug 2024 17:41:44 +0000 (17:41 +0000)] 
Fix some stray SrcItem field name fixes.

FossilOrigin-Name: bc5f5ce59e1e4323422bda7d002310923f927a03b4fd42749bf04f6c9853956b

10 months agoFix a memory leak so that now all dev tests (including TH3) are passing.
drh [Tue, 20 Aug 2024 17:24:42 +0000 (17:24 +0000)] 
Fix a memory leak so that now all dev tests (including TH3) are passing.

FossilOrigin-Name: 3995c45fff0e4bd10bcf49cc16eb1050216426723c63ba56d3ae5ba738c34019

10 months agoMemory issues fixes so that mdevtest now passes.
drh [Tue, 20 Aug 2024 16:50:21 +0000 (16:50 +0000)] 
Memory issues fixes so that mdevtest now passes.

FossilOrigin-Name: b249516f6a6650808e035ec219e762bf24dcb7c32a6235984b995d08d07d35d8

10 months agoWhen the database encoding is UTF-16LE and the GLOB optimization is used,
drh [Tue, 20 Aug 2024 14:12:16 +0000 (14:12 +0000)] 
When the database encoding is UTF-16LE and the GLOB optimization is used,
it is ok to use the range search over an index, but it is not ok to
disable the actual GLOB function call.

FossilOrigin-Name: 3399698376761ab8c422f8ea02bfa2759afb606f08bedbd1cf7eee834229a9aa

10 months agoFix for the UTF-16LE problem reporte by
drh [Tue, 20 Aug 2024 12:09:55 +0000 (12:09 +0000)] 
Fix for the UTF-16LE problem reporte by
[forum:/forumpost/dc7e1b7527e84343|forum post dc7e1b7527e84343].  Because of
the unexpected ordering of characters using the default collation (memcmp()
order) in UTF-16LE, the LIKE/GLOB optimization restricts its attention to
the pattern prefix that is all ASCII, which is the common case.

FossilOrigin-Name: a5797ebdea423afc3d2d3bd8adaf1575d33a01f594c0c315afcb1499f1718e9b

10 months agoEarlier error detection while processing complex aggregate
drh [Mon, 19 Aug 2024 23:43:08 +0000 (23:43 +0000)] 
Earlier error detection while processing complex aggregate
queries.  dbsqlfuzz 5242c2f07f4aa031aa3c80461f18e9b7619ede9b

FossilOrigin-Name: 70f4973078ffc72f4ff247234e6f8e695b40803c3e7c9ed12050d97195728352

10 months agoRefactor the SrcItem object so that information about subqueries is stored
drh [Mon, 19 Aug 2024 22:48:30 +0000 (22:48 +0000)] 
Refactor the SrcItem object so that information about subqueries is stored
in a separately allocated Subquery object.  This reduces the memory requirements
for SrcItem and makes the code run faster.  It also provides an expansion path
for subquery processing that does not burden simple queries.  The current
checking mostly works, but there are still issues that need to be tracked
down and fixed.

FossilOrigin-Name: 8ff5dda8448d7e1a533d7f27db2573ce68fa9956b9d9847ced45e83c1f06bab0

10 months agoUpdate some comments that are processed into the fts5.html webpage.
dan [Mon, 19 Aug 2024 20:35:30 +0000 (20:35 +0000)] 
Update some comments that are processed into the fts5.html webpage.

FossilOrigin-Name: 3e06ab218bbd1ed75a24afb44e8df9ce84e9fc24701428cb8b3459760f44006d

10 months agoAdd the fts5_locale() function and related functionality to fts5.
dan [Mon, 19 Aug 2024 14:33:39 +0000 (14:33 +0000)] 
Add the fts5_locale() function and related functionality to fts5.

FossilOrigin-Name: b9632900100bdbc913f83bfb03b32585cf07a192b9a7f26b9bebc7d91e63a610

10 months agoFix leap-year handling for dates prior to 0400-03-01.
drh [Mon, 19 Aug 2024 14:20:18 +0000 (14:20 +0000)] 
Fix leap-year handling for dates prior to 0400-03-01.
[forum:/forumpost/eaa0a09786c6368b|Forum post eaa0a09786c6368b].

FossilOrigin-Name: 474b7e34b83bc5e85854bc3b386f31ff39b390549d89b94921f33bbc5b658d1d

10 months agoNew date/time test cases to validate ancient dates. ancient-date-fix
drh [Mon, 19 Aug 2024 13:53:49 +0000 (13:53 +0000)] 
New date/time test cases to validate ancient dates.

FossilOrigin-Name: 82719074f090d9d0a0b9baea0dee7b1dd40a272e3f3e45043d4a640c07989d5d

10 months agoAttempt to fix date/time calculations for days earlier than 0400-03-01.
drh [Mon, 19 Aug 2024 12:54:12 +0000 (12:54 +0000)] 
Attempt to fix date/time calculations for days earlier than 0400-03-01.
See [forum:/forumpost/eaa0a09786c6368b|forum thread eaa0a09786c6368b].

FossilOrigin-Name: 00cae11fffaf50e2133915e851d41098d00b6b1458e1438bcb6664e1411d8498

10 months agoMerge trunk changes into this branch. fts5-locale
dan [Mon, 19 Aug 2024 10:40:08 +0000 (10:40 +0000)] 
Merge trunk changes into this branch.

FossilOrigin-Name: 6787603bd0d8117e41e6b572c0d7cada0f6d7266a4ff2ad79f9471b9beb28a9e

10 months agoFix a problem with detail=none, content='' tables.
dan [Sun, 18 Aug 2024 14:46:13 +0000 (14:46 +0000)] 
Fix a problem with detail=none, content='' tables.

FossilOrigin-Name: 4b8070816ada3f269d53c9cee20669f59e19a23c31c8509fc397c21dd097ec9f

10 months agoAutomatically disable directory fsync when compiling for AIX.
drh [Sun, 18 Aug 2024 09:53:37 +0000 (09:53 +0000)] 
Automatically disable directory fsync when compiling for AIX.

FossilOrigin-Name: 8d170e07e20c21a5bb97fdc8c2d01d92178f5fe740e60d203e4621747cfce33e

10 months agoGive unique names to fields in the SrcItem object, to facilitate analysis of
drh [Sat, 17 Aug 2024 23:23:23 +0000 (23:23 +0000)] 
Give unique names to fields in the SrcItem object, to facilitate analysis of
how those fields are used using "grep".

FossilOrigin-Name: 9f5aeef3cbc2c95267c8f7bf60d5c66971a76789669fb0e8f853273ff6f616f2

10 months agoReduce the size of the SrcItem object by combining fields into a union.
drh [Sat, 17 Aug 2024 19:46:49 +0000 (19:46 +0000)] 
Reduce the size of the SrcItem object by combining fields into a union.

FossilOrigin-Name: a4c59ac3c6ec979c25b544d29e47b8e39f6439c098eed8f84b3bd506c9adf047

10 months agoFix a broken assert() in fts5_storage.c.
dan [Sat, 17 Aug 2024 19:40:15 +0000 (19:40 +0000)] 
Fix a broken assert() in fts5_storage.c.

FossilOrigin-Name: 01116e32797e1b127ba79059d890fbe5075eee2b6e3ce4468e82862b0fc3aa46

10 months agoMerge trunk changes into this branch.
dan [Sat, 17 Aug 2024 19:11:09 +0000 (19:11 +0000)] 
Merge trunk changes into this branch.

FossilOrigin-Name: 6a8ff9ba5e71d817489093d8dff0a8d77365b4222773b941accbd58558d24379

10 months agoTests to improve coverage of fts5_expr.c.
dan [Sat, 17 Aug 2024 19:07:13 +0000 (19:07 +0000)] 
Tests to improve coverage of fts5_expr.c.

FossilOrigin-Name: f4b839e5265700b1a89066d1b6e0d0d010852a69c5da3d75d2c41624dbf3c0af

10 months agoAdd tests to restore coverage of fts5_tokenizer.c.
dan [Sat, 17 Aug 2024 17:22:49 +0000 (17:22 +0000)] 
Add tests to restore coverage of fts5_tokenizer.c.

FossilOrigin-Name: 8f9257361b05e368bf433e56d0698923b0f97d12e7c0ad7760aaab6746c0e467

10 months agoAdjust Makefile.in so that it outputs a slightly better error message on an
drh [Sat, 17 Aug 2024 16:17:16 +0000 (16:17 +0000)] 
Adjust Makefile.in so that it outputs a slightly better error message on an
attempt to build something that requires TCL libraries when HAVE_TCL is false.

FossilOrigin-Name: a4043cbeb8a08fca2fdd2ea703e030d3a5574cc6002292ecc6f0e88c116472a3

10 months agoAdjust the "configure" script so that it just disables the ability to
drh [Sat, 17 Aug 2024 15:52:21 +0000 (15:52 +0000)] 
Adjust the "configure" script so that it just disables the ability to
run tests rather than erroring out if tclsh is unable to recommend a
suitable tclConfig.sh.

FossilOrigin-Name: 793ff83d09bea165c8cedc978afd3fcfb1a4cee894c5914aa1d92416afce963d

10 months agoFix a typo in an "ifdef" that broke SQLITE_OMIT_ANALYZE builds.
dan [Sat, 17 Aug 2024 14:59:26 +0000 (14:59 +0000)] 
Fix a typo in an "ifdef" that broke SQLITE_OMIT_ANALYZE builds.

FossilOrigin-Name: c09da26cb6f772a18c595ff0eb55d8345a377c3ef5ed02a5e539ffdbe9d07f85

10 months agoAdd tests to restore coverage of fts5_config.c.
dan [Fri, 16 Aug 2024 19:05:47 +0000 (19:05 +0000)] 
Add tests to restore coverage of fts5_config.c.

FossilOrigin-Name: 9d971b31df7ad4d68eb348f95d8f996071cf87d41c47033bde3fcc4dba732e06

10 months agoIf a subquery has an ORDER BY clause and that ordering is helpfile in
drh [Fri, 16 Aug 2024 18:51:46 +0000 (18:51 +0000)] 
If a subquery has an ORDER BY clause and that ordering is helpfile in
satisfying the ORDER BY or GROUP BY of the outer query without doing an
extra sort, then omit or reduce the sort in the outer query.  Call
this the "order-by-subquery optimization".

FossilOrigin-Name: 7a0cdc7edb704a88a77b748cd28f6e00c49849cc2c1af838b95b34232ecc21f9

10 months agoAdd tests to restore coverage of fts5_storage.c.
dan [Fri, 16 Aug 2024 17:54:00 +0000 (17:54 +0000)] 
Add tests to restore coverage of fts5_storage.c.

FossilOrigin-Name: 38841881a08f4d75c2dfcbc1b2b45e311d7dda1287780f8ba1c8388f7adc1629

10 months agoAdd tests to restore coverage of fts5_main.c.
dan [Fri, 16 Aug 2024 16:20:43 +0000 (16:20 +0000)] 
Add tests to restore coverage of fts5_main.c.

FossilOrigin-Name: 681edd08ab7024ddcd6447a64d8aad581b47b039481b697d91d26e6c6660f373

10 months agoEnsure that memory allocations in ANALYZE are always 8-byte aligned in order
drh [Fri, 16 Aug 2024 15:35:20 +0000 (15:35 +0000)] 
Ensure that memory allocations in ANALYZE are always 8-byte aligned in order
to satisfy a new assert() added by [539e4f661767ef90].

FossilOrigin-Name: a1915cbdeccac2ed49fb8a9733abf2c6239396e3174fed2ff275f66b606c48b6

10 months agoFix handling of COLLATE. Add test cases for the same. Code cleanup for order-by-subquery
drh [Fri, 16 Aug 2024 11:26:21 +0000 (11:26 +0000)] 
Fix handling of COLLATE.  Add test cases for the same.  Code cleanup for
improved understandability and maintainability.

FossilOrigin-Name: 41a41c173a9d15d94f23d73a5c04bfb1616cb9223bc81d41808f9b4d00817fbf

10 months agoBug fix in the subquery ORDER BY propagator.
drh [Fri, 16 Aug 2024 02:19:17 +0000 (02:19 +0000)] 
Bug fix in the subquery ORDER BY propagator.

FossilOrigin-Name: 5a9a3b8af7ac0aa1c04ad2d735e341c92d67952acb9a1d30217c0471e92cd468

10 months agoImprovements to the subquery ORDER BY decision algorithm. Fewer false-negatives.
drh [Fri, 16 Aug 2024 00:37:54 +0000 (00:37 +0000)] 
Improvements to the subquery ORDER BY decision algorithm. Fewer false-negatives.

FossilOrigin-Name: b82421e3f5811946e9d60b845fc882b6ea5c53c648695654c6900754427bf9bf

10 months agoIf a subquery is materialized due to an ORDER BY and that ordering is useful
drh [Thu, 15 Aug 2024 23:38:52 +0000 (23:38 +0000)] 
If a subquery is materialized due to an ORDER BY and that ordering is useful
in helping to satisfy the ORDER BY or GROUP BY in the order query without
doing an extra sort, then omit the extra sort.

FossilOrigin-Name: 2fbb4dc2327ee435cb2b7a4adcddf5a9cee6dff7de96e2ecb761166427b5ddea

10 months agoExtra tests.
dan [Thu, 15 Aug 2024 20:33:05 +0000 (20:33 +0000)] 
Extra tests.

FossilOrigin-Name: fb257540d32ced4a5fe0759d3ad9c1b36fd2b7d64d93cb0a0ecdb48355a68b7a

10 months agoFurther tests and fixes for this branch.
dan [Thu, 15 Aug 2024 18:50:13 +0000 (18:50 +0000)] 
Further tests and fixes for this branch.

FossilOrigin-Name: d27985245a0e8c0d6b04323c98b26b6a8fb4e489fa8f5f3234252c7c198f23c8

10 months agoImproved help message for --disable-tcl on the configure script.
drh [Thu, 15 Aug 2024 15:31:46 +0000 (15:31 +0000)] 
Improved help message for --disable-tcl on the configure script.

FossilOrigin-Name: 96e6cfb211f7f1aab50f997f4bc61dfb9701beb720c59bc413a4285c1ae5e20d

10 months agoReinstate the --disable-tcl option on ./configure.
drh [Thu, 15 Aug 2024 15:23:33 +0000 (15:23 +0000)] 
Reinstate the --disable-tcl option on ./configure.
[forum:/forumpost/845d4a57becc7f3c|Forum thread 845d4a57becc7f3c].

FossilOrigin-Name: de927016aadd7ee55d947134e3540907a3ea5ab4015034c5d088e3a84905d98a

10 months agoDoc typo correction reported in the forum.
stephan [Wed, 14 Aug 2024 20:00:03 +0000 (20:00 +0000)] 
Doc typo correction reported in the forum.

FossilOrigin-Name: 48900a867cc4b6d733d2a3533a553af3dfadf96d3ef7ddf4c72bd432e7bf0f76

10 months agoImproved documentation for the sha3() SQL functions in the shathree.c
drh [Wed, 14 Aug 2024 17:58:46 +0000 (17:58 +0000)] 
Improved documentation for the sha3() SQL functions in the shathree.c
extension in ext/misc.

FossilOrigin-Name: 0ce609103eb35cfa26d9b6fa1769679be7e2b9032c37cc8c00a194fe355b06a4

10 months agoFix an assert() in fts5 that might fail with an expression like "... NOT ''".
dan [Wed, 14 Aug 2024 14:26:02 +0000 (14:26 +0000)] 
Fix an assert() in fts5 that might fail with an expression like "... NOT ''".

FossilOrigin-Name: 317c91edfc69d1d47e233bb6ac13934241742fda1ba03a88fd51bdf98fcbc463

10 months agoMore tests for the new code on this branch.
dan [Tue, 13 Aug 2024 21:15:43 +0000 (21:15 +0000)] 
More tests for the new code on this branch.

FossilOrigin-Name: 00792e807f1dde750e6ac9f9b0095cf60b9fa6ff7cf4b14440600a21de2ee61a

10 months agoAdd the sha3_agg() aggregate to the shathree extension.
drh [Tue, 13 Aug 2024 21:04:00 +0000 (21:04 +0000)] 
Add the sha3_agg() aggregate to the shathree extension.

FossilOrigin-Name: c4d7f9996ce4f5f6d08d83fc3abdb81b6825cfb556318f90c6896736a1da5175

10 months agoAdd tests and fix minor issues with the code on this branch.
dan [Tue, 13 Aug 2024 15:04:00 +0000 (15:04 +0000)] 
Add tests and fix minor issues with the code on this branch.

FossilOrigin-Name: def5243a7b4f1d50427ba607d31332db2d6ac34b181b0cbd2ed4911064f5637a

10 months agoAdd extra documentation comments to fts5_main.c.
dan [Mon, 12 Aug 2024 18:39:13 +0000 (18:39 +0000)] 
Add extra documentation comments to fts5_main.c.

FossilOrigin-Name: 1a7a9bd3f6a2b9347720f7f0386399e7f14b428500acf07d7c55b9dde1ec233a

10 months agoFix problem with some fts5 aux function APIs with (locale=, detail=none/column) tables.
dan [Mon, 12 Aug 2024 17:28:13 +0000 (17:28 +0000)] 
Fix problem with some fts5 aux function APIs with (locale=, detail=none/column) tables.

FossilOrigin-Name: bf116dec6fb20cce69099cb8c031b0de511195482919a99ccfb3c498e9bf8125

10 months agoFix further issues to do with fts5 locale support.
dan [Mon, 12 Aug 2024 17:03:37 +0000 (17:03 +0000)] 
Fix further issues to do with fts5 locale support.

FossilOrigin-Name: e626123580065986f7df50b6140f00048944becce179b9391fbf09f97ac55485

10 months agoUpdate the porter tokenizer to use locales.
dan [Mon, 12 Aug 2024 11:46:09 +0000 (11:46 +0000)] 
Update the porter tokenizer to use locales.

FossilOrigin-Name: 3291ce3a3359a80e51e4546a3d7a187cbe4c7530fca6632f0bb2728525efe212

10 months agoUpdate the auxiliary function API to include xTokenize_x2() instead of xSetLocale().
dan [Mon, 12 Aug 2024 11:13:56 +0000 (11:13 +0000)] 
Update the auxiliary function API to include xTokenize_x2() instead of xSetLocale().

FossilOrigin-Name: f7d56a1f2149f0da117167db62e2c28ec337e8da3403873b64cdfc6a951e2e8e

10 months agoResolve parameters Bind $int_N and $test_T in fuzzcheck inputs.
drh [Mon, 12 Aug 2024 09:49:02 +0000 (09:49 +0000)] 
Resolve parameters Bind $int_N and $test_T in fuzzcheck inputs.

FossilOrigin-Name: 9c10664416274df6f8da53ddd86f6356c9704ad798fd4034d2784ae433c1c056

10 months agoMerge trunk changes into this branch.
dan [Sat, 10 Aug 2024 20:03:01 +0000 (20:03 +0000)] 
Merge trunk changes into this branch.

FossilOrigin-Name: b243007525a825b3daf8aa9bb2d3088efb853bd8b7c9ea3c0924fde193eb5c44

10 months agoPrevent the fts5 xPhraseNext() or xPhraseFirst() APIs from returning an out-of-range...
dan [Sat, 10 Aug 2024 19:57:28 +0000 (19:57 +0000)] 
Prevent the fts5 xPhraseNext() or xPhraseFirst() APIs from returning an out-of-range column number, even if the database is corrupt.

FossilOrigin-Name: d4014c87ba9b011a6a04c2bf85879b668dc762ebcbbfb50a2f8a417ce594ef88

10 months agoFix an uninitialized variable in fts5_tcl.c.
dan [Sat, 10 Aug 2024 19:18:19 +0000 (19:18 +0000)] 
Fix an uninitialized variable in fts5_tcl.c.

FossilOrigin-Name: 924d3467cebd71ac8dfef8225965d71eda82ef1f0b43508af5b7ea78e2099cf3

10 months agoUpdate the fts5_tokenizer_v2 API so that the locale is passed as parameter to xTokeni...
dan [Sat, 10 Aug 2024 18:59:36 +0000 (18:59 +0000)] 
Update the fts5_tokenizer_v2 API so that the locale is passed as parameter to xTokenize(), instead of via a separate call to xSetLocale().

FossilOrigin-Name: 03e63ed24e7a08817341e59b075ae2d4e3f7a5e5b37e0e6138359d5fd29a5e9e

10 months agoRevision to check-in [d9f726ade6b258f8] so that OOM and other unrelated failures
drh [Sat, 10 Aug 2024 15:46:57 +0000 (15:46 +0000)] 
Revision to check-in [d9f726ade6b258f8] so that OOM and other unrelated failures
are not overridden by a syntax error in the tokenizer spec.

FossilOrigin-Name: 3778b2a9ca1cc12a88ef6c32a1ee7c58a0a829ed9715a3d32a225d377d7527ef

10 months agoFix harmless compiler warning related to the TCL8-to-TCL9 transition. This
drh [Sat, 10 Aug 2024 15:05:22 +0000 (15:05 +0000)] 
Fix harmless compiler warning related to the TCL8-to-TCL9 transition.  This
change in testing code only and is not relevante to the core SQLite.

FossilOrigin-Name: c86ef65545485eae6aca23b4582e8115d4edfdd6084afa77858e11b21aa270f6

10 months agoFix behavior change in the offset() SQL function introduced by
drh [Sat, 10 Aug 2024 14:53:21 +0000 (14:53 +0000)] 
Fix behavior change in the offset() SQL function introduced by
check-in [f0b671183f44d0ae].

FossilOrigin-Name: c2ac17f183082d6388336338b8d5c0b334095e5f77a27bc08419431f37471d22

10 months agoEnhancements to covering-index prediction. In particular, avoid the
drh [Sat, 10 Aug 2024 10:05:22 +0000 (10:05 +0000)] 
Enhancements to covering-index prediction.  In particular, avoid the
false-positive prediction described by
[forum:/forumpost/e60e4c295d22f8ce|forum post e60e4c295d22f8ce].
Add early detection of over-prediction of covering-indexes so that
sqlite3_prepare() will return an error rather than just generate bad
bytecode.

FossilOrigin-Name: f0b671183f44d0ae294956e7651a1653f47bd6219f9636872d15993f30f28dfb

10 months agoAdd an assert() to fix a harmless compiler warning in the recovery
drh [Sat, 10 Aug 2024 09:56:36 +0000 (09:56 +0000)] 
Add an assert() to fix a harmless compiler warning in the recovery
extension.

FossilOrigin-Name: 2502339339f3c831966479a400c2b1a531fb4d990b1776b4dc4870cf734c3fcd

10 months agoFix a few minor TCL9 compatibilities issues.
drh [Fri, 9 Aug 2024 22:48:11 +0000 (22:48 +0000)] 
Fix a few minor TCL9 compatibilities issues.

FossilOrigin-Name: 69eed19914ef52bc0101f4ae1c7b242df4ee28675b3581e1f4d60a35494f9f76

10 months agoEnsure tokenizers registered with xCreateTokenizer_v2() can be accessed using xFindTo...
dan [Fri, 9 Aug 2024 20:59:50 +0000 (20:59 +0000)] 
Ensure tokenizers registered with xCreateTokenizer_v2() can be accessed using xFindTokenizer(), and that those registered with xCreateTokenizer() work with xFindTokenizer_v2().

FossilOrigin-Name: a3ef7d47b582a66a85ebe802ab40114f77289d6b44a4b375ea7858c60f59b27f

10 months agoImport the second ALTER TABLE fix from trunk. covering-index-patch
drh [Fri, 9 Aug 2024 18:53:02 +0000 (18:53 +0000)] 
Import the second ALTER TABLE fix from trunk.

FossilOrigin-Name: 1de3e5883613ff6093203720f3cdcf6b3a3e626c99735284fae95a438e1ce24f

10 months agoFix another instance where ALTER TABLE was returning SQLITE_INTERNAL instead
drh [Fri, 9 Aug 2024 18:42:01 +0000 (18:42 +0000)] 
Fix another instance where ALTER TABLE was returning SQLITE_INTERNAL instead
of SQLITE_ERROR one malformed input.

FossilOrigin-Name: b416756320dfb46ad72b843a7fbf18807d3fd1966251c320de626280b5238a5c

10 months agoMerge the error code fix from trunk.
drh [Fri, 9 Aug 2024 18:22:20 +0000 (18:22 +0000)] 
Merge the error code fix from trunk.

FossilOrigin-Name: 81dfb8cd5d59ecf974018b03175ddabd11366d2aca0211dc982f7e14ff314d4d

10 months agoFix the internal routine sqlite3ResolveExprListNames() so that it returns
drh [Fri, 9 Aug 2024 18:18:11 +0000 (18:18 +0000)] 
Fix the internal routine sqlite3ResolveExprListNames() so that it returns
SQLITE_OK or SQLITE_ERROR instead of WRC_Continue or WRC_Abort.  Without this
fix, some times of obscure syntax errors end up returning SQLITE_INTERNAL
rather than SQLITE_ERROR.

FossilOrigin-Name: 9052187efd1f78abd9b285ac94269a3ba4d65b6aa74c9fa34002ee0628c83919

10 months agoDo not attempt to use a covering index based purely on columns-used
drh [Fri, 9 Aug 2024 17:09:18 +0000 (17:09 +0000)] 
Do not attempt to use a covering index based purely on columns-used
when doing an UPDATE or DELETE of a WITHOUT ROWID table.  Raise an
SQLITE_INTERNAL error if there is ever a situation where a table reference
cannot be converted into an index reference when the query planner thinks
that a covering index is appropriate.

FossilOrigin-Name: fae39ae9320c0f4fcc2e3b3baf0a4170ba2b9a04634a0a1fa41dd4918a74b106

10 months agoBind the new debug parameters in fuzzinvariants.c.
drh [Fri, 9 Aug 2024 12:35:27 +0000 (12:35 +0000)] 
Bind the new debug parameters in fuzzinvariants.c.

FossilOrigin-Name: 7e1dc263051cf50db04643d1a2aa9f91559b2b121859b750ce4446012d5f3c3e