]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
2 years agoAdd test cases related to fix [e717e029]. flatten-left-join
dan [Tue, 26 Jul 2022 15:39:32 +0000 (15:39 +0000)] 
Add test cases related to fix [e717e029].

FossilOrigin-Name: 2909f36bfba8f34b818e5d9ecd8c759f05bbe25765089e78bb022de2b77a4f0f

2 years agoMake sure IF_NULL_ROW expressions receive a separate slot in the sorter used
drh [Tue, 26 Jul 2022 15:32:02 +0000 (15:32 +0000)] 
Make sure IF_NULL_ROW expressions receive a separate slot in the sorter used
to implement GROUP BY.

FossilOrigin-Name: 2bda4fca06ab6be5ad02377a7d1fd9fb9586e3181f1052e4b4937958bdd45efe

2 years agoImproved AggInfo.aCol debugging output, intended to debug a problem with
drh [Tue, 26 Jul 2022 14:37:04 +0000 (14:37 +0000)] 
Improved AggInfo.aCol debugging output, intended to debug a problem with
LEFT JOIN flattening into an aggregate query with GROUP BY.

FossilOrigin-Name: e717e029bde4ee68b6ea77a68721c02ddb6e296f1d310a368137ea3c4164f68c

2 years agoAdd a OOM term to a single assert() statement.
drh [Tue, 26 Jul 2022 10:16:25 +0000 (10:16 +0000)] 
Add a OOM term to a single assert() statement.

FossilOrigin-Name: 217fc3ebd423e050508d6af97e0664f301824ef9a997ed2d302c006a41227917

2 years agoPerformance optimization: avoid unnecessary calls to computeLimitRegisters().
drh [Tue, 26 Jul 2022 01:20:18 +0000 (01:20 +0000)] 
Performance optimization:  avoid unnecessary calls to computeLimitRegisters().

FossilOrigin-Name: f48bd8f85d86fd93329dda7ba57f468854a732b89e4126e9c5beec3495d24b31

2 years agoFix an assert() that was made out-of-date by [b52393ac28debe98].
drh [Mon, 25 Jul 2022 23:34:14 +0000 (23:34 +0000)] 
Fix an assert() that was made out-of-date by [b52393ac28debe98].

FossilOrigin-Name: db8230e80ed894fc2801cdbb53c2cd9de00192d7f4d8328c29cc214e2e0adde9

2 years agoPerformance optimization by only invoking sqlite3FkCheck() when it is actually
drh [Mon, 25 Jul 2022 23:01:41 +0000 (23:01 +0000)] 
Performance optimization by only invoking sqlite3FkCheck() when it is actually
needed.

FossilOrigin-Name: 98b0e830bc7effa3c9cbb77aebe7c128afc3b210af336b7516108d6435705ba0

2 years agoPerformance optimization in sqlite3ViewGetColumnNames().
drh [Mon, 25 Jul 2022 22:31:04 +0000 (22:31 +0000)] 
Performance optimization in sqlite3ViewGetColumnNames().

FossilOrigin-Name: 390717e68800af9b71acd635cf6cb123f9a591276df511f11462b42960f9a70c

2 years agoFix a harmless compiler warning.
drh [Mon, 25 Jul 2022 22:02:35 +0000 (22:02 +0000)] 
Fix a harmless compiler warning.

FossilOrigin-Name: 9aba7417c60b30b44c051580f0f997a4d2fc86bc811b532d175305ad4c181fc6

2 years agoIn-line a call to sqlite3ExprCode() in insert.c, for a size reduction and
drh [Mon, 25 Jul 2022 21:37:13 +0000 (21:37 +0000)] 
In-line a call to sqlite3ExprCode() in insert.c, for a size reduction and
performance increase.

FossilOrigin-Name: 35066b1446228bf030795e7868509c7b54a5681984ac28bf43123f8fac2e361e

2 years agoPerformance optimization in computing the Expr.nHeight field.
drh [Mon, 25 Jul 2022 20:21:57 +0000 (20:21 +0000)] 
Performance optimization in computing the Expr.nHeight field.

FossilOrigin-Name: 1798ce97c8763d75315e1716d10f6c5be301042c174f41ee8c1fb8d9db99d52b

2 years agoSmall performance increase and size reduction by splitting out the
drh [Mon, 25 Jul 2022 19:05:24 +0000 (19:05 +0000)] 
Small performance increase and size reduction by splitting out the
sqlite3VdbeGetLastOp() from sqlite3VdbeGetOp().

FossilOrigin-Name: 92ac01d41d46ab73e189b1e5596ea63e5edb5b15639c5d7bdb981b95366c069b

2 years agoFix an error in the aggregate query LEFT JOIN flattening optimization from
drh [Mon, 25 Jul 2022 16:06:14 +0000 (16:06 +0000)] 
Fix an error in the aggregate query LEFT JOIN flattening optimization from
[2cf373b10c9bc4cb] and further enhance that optimization so that it works
even if there is a GROUP BY clause.

FossilOrigin-Name: b52393ac28debe9867227f901d05cccf54f1b467272474500a549d956a5fb4d7

2 years agoAllow subqueries on the right-hand side of a LEFT JOIN to be flattened even
drh [Mon, 25 Jul 2022 15:54:23 +0000 (15:54 +0000)] 
Allow subqueries on the right-hand side of a LEFT JOIN to be flattened even
if they contain a GROUP BY clause.

FossilOrigin-Name: 816da9a893ae97a21463562479edb419a8b511ae731d86eccee3fa6e3e7dc96e

2 years agoTK_IF_NULL_ROW expressions must be accumulated in the same way as TK_COLUMN
drh [Mon, 25 Jul 2022 14:05:11 +0000 (14:05 +0000)] 
TK_IF_NULL_ROW expressions must be accumulated in the same way as TK_COLUMN
expressions in an aggregate query.  Proposed fix for the problem identifyed by
dbsqlfuzz 8e17857db2c5a9294c975123ac807156a6559f13.

FossilOrigin-Name: 40d08807209638aad728be2cedbc904e342e76c8e486c364bd571b55dd2e1e87

2 years agoReduce a timeout in walsetlk.test from 2000ms to 1100ms so that the test runs a bit...
dan [Mon, 25 Jul 2022 11:04:13 +0000 (11:04 +0000)] 
Reduce a timeout in walsetlk.test from 2000ms to 1100ms so that the test runs a bit faster.

FossilOrigin-Name: 836fa097060dadeb2dc5d4ee2e40621c4af606b1ef7241e2264823e23e4ceb1f

2 years agoSimplifications to sqlite3FinishCoding() for a small size reduction and
drh [Sat, 23 Jul 2022 12:51:48 +0000 (12:51 +0000)] 
Simplifications to sqlite3FinishCoding() for a small size reduction and
performance increase.

FossilOrigin-Name: a995614b9aedf4492e6d7b777293770f268837f8246e1678ef0523738c8a8339

2 years agoRemove a branch that is no longer reachable due to the previous check-in.
drh [Sat, 23 Jul 2022 00:53:48 +0000 (00:53 +0000)] 
Remove a branch that is no longer reachable due to the previous check-in.

FossilOrigin-Name: 8b4d1b9317624f443fe526858bfe3da5281ba83de1828c62935f48b3e7cf2a88

2 years agoUse sqlite3ParserAddCleanup() rather than pParse->pConstExpr to implement
drh [Sat, 23 Jul 2022 00:44:44 +0000 (00:44 +0000)] 
Use sqlite3ParserAddCleanup() rather than pParse->pConstExpr to implement
sqlite3ExprDeferredDelete().  This is a better solution than check-in
[c538d07535092722].

FossilOrigin-Name: 2a6f6971fa010219323b976ff53b2606e39fb43fd36c394837c3a8528bf3c425

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