]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
2 years agoUpdates to the 'vtshim' extension. xShadowName2
mistachkin [Fri, 22 Jul 2022 20:48:04 +0000 (20:48 +0000)] 
Updates to the 'vtshim' extension.

FossilOrigin-Name: 163c6cdf93451cb4ae7655266654d4aec2b94c4ceb0a6fc68859ecc73bf393a9

2 years agoAdd experimental 'xShadowName2' method for virtual table modules.
mistachkin [Fri, 22 Jul 2022 20:24:38 +0000 (20:24 +0000)] 
Add experimental 'xShadowName2' method for virtual table modules.

FossilOrigin-Name: 57beb700c081b20758d52ad4d395be34ef53f71a231f3dd27613030ac232bca8

2 years agoOmit the EP_MemToken flag that was made obsolete by [e1f1cfe7f4387b60], for
drh [Fri, 22 Jul 2022 19:28:04 +0000 (19:28 +0000)] 
Omit the EP_MemToken flag that was made obsolete by [e1f1cfe7f4387b60], for
a size reduction and performance increase.

FossilOrigin-Name: 28934a9d92d5e5ac862a0dc7169f071f39047f98dc79441db697cf353a4b9433

2 years agoIn a TK_BLOB Expr node, the Expr.zToken might not be a well-formed
drh [Fri, 22 Jul 2022 18:25:04 +0000 (18:25 +0000)] 
In a TK_BLOB Expr node, the Expr.zToken might not be a well-formed
BLOB literal if there has been a prior OOM.
dbsqlfuzz 23871e5805d6c45b392f9b7aa1e8a2b98f3c27cd.

FossilOrigin-Name: c538d075350927222ab0a6598b844f7b15153c5dc008d71b921a2b73c4f4a7a4

2 years agoUpdate the documentation for SQLITE_OPEN_NOFOLLOW to state more clearly that
drh [Fri, 22 Jul 2022 14:52:29 +0000 (14:52 +0000)] 
Update the documentation for SQLITE_OPEN_NOFOLLOW to state more clearly that
nothing in the database path is allowed to be a symbolic link.

FossilOrigin-Name: de9222697b2ca8cae2cc7aa9082cca3910038ebbab1e8ee15270b06711711a0b

2 years agoFix harmless compiler warning seen with MSVC.
mistachkin [Thu, 21 Jul 2022 18:37:50 +0000 (18:37 +0000)] 
Fix harmless compiler warning seen with MSVC.

FossilOrigin-Name: 648172de20d70532ed0fb9713b76161dd481e09bbd973c03dffb51fb61b731cc

2 years agoMake use of the sqlite3ExprDeferredDelete() interface in the previous
drh [Wed, 20 Jul 2022 20:36:26 +0000 (20:36 +0000)] 
Make use of the sqlite3ExprDeferredDelete() interface in the previous
check-in, and in another place where it might be helpful.

FossilOrigin-Name: 22f90e9683d5cd6619ccdb06a02e9dde9f4b7457391c0dbb4c3216c22fc0db47

2 years agoSimplify the logic that converts the "1" expression in "ORDER BY 1" into a
drh [Wed, 20 Jul 2022 16:42:40 +0000 (16:42 +0000)] 
Simplify the logic that converts the "1" expression in "ORDER BY 1" into a
copy of the expression that defines the first output column.

FossilOrigin-Name: e1f1cfe7f4387b60443bd31742e2f49db1a2d0443200318a898ba0da216619be

2 years agoImprove accuracy of julian day milliseconds calculation.
larrybr [Tue, 19 Jul 2022 21:12:54 +0000 (21:12 +0000)] 
Improve accuracy of julian day milliseconds calculation.

FossilOrigin-Name: e5e9311863544ef30dccd3bd0b3a048a864a650e69cdf9aab13dbe32a4777b51

2 years agoRemove a few unsuitable scripts from the "veryquick" test suite. Also have every...
dan [Mon, 18 Jul 2022 19:32:30 +0000 (19:32 +0000)] 
Remove a few unsuitable scripts from the "veryquick" test suite. Also have every second testrunner.tcl process favour running test scripts that contain text like "testrunner: slow" before any others.

FossilOrigin-Name: 22d280a5cd395abbedcfffbac3d3b3a614c327be25763ca380c1338a2a7bd33a

2 years agoAdd the "testrunner" makefile target.
drh [Mon, 18 Jul 2022 18:13:02 +0000 (18:13 +0000)] 
Add the "testrunner" makefile target.

FossilOrigin-Name: 954c6593152f8c7372ed1233b32cce153d0ce4804869cf4ec5504d106a4920a2

2 years agoIncrease the size of loop variables in the printf() implementation to avoid
drh [Mon, 18 Jul 2022 15:02:00 +0000 (15:02 +0000)] 
Increase the size of loop variables in the printf() implementation to avoid
harmless compiler warnings.

FossilOrigin-Name: aab790a16e1bdff78759f9c9ae87a2559ba82dd34ef3dedfb66035a0db7067a7

2 years agoEnhance the REGEXP extension so that it will accept the start-of-input
drh [Mon, 18 Jul 2022 13:55:21 +0000 (13:55 +0000)] 
Enhance the REGEXP extension so that it will accept the start-of-input
mark ("^") in the middle of parentheses.
[forum:/forumpost/0d6a9160f81ef1a8|Forum post 0d6a9160f81ef1a8].

FossilOrigin-Name: ed8a8ebd62a319b5dabbdf67ee27141153b9899d7c8f08eeb4bdf35271015c71

2 years agoFix a problem in the REGEXP extension for the {M,N} construct where M is zero.
drh [Mon, 18 Jul 2022 13:10:53 +0000 (13:10 +0000)] 
Fix a problem in the REGEXP extension for the {M,N} construct where M is zero.
See [forum:/forumpost/8694e55a2c29963c|forum post 8694e55a2c29963c] for more
information.

FossilOrigin-Name: af15bb75306a4b94593b8431a34768b3de3d6689293e85ca02db16bf3e9f39e2

2 years agoEnhance the ext/misc/regexp.c code so that when it is compiled with
drh [Mon, 18 Jul 2022 11:44:16 +0000 (11:44 +0000)] 
Enhance the ext/misc/regexp.c code so that when it is compiled with
SQLITE_DEBUG, a new function named regexp_bytecode() is available that
prints out the compiled NFA as human-readable text, for debugging purposes.

FossilOrigin-Name: cb5c08978fe8f074e6ae16953575213709e98b8bbae4359e0d2e6de67a7ea9e5

2 years agoFixes for the generated "mallocs.tcl" and "leaks.tcl" scripts generated by running...
dan [Sat, 16 Jul 2022 18:08:48 +0000 (18:08 +0000)] 
Fixes for the generated "mallocs.tcl" and "leaks.tcl" scripts generated by running tcl tests with the --malloctrace=1 option.

FossilOrigin-Name: 449799e2d5902464540e8fda53ab429e0518278dab3b17c86911759114cddea0

2 years agoIn the query planner, restore the former aggressiveness in reordering of
drh [Fri, 15 Jul 2022 20:39:39 +0000 (20:39 +0000)] 
In the query planner, restore the former aggressiveness in reordering of
FROM clause terms that existed prior to version 3.39.0 for queries that
contain no RIGHT or FULL JOINs.

FossilOrigin-Name: 92d60b64ebfc2d1f0a9cabaa88e7bf0d11737ed01a77b627af10dd1b96a5321c

2 years agoFix a memory leak in fts3 that could occur when processing a corrupt database.
dan [Fri, 15 Jul 2022 15:08:48 +0000 (15:08 +0000)] 
Fix a memory leak in fts3 that could occur when processing a corrupt database.

FossilOrigin-Name: d74f6f6d5136995b8bf900eb671e4b15ca81e03cc1ab5b7a1aa43dc4f3617760

2 years agoFix the whereKeyStats() routine (part of STAT4 processing only) so that it
drh [Fri, 15 Jul 2022 12:16:11 +0000 (12:16 +0000)] 
Fix the whereKeyStats() routine (part of STAT4 processing only) so that it
is able to cope with row-value comparisons against the primary key index
of a WITHOUT ROWID table.
[forum:/forumpost/3607259d3c|Forum post 3607259d3c].

FossilOrigin-Name: 0620e419a927a3da6ebe921aaa3471686f0fdc2e485f4c2d5c88f32092228724

2 years agoUpdate some faulty assert() statements in fts3.
dan [Fri, 15 Jul 2022 11:34:23 +0000 (11:34 +0000)] 
Update some faulty assert() statements in fts3.

FossilOrigin-Name: b072851be1a5e49441469dbfa4580e132ebb1d8bc2de98fe1aa67bb9c7cf13a3

2 years agoEnsure all testrunner.tcl processes use the same pending-byte value when
dan [Thu, 14 Jul 2022 21:17:22 +0000 (21:17 +0000)] 
Ensure all testrunner.tcl processes use the same pending-byte value when
accessing testrunner.db. Otherwise locking doesn't work and the db is corrupted.

FossilOrigin-Name: b65225653e4e5c20cc43f4dfdde6c110f6d14b87bff02a65fd61beabe50ec8db

2 years agoUpdate testrunner.tcl so that it can run the test suites defined in permutation.test.
dan [Thu, 14 Jul 2022 18:09:56 +0000 (18:09 +0000)] 
Update testrunner.tcl so that it can run the test suites defined in permutation.test.

FossilOrigin-Name: 15ce937ef42491c503cb91f5bb3ce4dc5cdb3a927ff2f2b873fb6bf96808f3aa

2 years agoWhen applying the omit-ORDER-BY optimization, defer deleting the AST of
drh [Thu, 14 Jul 2022 01:48:27 +0000 (01:48 +0000)] 
When applying the omit-ORDER-BY optimization, defer deleting the AST of
the deleted ORDER BY clause until after code generation ends.

FossilOrigin-Name: f22f95b838873f1d2a320afe3d0f4e4847948fcd343097b93a9f684a6f66d6ba

2 years agoFix testrunner.tcl so that it can detect the number of logical cores on osx.
dan [Wed, 13 Jul 2022 21:28:19 +0000 (21:28 +0000)] 
Fix testrunner.tcl so that it can detect the number of logical cores on osx.

FossilOrigin-Name: 14918f28221a3124b78a490fbb483279551ccc5a0032ea854ff0ac365684cc60

2 years agoMinor change to help message in testrunner.tcl.
dan [Wed, 13 Jul 2022 21:10:11 +0000 (21:10 +0000)] 
Minor change to help message in testrunner.tcl.

FossilOrigin-Name: e4f9cb01d790c27394cc021e7d4a16f4d5feda2d2493abd82e9660d7e6e9fec0

2 years agoAdd new script test/testrunner.tcl. For running a set of test scripts using
dan [Wed, 13 Jul 2022 21:02:07 +0000 (21:02 +0000)] 
Add new script test/testrunner.tcl. For running a set of test scripts using
multiple processes.

FossilOrigin-Name: 0122e93dc19c228546908b9ef5c58f88d27d79233523e2d09a4bbd56b0c492f9

2 years agoFix a problem preventing "testrunnter.tcl all" from working.
dan [Wed, 13 Jul 2022 20:26:37 +0000 (20:26 +0000)] 
Fix a problem preventing "testrunnter.tcl all" from working.

FossilOrigin-Name: 0ed1e83c6fc12acd06ecf7210a869bebaf5e5e75762e5f16bf1834ecab717d59

2 years agoUpdate testrunner.tcl to allow the user to specify which tests to run on the command...
dan [Wed, 13 Jul 2022 19:57:35 +0000 (19:57 +0000)] 
Update testrunner.tcl to allow the user to specify which tests to run on the command line.

FossilOrigin-Name: 900febcf362fa5f592c640d16177f33c13aab11ce31a61c7e18ff1be6e70bf9b

2 years agoFix testrunner.tcl so that it checks for memory leaks.
dan [Wed, 13 Jul 2022 17:46:42 +0000 (17:46 +0000)] 
Fix testrunner.tcl so that it checks for memory leaks.

FossilOrigin-Name: 106f6724d54ccec3edf8c9a0422b89c4f227adb26021ed6f0fc91392ef4b3fc5

2 years agoThe query flattener should not run if the subquery is a compound that contains
drh [Wed, 13 Jul 2022 15:52:15 +0000 (15:52 +0000)] 
The query flattener should not run if the subquery is a compound that contains
a RIGHT JOIN in any arm and the subquery is not the first element of the
outer query.  Otherwise, prior elements of the outer query will not have
the JT_LTORJ flag set.  Fix for the problem reported in
[forum:/forumpost/174afeae5734d42d|forum post 174afeae5734d42d].

FossilOrigin-Name: 274e244c85935084b2f0f85176283f018bf9b74e7703f985bd5a2f6f8bdcff5d

2 years agoAdd test/testrunner.tcl, an experimental script for distributing the work of veryquic...
dan [Tue, 12 Jul 2022 20:31:16 +0000 (20:31 +0000)] 
Add test/testrunner.tcl, an experimental script for distributing the work of veryquick.test between multiple processes.

FossilOrigin-Name: ef229cbb7ffbeb8c8877dff70e9d6d43050d2297dee582a37df3a0caaebd2a41

2 years agoRenamed the SQLITE_SHELL_WASM_WEB_MODE to SQLITE_SHELL_FIDDLE, which seems to be...
stephan [Tue, 12 Jul 2022 15:53:02 +0000 (15:53 +0000)] 
Renamed the SQLITE_SHELL_WASM_WEB_MODE to SQLITE_SHELL_FIDDLE, which seems to be more in line with project convensions and indicates that that flag is only intended for /fiddle mode, as opposed to arbitrary wasm-on-the-web use.

FossilOrigin-Name: d1d019bfa2f62b0dc39bba42e17786ca2e4362b6d11d206e5445a051a0f93ae0

2 years agoFix another test case error message similar to those fixed in [b3d6b3c3].
dan [Tue, 12 Jul 2022 15:17:50 +0000 (15:17 +0000)] 
Fix another test case error message similar to those fixed in [b3d6b3c3].

FossilOrigin-Name: 6d0f677291d2b5ec68c86292da240c5557422aae1290c0844223974449ce539b

2 years agoUpdate makefiles to fix building the non-amalgamation testfixture with SQLITE_DEBUG.
dan [Tue, 12 Jul 2022 15:10:16 +0000 (15:10 +0000)] 
Update makefiles to fix building the non-amalgamation testfixture with SQLITE_DEBUG.

FossilOrigin-Name: d9c4a9d09b6b22d7d95420b495dc7d7a42a0638be5824f6af6630539fe787cd4

2 years agoFix a bug in wapptest.tcl introduced by [51255bad4c1fb607].
drh [Tue, 12 Jul 2022 10:46:02 +0000 (10:46 +0000)] 
Fix a bug in wapptest.tcl introduced by [51255bad4c1fb607].

FossilOrigin-Name: b26d097e099b18ff434467adafe83fc55429488dbb8ce9c879bb03d8c5b7d3eb

2 years agoRenamed SQLITE_SHELL_WASM_MODE to SQLITE_SHELL_WASM_WEB_MODE and no longer automatica...
stephan [Tue, 12 Jul 2022 09:40:27 +0000 (09:40 +0000)] 
Renamed SQLITE_SHELL_WASM_MODE to SQLITE_SHELL_WASM_WEB_MODE and no longer automatically enable it if __EMSCRIPTEN__ is defined, in order to facilitate using Emscripten to build the shell for CLI-based WASM runtimes (which cannot make use of the web-specific user input changes). The fiddle build now explicitly passes the new flag on at compile-time.

FossilOrigin-Name: ee059ad5a811a1511e37158f041a7bf9070529d530410d2f1c4395cdd25c6d33

2 years agoBack out the pager performance enhancement at [a1c090e08139f99d3], because it
drh [Tue, 12 Jul 2022 07:13:38 +0000 (07:13 +0000)] 
Back out the pager performance enhancement at [a1c090e08139f99d3], because it
turns out we should never allow a zero key into the pcache interface according
to the design specs, even if that page is immediately released without ever
being used.

FossilOrigin-Name: ec96293ead83603ebe5d7f250d6fdc11f22172f05a9513f175331437c3eaa4c8

2 years agoAdd the --config option to wapptest.tcl. The argument is a glob pattern. All
drh [Mon, 11 Jul 2022 22:20:39 +0000 (22:20 +0000)] 
Add the --config option to wapptest.tcl.  The argument is a glob pattern.  All
configurations must match the glob pattern in order to run.  The default value
is "*".

FossilOrigin-Name: 51255bad4c1fb6074f602586fabad675ae310b9c37f4b80ecf60e2959fb0db12

2 years agoUpdate the expected error messages in some OOM test cases to account for [44d77a7f807].
dan [Mon, 11 Jul 2022 21:40:34 +0000 (21:40 +0000)] 
Update the expected error messages in some OOM test cases to account for [44d77a7f807].

FossilOrigin-Name: b3d6b3c3fc68dca7e20418eefa35ce3b583322b884b88a11c6773419f027a7a4

2 years agoUse 64-bit memory allocation APIs in the sqlite_stmt virtual table, to avoid
drh [Mon, 11 Jul 2022 19:47:57 +0000 (19:47 +0000)] 
Use 64-bit memory allocation APIs in the sqlite_stmt virtual table, to avoid
harmless compiler warnings.

FossilOrigin-Name: afb9e60ee3b194f33664a6722356e5d3c69ce1d4da1a0affd92b8e6aaf4dd2da

2 years agoIn the sqlite_stmt extension, store the result of strlen() in a 64-bit
drh [Mon, 11 Jul 2022 19:12:47 +0000 (19:12 +0000)] 
In the sqlite_stmt extension, store the result of strlen() in a 64-bit
integer to avoid a compiler warning, even though we know that the length
will always fit comfortably in 32 bits.

FossilOrigin-Name: 3fe19452499afc8e6b38905e1ce7e9153adbfebf10dccf39da4b7f1b0cd24f05

2 years agoFix harmless compiler warnings about unused debugging functions in treeview.c.
drh [Mon, 11 Jul 2022 18:26:14 +0000 (18:26 +0000)] 
Fix harmless compiler warnings about unused debugging functions in treeview.c.

FossilOrigin-Name: 4d6f907712e35eddf6af36eb823c3ccdfcdff1c63b2c224b3bcf34ffec95d511

2 years agoBack out the optimization at [1a8c2e54375ee2cf7] because there are some
drh [Mon, 11 Jul 2022 18:11:51 +0000 (18:11 +0000)] 
Back out the optimization at [1a8c2e54375ee2cf7] because there are some
cases where it does not work.

FossilOrigin-Name: fe39c8d5fd813308fb27a05ce257ff003d3c09c0372f500e8def5a528a2558b7

2 years agoEnsure that the Parse.nErr flag is set following an SQLITE_TOOBIG error on
drh [Mon, 11 Jul 2022 14:36:03 +0000 (14:36 +0000)] 
Ensure that the Parse.nErr flag is set following an SQLITE_TOOBIG error on
a nested parse.  Fix for the problem identified by
[forum/forumpost/d5a82ba9eedee30c | forum post d5a82ba9eedee30c].
Also, remove unnecessary clearing of the Parse.zErrMsg field
following a nested parse.

FossilOrigin-Name: 44d77a7f807f5dc3e94e6cd88a27bea79257f0f2ccf332891bdaa4668d0bb987

2 years agoFix a problem in fts3 to do with deferred tokens and OR expressions.
dan [Mon, 11 Jul 2022 14:26:38 +0000 (14:26 +0000)] 
Fix a problem in fts3 to do with deferred tokens and OR expressions.

FossilOrigin-Name: d0bfe5c574dbc467ba97d96306d78a62a55b78dbbbe4d25aa962db6aa40406f6

2 years agoWhen an OOM occurs and sets the Parse.nErr value, also set the Parse.nErr
drh [Sun, 10 Jul 2022 21:12:54 +0000 (21:12 +0000)] 
When an OOM occurs and sets the Parse.nErr value, also set the Parse.nErr
value for all outer Parse objects.
dbsqlfuzz d33f60aaa67733aa700cd69dacf8e0e23a327a29

FossilOrigin-Name: 9a494d25944f4f640026e7a7ae2948e555d7af31487c55ed2ec2818a0789b887

2 years agoPerformance optimizations in the WHERE clause processing of the query planner.
drh [Fri, 8 Jul 2022 20:03:41 +0000 (20:03 +0000)] 
Performance optimizations in the WHERE clause processing of the query planner.

FossilOrigin-Name: 50c8e8de52a6ba328bc9eb38e1a67033b643ddf41ff507d2240e97e0072b6db3

2 years agoOmit an unnecessary structure initialization in whereLoopAddAll(), replacing
drh [Fri, 8 Jul 2022 18:23:04 +0000 (18:23 +0000)] 
Omit an unnecessary structure initialization in whereLoopAddAll(), replacing
it with an assert() to show that the initialization has already occurred, for
a small performance increase and size reduction.

FossilOrigin-Name: 27be9e963459ca0b20c339264125e175550debf50fdbec7d78412768a6326b42

2 years agoSize reduction and performance optimization in whereLoopAddBtreeIndex().
drh [Fri, 8 Jul 2022 17:57:10 +0000 (17:57 +0000)] 
Size reduction and performance optimization in whereLoopAddBtreeIndex().

FossilOrigin-Name: 64d2312c121e3dabbc1f86effe9dfc57915395466ea2c3746821848f743b8d8f

2 years agoIn wherePathSolver(), defer initializing variables until they are actually
drh [Fri, 8 Jul 2022 16:56:47 +0000 (16:56 +0000)] 
In wherePathSolver(), defer initializing variables until they are actually
needed, in case they are not needed.  This gives a small performance increase.

FossilOrigin-Name: 6f28a9652a3f1e5354afb76314db8f33f92f5e888e336d025f34881c0a8d64ae

2 years agoUpgrade the TEA build system used to build the Tcl package.
dan [Fri, 8 Jul 2022 15:06:07 +0000 (15:06 +0000)] 
Upgrade the TEA build system used to build the Tcl package.

FossilOrigin-Name: ace65da8fa947926566037762ee9ff1b7686173eb7a50c7b55c4204171228b08

2 years agoFix typo in autoconf/tea/win/makefile.vc. tea-upgrade
dan [Fri, 8 Jul 2022 13:57:45 +0000 (13:57 +0000)] 
Fix typo in autoconf/tea/win/makefile.vc.

FossilOrigin-Name: 094b2aadd55b0bd93cab5e3172e3a3c1bea83cd312920ffc79088d4a30d2689a

2 years agoRemove an obsolete statement from a comment. No changes to code.
drh [Fri, 8 Jul 2022 11:55:54 +0000 (11:55 +0000)] 
Remove an obsolete statement from a comment.  No changes to code.

FossilOrigin-Name: 99afb3f41b923f06211d655d46c902da13c8f7aadf2421d6e93c048f5b49e660

2 years agoUpdate options in the TEA package msvc makefile to match other builds.
dan [Fri, 8 Jul 2022 11:21:30 +0000 (11:21 +0000)] 
Update options in the TEA package msvc makefile to match other builds.

FossilOrigin-Name: d72e12b99dd1f8abdd855130adc27dbfc8794cfe9550a8495f68c4498a89d07e

2 years agoUpdate the build options used for the TEA package to match those used to build the...
dan [Fri, 8 Jul 2022 11:14:19 +0000 (11:14 +0000)] 
Update the build options used for the TEA package to match those used to build the binaries at download.html.

FossilOrigin-Name: 9d6d9dba6680b62c24f5671109f3c28b6829645bffc5ed4e92d016fd2ad02a3e

2 years agoVery small size reduction and performance increase in btree.c.
drh [Thu, 7 Jul 2022 22:59:35 +0000 (22:59 +0000)] 
Very small size reduction and performance increase in btree.c.

FossilOrigin-Name: 9a7c031a822246ee36bc440c7492e9c8ebeec6bc7066e56f114756b1881b2eb8

2 years agoSize reduction and performance increase in defragementPage() of btree.c.
drh [Thu, 7 Jul 2022 21:04:03 +0000 (21:04 +0000)] 
Size reduction and performance increase in defragementPage() of btree.c.

FossilOrigin-Name: 1b03f197b5572084177012a58990f8dba7ff10382ff5657fda62867a4d0b1af9

2 years agoUpgrade the TEA build system in autoconf/tea/. To match tclconfig commit 20fe9e6f59...
dan [Thu, 7 Jul 2022 20:49:22 +0000 (20:49 +0000)] 
Upgrade the TEA build system in autoconf/tea/. To match tclconfig commit 20fe9e6f59 and Tcl Sample Extension be47fb0446.

FossilOrigin-Name: 1531f7391890d7d3cd091c2d1284230f128e5282bf676967ebcb212210e51e71

2 years agoSize reduction and performance increase in the pageFindSlot() routine of
drh [Thu, 7 Jul 2022 20:29:49 +0000 (20:29 +0000)] 
Size reduction and performance increase in the pageFindSlot() routine of
btree.c.

FossilOrigin-Name: 5d247e38560b97975568e8a48324acaca1002ec2ef7fa3efc9c8aa7d83412aad

2 years agoSize reduction and performance increase in the freeSpace() routine of btree.c.
drh [Thu, 7 Jul 2022 20:11:35 +0000 (20:11 +0000)] 
Size reduction and performance increase in the freeSpace() routine of btree.c.

FossilOrigin-Name: 7d7aed053f600659c63d8bac6d5da77879936c3fc57bfd058a4943b3bc530575

3 years agoFix harmless compiler warnings seen with MSVC.
mistachkin [Wed, 6 Jul 2022 23:50:01 +0000 (23:50 +0000)] 
Fix harmless compiler warnings seen with MSVC.

FossilOrigin-Name: 61e2094afbbcbd5fdf5c3ec06b96134fafb7b854dc9bfa7d0619bed6d35efbe4

3 years agoAvoid ignoring the last line of a csv file if the final field is empty and
dan [Wed, 6 Jul 2022 15:44:57 +0000 (15:44 +0000)] 
Avoid ignoring the last line of a csv file if the final field is empty and
there is no trailing CFLS. Also have the csv extension treat the last line of a
file in the same way as any other line if it is short fields.

FossilOrigin-Name: 587795d47fcaf5142526fabbcc4d5a632f561f258414c2846e8932a49b5b2e6b

3 years agoAvoid dropping error codes in the xBegin() method of virtual table sqlite_dbpage.
dan [Wed, 6 Jul 2022 13:59:45 +0000 (13:59 +0000)] 
Avoid dropping error codes in the xBegin() method of virtual table sqlite_dbpage.

FossilOrigin-Name: 570e2bce595d3a48977dca0bb573dd3fe745a0d13b7122b3ad8ab4745c0700d0

3 years agoFix for builds with both SQLITE_DEBUG and SQLITE_OMIT_WINDOWFUNC defined.
dan [Tue, 5 Jul 2022 19:53:59 +0000 (19:53 +0000)] 
Fix for builds with both SQLITE_DEBUG and SQLITE_OMIT_WINDOWFUNC defined.

FossilOrigin-Name: 77916947ce3f0828e1c50bcb8a6438c951ab9e74d83ec4324e82e90e100b9a98

3 years agoFix a problem in the csv extension that was triggered when the very first field in...
dan [Tue, 5 Jul 2022 17:49:04 +0000 (17:49 +0000)] 
Fix a problem in the csv extension that was triggered when the very first field in the csv file is zero bytes in size.

FossilOrigin-Name: b12ddabf07b5e06bcee8dda3f990af3a131ab52b8fa969ba061b26d38458f31d

3 years agoFix an assert() in btree to be more precise, as the previous form of that
drh [Tue, 5 Jul 2022 10:40:30 +0000 (10:40 +0000)] 
Fix an assert() in btree to be more precise, as the previous form of that
asser might fail due to recent performance optimizations.

FossilOrigin-Name: 4774938134d0105423720bdc1b4e82164a1e28d993c5cd81c1b03f1f0878427e

3 years agoSize reduction and performance optimization in sqlite3WalFindFrame().
drh [Mon, 4 Jul 2022 15:14:25 +0000 (15:14 +0000)] 
Size reduction and performance optimization in sqlite3WalFindFrame().

FossilOrigin-Name: 1a8c2e54375ee2cf73773b798fed0ae07b42f5e068fddc513c093de5c1f46615

3 years agoIn the getNormalPage() routine of pager.c, consolidate pgno error checking
drh [Mon, 4 Jul 2022 09:41:44 +0000 (09:41 +0000)] 
In the getNormalPage() routine of pager.c, consolidate pgno error checking
into a single spot for small size reduction and performance increase.

FossilOrigin-Name: a1c090e08139f99d30aa89db0756dc59fe8990ce15b3db4d4b726cc6acdab46f

3 years agoEnhance the REGEXP extension so that the end-of-input indicate ("$") is
drh [Sun, 3 Jul 2022 18:12:43 +0000 (18:12 +0000)] 
Enhance the REGEXP extension so that the end-of-input indicate ("$") is
allowed to occur on one branch of an OR ("|").
[forum:/forumpost/0107d5d40dd273e2|Forum post 0107d5d40dd273e2], second
issue.

FossilOrigin-Name: 3c04d21e6c632feb3bea8d1fa76bedcbfe254b0dc59865633d158a3f1bddefba

3 years agoFix the initial-prefix optimization for the REGEXP extension such that it
drh [Sun, 3 Jul 2022 14:25:47 +0000 (14:25 +0000)] 
Fix the initial-prefix optimization for the REGEXP extension such that it
works even if the prefix contains characters that require a 3-byte UTF8
encoding.  This should fix the problem reported by
[forum:/forumpost/96692f8ba5|forum post 96692f8ba5].

FossilOrigin-Name: c94595a6e15490b432f099fefbe2429fa19287f7bdc86332cba0fd1e08f65bd6

3 years agoImproved comment on sqlite3VdbeSwap(). No changes to code.
drh [Sun, 3 Jul 2022 11:16:03 +0000 (11:16 +0000)] 
Improved comment on sqlite3VdbeSwap().  No changes to code.

FossilOrigin-Name: 6a8e4fb72a9e3dea9e5752c3d54fddba8878b355bd43f3c879f042f247a6610f

3 years agoRemove debugging code that has always been commented out. Cosmetic change.
drh [Sun, 3 Jul 2022 11:12:59 +0000 (11:12 +0000)] 
Remove debugging code that has always been commented out.  Cosmetic change.

FossilOrigin-Name: b54064170c51a2c905f98737c224e19c06dc728342ca2224e32ebeb47f803bcd

3 years agoDo not attempt the OP_Count optimization on queries with HAVING clauses.
dan [Fri, 1 Jul 2022 21:03:19 +0000 (21:03 +0000)] 
Do not attempt the OP_Count optimization on queries with HAVING clauses.

FossilOrigin-Name: 566b7842ee286ed8620a87b06de65bc173ad0d208df4157292238fcb059cb484

3 years agoPerformance improvement in resolveP2Values(). Save over 1 million CPU
drh [Fri, 1 Jul 2022 19:42:12 +0000 (19:42 +0000)] 
Performance improvement in resolveP2Values().  Save over 1 million CPU
cycles by omitting the loop termination condition and exiting when the
OP_Init (always the first opcode in any VDBE program) is encountered.

FossilOrigin-Name: bb179140c8abfd9d05d62380daba027bdeabbbafc720b7e36b99a36af806017e

3 years agoSmall performance improvement to sqlite3_finalize().
drh [Thu, 30 Jun 2022 22:46:28 +0000 (22:46 +0000)] 
Small performance improvement to sqlite3_finalize().

FossilOrigin-Name: 8a6913b66cc5af354497044ccb849eb80d00d0799362475f1537a6999196895e

3 years agoAdd missing "finish_test" command to the end of test script merge1.test.
dan [Thu, 30 Jun 2022 11:01:48 +0000 (11:01 +0000)] 
Add missing "finish_test" command to the end of test script merge1.test.

FossilOrigin-Name: 13cb3f1e63ed1e906f820655645a4966f0cae140ac442177b6685637dcfd365a

3 years agoHave the sqlite_stmt table buffer all data for the current scan within the xFilter...
dan [Wed, 29 Jun 2022 15:16:48 +0000 (15:16 +0000)] 
Have the sqlite_stmt table buffer all data for the current scan within the xFilter method.

FossilOrigin-Name: 84a91c255e3d77728820561f16bdd9a87b7ff42b5430a9e13f404dfc3365c716

3 years agoFix a missing dependency for json.lo in Makefile.in
drh [Mon, 27 Jun 2022 11:28:25 +0000 (11:28 +0000)] 
Fix a missing dependency for json.lo in Makefile.in

FossilOrigin-Name: 65930a5c069e7274b945ce1aed0abb0edba3d4ab4e63916cc38c11cdef998926

3 years agoPut an ALWAYS() on an unreachable branch.
drh [Sat, 25 Jun 2022 20:32:29 +0000 (20:32 +0000)] 
Put an ALWAYS() on an unreachable branch.

FossilOrigin-Name: 58caa50a410b7eb0e68658ea1e606d75ea85cdae04e864270c932246ba990b5e

3 years agoAllow flattening of a subquery that is the right operand of a LEFT JOIN
drh [Sat, 25 Jun 2022 19:43:44 +0000 (19:43 +0000)] 
Allow flattening of a subquery that is the right operand of a LEFT JOIN
in an aggregate query as long as there is no GROUP BY clause.  (The GROUP BY
clause will interfere with the operation of the TK_IF_NULL_ROW expression
nodes.)

FossilOrigin-Name: 2cf373b10c9bc4cbc5fe63d0a6948011df7bbc2f40dc025c9349f875da782b88

3 years agoIncrease the version number to 3.40.0 so as to begin the next
drh [Sat, 25 Jun 2022 19:30:07 +0000 (19:30 +0000)] 
Increase the version number to 3.40.0 so as to begin the next
development cycle.

FossilOrigin-Name: 4542e32302067f24bf71c77620e09663f47c3ddce703c21ffa82d09532ae1d51

3 years agoFix documentation type. [forum:/forumpost/8d900996ed|forum post 8d900996ed].
drh [Sat, 25 Jun 2022 18:55:08 +0000 (18:55 +0000)] 
Fix documentation type.  [forum:/forumpost/8d900996ed|forum post 8d900996ed].

FossilOrigin-Name: 869061f18d2f2f500451c87ab62d3ca71a5321d5246b2e2c7bf960e48c6b5250

3 years agoVersion 3.39.0 version-3.39.0
drh [Sat, 25 Jun 2022 14:57:57 +0000 (14:57 +0000)] 
Version 3.39.0

FossilOrigin-Name: 14e166f40dbfa6e055543f8301525f2ca2e96a02a57269818b9e69e162e98918

3 years agoChange a harmless assert() into a testcase(). The actually test case code
drh [Sat, 25 Jun 2022 02:39:29 +0000 (02:39 +0000)] 
Change a harmless assert() into a testcase().  The actually test case code
is in TH3.  Fix for the problem described at
[forum:/info/ed29e196d5c4f3d5|forum post ed29e196d5c4f3d5].

FossilOrigin-Name: cd6254fcd32798f7be4e6d827597ddaa2e46ac6e2f0149cd3a3be0416fa18835

3 years agoFix a harmless UBSAN warning associated with PRAGMA schema_version
drh [Fri, 24 Jun 2022 12:56:48 +0000 (12:56 +0000)] 
Fix a harmless UBSAN warning associated with PRAGMA schema_version
found by OSSFuzz.

FossilOrigin-Name: e93fd170ce4ae91d572c46d03f68f55d00091d0188030517455017d90d212587

3 years agoIn sqlite3WhereBegin, do not proceed with coding the loop if an error is detected...
dan [Fri, 24 Jun 2022 11:05:36 +0000 (11:05 +0000)] 
In sqlite3WhereBegin, do not proceed with coding the loop if an error is detected as part of WHERE expression analysis.

FossilOrigin-Name: db5266dec601a9513bc8dd09a9f8bb4aef55b780d22610946099e8edd4836587

3 years agoA minor fix to test/fuzzinvariants.c so that it works even with column names
drh [Fri, 24 Jun 2022 11:02:42 +0000 (11:02 +0000)] 
A minor fix to test/fuzzinvariants.c so that it works even with column names
that originally contain a ':' and that are disambiguated.

FossilOrigin-Name: 8d9b1fff9d87522c4464aaf3ff0a7b93db244c59b4010562e35a8f161da4859b

3 years agoNew test cases for query flattening with LEFT JOIN.
drh [Thu, 23 Jun 2022 22:43:11 +0000 (22:43 +0000)] 
New test cases for query flattening with LEFT JOIN.

FossilOrigin-Name: 27f68e47320c751e3663507500c1c44f0b7f885f89c678fce6a35b1bc372dd64

3 years agoReintroduce flattener constraint (3c), but this time make it apply only if
drh [Thu, 23 Jun 2022 20:56:45 +0000 (20:56 +0000)] 
Reintroduce flattener constraint (3c), but this time make it apply only if
the outer query holds a GROUP BY, not if the outer query is an aggregate.

FossilOrigin-Name: 641dfb9182a6cbadb3c452f5420f896791b7844b794f693443bcd38dca14da35

3 years agoAdd back the ability to flatten a LEFT JOIN subquery - previously removed
drh [Thu, 23 Jun 2022 15:15:03 +0000 (15:15 +0000)] 
Add back the ability to flatten a LEFT JOIN subquery - previously removed
due to ticket [cad1ab4cb7b0fc344].

FossilOrigin-Name: f8fe936ad4f7678f9b26ba6fab41c5df9f4938634cdb3286b0f2dcd1357f919a

3 years agoMinor correction to a comment. No code changes.
drh [Thu, 23 Jun 2022 12:36:56 +0000 (12:36 +0000)] 
Minor correction to a comment.  No code changes.

FossilOrigin-Name: 5fa00959ebc3a46fe400564d5a30e8c44857cd4f0473fb25e84154019eff3f39

3 years agoEnhance the TCL scrip that generates sqlite3-all.c so that it outputs all
drh [Wed, 22 Jun 2022 18:51:47 +0000 (18:51 +0000)] 
Enhance the TCL scrip that generates sqlite3-all.c so that it outputs all
text in its original order.

FossilOrigin-Name: 83ff1a28e3e7a99fa90d5079897d76529c4256eed859bf7cb98b860fbedfdc5b

3 years agoFix requirements marks that changed due to typo fixes in the documentation.
drh [Wed, 22 Jun 2022 18:33:21 +0000 (18:33 +0000)] 
Fix requirements marks that changed due to typo fixes in the documentation.

FossilOrigin-Name: 5247df05991df979024df5a30bb3473401add92d4c12b01c040a16dda6da39f5

3 years agoMore comment fixes. No changes to code.
drh [Wed, 22 Jun 2022 15:55:28 +0000 (15:55 +0000)] 
More comment fixes.  No changes to code.

FossilOrigin-Name: 5c9133ef431a031249760267ca851239d0857ffba633cac27d3865cf179c3274

3 years agoAllow more line with on the debugging output for SrcItem elements in the
drh [Wed, 22 Jun 2022 14:43:52 +0000 (14:43 +0000)] 
Allow more line with on the debugging output for SrcItem elements in the
parse tree.  This affects debugging builds only and is a no-op for production
builds.

FossilOrigin-Name: edbe24e7fc81ab6c26ab05f2231cb46d157d71a677ce8a2983e0c6e48122a2bd

3 years agoAdditional enhancements to comments. No changes to code.
drh [Wed, 22 Jun 2022 14:25:12 +0000 (14:25 +0000)] 
Additional enhancements to comments.  No changes to code.

FossilOrigin-Name: d9a320448f5693d906adf437800675cd4773701db065f3ed238b933fb80f6681

3 years agoGive dbtotxt an option to prepend .open --hexdb
larrybr [Wed, 22 Jun 2022 14:00:24 +0000 (14:00 +0000)] 
Give dbtotxt an option to prepend .open --hexdb

FossilOrigin-Name: afeee6125d141ae281658a5f7b73e9b77bc252fa387678b2b5837488180bf108

3 years agoFix a typo in a comment. No changes to code.
drh [Wed, 22 Jun 2022 12:54:25 +0000 (12:54 +0000)] 
Fix a typo in a comment.  No changes to code.

FossilOrigin-Name: ef9de201b33678a80bb27c5be8f9dc973c8a4f14af9bfdd3ace36887c8a591ea

3 years agoDisable the short-cut query planner if the NOT INDEXED modifier is used.
drh [Tue, 21 Jun 2022 18:38:18 +0000 (18:38 +0000)] 
Disable the short-cut query planner if the NOT INDEXED modifier is used.
[forum:/forumpost/454d706296|Forum post 454d706296].

FossilOrigin-Name: bd87d107fe474ceeac8bacb01c80bc479edbc2ae4e30697bf54ab91a5a8d2a98

3 years agoAllow a HAVING clause on any aggregate query, even if there is no GROUP BY
drh [Tue, 21 Jun 2022 13:41:24 +0000 (13:41 +0000)] 
Allow a HAVING clause on any aggregate query, even if there is no GROUP BY
clause.  This brings SQLite into closer agreement with PostgreSQL and fixes
the concern raised by
[forum:/forumpost/1a7fea4651|forum post 1a7fea4651].

FossilOrigin-Name: 9322a7c21f1c22ba00e9b889223e89bc1591db6e561ce05091e905e98c1bf2b3