]>
git.ipfire.org Git - thirdparty/sqlite.git/log
dan [Wed, 19 Jul 2023 18:47:02 +0000 (18:47 +0000)]
Fix various issues with code added to this branch.
FossilOrigin-Name:
8d09011fa2c6ae9cc88e1766f9aad4578efbf9e0e311b8c6efdffe7a3f88f923
stephan [Wed, 19 Jul 2023 17:47:02 +0000 (17:47 +0000)]
More internal refactoring and docs for opfs-sahpool.
FossilOrigin-Name:
64ccf6177a019eab46fb3345ad1e8ba80eaf2c9da55767031f9f04ccd16afb4d
stephan [Wed, 19 Jul 2023 17:46:28 +0000 (17:46 +0000)]
Update the development-over-ssh docs for the wasm build.
FossilOrigin-Name:
500109bd0a4c134b91c37f397ff1ee828e09c17f7ecd153f975ede748caee7bb
drh [Wed, 19 Jul 2023 17:24:36 +0000 (17:24 +0000)]
Further improvement to JSON parser performance.
FossilOrigin-Name:
144c8ccf6e5bb2527dd98742f0d67e0a16c627e7c67f754ce8ed4c4fb5b8d8b6
drh [Wed, 19 Jul 2023 15:06:29 +0000 (15:06 +0000)]
Further performance enhancements to JSON parsing and rendering. Total
performance gain for large JSONs so far on this branch is about 11%.
FossilOrigin-Name:
adb4d6b007cbe9d7c9670f5fc196443ebe0f3a89df1f3290ba6247fcf83fe5bd
drh [Wed, 19 Jul 2023 13:50:31 +0000 (13:50 +0000)]
Performance optimization for parsing large JSONs that contain lots of text.
FossilOrigin-Name:
c9fbe0185cd5d64950724b00cd0bfb3a7939a985040465a0f35f445acb6e94a6
stephan [Wed, 19 Jul 2023 13:31:29 +0000 (13:31 +0000)]
Major restructuring of opfs-sahpool to improve maintainability and hopefully make it easier to reuse these pieces in the upcoming JSPI-based VFS experiment.
FossilOrigin-Name:
534481cd0c2e6f62dd0a82f25d4b78fdcc671eb70d6966693c98212a6420891c
stephan [Wed, 19 Jul 2023 11:33:52 +0000 (11:33 +0000)]
Appearance and legibility improvements for tester1.js.
FossilOrigin-Name:
4fd3ed1b6405f690825c9993e56b199d4a7fb497cf9131815c803150b8b96528
drh [Wed, 19 Jul 2023 10:17:42 +0000 (10:17 +0000)]
Merge the latest trunk enhancements into the sqlite3_stmt_explain branch.
FossilOrigin-Name:
06eae046c1a1155f22590b88942db72f01482f2363da9753f8adfdb322679055
drh [Wed, 19 Jul 2023 09:52:10 +0000 (09:52 +0000)]
Two minor improvements to sum(), one of which was inspired by
[forum:/forumpost/
af5be98dbc |forum post
af5be98dbc ].
FossilOrigin-Name:
a0d3e7571aded8d1e03908059d2d5aa5d62ec49bff099cb38f6f35df5e4b18b5
stephan [Wed, 19 Jul 2023 08:18:25 +0000 (08:18 +0000)]
Internal refactoring in opfs-sahpool. Move OPFS tests to the end of tester1.c-cpp.js.
FossilOrigin-Name:
6bd5a7413dd830ca41b587a2826fb599a2196fb0186646a2333500f950b3cf4d
drh [Tue, 18 Jul 2023 21:06:19 +0000 (21:06 +0000)]
Do not use the [/info/
609fbb94b8f01d67 |viewscan optimization] on a query
that has only a single loop, as the cost adjustments can cause problems
for outer queries. Proposed fix for the performance regression reported by
[forum:/forumpost/
64d36440e473516c |forum post
64d36440e473516c ].
FossilOrigin-Name:
76152ad2ffe56034f2fd93d9a1ce9358e1677a7e9cd3dcd9f3a34a5c956a463e
drh [Tue, 18 Jul 2023 20:41:09 +0000 (20:41 +0000)]
Improved ".wheretrace" for the VIEWSCAN optimization.
FossilOrigin-Name:
27057ea76b5f72c73fb6f16094736685019643c665b49fd0bb8d60a812ce2338
dan [Tue, 18 Jul 2023 19:52:32 +0000 (19:52 +0000)]
Fix various problems with fts5 contentless_delete=1 tables.
FossilOrigin-Name:
0d005112b8aca9e9eca9d86d5fed9168f6a0218fd290b5489b9e7b05714610f4
stephan [Tue, 18 Jul 2023 19:47:19 +0000 (19:47 +0000)]
stephan [Tue, 18 Jul 2023 19:27:11 +0000 (19:27 +0000)]
Fix a shadowed var in opfs-sahpool and add more tests.
FossilOrigin-Name:
9c8a73aff0f291e0c18072372e0d8961d3a05910489598d0d342227d99871954
stephan [Tue, 18 Jul 2023 18:52:41 +0000 (18:52 +0000)]
Further refactoring of opfs-sahpool and start integrating it into tester1.c-pp.js.
FossilOrigin-Name:
91c789234963b660ae900f0738906b28a477993709e286d8125b2f4d6101601c
drh [Tue, 18 Jul 2023 17:43:47 +0000 (17:43 +0000)]
drh [Tue, 18 Jul 2023 17:29:05 +0000 (17:29 +0000)]
Enhance the sqlite3_stmt_explain() interface so that avoids unnecessary
reprepare operations.
FossilOrigin-Name:
050f773addd605f6690348c98e9000a9a3663bbc26288a71973fd7b40468e8ab
dan [Tue, 18 Jul 2023 16:29:34 +0000 (16:29 +0000)]
stephan [Tue, 18 Jul 2023 16:24:51 +0000 (16:24 +0000)]
Major restructuring of the opfs-sahpool bits to better support multiple instances per app (each sandboxed from each other). Eliminate the pesky promise resolution race condition when two such instances are loaded in parallel.
FossilOrigin-Name:
95e5fa498f71708caeb3394636c4853530a8b2d54406e503f32750732d6815d5
dan [Tue, 18 Jul 2023 13:55:55 +0000 (13:55 +0000)]
dan [Tue, 18 Jul 2023 13:55:19 +0000 (13:55 +0000)]
Fix a buffer overrun in fts5 that could occur in 'secure-delete' mode when dealing with corrupt database records.
FossilOrigin-Name:
def41225b2f10b0294ab506f28bc87873688d4030f7056839298ff18e058ece5
stephan [Tue, 18 Jul 2023 12:09:16 +0000 (12:09 +0000)]
Refactor opfs-sahpool to support multiple instances, each with a separate VFS name and directory.
FossilOrigin-Name:
d036eaf6ac60c576428db40f015733c5d5425f7d613194fd8d9d4d98659077c4
dan [Mon, 17 Jul 2023 18:40:39 +0000 (18:40 +0000)]
Fix cases where a row is inserted into a contentless_delete=1 fts5 table and then deleted within the same transaction.
FossilOrigin-Name:
d928856a226fb7f001e55ff7e8eb58a656b982f1efa811de46c382b8b7cd778c
dan [Mon, 17 Jul 2023 17:59:58 +0000 (17:59 +0000)]
Do not allow the 'delete' command to be used on contentless_delete=1 fts5 tables.
FossilOrigin-Name:
cc694b83408ccb5d42204cb624145c76e95329cbe1d1fe8815c70a7a00af231a
dan [Mon, 17 Jul 2023 11:47:42 +0000 (11:47 +0000)]
stephan [Mon, 17 Jul 2023 07:43:04 +0000 (07:43 +0000)]
Another -DSQLITE_TEMP_STORE=3 to 2 change for the wasm build.
FossilOrigin-Name:
5ad8f9987c11b5db67edd69a3471ff388140d6268d5d3f5a05dec6bb6d92ac05
stephan [Mon, 17 Jul 2023 07:14:12 +0000 (07:14 +0000)]
sahpool vfs: rename defaultCapacity to initialCapacity, per feedback.
FossilOrigin-Name:
2c9c95d087c7db2a975ffae15af5ade621411c493145b889f0c9157a55c4952a
stephan [Mon, 17 Jul 2023 07:13:44 +0000 (07:13 +0000)]
Change wasm build's -DSQLITE_TEMP_STORE=3 to -DSQLITE_TEMP_STORE=2, primarily so that clients can optionally shift temp files from memory to OPFS storage.
FossilOrigin-Name:
764430e804332b8f7b2f63a3c0c8acf8f6cc92534858d89de2d310938c1c0d27
stephan [Sun, 16 Jul 2023 21:07:01 +0000 (21:07 +0000)]
stephan [Sun, 16 Jul 2023 20:42:19 +0000 (20:42 +0000)]
Add sqlite3-vfs-opfs-sahpool.js to ext/wasm/api/README.md.
FossilOrigin-Name:
58d05201042804c682a417495f13ab47a535e353da6cc307f9d726a289e71ca2
stephan [Sun, 16 Jul 2023 20:20:03 +0000 (20:20 +0000)]
stephan [Sun, 16 Jul 2023 19:29:50 +0000 (19:29 +0000)]
Correct a missing assignment. Minor doc additions.
FossilOrigin-Name:
1c4957d0ef23ff14d4f7bfb33a809dd92712ee9faf77b6052f823eb55de15cf6
stephan [Sun, 16 Jul 2023 19:20:45 +0000 (19:20 +0000)]
stephan [Sun, 16 Jul 2023 17:51:43 +0000 (17:51 +0000)]
Add a way to remove the opfs-sahpool's persistent state from OPFS or unlink() an individual file. Doc cleanups.
FossilOrigin-Name:
80982daac3c098033dbc249bb7a17ef84ae218d2d789f8644e7f4af18b553d24
stephan [Sun, 16 Jul 2023 16:52:09 +0000 (16:52 +0000)]
Move SAH pool configuration options from the library-level config to a config passed to the VFS install routine. Extend and document the PoolUtil object.
FossilOrigin-Name:
d2ed99556fa1f40994c1c6bd90d1d5733bebc824b1ebfabe978fae9e18948437
stephan [Sun, 16 Jul 2023 14:07:59 +0000 (14:07 +0000)]
speedtest1.js: only install opfs-sahpool if it's provided via --vfs flag, to avoid locking errors in concurrent speedtest1 tabs with other VFSes. Add opfs-sahpool reserveMinimumCapacity().
FossilOrigin-Name:
aa94c8abfbdfc4c7b36554c4b3ea90a5065e7e3f4294c64c8cbf688b4688300d
stephan [Sun, 16 Jul 2023 12:02:37 +0000 (12:02 +0000)]
During "opfs" VFS init, check for URL param opfs-disable and, if set, do not install the VFS. Added per forum suggestion to provide a way to help rule out misinteraction between the "opfs" and "opfs-sahpool" VFSes.
FossilOrigin-Name:
29905b7a75b73e32125bf9116033cae7235a135b668a3b783a3d8dcb0bc80374
stephan [Sun, 16 Jul 2023 11:49:18 +0000 (11:49 +0000)]
stephan [Sun, 16 Jul 2023 10:02:41 +0000 (10:02 +0000)]
Redefine what the opfs-sahpool installation promise resolves to. Fix addCapacity(). Add utility methods to import/export files.
FossilOrigin-Name:
809c6f4de3653ad7a7751af45a7a0d6cb20c3ee3be80c69833c729242227d970
stephan [Sat, 15 Jul 2023 21:08:48 +0000 (21:08 +0000)]
stephan [Sat, 15 Jul 2023 19:08:58 +0000 (19:08 +0000)]
Correct opfs-sahpool VFS after the pebkac involving the previous speedtest1 runs. Make that VFS explicitly opt-in to avoid certain unfortunate locking situations.
FossilOrigin-Name:
41bf1fe31f2f3d0daa2bac25dc57262a4b90f22fed6fa97e4e92467c32ae02dc
dan [Sat, 15 Jul 2023 18:57:57 +0000 (18:57 +0000)]
Store large tombstone hash tables in multiple database records. Ensure the same hash tables handle rowid 0.
FossilOrigin-Name:
4410e60d0c76e057ee962124f9239c6e17fd5ccafdbb4d9b703448eabd7781e3
drh [Sat, 15 Jul 2023 16:48:14 +0000 (16:48 +0000)]
Add the experimental sqlite3_stmt_explain(S,E) interface.
FossilOrigin-Name:
5683743ddf0bb051f2fe5d137cc18407e000e77e9faa9010a22e3134b575638b
stephan [Sat, 15 Jul 2023 16:30:46 +0000 (16:30 +0000)]
speedtest1 JS: only add --memdb flag by default if no --vfs is provided.
FossilOrigin-Name:
676ffe6280c1ce787b04d0cdb4a0664229c6125c601af4b18d1bfa125aac3675
stephan [Sat, 15 Jul 2023 11:37:34 +0000 (11:37 +0000)]
Rename opfs-sahpool removeCapacity() to reduceCapacity().
FossilOrigin-Name:
fff68e9f25a57045e9d636b02ffa073cf1b984b2587d4fce10f6e35c9988469c
stephan [Sat, 15 Jul 2023 11:23:57 +0000 (11:23 +0000)]
opfs-sahpool VFS now seems to work, in that it runs fine (and blazingly fast) in speedtest1. Add sqlite3.config options for the high-level configurable parts of opfs-sahpool.
FossilOrigin-Name:
5d92d5f4d8ac4cfa37ba473e5cc861628b783bbf1ae4d138bcae8b9d6cc6e798
stephan [Sat, 15 Jul 2023 01:02:38 +0000 (01:02 +0000)]
More work on porting the sahpool bits. Revert to random backing-store names because it works better with the capacity-reduction algorithm.
FossilOrigin-Name:
b4e005fd38b06b8d2f2317b955b93807e80a6a18db5f06d7747978d3bfa11411
stephan [Fri, 14 Jul 2023 23:02:58 +0000 (23:02 +0000)]
Switch opfs-sahpool to use deterministic backing-store file names. Delay VFS registration until after the pool's files are all opened. Fail vfs init if the client's OPFS API has an async FileSystemSyncAccessHandle.close() method (indicating that it's outdated).
FossilOrigin-Name:
7c6697ededee9a64962ac6fd78934c6d6e39258b9558a03c1a6c02bf3be1759e
stephan [Fri, 14 Jul 2023 21:48:45 +0000 (21:48 +0000)]
Integrate the opfs-sahpool VFS into the JS build and get it loading (but it's still far from functional).
FossilOrigin-Name:
ef96e6b586825a2b3ed011174309cba8ce1031876c86dc59ed87ab9bbc64f57f
stephan [Fri, 14 Jul 2023 21:17:29 +0000 (21:17 +0000)]
Initial sketches for an alternate OPFS VFS which uses a pool of pre-opened SyncAccessHandles to bypass the need for a dedicated I/O worker and the COOP/COEP HTTP response headers. Currently completely non-functional.
FossilOrigin-Name:
a93de9f2a553a3a4edd1b361dd6f465a1b0b5b51f7bb8ede432067aedcfefda4
stephan [Fri, 14 Jul 2023 21:06:00 +0000 (21:06 +0000)]
stephan [Fri, 14 Jul 2023 12:21:05 +0000 (12:21 +0000)]
stephan [Thu, 13 Jul 2023 18:35:48 +0000 (18:35 +0000)]
Reintroduce WASMFS+OPFS support, albeit as a separate (less portable) WASM build.
FossilOrigin-Name:
7e4c594e9591101f6b727212c99f561498444e86d3d059e5864a717c614f903a
stephan [Thu, 13 Jul 2023 18:13:52 +0000 (18:13 +0000)]
Minor cleanups related to reintroducing wasmfs support.
FossilOrigin-Name:
6918a927b5ecd1df5916b70d52d8d5ce289869c3f323e577b7dfc7c939084400
stephan [Thu, 13 Jul 2023 17:27:05 +0000 (17:27 +0000)]
More work on the wasmfs build and its test apps.
FossilOrigin-Name:
953b8557194e9451dcf9f3bb433eafb67961487325e6519e675e73fecf850bfb
stephan [Thu, 13 Jul 2023 16:33:45 +0000 (16:33 +0000)]
Get speedtest1 wasmfs variant running again.
FossilOrigin-Name:
0f77e031daf0121f7603409cedf57f138edbb43083cbbcf00d2a423e16de25a7
drh [Thu, 13 Jul 2023 14:49:39 +0000 (14:49 +0000)]
Fix an off-by-one error in tests for cells overflowing the end pages. The
error is completely harmless for the default page cache, but might cause
problems for application-defined page caches that pack pages tightly
together.
FossilOrigin-Name:
ce6793e954f291b6f5c29175baf730ce217328de1f0601b8935daac62af5f448
stephan [Thu, 13 Jul 2023 14:08:30 +0000 (14:08 +0000)]
Significant surgery on the wasm build on the way to incorporating wasmfs as a first-class build option.
FossilOrigin-Name:
215c37fce38cf647e073480689b79d952af7eb8165ae08c7f5caed27003fecfc
stephan [Thu, 13 Jul 2023 10:41:41 +0000 (10:41 +0000)]
More work on the wasmfs build. Resolve the inconsistent argument type passed to sqlite3InitModule() in such builds.
FossilOrigin-Name:
4850a9e2d2b41b91e91b9ef99a6d26ddf11a161b4c970fc00d2d095606729a04
stephan [Thu, 13 Jul 2023 04:54:18 +0000 (04:54 +0000)]
stephan [Thu, 13 Jul 2023 04:26:13 +0000 (04:26 +0000)]
Get wasmfs build and its bare-bones test app working again, albeit currently in ES6 mode only.
FossilOrigin-Name:
647761ed422f196f94facc88bbddd7219a2c1a6301a5f847b0a32d3e405233a7
stephan [Thu, 13 Jul 2023 03:46:43 +0000 (03:46 +0000)]
Replace 'self' with 'globalThis' in some JS test code.
FossilOrigin-Name:
53eeffc9b1ea8c3ee7d7cdcc220997ed893403e45b35d8ea10805ea3b0435587
stephan [Thu, 13 Jul 2023 01:51:16 +0000 (01:51 +0000)]
JS: change the default OPFS VFS journal mode from PERSIST to DELETE, as DELETE is faster in current browsers.
FossilOrigin-Name:
a061a43e36b8f3cb7c465fd2e54cfcd9dceb07e232ee78602bbdd1818acd05ea
stephan [Thu, 13 Jul 2023 01:48:53 +0000 (01:48 +0000)]
Remove obsolete ext/wasm/api/sqlite3-wasi.h.
FossilOrigin-Name:
f661a6e0c1ac081ee402e64590eabd427440db1b717be9166bdfc025d0b0d899
dan [Wed, 12 Jul 2023 20:24:23 +0000 (20:24 +0000)]
Avoid a case of an infinite loop in fts5 when dealing with corrupt records.
FossilOrigin-Name:
0e801f11cd2d50fc710a80c2b3b805c7801e660cff1bcc87be89133d43796524
dan [Wed, 12 Jul 2023 19:34:32 +0000 (19:34 +0000)]
Fix a crash that may occur when handling corrupt records in contentless_delete=1 mode.
FossilOrigin-Name:
74d7610a8e32ac62a608141ff16bfe517c8d2cdfd43f81ef3a5df2b2003e541a
drh [Wed, 12 Jul 2023 18:38:47 +0000 (18:38 +0000)]
Get access to SQL functions and virtual tables used for debugging and analysis
of FTS5 using SQLITE_FTS5_DEBUG and without the need for SQLITE_TEST.
FossilOrigin-Name:
383de8e2259adb3f8881a618b8b5e06c1f3b2bd7ac274bd047410ad7d2a18f0f
stephan [Wed, 12 Jul 2023 09:30:13 +0000 (09:30 +0000)]
stephan [Wed, 12 Jul 2023 09:16:18 +0000 (09:16 +0000)]
Correct handling of the speedtest1 --without-rowid flag in the HTML front-end to speedtest1.wasm. Reduce default speedtest1-with-OPFS workload size in ext/wasm/index.html to speed up manual testing.
FossilOrigin-Name:
2daba2cdd3890c87899ff3eb0c1706c814f0ae62e72822eef3b0d4a885679a6b
dan [Tue, 11 Jul 2023 20:57:19 +0000 (20:57 +0000)]
Have contentless_delete=1 tables support REPLACE statements.
FossilOrigin-Name:
2f553a660e00564e51bc4209c92bd3628fb1266f4a52832792fbf91e4234a0ba
dan [Tue, 11 Jul 2023 20:19:46 +0000 (20:19 +0000)]
Have contentless_delete=1 tables support regular DELETE statements, instead of just the special INSERT syntax.
FossilOrigin-Name:
fffb8616905501669a94231d5d9f53446bf09553353f2cdab7c43ca54bbb7fa6
drh [Tue, 11 Jul 2023 19:54:17 +0000 (19:54 +0000)]
Reduce divergence between branches: trunk and wal-shm-exceptions.
FossilOrigin-Name:
d38ed6b1fc6b572997d520c36f256c11404fb1bd5f28acab07466bfc96554a8f
dan [Tue, 11 Jul 2023 18:55:19 +0000 (18:55 +0000)]
Use a hash-table instead of a flat list to store tombstone rowids.
FossilOrigin-Name:
948267b066d0dbe667881b3d26a007fa24576da6e57c112676fadeb846c13f0b
drh [Tue, 11 Jul 2023 15:52:52 +0000 (15:52 +0000)]
Get fault injection for testing working correctly. Other code clean-up.
FossilOrigin-Name:
ff492277ed00c1f637a5b4ccd6d8193ea22f6781f90073861588a2b7d5c045b7
dan [Mon, 10 Jul 2023 20:44:09 +0000 (20:44 +0000)]
Begin adding support for deleting rows from contentless fts5 tables.
FossilOrigin-Name:
e513bea84dfaf2280f7429c9a528b3a1354a46c36e58ab178ca45478975634e0
mistachkin [Mon, 10 Jul 2023 19:21:09 +0000 (19:21 +0000)]
Minor style changes to the previous MSVC makefile changes on this branch.
FossilOrigin-Name:
4c950872c870a5968fa4cb8840cf60569a66c0e508811ee79992825ec9c02da3
drh [Mon, 10 Jul 2023 19:13:40 +0000 (19:13 +0000)]
Compile for SEH if the USE_SEH=1 option is specified on the nmake command line.
FossilOrigin-Name:
0e67a82f6cfe681d4676ac5c92d92e95b9dcc3198df21516bccdde002f5e52ae
drh [Mon, 10 Jul 2023 18:16:49 +0000 (18:16 +0000)]
Fix a warning. Unclear yet if the code is correct this way or not.
FossilOrigin-Name:
2df4fd76ef48bb63389df8d783059af6b8f2cbb2c11d07953b408e71f50b625b
drh [Mon, 10 Jul 2023 18:05:23 +0000 (18:05 +0000)]
Merge the latest trunk enhancements into the wal-shm-exceptions branch.
FossilOrigin-Name:
f655d08d019bab0c578886e91ca24fd956d1b3dea9b9c9104812b3cf62e5e556
drh [Sat, 8 Jul 2023 17:42:24 +0000 (17:42 +0000)]
Always use the "LL" suffix on 64-bit integer literals.
FossilOrigin-Name:
07d95ed60f0a17ea13b4bc19c2ab2ec9052fedd27c9e1e57a1ec6e3a6470e5b7
drh [Sat, 8 Jul 2023 14:27:55 +0000 (14:27 +0000)]
drh [Fri, 7 Jul 2023 18:49:08 +0000 (18:49 +0000)]
Omit the use of memmove() in sqlite3FpDecode() in an attempt to avoid
spurious warnings from valgrind. Also makes the code slightly smaller and
faster.
FossilOrigin-Name:
b409943af00e35ad05906d0a80ffa1225a66f3d807c131e00cfbf6671a03a981
drh [Fri, 7 Jul 2023 12:18:26 +0000 (12:18 +0000)]
For the "Valgrind" test scenario, set LONGDOUBLE_TYPE=double as valgrind
does not correctly emulated extended precision on x64.
FossilOrigin-Name:
d3532eaed1cc671d8149b1bd34ead2a88fb83502a2898a5f60aea0a7daf18958
drh [Fri, 7 Jul 2023 12:08:22 +0000 (12:08 +0000)]
Add option 2 to SQLITE_TESTCTRL_USELONGDOUBLE to move the setting to its
defaults. Enhance the CLI and testfixture to make use of this value.
Base the default on sizeof(LONGDOUBLE_TYPE) rather than on sizeof(long double).
FossilOrigin-Name:
64e6bd1c25d8e1dbfe511cba1921ff052c0fa4fe410fc9ce4435700a70cb88b1
drh [Thu, 6 Jul 2023 20:34:06 +0000 (20:34 +0000)]
Improved handling of integer inputs to the new sum() implementation.
FossilOrigin-Name:
31561c63bde6af2210296810fd66232b935033b4d26273a6b8a52142c54b4e12
drh [Thu, 6 Jul 2023 18:29:15 +0000 (18:29 +0000)]
A more precise implementation of sqlite3RealToI64().
FossilOrigin-Name:
8813317cb52990d90bd48de163b6e35ddcad2b6f3187aa28b28e2e088b4489ce
drh [Thu, 6 Jul 2023 17:55:33 +0000 (17:55 +0000)]
Merge all recent trunk enhancements into the wal-shm-exceptions branch.
FossilOrigin-Name:
e59cea2d851be68559e7d01a01cb05684c44d151d022ea9790ce99671016ab00
drh [Thu, 6 Jul 2023 17:14:47 +0000 (17:14 +0000)]
Fix octet_length() test cases so that they work when the database encoding
is utf16.
FossilOrigin-Name:
ad2e39626e6115fd322ef9495ae3bcd91343d7131a725f1bf24211a51a21dcc2
drh [Thu, 6 Jul 2023 15:44:38 +0000 (15:44 +0000)]
Use the Kahan-Babushka-Neumaier algorithm to improve the accuracy of sum().
FossilOrigin-Name:
c63e26e705f5e967e14ef6aea8ce226548293ad8d25066069f29fa89673913d2
drh [Thu, 6 Jul 2023 14:45:53 +0000 (14:45 +0000)]
Fix minor inaccuracies in the new sum() algorithm.
FossilOrigin-Name:
e3f7a960c9bd8e84cd70f0585bb955d043604a92001d0e2bf6c1216bb1fd7221
drh [Thu, 6 Jul 2023 13:19:10 +0000 (13:19 +0000)]
Experimental attempt to boost the accuracy of sum() using the
Kahan-Babuska-Neumaier algorithm.
FossilOrigin-Name:
ebc5edd3b10c1102b07b9fb0d6837266b81e55504ef883b9b8a7ad5e8ab29dd2
drh [Thu, 6 Jul 2023 00:55:06 +0000 (00:55 +0000)]
Use "volatile" isntead of "#pragma" to get floating point calculations
working correctly when compiling with GCC for x86 machines.
FossilOrigin-Name:
9427f42687ed6d97c474bf42d0c3e82d6f4b0075e74206adcb5699d72e32140e
drh [Wed, 5 Jul 2023 22:05:18 +0000 (22:05 +0000)]
This is alternative work-around for the x86 float-point problem that uses
"volatile" rather than compile-specific #pragmas.
FossilOrigin-Name:
1d972a690fdc70ab40862bd38427d68b48e8802ddf8e5c301f2d58ce2178b6ec
drh [Wed, 5 Jul 2023 19:56:14 +0000 (19:56 +0000)]
Improved comments on the work-around to the GCC x86 floating point wonkiness.
FossilOrigin-Name:
7b4c16731e7bf6f03f5adf4fcb2008c0b19be473fb1b90b405c217c08916586a
drh [Wed, 5 Jul 2023 18:59:52 +0000 (18:59 +0000)]
Work around for an apparent GCC bug. See
[forum:/info/
ee7278611394034c |forum post
ee7278611394034c ] for details.
FossilOrigin-Name:
5d9e9364808793d65925d4efbfde0f4246df258758f15e8ce1105070d1018fe6
drh [Wed, 5 Jul 2023 15:34:30 +0000 (15:34 +0000)]
Make the order of operations explicit for the error term of Dekker
double-precision multiply.
FossilOrigin-Name:
28f57b34e6b11184a36e363a985e7531bddd7be48a5e039a670e5acf748eedda
drh [Wed, 5 Jul 2023 14:42:50 +0000 (14:42 +0000)]
Simplification of the dekkerMul2() subroutine.
FossilOrigin-Name:
bfe6432a46fd41bfadf4516a73b4e2523d9b453c3e4486fe6df7e1d25275dfb3
drh [Wed, 5 Jul 2023 12:00:32 +0000 (12:00 +0000)]
Add the ieee754_inc(r,N) function to the ieee754.c extension.
FossilOrigin-Name:
9a36f269451d8832f68e223ac3995493704364e7fd0cc772989c96e863a08d29