]>
git.ipfire.org Git - thirdparty/sqlite.git/log
dan [Mon, 8 Jan 2024 18:53:27 +0000 (18:53 +0000)]
dan [Mon, 8 Jan 2024 18:46:34 +0000 (18:46 +0000)]
Automatically turn off DEFENSIVE mode in the shell tool when executing scripts generated by the ".dump" command against an empty database. Add a warning to the top of generated ".dump" scripts that populate virtual tables.
FossilOrigin-Name:
6e9e96b7e7afb9420110f4b93d10b945c9eadfde5e9c81e59ae9ee8167e75707
drh [Mon, 8 Jan 2024 15:23:45 +0000 (15:23 +0000)]
Minor change to os_unix.c to facilitate 100% MC/DC testing.
FossilOrigin-Name:
0dfa7b4da134db281c3c4eddb4569c53a450f955f0af2f410e13db801aff4ea2
dan [Mon, 8 Jan 2024 13:38:15 +0000 (13:38 +0000)]
Ensure that SQLITE_PROTOCOL is not returned too early when a SQLITE_ENABLE_SETLK_TIMEOUT build fails to open a transaction on a wal mode database in cases where blocking locks are not being used.
FossilOrigin-Name:
a8e9af1356f5fb2ec460f932dfbe89283bb4e3cf9fa677d1acdbe77ffa11dd04
drh [Sun, 7 Jan 2024 20:27:54 +0000 (20:27 +0000)]
Remove an ALWAYS() from RTREE. Dbsqlfuzz found a way to make it false.
FossilOrigin-Name:
40f0a29e6dd90fcb969d7c0e49728ba0ee8f31d9e8f502b9a21469620a8ad283
drh [Sun, 7 Jan 2024 00:45:53 +0000 (00:45 +0000)]
dan [Sat, 6 Jan 2024 19:16:54 +0000 (19:16 +0000)]
Ensure that SQLITE_PROTOCOL is not returned too early when a SQLITE_ENABLE_SETLK_TIMEOUT build fails to open a transaction on a wal mode database in cases where blocking locks are not being used.
FossilOrigin-Name:
b934a33671d8a0190082ad7e5e68c78fe0c558d102404eafc1de26e4e7d65b92
drh [Sat, 6 Jan 2024 15:22:16 +0000 (15:22 +0000)]
Update JSON performance testing procedures for clarity and to describe how to
do performance testing of JSONB.
FossilOrigin-Name:
b115b4f75bc7c4e6d9bab5edf13297f27a36f30083c80d2c502b01208da5dfc0
dan [Sat, 6 Jan 2024 13:58:54 +0000 (13:58 +0000)]
Update extension ext/misc/totext.c to avoid both ubsan warnings and dubious real->integer conversions.
FossilOrigin-Name:
541436004df6458dc2f38bdfa421099f78cab397f5f4795ca5f227531aaa6a3e
dan [Fri, 5 Jan 2024 15:53:58 +0000 (15:53 +0000)]
Update extension ext/misc/totext.c to avoid both ubsan warnings and dubious real->integer conversions.
FossilOrigin-Name:
c626aa108a7a30cef54af8d93ac9e45749568ed38e4e06623a6bad6b4bf6e8ec
drh [Thu, 4 Jan 2024 17:13:39 +0000 (17:13 +0000)]
Avoid errors with SQLITE_OMIT_VIRTUALTABLE builds in json106.test and unionall.test.
FossilOrigin-Name:
8940e2a1054fbc19fae3f76e743d744840c3a5aad001be8d3d56ca134226c34b
dan [Thu, 4 Jan 2024 16:15:21 +0000 (16:15 +0000)]
Avoid errors with SQLITE_OMIT_VIRTUALTABLE builds in json106.test and unionall.test.
FossilOrigin-Name:
90e8a233549a2d31e6959ce3fec927693b772ab3c0abce65e81d7350d2ca5cc6
drh [Thu, 4 Jan 2024 13:01:02 +0000 (13:01 +0000)]
Restructure some code to fix what appears to be a false-positive UBSAN warning.
FossilOrigin-Name:
fe952c12903ea2150880c8bb57cda2efc00ce9fa801568a68c619e0745f30567
drh [Wed, 3 Jan 2024 20:40:17 +0000 (20:40 +0000)]
Fix a #ifdef in sqlite3_test_control() that was preventing builds with
SQLITE_OMIT_WSD.
FossilOrigin-Name:
d546a9c94caf7408cc6e4530ec190d3a13fae09dc15b71b03d6369e02ee62abd
drh [Wed, 3 Jan 2024 16:41:50 +0000 (16:41 +0000)]
Convert the JSON functions to use lookaside memory allocation whenever
feasible, to avoid hitting the global memory allocator mutex.
FossilOrigin-Name:
a79a244954f728596da3c0e28fa3b887258d1bd831f53881970f418f3fba84c7
drh [Wed, 3 Jan 2024 15:49:04 +0000 (15:49 +0000)]
Change a constant from decimal to hex to avoid a compiler warning on Mac.
FossilOrigin-Name:
e3acb8a43ad544fd5b5341058276bd3b61b6bdb6b719790476a90e0de4320f90
drh [Wed, 3 Jan 2024 14:13:27 +0000 (14:13 +0000)]
Enhance sqlite3_analyzer.exe so that it uses the ext/consio extension.
FossilOrigin-Name:
769de0b98e136e4a0945b80216d0c9583c1ccd9de69cb0494875c2300e172646
drh [Wed, 3 Jan 2024 12:26:02 +0000 (12:26 +0000)]
Update the sqldiff.exe utility program so that it uses the sqlite3_str
string interface, and so that it does console output using the
ext/consio extension.
FossilOrigin-Name:
4443b7e592da97d1cb1b3b79ed0559452d8057a33aba4d184c2fffbf200e05f5
drh [Tue, 2 Jan 2024 22:49:14 +0000 (22:49 +0000)]
Back out [
b517a52fa36df0a0 ] which is no longer reachable due to early
error detection enhancements in [
166e82dd20efbfd3 ].
FossilOrigin-Name:
704943e96f2620b99260667ac9922c2f72bc3e92e2dfe1d9c2a91c7b704564d9
drh [Tue, 2 Jan 2024 21:37:51 +0000 (21:37 +0000)]
Adjust the sqlite3PagerDirectReadOk() routine (part of the
SQLITE_DIRECT_OVERFLOW_READ optimization) to use less code and to be
more easily testable.
FossilOrigin-Name:
eed670ea2a9424f7df4eeb01c152fc38f7190a5e39aa891651b28dc91fcdc019
dan [Tue, 2 Jan 2024 21:08:25 +0000 (21:08 +0000)]
Fix a problem in fts5 caused by a COMMIT involving fts5 data that immediately follows a ROLLBACK TO that does not.
FossilOrigin-Name:
55c61f6a8d6a1bc79497b05669beac5c5397b06382bf24b6bec54845962d219b
drh [Tue, 2 Jan 2024 20:34:27 +0000 (20:34 +0000)]
Increase the default "max_page_count" to its theoretical maximum of
4294967294 .
FossilOrigin-Name:
ffb35f1784a4305b979a850485f57f56938104a3a03f4a7aececde92864c4879
stephan [Tue, 2 Jan 2024 09:20:53 +0000 (09:20 +0000)]
Elaborate on the various build flavors used by ext/wasm/. Doc changes only.
FossilOrigin-Name:
d489232aa492618d4c8e5817addb2323d0ca067742d7140216914239a66fb221
stephan [Tue, 2 Jan 2024 09:03:42 +0000 (09:03 +0000)]
Update and clean up the in-makefile docs for ext/wasm.
FossilOrigin-Name:
7a7b295e6d7e95ee4a46cc42761895d11700ab295870c5a4380072bb4a5b7099
stephan [Mon, 1 Jan 2024 23:28:02 +0000 (23:28 +0000)]
Back out [
99d11e6d0ae6 ] (enabling of STAT4 in WASM/JNI), per /chat discussion.
FossilOrigin-Name:
cd7929ee2e2c305475fa5a4dff2edaccf90067126ef04a1c2714cf464925453f
drh [Mon, 1 Jan 2024 19:20:00 +0000 (19:20 +0000)]
New logic to avoid using indexes that ANALYZE has identified as of little
practical use. Also a performance optimization in ANALYZE.
FossilOrigin-Name:
bcac937526d9a6ef914a74b4d6757fa91cd74edab871bcd934fde4a2f9b6debd
drh [Mon, 1 Jan 2024 17:58:57 +0000 (17:58 +0000)]
Remove some unnecessary computations from ANALYZE so that ANALYZE runs with
fewer CPU cycles. These changes were spotted while working on the nearby
enhanced-stat1 branch. So even if enhanced-stat1 is abandoned, that effort
put into it will not have been in vain.
FossilOrigin-Name:
5527e8c4abb904b1a438ec1c353d4a960bf82faaf3a2c742af1df7c613850441
drh [Mon, 1 Jan 2024 17:48:02 +0000 (17:48 +0000)]
Extra steps taken to avoid using low-quality indexes in a query plan.
This branch accomplishes the same end as the nearby enhanced-stat1 branch,
but with much less change and hence less risk.
FossilOrigin-Name:
c030e646262fee43a59b45fdc1630d972f8bf88ac3c142b6bdaf4cbb36695a4f
stephan [Mon, 1 Jan 2024 06:58:32 +0000 (06:58 +0000)]
JNI: move the ByteBuffer-using APIs from public to package visibility for the time being because they have UB-inducing possibilities which need to be worked out. Update test code to account for a change in custom FTS5 columntext() impls.
FossilOrigin-Name:
dc501275fcfab3ad9b6ebbadf7588b225a9dd07a0abac5be83d96f15bfba99e9
stephan [Mon, 1 Jan 2024 05:58:47 +0000 (05:58 +0000)]
WASM: various build cleanups and add initial infrastructure for a build which elides the oo1 API and its dependents (worker1 and promiser). Sidebar: an attempt was made to move generation of the build rules to an external script, but the mixed-mode make/script was even less legible than the $(eval) indirection going on in the makefile.
FossilOrigin-Name:
563d313163c02b398ae85b7c2ed231019a14e006726f09a7c1f294a58bf4363f
stephan [Sun, 31 Dec 2023 04:01:36 +0000 (04:01 +0000)]
Use SQLITE_ENABLE_STAT4 in both the WASM and JNI builds.
FossilOrigin-Name:
99d11e6d0ae687ff6bac5119027f7b04d5e7185214e79cf8c56289cfa809b0f9
stephan [Fri, 29 Dec 2023 04:29:07 +0000 (04:29 +0000)]
drh [Thu, 28 Dec 2023 21:02:08 +0000 (21:02 +0000)]
Enable SQLITE_DIRECT_OVERFLOW_READ unless it is specifically disabled using
the -DSQLITE_DIRECT_OVERFLOW_READ=0 compile-time option.
FossilOrigin-Name:
630604a4e604bfb36c31602917bfa8d42c10c82966d0819932bf8f827b9158b8
dan [Thu, 28 Dec 2023 20:54:12 +0000 (20:54 +0000)]
Update fts5origintext4.test to work with SQLITE_DIRECT_OVERFLOW_READ.
FossilOrigin-Name:
15ed002aed12556aeb9bbe537c4ba839f0c95bac65a69d03401b37cc3fd11b92
drh [Thu, 28 Dec 2023 19:18:08 +0000 (19:18 +0000)]
Performance improvement by unwinding a loop in jsonAppendString().
FossilOrigin-Name:
190ab3c08431a0ba24d76392eab251f5c1792add05e4ec780998b299208eca95
drh [Thu, 28 Dec 2023 16:25:48 +0000 (16:25 +0000)]
drh [Thu, 28 Dec 2023 16:21:22 +0000 (16:21 +0000)]
Enhance the (undocumented, debug-only) json_parse() SQL function so that it
returns the text rendering of the JSONB parse of the input, rather than printing
the rendering on stdout.
FossilOrigin-Name:
056de8d551dcbdf1d162e2db15ed418fa9c786f900cd3972ef8a1dea3f4f3aa1
dan [Wed, 27 Dec 2023 16:24:53 +0000 (16:24 +0000)]
Fix a problem in the shell tool (not library) causing an out-of-bounds write if an ".open" command failed, then the user pressed ctrl-c to interrupt a query running on the substitute in-memory database.
FossilOrigin-Name:
026618b9e321576f616a32e41329066ba629814170c6cfeef35430343f5003f3
dan [Tue, 26 Dec 2023 15:52:40 +0000 (15:52 +0000)]
Ensure that the xColumnText(), xQueryPhrase() and xPhraseFirstColumn() APIs all return SQLITE_RANGE if they are passed a bad column or phrase number.
FossilOrigin-Name:
1a8a9b1c89519d265869251e8b6d3c5db733f0d3a7dea6c7962811a8f1157dff
drh [Tue, 26 Dec 2023 13:20:57 +0000 (13:20 +0000)]
Improved handling of malformed unicode within JSON strings.
FossilOrigin-Name:
e252bdf5f5de26ba8e2bcc6b0ad94121ed6fc4d86c02fe4a2a058ada93747beb
drh [Sun, 24 Dec 2023 12:02:36 +0000 (12:02 +0000)]
drh [Sun, 24 Dec 2023 11:43:49 +0000 (11:43 +0000)]
drh [Sun, 24 Dec 2023 11:31:20 +0000 (11:31 +0000)]
Avoid signed integer overflow during integrity_check of FTS5.
FossilOrigin-Name:
5937df3b25799eceaadfb04d7226c9995d44c8d8edb5ac3ad02af9d7e3570726
drh [Sat, 23 Dec 2023 19:03:50 +0000 (19:03 +0000)]
Improvements to the query planner to address the inefficiency described
by [forum/forumpost/
2568d1f6e6 |forum post
2568d1f6e6 ].
FossilOrigin-Name:
72fcc12cda910a0e3f7875eb3d117b2a5608705c97703985427a02960f1ab5c5
drh [Sat, 23 Dec 2023 11:31:47 +0000 (11:31 +0000)]
Add debugging output routines sqlite3ShowWhereLoop(X) and
sqlite3ShowWhereLoopList(X) that can be invoked from a debugger to show
a summary of the content of a single WhereLoop object or a list of WhereLoop
objects. No change in release builds.
FossilOrigin-Name:
5db30bcc338aac1cf081de2deec7e60749ae012e2b6f95ccf745623adb4a31dc
drh [Fri, 22 Dec 2023 21:22:55 +0000 (21:22 +0000)]
Change parameters on a debugging function to include "const".
FossilOrigin-Name:
94c3e1110c6590261bd30ba317fba4dd94023d69b81a94f4b216cce748fe7489
dan [Fri, 22 Dec 2023 16:03:45 +0000 (16:03 +0000)]
Add the -fno-sanitize-recover=undefined to the sanitizer builds used for sdevtest and release testing. To ensure that any test that provokes undefined behaviour fails.
FossilOrigin-Name:
89563311adb0ab7c7a3eadb11c2e27fbca50c56fce8ca616628facbc00d72b88
stephan [Fri, 22 Dec 2023 15:41:13 +0000 (15:41 +0000)]
Update #ifdef checks in pager.c and util.c to account for [
0462a2612d1fc1d0 ] to resolve the build problem reported in [forum:
9819032aac |forum post
9819032aac ].
FossilOrigin-Name:
0f22d809a1c6c80e381f6bcd931fe4ec36dca0e28d07ab4f4f7f83c813424f60
dan [Fri, 22 Dec 2023 14:47:30 +0000 (14:47 +0000)]
Fix a usan complaint about signed integer overflow.
FossilOrigin-Name:
e65907e0279f4814ec957f0790777d8b94a86926cd27c52442b311b27efc0185
drh [Fri, 22 Dec 2023 12:57:49 +0000 (12:57 +0000)]
Add a new comment to debugging output routine sqlite3WhereLoopPrint() to
remind us of what the various fields of the debug output mean. No changes
to code.
FossilOrigin-Name:
da5f34fd4052432b1ae27bb12e56b358cdc5c1282653d60ed0f0fe62f727e4ee
drh [Thu, 21 Dec 2023 18:08:05 +0000 (18:08 +0000)]
Add internal core-developer-only documentation of the JSONB format.
FossilOrigin-Name:
4d30478863b2a60512010de9ec6e3099bfaf75d4afee20acec536713fe94334d
dan [Wed, 20 Dec 2023 19:33:41 +0000 (19:33 +0000)]
Fix SQLITE_ENABLE_SETLK_TIMEOUT assert() statements in os_unix.c to avoid reading past the end of the unixShmNode.aMutex[] array.
FossilOrigin-Name:
029a05cd2928d43d81e4549cce5388c432e2c9e75e3fa0b2fe6e91021b2fb9ac
drh [Wed, 20 Dec 2023 11:34:17 +0000 (11:34 +0000)]
Avoid harmless integer overflow in pager status statistics gathering.
Response to [forum:/forumpost/
7f4cdf23f9 |forum post
7f4cdf23f9 ].
FossilOrigin-Name:
206d8c650d937bc700946c40a82a62ea6bc4a80e5f3fb42d0ae2968de25f0644
drh [Tue, 19 Dec 2023 21:39:58 +0000 (21:39 +0000)]
In JSON - minor code cleanup and refactoring with a small size reduction
and performance increase.
FossilOrigin-Name:
215fabda38daecdbd38b1eca5a6aafbc61b6a36a8303f1d7164d5a1138e63134
drh [Tue, 19 Dec 2023 15:51:14 +0000 (15:51 +0000)]
Remove redundant conditional from sqlite3ExprCanBeNull().
FossilOrigin-Name:
257f96a2d22c605885fa66220c28cf7dc5941c330bccee3f132b9e7b70d89d30
drh [Tue, 19 Dec 2023 15:10:25 +0000 (15:10 +0000)]
On second thought, we don't really need sqlite_dbdata accessible to the CLI.
FossilOrigin-Name:
36fe6a61ef8fb393281a5e15119d716521219c7b971fbfd63bdea07d27a78ac9
drh [Tue, 19 Dec 2023 15:06:40 +0000 (15:06 +0000)]
Fix harmless compiler warning in the randomjson.c extension.
FossilOrigin-Name:
debe7060b16669ada7304ffb9bf7616c8fa30bd286d8be871ed17fd6d64a3d4c
drh [Tue, 19 Dec 2023 14:54:52 +0000 (14:54 +0000)]
More precise computation of the size of data structures in the query planner.
Response to [forum:/forumpost/
7d8685d49d |Forum post
7d8685d49d ].
FossilOrigin-Name:
0c8d88e41167ea92341dd1129be01b596a73f46bdcd5b0dd931441a979c013d0
drh [Tue, 19 Dec 2023 14:53:39 +0000 (14:53 +0000)]
Add ALWAYS() and NEVER() on branches made unreachable by recent changes.
FossilOrigin-Name:
c50e6c2ace49d0928b05cbfd877c621e9a0f77dc4e056ccb1dbe5cf118a00d00
drh [Tue, 19 Dec 2023 13:45:05 +0000 (13:45 +0000)]
Ignore COLLATE operators when determining whether the result of a subexpression
should be shallow-copied or deep-copied.
FossilOrigin-Name:
34ae36a45e814bed7c8340412c7ef3fc849b82357656d0eb5f0f805e59d846d0
drh [Tue, 19 Dec 2023 13:00:35 +0000 (13:00 +0000)]
drh [Tue, 19 Dec 2023 12:49:35 +0000 (12:49 +0000)]
When unable to resolve an identifier, change the Expr node into TK_NULL
rather than TK_COLUMN, to prevent any downstream misuse of the non-existent
column. dbsqlfuzz
71869261db80a95e4733afa10ff5724bf3c78592 .
FossilOrigin-Name:
d2e6117e4f97ab98b01deb5fcad5520f8181d00bed8d904d34963c01d73df857
drh [Tue, 19 Dec 2023 12:23:11 +0000 (12:23 +0000)]
Always make the sqlite_dbdata virtual table available in the CLI.
FossilOrigin-Name:
e5fd3b32ad87586a7413570e568c9c1859a37a4f836cca074126471b125fb682
drh [Tue, 19 Dec 2023 11:57:29 +0000 (11:57 +0000)]
Extra ALWAYS() macros to verify state in the sqlite3ExprCanBeNull() routine.
FossilOrigin-Name:
be19b84c9f3fe127165809908add148dbe9a827a55608b0490de7e69b7f7f191
drh [Tue, 19 Dec 2023 00:07:38 +0000 (00:07 +0000)]
drh [Mon, 18 Dec 2023 19:18:46 +0000 (19:18 +0000)]
drh [Mon, 18 Dec 2023 18:50:47 +0000 (18:50 +0000)]
drh [Mon, 18 Dec 2023 18:31:27 +0000 (18:31 +0000)]
Fix JSON to JSONB translation so that it deals correctly with Infinity
and NaN.
FossilOrigin-Name:
178cb84f36bdb45ba17511900d6d8ea8dfa14912fc5bf7094a20348174a36c95
drh [Mon, 18 Dec 2023 15:53:48 +0000 (15:53 +0000)]
Ensure that the insert/delete size delta on JSONB objects in the JSON cache
are always set to zero.
FossilOrigin-Name:
4b4581668a908473dbf1322a3e98bc7cca122998c44518ea183af7f0d1ba9f95
drh [Mon, 18 Dec 2023 14:24:13 +0000 (14:24 +0000)]
Add randomjson.c to testfixture. Use it for a new set of invariant tests
against JSON functions.
FossilOrigin-Name:
f1c040606bfe784804134d8f3ca130908fad5212b47e3c32792baab977470943
drh [Mon, 18 Dec 2023 14:16:58 +0000 (14:16 +0000)]
Ensure that all object labels for individual objects generated by
randomjson.c are unique.
FossilOrigin-Name:
29c46aca231b3f1e997ef306a5a651408185bf3ad09ab9fc1fe21ed18caa4d02
drh [Mon, 18 Dec 2023 13:51:54 +0000 (13:51 +0000)]
drh [Mon, 18 Dec 2023 12:18:47 +0000 (12:18 +0000)]
drh [Sun, 17 Dec 2023 20:41:48 +0000 (20:41 +0000)]
Enhancements to the "randomjson.c" extension. Automatically load that extension
into fuzzcheck.
FossilOrigin-Name:
70620405ab01d6a5d38bafa9ae175fd6e4eabaf2efb7854734278dafd7b05c99
drh [Sat, 16 Dec 2023 15:48:42 +0000 (15:48 +0000)]
Enable SQLITE_STRICT_SUBTYPE for default builds of the shell, fuzzcheck,
and testfixture.
FossilOrigin-Name:
5a0c517ed7e46c0f8a3db752cf5b9f8010c60f35084606abe9e7c1c4f993b4a7
drh [Sat, 16 Dec 2023 10:50:06 +0000 (10:50 +0000)]
drh [Fri, 15 Dec 2023 20:13:09 +0000 (20:13 +0000)]
In the count-of-view optimization, deferring freeing obsolete parts of the
parse tree, on the off-chance that some other part of the code might be
holding a pointer to those parts.
FossilOrigin-Name:
da442578856c87137eb1677d9b13b7c1cf15828cc41d4756572b278060f69bae
dan [Fri, 15 Dec 2023 19:26:16 +0000 (19:26 +0000)]
Avoid expiring prepared statements in the middle of an integrity-check.
FossilOrigin-Name:
88beb48472da4667c0727c8ebabe046ea526450ff837fe789d041ed3f1ff105e
drh [Fri, 15 Dec 2023 16:28:02 +0000 (16:28 +0000)]
Add mention of --buildonly and --dryrun to the testrunner.tcl usage screen.
FossilOrigin-Name:
23b92d915c12ee768857e2c3c961832f390cad9b53b8bcfc2b97664baab25bb7
drh [Fri, 15 Dec 2023 15:22:03 +0000 (15:22 +0000)]
Fix a new JSON test case so that it works even if SQLITE_OMIT_VIRTUALTABLE
is defined.
FossilOrigin-Name:
b995aae510888a9746b46545d176a0885d4738e1f1bc0b7ad7937ed023efd7d6
dan [Fri, 15 Dec 2023 15:17:39 +0000 (15:17 +0000)]
Do not run test script fts5origintest4.test with either "memsubsys1" or "mmap" permutations.
FossilOrigin-Name:
05a63d9603ef42cbee6dadff72d97583a9c78e549f70e9a808534d5c1ae7c28a
dan [Fri, 15 Dec 2023 14:33:50 +0000 (14:33 +0000)]
Avoid running the "no_mutex_try" tests with SQLITE_ENABLE_SETLK_TIMEOUT builds as part of the release test.
FossilOrigin-Name:
6b4e1344a28c213cbe8fb97f7f3f6688de93fb73ed96bf460ff74c959da1a712
stephan [Fri, 15 Dec 2023 13:38:47 +0000 (13:38 +0000)]
Correct --enable-sab flag in ext/wasm/GNUmakefile to fix a silent alhttpd args-parsing error.
FossilOrigin-Name:
7b9b757d872a31395b0f6454e2309a6a4664b8bdd8749f6a15371cbe72c05b60
stephan [Thu, 14 Dec 2023 22:01:55 +0000 (22:01 +0000)]
Use SQLITE_STRICT_SUBTYPE=1 by default for the JNI and WASM builds unless they're explicitly built with SQLITE_STRICT_SUBTYPE=0.
FossilOrigin-Name:
990211357badf0ab08bd34cf6d25b58849d0fd8503e289c1839fc837a74e1909
drh [Thu, 14 Dec 2023 16:34:47 +0000 (16:34 +0000)]
Add assert()s to FTS5 to fix static analyzer warnings.
FossilOrigin-Name:
27d4a89a5ff96b7b7fc5dc9650e1269f7c7edf91de9b9aafce40be9ecc8b95e9
drh [Thu, 14 Dec 2023 15:38:57 +0000 (15:38 +0000)]
Fix harmless compiler warnings in JSON and FTS5.
FossilOrigin-Name:
90135efccfeb1046f002bfcbd8dfec9a1a3b40cbe1b5c714ae065b06368e354f
dan [Thu, 14 Dec 2023 15:31:35 +0000 (15:31 +0000)]
Improve the error message returned by an fts5 'rebuild' command on an external content table if there is a problem with the content table or view.
FossilOrigin-Name:
0fbf4b8a58fde1c187908934da6f59999b146f32e07ac255cc531c5c4d7007fd
drh [Thu, 14 Dec 2023 15:11:39 +0000 (15:11 +0000)]
Enhance aggregate order-by so that it transmits subtype information through the
sorter. Fix for the deficiency reported by
[forum:/forumpost/
87347ad2fb5a8f76 |forum post
87347ad2fb5a8f76 ].
FossilOrigin-Name:
d302a389460d0c15775a8b5f5afbac2c1d8a91bc282bc9b04c583ca04a8c09c6
drh [Thu, 14 Dec 2023 13:58:50 +0000 (13:58 +0000)]
Pass subtype information through the aggregate ORDER BY sorter for
aggregate functions that use subtype information.
FossilOrigin-Name:
3536f4030eab6d650b7ed729d2f71eb6cc3b5fbe16b4e96b99008d66522aaccb
larrybr [Wed, 13 Dec 2023 20:37:20 +0000 (20:37 +0000)]
In CLI, fix .read inability to open 2GB+ files on WIN32.
FossilOrigin-Name:
56c80a62d2e033d64ba5d545ae9cbe3ed7c9d046c0a3fafb6cfa2f0b562d1ef0
drh [Wed, 13 Dec 2023 16:45:18 +0000 (16:45 +0000)]
drh [Wed, 13 Dec 2023 15:27:03 +0000 (15:27 +0000)]
drh [Wed, 13 Dec 2023 14:31:15 +0000 (14:31 +0000)]
Improvements to UTF8 handling, and especially the handling of invalid UTF8,
in the JSON routines.
FossilOrigin-Name:
1b229c1101d6c384a30f343c5e47b471ab084b2d8e81170eb8f642afc1c67e3b
drh [Tue, 12 Dec 2023 18:38:53 +0000 (18:38 +0000)]
Fix the JSON object label comparison object so that it works correctly even
if the label ends with escaped whitespace.
FossilOrigin-Name:
4d5353cadd7b7c5f105bc197f3ec739e2d041472d6b3e939654c9f9cfc2749ae
stephan [Tue, 12 Dec 2023 17:52:27 +0000 (17:52 +0000)]
Worker1 Promiser API: when multiple db connections are active then use the requested connection instead of always the first-opened connection. Bug reported in [forum:
894c330e7f23b177 |forum post
894c330e7f23b177 ].
FossilOrigin-Name:
194276e18e0268829061c09317e7f9f527a703eb45f1755ff1dd30bd99dc1b68
drh [Tue, 12 Dec 2023 17:31:17 +0000 (17:31 +0000)]
The json_valid(*,8) function does a much better check of the validity of
the JSONB input. The json_error_position() function returns an approximate
byte offset to the point of the first detected error in the JSONB.
FossilOrigin-Name:
840efb33a3934a9bdccad65ea15c70d5c335a517502c9844aaad8405d16d1604
drh [Tue, 12 Dec 2023 17:13:10 +0000 (17:13 +0000)]
Add NEVER to two unreachable branches in JSON.
FossilOrigin-Name:
c96ebb086feb89341565cc52b970ae7799ce1327fe1ad4fc790f1b0dcaa6e229
drh [Tue, 12 Dec 2023 14:33:52 +0000 (14:33 +0000)]
Improvements to JSONB validation - catch more cases where the input does
not conform to spec.
FossilOrigin-Name:
be1864eac4eb75cc30bf98f73092c8608467f4bd956240df6a0cbea9f1e09e85
drh [Tue, 12 Dec 2023 02:31:12 +0000 (02:31 +0000)]
drh [Mon, 11 Dec 2023 21:00:55 +0000 (21:00 +0000)]
The json_error_position() function now reports an approximate byte offset
to the problem in a JSONB if there is a problem.
FossilOrigin-Name:
80d5d94dff6a2d2557039be3d7d47c1a6003c4b98defe0bd411acfeb963ad5dd