]>
git.ipfire.org Git - thirdparty/sqlite.git/log
stephan [Fri, 4 Aug 2023 08:41:55 +0000 (08:41 +0000)]
drh [Thu, 3 Aug 2023 18:14:09 +0000 (18:14 +0000)]
stephan [Thu, 3 Aug 2023 16:22:59 +0000 (16:22 +0000)]
Fix a discrepancy between sqlite3_values_to_js() and its API docs/intended behavior.
FossilOrigin-Name:
7b85c68fe252c0aa69724c82a95a4432e33ebdfb879b4b1b2ee2f9b98e9b792a
drh [Thu, 3 Aug 2023 13:30:00 +0000 (13:30 +0000)]
Fix build problems associated with SQLITE_OMIT_WSD and SQLITE_OMIT_TRIGGER.
FossilOrigin-Name:
de031a5ec863b11f0216d1a114740c8cf4572adb034a5d35ff1a5c07d81df800
drh [Thu, 3 Aug 2023 13:07:58 +0000 (13:07 +0000)]
Fix a test case whose value changes under the no_optimization permutation
due to the recent change to add the ability for SQLITE_TESTCTRL_OPTIMIZATION
to disable one-pass.
FossilOrigin-Name:
976e39c6322f9e51054546e2d9bc135b683d141054c645c9098002cdc310c7c7
drh [Thu, 3 Aug 2023 12:41:30 +0000 (12:41 +0000)]
Unix builds now assume the presence of nanosleep() in the standard library.
The -DHAVE_NANOSLEEP=0 compile-time option can be used to build on systems
(if any still exist) where this is not the case.
FossilOrigin-Name:
779d5dc8797ea246d0397f7e94b1be716b0baa735e8d9f5a6fc4cffd887a7420
stephan [Wed, 2 Aug 2023 17:29:18 +0000 (17:29 +0000)]
More JNI-internal docs. Correct handling of a Java exception if a trace callback throws.
FossilOrigin-Name:
306b269a01037bc5c98276276fdb17b37027d1ee0d603183f42a65966245bdff
stephan [Wed, 2 Aug 2023 17:20:52 +0000 (17:20 +0000)]
drh [Wed, 2 Aug 2023 16:06:02 +0000 (16:06 +0000)]
Performance optimization for JSON rendering logic.
FossilOrigin-Name:
ea0b9aecbaca9a8e784fd2bcb50f78cbdcf4c5cfb45a7700bb222e4cc104c644
drh [Wed, 2 Aug 2023 13:45:16 +0000 (13:45 +0000)]
Remove an unreachable branch in the ascii-to-floating-point conversion that
was added by [
e989a37ff9d5b52e ].
FossilOrigin-Name:
c4347e4400e96f932ac12f8f22484a2ebce2a578d1b2181977954c432f117bfd
drh [Wed, 2 Aug 2023 13:38:02 +0000 (13:38 +0000)]
Stricter enforcement of the idea that a MATERIALIZED common table expression
is an optimization fence.
FossilOrigin-Name:
354425f8d97437bd156265a6914f98cce91b42abc9e773453ef4d817e308dc9a
drh [Wed, 2 Aug 2023 13:29:01 +0000 (13:29 +0000)]
Remove a condition from query flattening that is now taken care of by
the caller. Factor out the reverse_unordered_selects processing from the
main loop of sqlite3WhereBegin() for performance.
FossilOrigin-Name:
f068f105fb158634321bf6401f0774c81059932d213a18b627ae98bcffc10912
drh [Wed, 2 Aug 2023 12:39:56 +0000 (12:39 +0000)]
Simplify the select.c logic that enforces the optimization fence around
a MATERIALIZED common table expression. Do not allow the
reverse_unordered_selects setting to affect a fenced CTE that itself has
an ORDER BY clause.
FossilOrigin-Name:
165b9bda243777ae7fb6f51ee7ad58771c581b82ef9a70268eb9764e9e6eba6f
drh [Wed, 2 Aug 2023 11:06:27 +0000 (11:06 +0000)]
Never flatten a CTE that is labeled MATERIALIZED. This is really something
of a bug fix because the documentation says that a MATERIALIZED CTE is an
optimization barrier.
FossilOrigin-Name:
b7ef9796f548ce43e06673f86bbec68157aae5e4ee8451e1d87ee5f70af1bb27
drh [Wed, 2 Aug 2023 00:09:15 +0000 (00:09 +0000)]
When a query is inside an AS MATERIALIZED CTE, do not attempt the
omit-ORDER-BY optimization. If the developer specifies MATERIALIZED,
that means he wants the sort to actually happen.
FossilOrigin-Name:
aa769ee7477171f26a091cadff98aa4f48da7752ade20b405a95c4525456f62e
drh [Tue, 1 Aug 2023 19:10:30 +0000 (19:10 +0000)]
Avoid ASAN warnings when converting over-sized long double values into double.
FossilOrigin-Name:
e989a37ff9d5b52e0090d59be077ad2260c8df5d4c2c2d8088b1160de64dffd4
stephan [Tue, 1 Aug 2023 16:41:12 +0000 (16:41 +0000)]
Filter the wasmfs-specific JS module result type check out of non-wasmfs builds.
FossilOrigin-Name:
ef7c121049f77200ecc4da260a90776264af0e84122d0133b4986959aedc653a
stephan [Tue, 1 Aug 2023 16:38:08 +0000 (16:38 +0000)]
Fix part 2 of 2 for /fiddle: a make deps problem which caused fiddle to load but fail to run when sqlite3.c was missing.
FossilOrigin-Name:
6011bc26764760af750de68f1553f45382766dd2195633ae267bdb4f9ac75d0f
stephan [Tue, 1 Aug 2023 16:17:00 +0000 (16:17 +0000)]
Fix part 1 of 2 for /fiddle not running: build flags which were renamed during refactoring.
FossilOrigin-Name:
214ffeeff77997c3352d30aaa6e51e2dea9706f0d08f73f4eacfad1864817fc6
dan [Tue, 1 Aug 2023 11:03:06 +0000 (11:03 +0000)]
Fix an assert() in fts5_index.c that might fail when dealing with corrupt records.
FossilOrigin-Name:
aa55c83f35c2ab134e0842201e46e021079283f9c65595c86664060b3aa8d715
stephan [Tue, 1 Aug 2023 10:19:05 +0000 (10:19 +0000)]
More docs for the Java side of the JNI bindings.
FossilOrigin-Name:
d8e9bcee96b90d56701f7907a8bd48853211caf757e1aa8decc7ed25eece6770
stephan [Tue, 1 Aug 2023 09:44:26 +0000 (09:44 +0000)]
Internal exception-handling cleanups in the JNI bindings.
FossilOrigin-Name:
057b1d4f6ffff73c120566895f61ea3fd8118968464d67ec9262096a7aa03f39
stephan [Tue, 1 Aug 2023 08:48:13 +0000 (08:48 +0000)]
Minor JNI-related doc tweaks and code re-ordering.
FossilOrigin-Name:
b663b27e425966f34fb62482a18048f0e2934380e5c411ae3627f1fe6a765c04
drh [Tue, 1 Aug 2023 01:07:45 +0000 (01:07 +0000)]
drh [Tue, 1 Aug 2023 00:34:03 +0000 (00:34 +0000)]
Restore part of the UPDATE one-pass optimization that was removed by
check-in [
2c56b984a0bd3be5 ]: only disable one-pass if the WHERE clause
contains a subquery. Allow subqueries in the SET expressions.
Fix for performance problem reported by
[forum:/forumpost/
8ab195fd44e75ed0 |forum post
8ab195fd44e75ed0 ].
FossilOrigin-Name:
42916af9fc0f379a608a08db894400bd735a28e26ab1ffd604d1fddfbdb3ec0c
drh [Mon, 31 Jul 2023 22:03:24 +0000 (22:03 +0000)]
Restrict the new column cache to table-btree, which is the common case anyhow.
That way, writes to indexes do not need to clear the column cache.
FossilOrigin-Name:
659284ab0e22a4746c1337b3489e7b166d497fb7e5301e24dc115d2b0c4e097d
drh [Mon, 31 Jul 2023 20:02:11 +0000 (20:02 +0000)]
The original column-cache implementation from check-in [
ab1edcc7fedcf279 ]
(merged to trunk at [
771fe35074b50b8d ]) is unsound. This check-in fixes
the issue. Had to give back a little performance, the optimization is still
a overall win.
FossilOrigin-Name:
ec95e970fb737adf0fab3cb4363040b036949e5eb966fc2d030a20f95e2bde60
drh [Mon, 31 Jul 2023 17:39:36 +0000 (17:39 +0000)]
Add bit to sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS) that will
disable the one-pass optimizating in DELETE and UPDATE.
FossilOrigin-Name:
22f6dd5cd32ed9e7b932fdba98aa8652fde999df79f4995d3d8ac1acf430cf53
drh [Mon, 31 Jul 2023 17:20:12 +0000 (17:20 +0000)]
Improved debug tracking of the Parse.nQueryLoop value.
FossilOrigin-Name:
4a8a17498ecaccca5e5aab65d4596cbca9799547f50683237d08c1fa3556f1cf
stephan [Mon, 31 Jul 2023 13:52:46 +0000 (13:52 +0000)]
Experimentally change the JNI sqlite3_trace_v2() callback type to have more convenient access to the current Java-side sqlite3_stmt at the cost of some uncomfortably fiddly current-statement tracking in the JNI layer. Subject to change.
FossilOrigin-Name:
459db332af6ea358b42bac096b9d26f1045b9ec32fad8463bca06807b2396b2c
stephan [Mon, 31 Jul 2023 12:10:32 +0000 (12:10 +0000)]
Add some JNI-internal metrics, accessible via passing -v when running Tester1.java. Document an OpenJDK bug which leads to incorrect -Xlint:jni warnings.
FossilOrigin-Name:
a5d68a6b64abe3c2dfc3a32157f70fd8a4ad89feef2510b3bbb2d86b325d51ae
stephan [Mon, 31 Jul 2023 10:55:30 +0000 (10:55 +0000)]
Correct a mis-cast in the JNI wrapper which just happened to accidentally work. Update JNI binding of sqlite3_context_db_handle() to return the bound-at-open() db instance instead of a new/temp proxy object.
FossilOrigin-Name:
9faca5d9ed4a749421e08bd1da8b7672c0fd31366124fdb613c46e19dece0fc1
stephan [Mon, 31 Jul 2023 10:42:05 +0000 (10:42 +0000)]
stephan [Mon, 31 Jul 2023 10:22:34 +0000 (10:22 +0000)]
Update some internal docs for the past two checkins. Add a way to dump out some debug info about the current JNI environment.
FossilOrigin-Name:
ac9b8bb1e64450d980e2986084996549ae5c59e68c9f0c4c69539c239b64468b
stephan [Mon, 31 Jul 2023 10:08:36 +0000 (10:08 +0000)]
Refactor the busy-handler-specific JNI hook type to use the generic hook type.
FossilOrigin-Name:
d9efdc6dd20a34bfdaad5d4bf8e67cce7e35238299eb91e4459d59fda11978a6
stephan [Mon, 31 Jul 2023 09:45:49 +0000 (09:45 +0000)]
Refactor the collation-specific JNI hook type to use the generic hook type.
FossilOrigin-Name:
02c1d3b6501fedf3d6e6d1ca60699df268522182c5ba3b49ae8f4691499ef0fc
stephan [Mon, 31 Jul 2023 09:28:15 +0000 (09:28 +0000)]
stephan [Mon, 31 Jul 2023 07:15:25 +0000 (07:15 +0000)]
Consolidate triplicated xDestroy()-calling code. Remove some unnecessary casts.
FossilOrigin-Name:
24c0763d0e025187c74002ffee11fd48d3cd7b40e01469d28484bb67f701884b
stephan [Sun, 30 Jul 2023 18:41:25 +0000 (18:41 +0000)]
stephan [Sun, 30 Jul 2023 17:24:01 +0000 (17:24 +0000)]
Internal JNI refactoring towards consolidating support for callbacks with and without finalizers.
FossilOrigin-Name:
120983a570d6de055cef9d916096de3410897ea9f46d23ea6eff1f9b549e423a
stephan [Sun, 30 Jul 2023 13:47:51 +0000 (13:47 +0000)]
Mark the Java wrapper classes of the C-native types as 'final' (cannot be subclassed).
FossilOrigin-Name:
4fd3d93623d67c25fb8a490e0d4ea56d531d858067011ab1b28cce694098feff
stephan [Sun, 30 Jul 2023 13:30:52 +0000 (13:30 +0000)]
Minor tweaks and optimizations in the JNI bindings.
FossilOrigin-Name:
41fb5898f1a78d9fd85a020e28a6048a7359b54e35632e9072917cbdbcd8b07d
stephan [Sun, 30 Jul 2023 11:36:41 +0000 (11:36 +0000)]
Bind sqlite3_collation_needed() to JNI. Related adjacent cleanups and fixes.
FossilOrigin-Name:
16ff167691733350907d2d995c774a885214acd0fe8ec491c16b786f00fe85d4
stephan [Sun, 30 Jul 2023 10:47:38 +0000 (10:47 +0000)]
Internal JNI refacoring to support the pending sqlite3_collation_needed() callback. Correct a bug in the linked-list handling of PerDbStateJni which triggered an assert().
FossilOrigin-Name:
7ac6614e69b03304d09745619ed83f12c7eb775aaf4a636a79289b01642ddd14
stephan [Sun, 30 Jul 2023 09:45:54 +0000 (09:45 +0000)]
Incremental checkin to minimize the diff while narrowing in on an assertion caused by refactoring.
FossilOrigin-Name:
2d7a91b1396d87852f1153ab7af7385514a9537cb64ba3bbd0faba2d28704214
stephan [Sun, 30 Jul 2023 08:12:15 +0000 (08:12 +0000)]
Consolidate some warnings for java callbacks which must not throw but do.
FossilOrigin-Name:
5e592ed2dfc89225fff3a1c76509adc799a238282413984e0c4b32af18525d18
stephan [Sun, 30 Jul 2023 07:44:03 +0000 (07:44 +0000)]
stephan [Sun, 30 Jul 2023 06:44:21 +0000 (06:44 +0000)]
stephan [Sun, 30 Jul 2023 06:00:53 +0000 (06:00 +0000)]
stephan [Sun, 30 Jul 2023 05:50:34 +0000 (05:50 +0000)]
stephan [Sun, 30 Jul 2023 04:31:56 +0000 (04:31 +0000)]
Bind sqlite3_progress_handler() to JNI. Add some metrics to Tester1.java.
FossilOrigin-Name:
437ecfe8abf8d294d429d191d811da6148e0b2ebb74cf66998480bfc8ef58bdf
stephan [Sun, 30 Jul 2023 03:54:10 +0000 (03:54 +0000)]
Add tests for SAHPoolUtil.exportFile() and importDb().
FossilOrigin-Name:
4aa88b8fb1c99137ed7531e5c82a241738a2b0554f7af82c0ed0ce8d16a0879a
drh [Sat, 29 Jul 2023 22:58:47 +0000 (22:58 +0000)]
Do not try to add MEM_Term to an MEM_Static string either.
FossilOrigin-Name:
8920dcef1f75f578e3f274ab2b980a83d6ea6b761d99fc48410b26886170597b
drh [Sat, 29 Jul 2023 21:22:26 +0000 (21:22 +0000)]
Do not try to apply MEM_Term to a MEM_Ephem strings.
FossilOrigin-Name:
2a378a66783ce4d749f7e1e7d08d8404a4aa78d47aeeefd6794b6753188438f6
dan [Sat, 29 Jul 2023 20:13:19 +0000 (20:13 +0000)]
Fix a buffer overread in the fts5_structure virtual table (test code).
FossilOrigin-Name:
b837aff79cd159061b46af59eaf96a1a1920eeece27e9e27931cf3387068d96a
drh [Sat, 29 Jul 2023 17:05:35 +0000 (17:05 +0000)]
Simplification to the sqlite3_stmt_explain() implementation.
FossilOrigin-Name:
dd5eb4c7f71c658aff8c2f11ff163c5e79f0ebfd49fd13ca8e28381fe63cc82f
stephan [Sat, 29 Jul 2023 15:53:53 +0000 (15:53 +0000)]
SAHPoolUtil.importDb() now accepts either a byte array or ArrayBuffer.
FossilOrigin-Name:
3848f04e542e2f0f8975e82632af598aac3b60312bd244b0472f7ddf1dda77df
drh [Sat, 29 Jul 2023 15:31:48 +0000 (15:31 +0000)]
Enhancements to the new sqlite3_stmt_explain() interface implementation and
documentation.
FossilOrigin-Name:
dc98ac6b6de27fc096a715e650067154a545709cf1eecd6c2722ab30a91c2d1d
larrybr [Fri, 28 Jul 2023 21:38:50 +0000 (21:38 +0000)]
Fix doc error noted in [forum:/forumpost/
11fc7308d5e607f2 |the forum] and a misspelling.
FossilOrigin-Name:
6b79cc7dd07d41da6034386b39c0dff32f80a977db42a9602330ffd15706ab9b
drh [Fri, 28 Jul 2023 20:59:25 +0000 (20:59 +0000)]
Do not allow the same JSON parse to be input to both arguments to the
json_patch() routine.
FossilOrigin-Name:
8e781c6742792b3899ca60efc49c7eaee1df9f6b03d27c254b0e148b82946e19
drh [Fri, 28 Jul 2023 19:07:25 +0000 (19:07 +0000)]
Merge the latest trunk enhancements into the wal-shm-exceptions branch.
FossilOrigin-Name:
c44fb4d06591ef4872f015aa9e81ce8b93a38bd9143cf20db38cbe5c77a0d71f
stephan [Fri, 28 Jul 2023 18:44:11 +0000 (18:44 +0000)]
drh [Fri, 28 Jul 2023 18:37:13 +0000 (18:37 +0000)]
stephan [Fri, 28 Jul 2023 18:02:02 +0000 (18:02 +0000)]
Fix an incorrect file path in ext/jni/README.md
FossilOrigin-Name:
bcefa2df563260933c7ab5df90872580f71010c11419f6b1de7b1e2747237ff8
drh [Fri, 28 Jul 2023 16:12:39 +0000 (16:12 +0000)]
Minor tweaks to the JSON performance measurement documentation.
FossilOrigin-Name:
0bed957e46aa3bf6a70292ae100de0459486c1469dd03de61207a708cc59a594
drh [Fri, 28 Jul 2023 15:58:09 +0000 (15:58 +0000)]
drh [Fri, 28 Jul 2023 14:20:31 +0000 (14:20 +0000)]
Enhancements to the JSON performance testing scripts and instructions to
cover the recent optimizations involving updates to large JSON strings
that indexed.
FossilOrigin-Name:
f9213289d09adfb0461d9644e80c7e889f4bae51563ae2e575a2c95336052bcb
drh [Fri, 28 Jul 2023 13:52:08 +0000 (13:52 +0000)]
JSON performance improvements: (1) Add a cache for large string values
on OP_Column to avoid having to extract the string multiple times.
(2) Internal JSON caching improvements.
FossilOrigin-Name:
771fe35074b50b8d4a6583e61c53871b2445f7a58c82f3fc3bf6776e562e63af
stephan [Fri, 28 Jul 2023 11:52:58 +0000 (11:52 +0000)]
Correct a recently-introduced falsehood in ext/wasm/README.md regarding ssh port forwarding.
FossilOrigin-Name:
2a3f3a9cf28849c99d83c256f813405a2f47f84532e1192d67bb7aa655dd98a3
drh [Fri, 28 Jul 2023 11:30:07 +0000 (11:30 +0000)]
stephan [Fri, 28 Jul 2023 10:37:17 +0000 (10:37 +0000)]
Minor java cleanups recommended by a modern IDE.
FossilOrigin-Name:
f92a9bbabebc33a771835e259b04a57d07add1eacf3d9aec5fddf929ce8a3022
stephan [Fri, 28 Jul 2023 10:01:01 +0000 (10:01 +0000)]
Add Java tests which ensure that xFinal() is called with no aggregate context when the result set is empty.
FossilOrigin-Name:
7ac8c66a6b62d6bb345e8b9957a26de463019ae7d30ff442f19482c3a6827fc7
stephan [Fri, 28 Jul 2023 09:54:39 +0000 (09:54 +0000)]
stephan [Fri, 28 Jul 2023 09:25:05 +0000 (09:25 +0000)]
More Java docs about making use of the aggregate context. Change the JNI mapping to set the sqlite3_context::aggregateContext member directly, instead of via a superflous setter, because that way is faster.
FossilOrigin-Name:
7af0cb998f7161296d5e5e50a42e9db26ec13c145c61194a999a1a0104818d45
stephan [Fri, 28 Jul 2023 01:51:14 +0000 (01:51 +0000)]
More docs and cleanups related to the aggregate UDF state. Correct the OOM check to behave properly if xFinal() is called without a matching xStep(), xValue(), or xInverse().
FossilOrigin-Name:
ff53f1ccdc1780f2d9bd5f59804a76dbdf4f6b70696d3a7dbdbd96d1f8f6fa5c
stephan [Fri, 28 Jul 2023 01:19:44 +0000 (01:19 +0000)]
Add an OOM check to the previous check-in. Minor internal API renaming.
FossilOrigin-Name:
6b56e4d62b4945e52978d00aa8e2984faa731c92a7e002e81524fcfcf8ba0cce
stephan [Fri, 28 Jul 2023 01:12:47 +0000 (01:12 +0000)]
Add support making use of sqlite3_aggregate_context() (in a roundabout way) from Java to accumulate state within aggregate and window UDFs.
FossilOrigin-Name:
640574984741c7a9472d7f8be7bce87e736d7947ce673ae4a25008d74238ad90
drh [Fri, 28 Jul 2023 00:54:38 +0000 (00:54 +0000)]
Remove some unnecessary and incorrect code that was mistakenly added in the
previous check-in.
FossilOrigin-Name:
d3f458dcc379dd7648262f52579ec55ba931852065ed278367a0629228d0ed45
drh [Thu, 27 Jul 2023 23:51:36 +0000 (23:51 +0000)]
Switch to using jsonParseCached() for json_patch().
FossilOrigin-Name:
2ed9c59e6a51037e63485d0a92dae25443116beddfca1ac73d2f5d5be38d4ad3
stephan [Thu, 27 Jul 2023 22:53:02 +0000 (22:53 +0000)]
Reformulate jni tests to not require the -ea jvm flag to enable assert().
FossilOrigin-Name:
dc356667a8f4fa31a3fef1ae35873d834d27fd6a9f0818d6fb85e4751fde9fe5
stephan [Thu, 27 Jul 2023 22:42:25 +0000 (22:42 +0000)]
Add locking test for BusyHandler and clear up new -Xlint:jni warnings introduced by the busy-handler binding.
FossilOrigin-Name:
7dcde2bfce54b18f391776fa1cb93c0ff6153634bedcab0007b374c06c4d4079
stephan [Thu, 27 Jul 2023 22:05:39 +0000 (22:05 +0000)]
Bind sqlite3_busy_handler(). Correct mapping of pointers for, and cleanup of, JNI-level per-db state.
FossilOrigin-Name:
524747796a30a5c1c6c7567b49ffb1e35e2626c73e09c335c0ab74d4ddb5f005
stephan [Thu, 27 Jul 2023 20:32:16 +0000 (20:32 +0000)]
Replace some www: interwiki references in the JNI readme with their full URLs to make the doc more portable.
FossilOrigin-Name:
63ce0c9bdde210cf2f8b6099ae5c73caac18e6debc13c2f77090b77f3de72beb
drh [Thu, 27 Jul 2023 20:28:29 +0000 (20:28 +0000)]
If the input JSON to a json function that uses cache comes from an RCStr
value, then use that RCStr value in the parse rather than making a copy.
FossilOrigin-Name:
509ae9c1470dd79d320e84371e1e6662fb85fa0571df5ed8c4d946d10cdfe821
stephan [Thu, 27 Jul 2023 20:12:48 +0000 (20:12 +0000)]
Merge trunk into jni branch for compiler warning fixes.
FossilOrigin-Name:
0514fd340ae15a95760d50c747d6fb9eae5109cb5045eeabc2bc199be0a5ae35
dan [Thu, 27 Jul 2023 20:08:44 +0000 (20:08 +0000)]
Fix a couple of compiler warnings in fts5_index.c.
FossilOrigin-Name:
bf71faa2a1d29ea762c4d2485522d6f4f8a5a7166981a92d3ba9c96ccbbe1213
stephan [Thu, 27 Jul 2023 20:02:49 +0000 (20:02 +0000)]
Initial check-in of JNI (Java Native Interface) bindings for the core C API.
FossilOrigin-Name:
b5374b9ef58fa0be80aefccde0721f5599fb820464b13940b6361b9aa09a59d5
drh [Thu, 27 Jul 2023 19:39:53 +0000 (19:39 +0000)]
The OP_Column opcode caches large column values coming from overflow pages.
FossilOrigin-Name:
ab1edcc7fedcf27922d5db4bc1bc673b1495ca9c66eb6debdda7b7776c068888
dan [Thu, 27 Jul 2023 19:13:35 +0000 (19:13 +0000)]
Add the contentless_delete=1 option to fts5. For creating contentless tables that support DELETE and REPLACE statements.
FossilOrigin-Name:
d66b182d2bc6ce0772e69401b7affe1adbc1b128c4631cb3c17f98dde72af00a
drh [Thu, 27 Jul 2023 18:19:46 +0000 (18:19 +0000)]
Merge trunk enhancements into the json-opt branch.
FossilOrigin-Name:
5739a16ad270a5aadcbb46b28c34fa6ba975422788dcbccb1a8e0d1e6ed75144
stephan [Thu, 27 Jul 2023 17:50:10 +0000 (17:50 +0000)]
Dynamically determine whether the wasm.xWrap() argc check can be applied, depending on how the wasm environment exposes its exports.
FossilOrigin-Name:
fd59226b34fffb1479fb2d7bd7c0aff982aa4a1a73e6c0d81de6eaf9c075998c
stephan [Thu, 27 Jul 2023 01:38:19 +0000 (01:38 +0000)]
Accommodate a breaking change in emcc 3.1.44.
FossilOrigin-Name:
2c5dd34199f5bcf729be814b8b46d9997821fe3a39ab12779c93df1bb2fd108d
drh [Thu, 27 Jul 2023 00:21:59 +0000 (00:21 +0000)]
Fix a performance regression in JSON associated with generating small
snippets of JSON from a larger JSON string.
FossilOrigin-Name:
837f2907e10b026f6db1ca2d44b4bf60a6f069bf534bf369ad9b5c513cb0c6e4
drh [Wed, 26 Jul 2023 23:22:32 +0000 (23:22 +0000)]
Reduce the number of memory allocations when parsing JSON.
FossilOrigin-Name:
9edd67162113df57dae21d4683f9495611e2cf4717c6d12f5b7b8e44156d5fe3
drh [Wed, 26 Jul 2023 21:53:09 +0000 (21:53 +0000)]
Minor changes to make coverage testing easier.
FossilOrigin-Name:
ec8b43382e5402e15d9f2dda3cf21ac8be8c1589ddbe6c9433c33eef0036f764
drh [Wed, 26 Jul 2023 19:22:43 +0000 (19:22 +0000)]
Change a switch() case to default for coverage.
FossilOrigin-Name:
04f497074b9210326030f36107a43d6490a2a59c8a574e2c5429cd9bde681bf7
drh [Wed, 26 Jul 2023 19:11:47 +0000 (19:11 +0000)]
Make sure jsonReplaceNode() always leaves the JsonParse in a consistent state even if an error is encountered.
FossilOrigin-Name:
01d52232dd6fbd253e77419a17df3df83d49434792d288ef96e14739a89cef3b
dan [Wed, 26 Jul 2023 18:34:34 +0000 (18:34 +0000)]
Add a comment describing the contents of the ExceptionInformation[] array for win32 EXCEPTION_IN_PAGE_ERROR exceptions. No changes to code.
FossilOrigin-Name:
8e20354242d5f34a90b6c00d9034535ef6f6086ee4971230c7fd69985e2777d2
dan [Wed, 26 Jul 2023 17:51:05 +0000 (17:51 +0000)]
Add the ".scanstats vm" command to the shell tool. For profiling VM code in SQLITE_ENABLE_STMT_SCANSTATUS builds.
FossilOrigin-Name:
0cbec3990d4101142bfb831f8e6527b73baabebbd30fa7f59275b217dbce6a8d
dan [Wed, 26 Jul 2023 16:41:23 +0000 (16:41 +0000)]
Improve the output when ".scanstats vm" is enabled.
FossilOrigin-Name:
7df08fd35e9d4bc471aa9fbc4c81d2ebcfd2be6c4c38143342b3d9d727c9df22