]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
2 years agoTest cases added derived from the enhancment ticket. covering-indexed-expr
drh [Mon, 28 Nov 2022 18:17:42 +0000 (18:17 +0000)] 
Test cases added derived from the enhancment ticket.

FossilOrigin-Name: c022c0152ad61a4f56e36f4062609073e2273fbf6f826c20652159be229c2d46

2 years agoMerge trunk changes into covering-index-expr branch.
drh [Mon, 28 Nov 2022 16:11:10 +0000 (16:11 +0000)] 
Merge trunk changes into covering-index-expr branch.

FossilOrigin-Name: 89d775ada39aed4dc532374ace02156d07dc06e8ae54a194608af0c5a582d20f

2 years agoRework the covering index checking routine, whereIsCoveringIndex(), so that
drh [Mon, 28 Nov 2022 15:23:53 +0000 (15:23 +0000)] 
Rework the covering index checking routine, whereIsCoveringIndex(), so that
it can return a "maybe" result for aggregate queries where we are not exactly
sure.  The index is scored as if it is covering, but the main table is
still opened.

FossilOrigin-Name: b8eec4214363192e6f3e12b3faa5810d8269a5fdaecab3ec09b02e5002cf798a

2 years agoAdd (optional) base64 and base85 UDF extensions.
larrybr [Mon, 28 Nov 2022 14:51:50 +0000 (14:51 +0000)] 
Add (optional) base64 and base85 UDF extensions.

FossilOrigin-Name: b44ab10c49bc2895483a9d40813be3798710ee713cc4bf04e449dce55a68452a

2 years agoSync w/trunk, zap surplus space. base_convert
larrybr [Mon, 28 Nov 2022 14:11:48 +0000 (14:11 +0000)] 
Sync w/trunk, zap surplus space.

FossilOrigin-Name: b8345630a2a322234bda49ee4b996f6ba20e2b080621e229a2ec5e820892a663

2 years agoEnsure the RETURNING clause is honoured when a row of a temp table is updated by...
dan [Mon, 28 Nov 2022 13:47:27 +0000 (13:47 +0000)] 
Ensure the RETURNING clause is honoured when a row of a temp table is updated by an ON CONFLICT clause.

FossilOrigin-Name: a2449bcc2c71d0f4c3289621fbf1cb97f0f407c9f7b5bf18245b7854a07c6cfa

2 years agoConform CLI .trace arg handling to its help.
larrybr [Mon, 28 Nov 2022 02:28:44 +0000 (02:28 +0000)] 
Conform CLI .trace arg handling to its help.

FossilOrigin-Name: 31546ea320e8daa020f8a9f491718ffc3dde0e32954018afed88e8494a6aff6c

2 years agoDocument an OPFS API change in Chrome v108 which does not break our code but does...
stephan [Sun, 27 Nov 2022 00:57:56 +0000 (00:57 +0000)] 
Document an OPFS API change in Chrome v108 which does not break our code but does change several formerly async methods to synchronous. No code changes.

FossilOrigin-Name: e9dd87e28a96eb6560943b9a2cb3cb0ff14698c96fe63865944dcfed73b67bd3

2 years agoBetter reporting of when the WHERE clause analysis thinks that an index
drh [Sat, 26 Nov 2022 20:52:38 +0000 (20:52 +0000)] 
Better reporting of when the WHERE clause analysis thinks that an index
is covering.

FossilOrigin-Name: 17ebcf316b91042c823eea7bb6f1309325023cb5c70538cdb2ce932caee2ef05

2 years agoShow which AggInfo.aCol an Expr node represents in the tree trace debugging
drh [Sat, 26 Nov 2022 20:48:56 +0000 (20:48 +0000)] 
Show which AggInfo.aCol an Expr node represents in the tree trace debugging
logic.  Does not affect production builds.

FossilOrigin-Name: b8076f4dc55810855f668dfd4221bdb555cc78c61df200cf0cb87eb137e22850

2 years agoMerge trunk fixes into the covering-indexed-expr branch.
drh [Sat, 26 Nov 2022 20:13:54 +0000 (20:13 +0000)] 
Merge trunk fixes into the covering-indexed-expr branch.

FossilOrigin-Name: 9ac67ff968e874cf955e46e3993e3215c766feec3d5bdd38d77884eedd86b59e

2 years agoFix an incorrect assertion-fault in the "TREETRACE" debugging logic on
drh [Sat, 26 Nov 2022 20:12:02 +0000 (20:12 +0000)] 
Fix an incorrect assertion-fault in the "TREETRACE" debugging logic on
select.c.  The problem does not affect production builds.

FossilOrigin-Name: f11bb42292d94e7b7687bd2134f72afe1353182238cb4837fc0a6d78a021dd7e

2 years agoOPFS VFS: add the opfs-unlock-asap=1 URI flag which tells the VFS to release implicit...
stephan [Sat, 26 Nov 2022 15:24:58 +0000 (15:24 +0000)] 
OPFS VFS: add the opfs-unlock-asap=1 URI flag which tells the VFS to release implicit locks ASAP instead of during VFS idle time. This improves concurrency notably in the test app but brings a significant performance penalty in speedtest1 (roughly 4x slowdown). This is not the final word in OPFS concurrency, but gets us a step further.

FossilOrigin-Name: 9542f9ce9e023b489e2d93661f719fb0751c1e28f72fded9d3c2156d5777e7b1

2 years agoExperimental changes to help the query planner detect when an expression
drh [Sat, 26 Nov 2022 14:19:47 +0000 (14:19 +0000)] 
Experimental changes to help the query planner detect when an expression
index is coverting.  Works somewhat, but there are tests that fail.

FossilOrigin-Name: 968c189bcf29a9b25305251a58d09b7d52ab9dd08f5057dc3ab1f7ad1a5316a0

2 years agoRelax restriction (8) on the push-down optimization so that it only applies
drh [Fri, 25 Nov 2022 17:05:55 +0000 (17:05 +0000)] 
Relax restriction (8) on the push-down optimization so that it only applies
if one or more columns uses a collating sequence other than BINARY.
See [forum:/forumpost/3824ced748baa808|forum post 3824ced748baa808] and
check-in [346a3b12b861ce7b].

FossilOrigin-Name: adbca3448e2099f0d6149a073978f230ed9a92a2f384779879ef89e672231bcf

2 years agoFix #ifdefs so that restrictions (8) and (9) of the push-down optimization
drh [Fri, 25 Nov 2022 16:32:59 +0000 (16:32 +0000)] 
Fix #ifdefs so that restrictions (8) and (9) of the push-down optimization
are still enforced even if compiled with SQLITE_OMIT_WINDOWFUNC.  This
fixes a bug introduced by check-in [346a3b12b861ce7b].

FossilOrigin-Name: 09e1e42e0ff26f9a71cbd128169f060a66425828d637bf8f781490ca38d99103

2 years agoImmprove the query planner such that it is able to make use of indexed
drh [Fri, 25 Nov 2022 16:10:48 +0000 (16:10 +0000)] 
Immprove the query planner such that it is able to make use of indexed
expressions within an aggregate query with GROUP BY.  This implements
enhancement request [99378177930f87bd].

FossilOrigin-Name: b9190d3da70c41717eb188474fd225ee43d0b46646e1b03de5967bd332553870

2 years agoAdd restriction (9) to the push-down optimization: If the subquery is
drh [Fri, 25 Nov 2022 15:52:00 +0000 (15:52 +0000)] 
Add restriction (9) to the push-down optimization:  If the subquery is
a compound then all arms of the compound must have the same affinity.
dbsqlfuzz 3a548de406a50e896c1bf7142692d35d339d697f.

FossilOrigin-Name: 1ad41840c5e0fa702ba2c0df77a3ea126bd695b910b5d1271fa3129c38c58f5f

2 years agoRemove a redundant assert() statement. agg-with-indexed-expr
drh [Fri, 25 Nov 2022 13:26:51 +0000 (13:26 +0000)] 
Remove a redundant assert() statement.

FossilOrigin-Name: e3e1b453dc47884ddc9e51c4302fa2f4d40bca3d69ac7c13d8e2ae1adc81ac56

2 years agoImprove the robustness of the updateAccumulator() routine against OOM.
drh [Fri, 25 Nov 2022 13:15:48 +0000 (13:15 +0000)] 
Improve the robustness of the updateAccumulator() routine against OOM.

FossilOrigin-Name: d2844f577b69fdc16a0a2568c0958fc3d8aff33e9a0ef80e0f58e92f01097432

2 years agoImproved comments. Add assert()s to verify that the AggInfo structure
drh [Fri, 25 Nov 2022 13:08:20 +0000 (13:08 +0000)] 
Improved comments.  Add assert()s to verify that the AggInfo structure
is unchanged after registers have been assigned.

FossilOrigin-Name: 5200b84195ee1ccaa387f7032eae3d463724c48cb53ba0251bbc79e927dd9752

2 years agoCorrectly deal with IF-NULL-ROW operators when dealing with
drh [Thu, 24 Nov 2022 23:35:27 +0000 (23:35 +0000)] 
Correctly deal with IF-NULL-ROW operators when dealing with
indexed expressions in aggregates.

FossilOrigin-Name: 939cb47025354e2df047de7654c0b06f791957cfe4e904abe8892207cea90215

2 years agoSpeed up base85() conversions and sync w/trunk.
larrybr [Thu, 24 Nov 2022 20:11:34 +0000 (20:11 +0000)] 
Speed up base85() conversions and sync w/trunk.

FossilOrigin-Name: 17b823500a2ed135c1f40aa7f4d87ba5b2eab35c0abd9e0856041cf0f510cbee

2 years agoTake care not to try to add comments to a TK_AGG_COLUMN opcode that does
drh [Thu, 24 Nov 2022 19:02:40 +0000 (19:02 +0000)] 
Take care not to try to add comments to a TK_AGG_COLUMN opcode that does
not have an associated Table object because it is a reference to an indexed
expression.

FossilOrigin-Name: 5fc23863e4a6388884ce061cd69546757b4c39d731bbb58a8121b92fd5144f7b

2 years agoChange a NEVER() into an assert().
drh [Thu, 24 Nov 2022 18:45:56 +0000 (18:45 +0000)] 
Change a NEVER() into an assert().

FossilOrigin-Name: a0fd44f4e5a0ec83465203a0009f307ca50223833575895a3ebf8a289515714f

2 years agoFix a test case in fts3expr4.test to account for different locales.
dan [Thu, 24 Nov 2022 17:58:55 +0000 (17:58 +0000)] 
Fix a test case in fts3expr4.test to account for different locales.

FossilOrigin-Name: a2b6883ac2ef878f525ee847b170beb9f9ab9d1fa67557101be2cdae1e7f7a57

2 years agoMore work on the OPFS concurrency testing app. opfs-unlock-asap
stephan [Thu, 24 Nov 2022 17:53:09 +0000 (17:53 +0000)] 
More work on the OPFS concurrency testing app.

FossilOrigin-Name: c0458caca3508d5d252f9b5198bda4f51a5c1874540f014b17e409f2daab1706

2 years agoJS documentation cleanups. No code changes.
stephan [Thu, 24 Nov 2022 16:03:49 +0000 (16:03 +0000)] 
JS documentation cleanups. No code changes.

FossilOrigin-Name: 18e89a436daa18a8c972caf06b298da43c97a6ea3e2e5229dccb6920c27bfdb9

2 years agoUpdate multiplex3.test to account for the fact that the multiplexor xDelete method...
dan [Thu, 24 Nov 2022 15:32:00 +0000 (15:32 +0000)] 
Update multiplex3.test to account for the fact that the multiplexor xDelete method may return an error even if it manages to delete the first chunk of a file.

FossilOrigin-Name: 1a7f3254735054ed8ca32d5ec7c8cde9195a64702638bdc50392007e396fead2

2 years agoAdd NEVER() and ALWAYS() macros on branches that are believed to be
drh [Thu, 24 Nov 2022 15:04:23 +0000 (15:04 +0000)] 
Add NEVER() and ALWAYS() macros on branches that are believed to be
unreachable.

FossilOrigin-Name: 3a901e88c87fc76c7fe42e47a976a5706830f0dbd6027605663e4d55f4f33590

2 years agoNew test cases. Fix the logic so that it works for GROUP BY aggregates
drh [Thu, 24 Nov 2022 13:19:25 +0000 (13:19 +0000)] 
New test cases.  Fix the logic so that it works for GROUP BY aggregates
that do not require sorting.

FossilOrigin-Name: ef6ebe7922f56c1584a005deedc85ca1070b4fe5082ada8bbf8d06df54f1c9ef

2 years agoSpeed up base64 conversions, and add test with more data for the baseNN conversion...
larrybr [Thu, 24 Nov 2022 02:59:33 +0000 (02:59 +0000)] 
Speed up base64 conversions, and add test with more data for the baseNN conversion to grind.

FossilOrigin-Name: 6c84ae4ba83713c751fddff8be41686bbcb525ac8135e1520436c62d0bc23d2c

2 years agoAdd sqlite3.oo1.DB.prototype.checkRc() and tests for both that method and its class...
stephan [Thu, 24 Nov 2022 02:35:03 +0000 (02:35 +0000)] 
Add sqlite3.oo1.DB.prototype.checkRc() and tests for both that method and its class-level counterpart.

FossilOrigin-Name: f7eaa6ba2147bfd6dbdc2444d0f919d846aa7f9b68cccab17ef585ffdacf3d60

2 years agoMerge the latest trunk changes into the agg-with-indexed-expr branch to
drh [Thu, 24 Nov 2022 01:41:44 +0000 (01:41 +0000)] 
Merge the latest trunk changes into the agg-with-indexed-expr branch to
simplify diffs.

FossilOrigin-Name: 38c3d3f1ed0fd2bb62aa8a7e5a27f2b247123e094e2fdb0a2475d788c3dfbc04

2 years agoAdd explanatory comment to the new optimization. And add a test case.
drh [Thu, 24 Nov 2022 01:40:20 +0000 (01:40 +0000)] 
Add explanatory comment to the new optimization.  And add a test case.

FossilOrigin-Name: e6c20f61de7d048eee65c8e74a3eb36760ab9747ebd1ab50e49642b777c10306

2 years agoMinor JS doc updates.
stephan [Wed, 23 Nov 2022 21:09:51 +0000 (21:09 +0000)] 
Minor JS doc updates.

FossilOrigin-Name: 27efd63ad7fb3bf8d0d07f2c9f48652c8cacc4e697c229c8085120a8e6b50a39

2 years agoAdd optional zSchema argument to sqlite3_js_db_export().
stephan [Wed, 23 Nov 2022 21:03:22 +0000 (21:03 +0000)] 
Add optional zSchema argument to sqlite3_js_db_export().

FossilOrigin-Name: 9c23644b1e5bf44bfb431a35fd1674c11ccb99e9eb0989f10175b0cb2a858eaa

2 years agoOPFS concurrency test: add a URL flag to enable/disable unlock-asap mode.
stephan [Wed, 23 Nov 2022 20:49:08 +0000 (20:49 +0000)] 
OPFS concurrency test: add a URL flag to enable/disable unlock-asap mode.

FossilOrigin-Name: 1c1bf22eadae2a5a7d4358e7cdd22641c2efb9296f42e7376749293b3a58b114

2 years agoAdd an experimental OPFS VFS-specific URI flag, opfs-unlock-asap, which tells the...
stephan [Wed, 23 Nov 2022 19:03:22 +0000 (19:03 +0000)] 
Add an experimental OPFS VFS-specific URI flag, opfs-unlock-asap, which tells the VFS to release implicit locks ASAP. This permits higher concurrency but hurts performance considerably. This may or may not be obsoleted by other concurrency-related experimentation.

FossilOrigin-Name: d23c917013485ec2793125221f3936b05c39d6eca941629fb819b6b4aa714520

2 years agoAggregates with GROUP BY now make use of expressions on indexes. This code
drh [Wed, 23 Nov 2022 18:51:04 +0000 (18:51 +0000)] 
Aggregates with GROUP BY now make use of expressions on indexes.  This code
works and gets the correct answer for the test case in the ticket.  Lots more
testing and documentation is needed, however.

FossilOrigin-Name: 8dcf9f2031c16f296d187fe876d4204c71fc96fec120984ff11b6d8b03d58a5f

2 years agoThis attempt at modifying AggInfo to make use of indexed expressions does not
drh [Wed, 23 Nov 2022 17:56:00 +0000 (17:56 +0000)] 
This attempt at modifying AggInfo to make use of indexed expressions does not
work.  It gets an incorrect answer for the test case shown in the ticket.

FossilOrigin-Name: 84c06023f4a1606664fdb9811312603b31f7c94a43d0e443ba7dde7fdba029e3

2 years agoInitial infrastructure for adding a mode to the OPFS VFS which causes implicit locks...
stephan [Wed, 23 Nov 2022 16:39:07 +0000 (16:39 +0000)] 
Initial infrastructure for adding a mode to the OPFS VFS which causes implicit locks to be released ASAP, which increases concurrency at the cost of performance.

FossilOrigin-Name: c5b7a9715a13b696ab3ee965aa0a310f59b65f07cecd72faa2e3504bfd8eb632

2 years agoUpdate Makefile.in to include new target "sqlite3r.c". For generating "sqlite3r.c...
dan [Wed, 23 Nov 2022 16:08:49 +0000 (16:08 +0000)] 
Update Makefile.in to include new target "sqlite3r.c". For generating "sqlite3r.c" and "sqlite3r.h", versions of the amalgamation that include the recover extension. To build the shell tool against these files, add -DSQLITE_HAVE_SQLITE3R.

FossilOrigin-Name: 5f135575b923cb59947667071c6af9ff14063c933cedf37d6c2a0a1b86c85032

2 years agoRemove a bit of over-cleverness which breaks loading of sqlite3.js in some main-threa...
stephan [Wed, 23 Nov 2022 15:52:52 +0000 (15:52 +0000)] 
Remove a bit of over-cleverness which breaks loading of sqlite3.js in some main-thread cases.

FossilOrigin-Name: 220cc4c6399b772b4ece03305a41b437ef0654d586a8a1c3dc5e7606fd36d655

2 years agoOPFS concurrency tester: ensure that the work interval timer does not overlap with...
stephan [Wed, 23 Nov 2022 15:33:49 +0000 (15:33 +0000)] 
OPFS concurrency tester: ensure that the work interval timer does not overlap with the work time.

FossilOrigin-Name: 8f2076553bc486ea6a17934695ecc02217461af2082d891697b62aab89bd1b43

2 years agoFurther foundation prep work prior to starting to flesh-out the
drh [Wed, 23 Nov 2022 14:13:39 +0000 (14:13 +0000)] 
Further foundation prep work prior to starting to flesh-out the
optimizeAggregateUseOfIndexedExpr() routine.

FossilOrigin-Name: 23145fe999ff74d787a3999baedd4ffe755c5f1f1275082ed0338ba637ecc56e

2 years agoAdd more baseNN tests, get oversize error trapping working, and sync w/trunk
larrybr [Tue, 22 Nov 2022 22:46:41 +0000 (22:46 +0000)] 
Add more baseNN tests, get oversize error trapping working, and sync w/trunk

FossilOrigin-Name: 03819e9368fd9f78f351147a1dc865743f9634893e43a9d1e3d7cbaf4c966069

2 years agoMerge enhancements and fixes from trunk.
drh [Tue, 22 Nov 2022 20:58:18 +0000 (20:58 +0000)] 
Merge enhancements and fixes from trunk.

FossilOrigin-Name: f8932e04d4d18eb9d71edda15aa08af2eb139ff14d77ca147ea6e9b173e0f5e0

2 years agoAdd the stub function: optimizeAggregateUsingIndexedExpr(). The hope is that
drh [Tue, 22 Nov 2022 20:37:41 +0000 (20:37 +0000)] 
Add the stub function: optimizeAggregateUsingIndexedExpr().  The hope is that
we can fill this in with a routine that does useful optimizations.

FossilOrigin-Name: d85bb724fdd6fbad2b88ed7f60e4174e3f65182356f404d04620c5cf6b17f77e

2 years agoAvoid naming collision between the sha1 and shathree extensions.
mistachkin [Tue, 22 Nov 2022 20:04:00 +0000 (20:04 +0000)] 
Avoid naming collision between the sha1 and shathree extensions.

FossilOrigin-Name: 9ec923b5dc24d6082da8d42bc0ee8ab1c418912625c0c56de9627be2c818ef98

2 years agoInclude the treetrace bitmap comment accidentally omitted from the previous
drh [Tue, 22 Nov 2022 19:56:54 +0000 (19:56 +0000)] 
Include the treetrace bitmap comment accidentally omitted from the previous
check-in.

FossilOrigin-Name: db07471c531766a8eec1d5b41c9fd0283b5e64ee13166dc3391f70a1e1946121

2 years agoMerge trunk fixes and enhancements into the agg-with-indexed-expr branch.
drh [Tue, 22 Nov 2022 19:51:16 +0000 (19:51 +0000)] 
Merge trunk fixes and enhancements into the agg-with-indexed-expr branch.

FossilOrigin-Name: 070634781a5eb41f96b001e48b064e3cd8c82314f576335eb1fcd43792179291

2 years agoRename the SELECTTRACE macro to TREETRACE, so that is corresponds to the new
drh [Tue, 22 Nov 2022 19:49:16 +0000 (19:49 +0000)] 
Rename the SELECTTRACE macro to TREETRACE, so that is corresponds to the new
CLI command.  Renumber all of the bits in the bitmask used to enable
various kinds of tracing, and add a trace bitmap decoder in sqliteInt.h.
Changes to debugging logic only.  No (intentional) changes to production code.

FossilOrigin-Name: 8036445a36d9d982c1305935e7e37367bdf9e466b923eb6286b52524802e3ccd

2 years agoSync w/trunk. Ready for merge to trunk.
larrybr [Tue, 22 Nov 2022 19:12:24 +0000 (19:12 +0000)] 
Sync w/trunk. Ready for merge to trunk.

FossilOrigin-Name: ff67460e1a3d21c9ca7cbd171fbc5e6cbdb3797de359887f851776b73b732fdf

2 years agoAdd test/basexx1.test to test is_base85(t), base85(x) and base64(x). Sync w/trunk.
larrybr [Tue, 22 Nov 2022 19:04:09 +0000 (19:04 +0000)] 
Add test/basexx1.test to test is_base85(t), base85(x) and base64(x). Sync w/trunk.

FossilOrigin-Name: 4e4334547795f659b4a5dc5fdaf842535643750a5f1ce1af799c526931a473e4

2 years agoFix the error message in the CLI for "no such VFS".
drh [Tue, 22 Nov 2022 18:24:07 +0000 (18:24 +0000)] 
Fix the error message in the CLI for "no such VFS".
[forum:/info/1217fdd6b3|Forum post 1217fdd6b3].

FossilOrigin-Name: 861af465fda8485dfff143dc45c659b884d826aaec2ebaa941566404d1fe427b

2 years agoAdd Makefile.in targets for sqlite3r.c and sqlite3r.h, versions of the amalgamation... make-sqlite3r.c
dan [Tue, 22 Nov 2022 16:12:53 +0000 (16:12 +0000)] 
Add Makefile.in targets for sqlite3r.c and sqlite3r.h, versions of the amalgamation that include the recover extension.

FossilOrigin-Name: 59a837cfc7f9f96509491c8fc45355d2e8892af25246955e22adec1cbf37327b

2 years agoSince the memory registers used by the columns and functions of an
drh [Tue, 22 Nov 2022 15:43:16 +0000 (15:43 +0000)] 
Since the memory registers used by the columns and functions of an
AggInfo object are sequential, it is not neecessary to remember each register
separately.  We can simply remember the first one and do the math when
others are needed.

FossilOrigin-Name: dc5bd34963b761c819c565653156d0befbf65cc2cc5dc4113b0ce952450f0352

2 years agoFix last function pointer in sqlite3Apis init. Reported at https://sqlite.org/forum...
larrybr [Tue, 22 Nov 2022 15:41:32 +0000 (15:41 +0000)] 
Fix last function pointer in sqlite3Apis init. Reported at https://sqlite.org/forum/info/eba0faa96d

FossilOrigin-Name: 6d5dc9eed54b7d883aa7dbe2eb5ff17d2a703eabdb7d548a27cccc1fe5addb4a

2 years agoOmit the unnecessary AggInfo.mnReg field.
drh [Tue, 22 Nov 2022 14:31:13 +0000 (14:31 +0000)] 
Omit the unnecessary AggInfo.mnReg field.

FossilOrigin-Name: d79c58ef08b917bacc0f24d210d8eb23f659f955c219b4757af42eee8f17099b

2 years agoFactor out the allocation of registers for aggregates into a separate
drh [Tue, 22 Nov 2022 14:10:22 +0000 (14:10 +0000)] 
Factor out the allocation of registers for aggregates into a separate
subroutine.

FossilOrigin-Name: 4475799d5b41e93eabc32fac502ac2de240642b3b64739216e32e9af92ee191d

2 years agoThis is the first in what is anticipated to be a long sequence of incremental
drh [Tue, 22 Nov 2022 13:33:58 +0000 (13:33 +0000)] 
This is the first in what is anticipated to be a long sequence of incremental
changes aimed at improving aggregate query processing, and in particular
helping aggregate queries take better advantage of indexes on expression.
The end goal is to resolve ticket [99378177930f87bd], though it remains to
be seen whether or not I can get there with this approach.

FossilOrigin-Name: cba837eae93f6b842d4e78ef00661a4f09deb99c53f12b3e8f46763749602597

2 years agoConvert an ALWAYS() in sqlite3DbSpanDup() into an assert(), for a performance
drh [Tue, 22 Nov 2022 12:47:32 +0000 (12:47 +0000)] 
Convert an ALWAYS() in sqlite3DbSpanDup() into an assert(), for a performance
increase and size reduction.

FossilOrigin-Name: 21e80a29737c367babcc0cf2533eed61b5d0fcf3cc3c33ab88761899e394eaf3

2 years agoSplit out the debugging code that dumps an AggInfo object into a separate
drh [Mon, 21 Nov 2022 17:40:23 +0000 (17:40 +0000)] 
Split out the debugging code that dumps an AggInfo object into a separate
subroutine called printAggInfo() so that it can be invoked interactively
during debugging.  No changes to production code.

FossilOrigin-Name: dc33cfbedef4b444adeadea17f8183b7c4ce5b87432d0c712f986b34c7374ff1

2 years agoChange the name of the Parse.pIdxExpr field to pIdxEpr so that the name is
drh [Mon, 21 Nov 2022 16:40:12 +0000 (16:40 +0000)] 
Change the name of the Parse.pIdxExpr field to pIdxEpr so that the name is
distinct from all other identifiers in the code and thus less confusing.

FossilOrigin-Name: a2962d0187534f3496282b48efbf38dabcd226bf8972be925c8433c55a8853fe

2 years agoOPFS contention test: give each worker a distinct recognizable name instead of a...
stephan [Mon, 21 Nov 2022 16:00:26 +0000 (16:00 +0000)] 
OPFS contention test: give each worker a distinct recognizable name instead of a random one.

FossilOrigin-Name: 5f564bf7de7ce3ad7bedb5f06b3086ceaec55da768a60d74059fa4fba4328567

2 years agoPerformance optimization and size reduction in insertCell() by omitting
drh [Mon, 21 Nov 2022 15:55:57 +0000 (15:55 +0000)] 
Performance optimization and size reduction in insertCell() by omitting
the "pRC" argument and instead returning the result code as an integer.

FossilOrigin-Name: bee94d1bb0daade023cc1e274339daafc249e1978c0765fc45042b5f9060e478

2 years agoPerformance optimization to sqlite3BtreeInsert().
drh [Mon, 21 Nov 2022 14:13:10 +0000 (14:13 +0000)] 
Performance optimization to sqlite3BtreeInsert().

FossilOrigin-Name: b8976ebfe03fbc1e09a38d598a62493a7f19ff7a2a3acd1ec54d0dee190471e9

2 years agoSmall performance improvement in sqlite3BtreeTransferRow().
drh [Mon, 21 Nov 2022 13:35:00 +0000 (13:35 +0000)] 
Small performance improvement in sqlite3BtreeTransferRow().

FossilOrigin-Name: dab959ea3edf99788bfd76352cd46a3e56876b0e7d7008c6927aa14534853c50

2 years agoAdd new JS tests dir to those pushed to the test server.
stephan [Mon, 21 Nov 2022 06:07:22 +0000 (06:07 +0000)] 
Add new JS tests dir to those pushed to the test server.

FossilOrigin-Name: 07182dca9f2a4ffea1af0684c93e55e105465b2ee9820c70764e3e7bc1c28efc

2 years agoMore tweaking of OPFS concurrency measures and the related test app.
stephan [Mon, 21 Nov 2022 05:18:24 +0000 (05:18 +0000)] 
More tweaking of OPFS concurrency measures and the related test app.

FossilOrigin-Name: a8d4da1501d411085ec2fd48c4a056c8b1d97ef3c3203c5b403a854ac2864870

2 years agoResolve missing SQLITE_LOCKED result code which triggered a new (since last checkin...
stephan [Mon, 21 Nov 2022 04:12:38 +0000 (04:12 +0000)] 
Resolve missing SQLITE_LOCKED result code which triggered a new (since last checkin) exception in the OPFS VFS. Improve output of the OPFS contention tester app.

FossilOrigin-Name: 2debbbca33bd4170a1dc4dbb5eb3e68523e51d289b06c551e5560ac4e32e433b

2 years agoAdd test app for experimenting with multi-worker OPFS concurrency. Tweak OPFS VFS...
stephan [Mon, 21 Nov 2022 03:50:52 +0000 (03:50 +0000)] 
Add test app for experimenting with multi-worker OPFS concurrency. Tweak OPFS VFS to significantly improve the otherwise "unfortunate" concurrency situation.

FossilOrigin-Name: 96f76e7616f8157a342b9e1c42f7b1feab200d182268871a2b25f67d4ee2564c

2 years agoGet clean builds for MS tools. Add build examples for extension glommer (basexx.c)
larrybr [Mon, 21 Nov 2022 02:18:12 +0000 (02:18 +0000)] 
Get clean builds for MS tools. Add build examples for extension glommer (basexx.c)
Make sure extensions build for dynamic load and built into shell.

FossilOrigin-Name: da940d507e9e31a84daedede44a56f743198d7258a9e83892511fe8dd4c78d2b

2 years agoFix a base64 decode bug. Provide for convenient inclusion of extension(s) built into...
larrybr [Mon, 21 Nov 2022 00:11:09 +0000 (00:11 +0000)] 
Fix a base64 decode bug. Provide for convenient inclusion of extension(s) built into the CLI, to simplify testing and for its own sake. Improve comments. Cure collision between base64.c and base85.c when both are in the same translation unit.

FossilOrigin-Name: 07543d23a98c2a851393a2674e59d3cf1df37c244fb451cb7436f49c95c1423f

2 years agojs dist: account for a file rename in the previous checkin.
stephan [Sun, 20 Nov 2022 05:47:17 +0000 (05:47 +0000)] 
js dist: account for a file rename in the previous checkin.

FossilOrigin-Name: 469f9011a885e19b99210c5e3e582afa140b8b5f0aa7a720334848df5ab6ae98

2 years agoFurther minor cleanups in the JS build related to vanilla vs ESM.
stephan [Sun, 20 Nov 2022 05:36:52 +0000 (05:36 +0000)] 
Further minor cleanups in the JS build related to vanilla vs ESM.

FossilOrigin-Name: 100a596800eca61477d9880092465d594c22be3707f2a11aaf6eb9e234fc6f2d

2 years agoRemove an obsolete reference to WASMFS from ext/wasm/index.html.
stephan [Sun, 20 Nov 2022 04:14:29 +0000 (04:14 +0000)] 
Remove an obsolete reference to WASMFS from ext/wasm/index.html.

FossilOrigin-Name: 51ff681864ec19844f8e7a46aef132e8a8601a1b64e1f5a243a53c6413f2a61a

2 years agoGeneric cleanups and doc additions in the wasm build files.
stephan [Sun, 20 Nov 2022 04:14:00 +0000 (04:14 +0000)] 
Generic cleanups and doc additions in the wasm build files.

FossilOrigin-Name: d10f385e36ee7fe3077d80d8d6e7ce55732d20ef73e2a63533d8d2932ec8bf62

2 years agoAdd 'snapshot' target to create distinctly-named snapshot builds of the wasm delivera...
stephan [Sun, 20 Nov 2022 04:13:16 +0000 (04:13 +0000)] 
Add 'snapshot' target to create distinctly-named snapshot builds of the wasm deliverables zip file.

FossilOrigin-Name: f7620aa09e4893971e00cdee5c6f1fe15c3bd21f985bec90fbd90fdfc457ac31

2 years agoMinor cleanups in the ESM-related preprocessor filtering.
stephan [Sun, 20 Nov 2022 01:15:22 +0000 (01:15 +0000)] 
Minor cleanups in the ESM-related preprocessor filtering.

FossilOrigin-Name: 205884a273128bb666b496b659b4fa9f031ebdbbc1aa704fdeb4b7e015740098

2 years agoNew assert()s confirm that BTREE_PREFORMAT must be the same value as
drh [Sat, 19 Nov 2022 20:10:55 +0000 (20:10 +0000)] 
New assert()s confirm that BTREE_PREFORMAT must be the same value as
OPFLAG_PREFORMAT.

FossilOrigin-Name: f40bf2c642643ae61d331e8d4815f601224fa258ab34344c6756966163a89f4a

2 years agoPerformance optimization in sqlite3BtreeInsert().
drh [Sat, 19 Nov 2022 19:37:26 +0000 (19:37 +0000)] 
Performance optimization in sqlite3BtreeInsert().

FossilOrigin-Name: 9776fa31758161970a50995a487b6543ed71e9610460b7324304ef21d9248707

2 years agoPerformance improvement and size reduction in balance_nonroot().
drh [Sat, 19 Nov 2022 18:43:32 +0000 (18:43 +0000)] 
Performance improvement and size reduction in balance_nonroot().

FossilOrigin-Name: 715bc81eb833ad4834d139a04085e0386c54c30d7395207e48972c4dfe5879c1

2 years agoSmall performance improvement and size reduction in btree.
drh [Sat, 19 Nov 2022 18:17:40 +0000 (18:17 +0000)] 
Small performance improvement and size reduction in btree.

FossilOrigin-Name: daa07149c0a0fcb6a6a1ace6020ca68802588ed309f5aaaf99c871088bc46908

2 years agoGet tester1.js working via an ES6 worker module and add that variant to the dist...
stephan [Sat, 19 Nov 2022 16:16:40 +0000 (16:16 +0000)] 
Get tester1.js working via an ES6 worker module and add that variant to the dist zipfile.

FossilOrigin-Name: 90480586f1b2ad82118e19536b095431b8457f294c0afaa9b4f883f184cc804c

2 years agoImproved comments on the pageFreeArray() routine of btree.c. No changes to
drh [Sat, 19 Nov 2022 14:18:48 +0000 (14:18 +0000)] 
Improved comments on the pageFreeArray() routine of btree.c.  No changes to
code.

FossilOrigin-Name: 0c2adc6d3547b07e950ae49f07f688f71a21b3ad5a51f16f0e8d49ab91564582

2 years agoStreamline the decodeFlags() routine in btree.c for a small performance
drh [Sat, 19 Nov 2022 13:09:03 +0000 (13:09 +0000)] 
Streamline the decodeFlags() routine in btree.c for a small performance
increase.

FossilOrigin-Name: 4cb285210b4a2b14c80962bf2ecb35be310d3444c329c15d86b3073096455704

2 years agoAdd build of sqlite3.mjs (ES6 module), add a test app for it, and include it in the...
stephan [Sat, 19 Nov 2022 05:26:45 +0000 (05:26 +0000)] 
Add build of sqlite3.mjs (ES6 module), add a test app for it, and include it in the dist build.

FossilOrigin-Name: 2e783670e10b59e67c14b0db7f4803b41790cc7730de221d54fa2d4483cfba33

2 years agoIntegrate a custom preprocessor to the JS build process to facilitate creation of...
stephan [Sat, 19 Nov 2022 02:58:03 +0000 (02:58 +0000)] 
Integrate a custom preprocessor to the JS build process to facilitate creation of both vanilla JS and ES6 Module builds from the same source files. There is still some build-level reworking pending to make an ESM build a first-class deliverable.

FossilOrigin-Name: 10c723d96d61d2e552ec1102563d58f1eb11bc3d30e03606fd8e0279c5a9043a

2 years agoMore work towards creation of a ES6 JS module. js-cpp
stephan [Sat, 19 Nov 2022 02:51:41 +0000 (02:51 +0000)] 
More work towards creation of a ES6 JS module.

FossilOrigin-Name: 6b826e700f6849eebfbba38e5948b96be245994e3e03ea30743114d3f5689c42

2 years agoNew extensions for base85 and base64 conversion UDFs
larrybr [Sat, 19 Nov 2022 02:39:16 +0000 (02:39 +0000)] 
New extensions for base85 and base64 conversion UDFs

FossilOrigin-Name: 5cc1fe1ddc2a33c59d3c006057e474c7c7975c483395ddea530df6968fe15341

2 years agoCreate new branch named "base_convert"
larrybr [Sat, 19 Nov 2022 02:32:26 +0000 (02:32 +0000)] 
Create new branch named "base_convert"

FossilOrigin-Name: 0cbf55407a3a94b1c9c0ada52fa2995088bac3739876fa8d465dfb4dfcc4a6ea

2 years agoSmall performance optimization in btree.c.
drh [Sat, 19 Nov 2022 00:22:12 +0000 (00:22 +0000)] 
Small performance optimization in btree.c.

FossilOrigin-Name: f710cce13577788cf3b95ed7089c3af2854271ff53f0a0b7b0619f315e331eff

2 years agoDatabases created using sqlite3_deserialize() should report their filename
drh [Sat, 19 Nov 2022 00:08:35 +0000 (00:08 +0000)] 
Databases created using sqlite3_deserialize() should report their filename
as an empty string, not as "x".  Fix for ticket [53043c9793715f08].

FossilOrigin-Name: ff494449efd475878c549728cc22ee9b12d13674068781747fc042a0c1bd09c8

2 years agoUpdate the version number to 3.41.0 to begin the next development cycle.
drh [Fri, 18 Nov 2022 17:57:19 +0000 (17:57 +0000)] 
Update the version number to 3.41.0 to begin the next development cycle.

FossilOrigin-Name: 5c669f5f399fe89998b9edba6486f2a6fe5fca789ed82e8711349c8736b293d9

2 years agoshell.c.in: on non-Windows platforms, check for $XDG_CONFIG_HOME/sqlite3/sqliterc...
stephan [Fri, 18 Nov 2022 15:22:45 +0000 (15:22 +0000)] 
shell.c.in: on non-Windows platforms, check for $XDG_CONFIG_HOME/sqlite3/sqliterc before ~/.sqliterc, per request in [forum:7a16582b1e403c81|forum post 7a16582b1e403c81].

FossilOrigin-Name: 17065d095d26a814acf1e13f5cc18b21fecc58eb8c9da100458029bb139fcd35

2 years agoReplace use of cpp with the fit-to-purpose c-pp to avoid cpp's C-centric/JS-unfriendl...
stephan [Fri, 18 Nov 2022 02:29:59 +0000 (02:29 +0000)] 
Replace use of cpp with the fit-to-purpose c-pp to avoid cpp's C-centric/JS-unfriendly quirks.

FossilOrigin-Name: 49d70f071e918d5d095c807575bb7ce2b287a123261e789e938521b3b409429a

2 years agoFix corner cases in UTF8 handling in the REGEXP extension.
drh [Thu, 17 Nov 2022 19:24:39 +0000 (19:24 +0000)] 
Fix corner cases in UTF8 handling in the REGEXP extension.
[forum:/forumpost/3ffe058b04|Forum post 3ffe058b04].

FossilOrigin-Name: abb18f61c5cec0f524acc41453b4c06b61c5af51ff46417588837fc0c3967288

2 years agoMerge trunk into js-cpp branch.
stephan [Thu, 17 Nov 2022 15:21:49 +0000 (15:21 +0000)] 
Merge trunk into js-cpp branch.

FossilOrigin-Name: e047b33d1fb7d6a32e967f03f9952249cd2da4d21dc301fe92bd7baa0da5d6a9