]>
git.ipfire.org Git - thirdparty/sqlite.git/log
larrybr [Thu, 4 May 2023 20:19:33 +0000 (20:19 +0000)]
Add some tests of subsecond modifier for date/time functions. Sync with trunk.
FossilOrigin-Name:
6499ebff545e663198bd0534be205a4e9ca68c7fb20fdcfa54fae4d9b79bfe3a
drh [Thu, 4 May 2023 14:44:53 +0000 (14:44 +0000)]
Enhance the format() function so that the "," modifier works for floating
point numbers in addition to integers.
FossilOrigin-Name:
83683e108bce83c105bbcce1aa62880d8f14ebf3383d87d83a1e5c85026a7817
drh [Thu, 4 May 2023 13:07:49 +0000 (13:07 +0000)]
Add support for the comma (,) modifier to %f formats in the format() function.
FossilOrigin-Name:
7080e196a1f887640ff51ddc508ec6796ce12874c2944855702753b64a8e5e50
drh [Thu, 4 May 2023 11:29:15 +0000 (11:29 +0000)]
Fix a bug in cursor hints that can cause references to tables that have not
been opened. Cursor hints are intended for use by COMDB2 only and should not
appear in production builds, so this should not be a factor for the vast
majority of users.
FossilOrigin-Name:
d3370d59cffb7ab982d6c620c93d22aa6a9dc786e1c4af95ca8d45ff0b9b7d6f
drh [Wed, 3 May 2023 14:10:05 +0000 (14:10 +0000)]
Add another assert() to FTS5 to demonstrate that a pointer is never NULL.
FossilOrigin-Name:
b8a84a1bf53fa07ef01c57c6db6329ba439774a262b3adcbe94e7bd77525e296
dan [Wed, 3 May 2023 13:57:57 +0000 (13:57 +0000)]
Add an assert() to fts5_config to ensure that a potential OOM is being handled correctly.
FossilOrigin-Name:
fe9c207657400f9d9f4e822eb658157bc147ed538e2701322f6f973933f023ed
drh [Wed, 3 May 2023 13:48:33 +0000 (13:48 +0000)]
Protect a macro argument with parentheses in FTS5.
FossilOrigin-Name:
bc07fe51fe0c6bb50ca8ae1baefcc35c8f5395b2d0de641bf0b0cedc92d754d4
drh [Wed, 3 May 2023 13:33:37 +0000 (13:33 +0000)]
Add a comment to the [
0512f82a2cde7447 ] change to link it to its TH3 test case.
FossilOrigin-Name:
1281d4d9d799ef83e6eb51d656ede82b4503d39adf169deb936b30ebfddd88b1
drh [Wed, 3 May 2023 13:03:30 +0000 (13:03 +0000)]
Enhancement to showwal such that it shows what the page hash should be
on a hash mismatch.
FossilOrigin-Name:
960dc97083ed9a7bfa912010b9ea19114f51dd10e73d5c5bf06cc642ebd1a2e7
larrybr [Wed, 3 May 2023 11:27:15 +0000 (11:27 +0000)]
Conform CLI double-quoted escaping to what its doc says.
FossilOrigin-Name:
910535ba518f35ecc64c980ad67e3af69008d1995235f52ab12db6cefdb6602b
drh [Wed, 3 May 2023 07:30:15 +0000 (07:30 +0000)]
In the zipfile extension, leave the catalog list in a consistent state when
the last entry is removed from the list.
[forum:/info/
f03f1e4c5a5c9959 |forum post
f03f1e4c5a5c9959 ].
FossilOrigin-Name:
1b489d008b7bda12f9bf92e246bc613ef61e9c74ace0652d6d088e5a6e0696f6
drh [Wed, 3 May 2023 06:48:08 +0000 (06:48 +0000)]
If the page size is wrong on the page1 content inside a WAL file, then
running VACUUM could trigger an assert(). This check-in changes that assert()
into a branch that returns SQLITE_CORRUPT.
[forum:/info/
4ef9b37d74d2d2e8 |Forum post
4ef9b37d74d2d2e8 ]
FossilOrigin-Name:
0512f82a2cde7447cb348d9fd620f39f2f0e359141903cde20f7ba30b5d34af3
drh [Wed, 3 May 2023 06:38:03 +0000 (06:38 +0000)]
Improved detection of excess recursion on arrays and objects in the JSON
parser. Fixes a problem detected by dbsqlfuzz.
FossilOrigin-Name:
d40fd5924adaa8d6b1dd6b9a4087f64d496cf60096ae11c9229c59309c0d4844
drh [Wed, 3 May 2023 05:00:10 +0000 (05:00 +0000)]
Do not overflow the Index.aSample[] array if the same index appears in
the sqlite_stat4 table under multiple names because it is a WITHOUT ROWID
primary key index. [forum:/info/
537d8ab118df7edd |Forum post
537d8ab118df7edd ]
FossilOrigin-Name:
9350a25ac0b55a6b901bc50e4db6d4e883c2617e1d2a8fdc90effabe52bb0012
drh [Wed, 3 May 2023 04:21:31 +0000 (04:21 +0000)]
Do not even attempt to load the sqlite_stat4 table if the use of STAT4 is
disabled using sqlite3_test_control().
FossilOrigin-Name:
0bf94c77d97582be5368bcfd149f3db7b9f928b4684aaa2626d98a2bdee8f96f
larrybr [Wed, 3 May 2023 02:32:42 +0000 (02:32 +0000)]
Fix CLI mishandling of OOM during .import _of_ a DB. [forum:
7ed4a250d3 |Reported by forum post
7ed4a250d3 ].
FossilOrigin-Name:
30da3f0ebd944754881bce678c61289fdaf1e32198d241cc6b5c003e4fb33c0e
drh [Wed, 3 May 2023 01:25:37 +0000 (01:25 +0000)]
In the CLI, ensure that the argument to quoteChar() is not a NULL pointer
due to a prior OOM.
FossilOrigin-Name:
776d1a47aae3c3679a2d158595e84facf118adf2d1bca0f0642311dd346479b8
dan [Tue, 2 May 2023 20:34:15 +0000 (20:34 +0000)]
Fix a problem with the sqlite3changeset_size() API and rowid tables.
FossilOrigin-Name:
92ade220dcf5c1b76a5db605b1467a01051271957cd26f790755904fd82772eb
larrybr [Tue, 2 May 2023 19:33:27 +0000 (19:33 +0000)]
Give CLI quoted args hex escapes (as documented.)
FossilOrigin-Name:
90e434a6ae370a35109802fc336b98298d345f3d23125ef2cc68c31d8e69bb50
larrybr [Tue, 2 May 2023 18:03:25 +0000 (18:03 +0000)]
Cure CLI hang on .import with high-ASCII column separator.
FossilOrigin-Name:
aac8ac631de5c5b439c48c13f5fd271d76c11b1a5fd0919dfe4506ef7725f5ab
drh [Tue, 2 May 2023 17:33:34 +0000 (17:33 +0000)]
Allow for lower-case "nan" to mean NaN in JSON.
FossilOrigin-Name:
6bee0a19e2efb6e39097fb22602556791d3d3962c50a1a0471c39a0c61db632e
drh [Tue, 2 May 2023 16:34:15 +0000 (16:34 +0000)]
Interpret negative arguments to sqlite3_sleep() as zero.
FossilOrigin-Name:
2b542326aa8e7e1f6ed9d999b95ae5340278e0821277a17de3cc803b4af793ae
drh [Tue, 2 May 2023 11:12:01 +0000 (11:12 +0000)]
Improved handling of NULL arguments to json_valid() and
json_error_position(). [forum:/forumpost/
06c6334412 |Forum post
06c6334412 ].
FossilOrigin-Name:
ab78e6946ba8125a83ff155561adf9c8df4d1c09a645fce08c8245ddb08bfa3b
drh [Tue, 2 May 2023 10:22:05 +0000 (10:22 +0000)]
drh [Tue, 2 May 2023 00:33:45 +0000 (00:33 +0000)]
Minor code change in the CLI to make a UAF warning from scan-build go away.
FossilOrigin-Name:
ad6aae768ad0816bfd1c8e9db5c0153226982d3af9a089f31e608223339e9829
drh [Mon, 1 May 2023 20:42:15 +0000 (20:42 +0000)]
drh [Mon, 1 May 2023 20:09:52 +0000 (20:09 +0000)]
The gcc definition of the SQLITE_INLINE macro is not compatible with
string ANSI, so disable it if the -std=c89 command-line option is used.
FossilOrigin-Name:
62d703d83cf8cf3358715792347c49315a82c659e475158e385746f4329a4f39
drh [Mon, 1 May 2023 19:59:10 +0000 (19:59 +0000)]
stephan [Mon, 1 May 2023 19:28:07 +0000 (19:28 +0000)]
Remove xFileControl() handling from the OPFS VFS altogether, re-routing all syncing through xSync() instead. This eliminates superfluous syncing introduced in [
a371374148a2 ], as discussed in [forum:
647d2f811dbc2dfe |forum thread
647d2f811dbc2dfe ].
FossilOrigin-Name:
f809de7f232c8c2731a877c7bf1ad39fda5b326b2e45e4748cab4dc5e5b535bd
drh [Mon, 1 May 2023 18:52:35 +0000 (18:52 +0000)]
drh [Mon, 1 May 2023 18:28:48 +0000 (18:28 +0000)]
dan [Mon, 1 May 2023 15:59:20 +0000 (15:59 +0000)]
Fix typos in comments in sqlite3session.h preventing documentation from being correctly generated.
FossilOrigin-Name:
ab75170d5609c477613466e8880f20b74b0069281db6536fe09db06ea9d7cff3
drh [Mon, 1 May 2023 15:57:46 +0000 (15:57 +0000)]
New enhancements to the sqlite3_db_config() constants documentation.
FossilOrigin-Name:
d74011a3c495719fe1816e15251269824396ac2a40e41f7b96f0dd507c9be609
stephan [Mon, 1 May 2023 15:42:59 +0000 (15:42 +0000)]
Expose the SQLITE_DBCONFIG_STMT_SCANSTATUS and SQLITE_DBCONFIG_REVERSE_SCANORDER sqlite3_db_config() options to JS.
FossilOrigin-Name:
0a7024af3f0e1dddc1a60c67bc4084e46b297dc16fe753bd5e6a45a59fd1cfa4
stephan [Mon, 1 May 2023 15:15:11 +0000 (15:15 +0000)]
Implement full xSync() for the OPFS VFS. The previous implementation was not correct for journal files. Reported in [forum:
647d2f811dbc2dfe |forum post
647d2f811dbc2dfe ].
FossilOrigin-Name:
a371374148a2874be6e48890781aa5952229056b146a50fa4d035693341c5636
drh [Mon, 1 May 2023 14:50:54 +0000 (14:50 +0000)]
Fix typos in documentation comments in sqlite3.h.
FossilOrigin-Name:
6a8b00788e7911287a8287277eb603e983e3324c9d62de0889ce6f0b2d848f4a
drh [Mon, 1 May 2023 11:24:35 +0000 (11:24 +0000)]
Do not apply the "AND false" optimization if either operand comes from the
ON clause of a join. Fix for the problem identified by
[forum:/forumpost/
96cd4a7e9e |forum post
96cd4a7e9e ].
FossilOrigin-Name:
d095da0e7a24e3bcab6495d964f76a86d7a5910d2d6edddc6e8092bfa6084fe6
drh [Mon, 1 May 2023 03:56:48 +0000 (03:56 +0000)]
Fix abbreviated paths for objects such that they work even if the object
key begins with '$'.
FossilOrigin-Name:
1b991c78141a9915ae9350ecb347a758e50d7d25c8a0f4cc098ae10d47c27043
drh [Sun, 30 Apr 2023 23:52:55 +0000 (23:52 +0000)]
drh [Sun, 30 Apr 2023 20:37:49 +0000 (20:37 +0000)]
Accept the full ECMAScript 5.1 IdentifyName syntax for keys in objects.
FossilOrigin-Name:
9be2c87518b33713210e3e2fa56924888e19415c71329141d18150b275f6f25e
drh [Sun, 30 Apr 2023 19:45:25 +0000 (19:45 +0000)]
All JSON to understand floating point literals "Inf" and "QNaN" and "SNaN" in
any case, without the SQLITE_EXTENDED_NAN_INF compile-time option. This
extension is always available.
FossilOrigin-Name:
fb551145e0d84213b3343dc1bc7db70c898b9dea24a72b968240617f4b52d821
drh [Sun, 30 Apr 2023 19:34:41 +0000 (19:34 +0000)]
Omit the json_valid() function. Change the name of json_error() to
json_error_position(). Use "NOT json_error_position(X)" as a substitute
for "json_valid5(X)".
FossilOrigin-Name:
34c4e900a9cc51630eeaf01deef74bf5b18d66e0ab1dc61a2023ac8f837a5197
drh [Sat, 29 Apr 2023 18:40:48 +0000 (18:40 +0000)]
Merge all the latest trunk enhancements into the JSON5 branch to
facilitate testing of the JSON5 branch.
FossilOrigin-Name:
30d12edebad9b097cd5f0da355304d1cb2f8b70d7c7dff378fd7ad7c8ebf9279
dan [Sat, 29 Apr 2023 18:31:44 +0000 (18:31 +0000)]
Fix a crash that could occur in fts5 'secure-delete' mode when operating on corrupt records.
FossilOrigin-Name:
2e85b0e3dcae0915aa6472a3654c8ac72a6b2083c11747f3f657c79bbdaf530b
drh [Sat, 29 Apr 2023 17:35:29 +0000 (17:35 +0000)]
drh [Sat, 29 Apr 2023 17:13:39 +0000 (17:13 +0000)]
Add ALWAYS macros on unreachable branches in the new JSON5 logic.
FossilOrigin-Name:
91e15ed9d93e51b750172a074dbbcf206128e9476571ce6189b8ea0ba5ab4135
drh [Sat, 29 Apr 2023 16:31:08 +0000 (16:31 +0000)]
Simplification of the logic that normalizes JSON5 integer literals into
canonical JSON integer literals. Improved reporting of OOM.
FossilOrigin-Name:
01ee613c07fcb87e7d7b7f1b1387982715d1343418f37f4a1dc90e43a76d20e8
drh [Sat, 29 Apr 2023 16:00:20 +0000 (16:00 +0000)]
Do not allow leading zeros on non-zero numeric literals in JSON.
FossilOrigin-Name:
3e91494390ba88498eb243f61ce4ef4efa23b58326108a769bc72331d7d7d75b
larrybr [Sat, 29 Apr 2023 15:42:46 +0000 (15:42 +0000)]
Cure CLI generate_series() overflow bug (forum:
754e2d4db2a5 |noted by forum post #
754e2d4db2a5 ) and bring behavior with negative step arguments closer to as-documented and eponymous function in PostgreSQL.
FossilOrigin-Name:
07383758d68e05021ccd393a69c1fa94836dfb02331326c082495a531a384363
larrybr [Sat, 29 Apr 2023 15:29:29 +0000 (15:29 +0000)]
Replace duped generate_series() test with another corner case.
FossilOrigin-Name:
fb2f08783fdfef4d5123ad66792de2265d39272d40d7bf1be7dd21876e8ffd73
larrybr [Sat, 29 Apr 2023 12:29:15 +0000 (12:29 +0000)]
Sync w/trunk, improve generate_series() variable names.
FossilOrigin-Name:
ecbf7e13e6454ee879c178c53ffa6face789e93ccbebb0cfac8fde72cb3a4952
drh [Sat, 29 Apr 2023 12:13:27 +0000 (12:13 +0000)]
drh [Sat, 29 Apr 2023 00:59:22 +0000 (00:59 +0000)]
Correctly recognize an isolated U+feff as a space character in JSON5.
FossilOrigin-Name:
4473dc8e3ad18bb6185ed4a819baf881a7d26ac74bc70fae6ba23a0030be8316
larrybr [Fri, 28 Apr 2023 23:39:16 +0000 (23:39 +0000)]
Add tests for generate_series(), and change an existing test that enforced varying rowid-to-value mapping with query ordering. (That no longer varies.)
FossilOrigin-Name:
9605db4ae37ef383f8e5568af4543a9e6f336bace6ed80ff80fe4c0b0f437078
drh [Fri, 28 Apr 2023 23:38:54 +0000 (23:38 +0000)]
Bug fixes in the logic to skip over JSON5 comments.
FossilOrigin-Name:
c736b77a2fc5f8f2ba8f770adf05443dfdc3a9847ee519f411e661f76756d611
drh [Fri, 28 Apr 2023 23:19:11 +0000 (23:19 +0000)]
Bug fix in the offset computation for json_error().
FossilOrigin-Name:
8f7ab5d9210490eb451534df246b82081a5aa252a1bd662659df3da429290837
larrybr [Fri, 28 Apr 2023 21:25:03 +0000 (21:25 +0000)]
Revise generate_series() extension (in CLI) to address overflow reported in [forum:
754e2d4db2a5 |forum post #
754e2d4db2a5 ] and to make behavior better match the like-named PostgreSQL function.
FossilOrigin-Name:
beeea3e1b010dace9789f27172462b912819d0f8142a67e3e1e7335211e0e9a8
drh [Fri, 28 Apr 2023 17:38:35 +0000 (17:38 +0000)]
Improvements to the accuracy of json_error(). Add the extension SQL
functions random_json(SEED) and random_json5(SEED).
FossilOrigin-Name:
8d09dc1c45a8026b94f70273d064e47939f30cadedc17548b5a26ba054a8d3a7
drh [Fri, 28 Apr 2023 14:48:11 +0000 (14:48 +0000)]
Add the json_error(X) function that returns the 1-based character offset to
the first syntax error in JSON5 string X, or 0 if there are no errors.
FossilOrigin-Name:
901ad995d5a722ca2672516205ff488e9acd703a828ca5fc43f11fca5f2af120
drh [Fri, 28 Apr 2023 13:25:35 +0000 (13:25 +0000)]
Fix indentation and omit trailing whitespace in the random JSON generator
script.
FossilOrigin-Name:
629db09fceb7bf37561b52ccee06ebf4df261291e9a8ffcca82b243f6db5ff07
drh [Fri, 28 Apr 2023 11:02:01 +0000 (11:02 +0000)]
Fix json_tree() so that it is able to deal with the JNODE_RAW labels of
a JSON5 object.
FossilOrigin-Name:
f56528d413d8e622f7c4f18b2f9f2e620bfb441c020461299b35a90072ee6c13
drh [Fri, 28 Apr 2023 10:23:01 +0000 (10:23 +0000)]
Merge all the latest trunk fixes and enhancements into the json5 branch.
FossilOrigin-Name:
b5ca15cfc19380cf870b70be6a86e70f2026cc3d6d89005b45891d58c4f11c2d
drh [Fri, 28 Apr 2023 10:10:52 +0000 (10:10 +0000)]
Do not assert() a bad string representation in an sqlite3_value after
an OOM. dbsqlfuzz
c822a17a23c524a0ac7cfb203c7198209da15de8 .
FossilOrigin-Name:
91fee79a01971259b21478e60a069a711a00efc79ddfececa6224a152cd8d09a
larrybr [Fri, 28 Apr 2023 00:28:06 +0000 (00:28 +0000)]
drh [Fri, 28 Apr 2023 00:19:55 +0000 (00:19 +0000)]
In the CLI, early out from the output_quoted_string() routine if the
input string is NULL. [forum:/forumpost/
8a22c0bfa7 |forum post
8a22c0bfa7 ].
FossilOrigin-Name:
2881978d7b7014738a21c590b0430c4fa40e6b00b9547d0284b7656124523ae9
drh [Thu, 27 Apr 2023 23:59:51 +0000 (23:59 +0000)]
Use a new technique to detect fresh OOM faults in columnName() that does not
rely on there being no OOMs prior to entry into columnName(), as
[forum/forumpost/
fb6811c2f9 |forum post
fb6811c2f9 ] demonstrates a technique
which could cause an OOM prior to entry into columnName().
FossilOrigin-Name:
a63346d6a0c0ca7ba4c87499de2e461be9c77e9b5d98f2bebf308cdb6599f33c
drh [Thu, 27 Apr 2023 23:44:38 +0000 (23:44 +0000)]
Remove a faulty assert() from the CLI.
[forum:/forumpost/
726c4f7db0 |Forum post
726c4f7db0 ].
FossilOrigin-Name:
4bbebb6bfb9910265d91b777c1711b3b8e0732bcf299f7459b20c4ea110422bd
drh [Thu, 27 Apr 2023 23:40:03 +0000 (23:40 +0000)]
Remove an ALWAYS() macro that can in fact sometimes be false.
[forum:/forumpost/
f0e872fcee |Forum post
f0e872fcee ].
FossilOrigin-Name:
d85880e4ed89e2198beea642818051f7a91a71fea9929be0a7ed0603b493ce47
drh [Thu, 27 Apr 2023 23:29:09 +0000 (23:29 +0000)]
mistachkin [Thu, 27 Apr 2023 22:17:12 +0000 (22:17 +0000)]
Fix compilation issues seen with older versions of MSVC.
FossilOrigin-Name:
4ba2a651120391d779a3db9881c0fb17e1322cc9d8738f915a46e31a2f313578
mistachkin [Thu, 27 Apr 2023 21:31:21 +0000 (21:31 +0000)]
Adjust OSTRACE usage so that it works with the changes in the previous check-in.
FossilOrigin-Name:
1eb4573e9092d350d00d05ba716cb0272e2dbb1ecbaadc2a7cc22de0b8cc2bda
drh [Thu, 27 Apr 2023 19:30:53 +0000 (19:30 +0000)]
drh [Thu, 27 Apr 2023 19:13:20 +0000 (19:13 +0000)]
Faster implementation of numberic literal parsing in JSON.
FossilOrigin-Name:
58398292e8473b0b9e4b77dd5ed27334bc24a85d0c399e8d0b86de6fb59dadce
drh [Thu, 27 Apr 2023 18:28:10 +0000 (18:28 +0000)]
Add support for hexadecimal integer literals in JSON.
FossilOrigin-Name:
85e00c9e68d0695592e8f72555ee133c096bfca5a860a8e21d1e0ef756705aaf
drh [Thu, 27 Apr 2023 17:32:29 +0000 (17:32 +0000)]
All floating point literals "NaN" and "Infinity". Additional variants
of these literals are available if compiled with SQLITE_EXTENDED_NAN_INF.
FossilOrigin-Name:
c13346afbecb92275e741252897d00478dab4be2d158889bc735e80efd9444f5
drh [Thu, 27 Apr 2023 16:57:14 +0000 (16:57 +0000)]
Fix handling of reverse solidus in string literals. Allow decimal points
in floating point literals to occurs and the beginning or end of the mantissa.
FossilOrigin-Name:
d92a6ab2871095ac66c60cfa15dbafa7b762f83d287d452f61792eb30cf5b26b
drh [Thu, 27 Apr 2023 16:24:12 +0000 (16:24 +0000)]
Fix the handling of escape solidus in the JSON routines.
FossilOrigin-Name:
676877aca235e620ee12d10235dd6ad009d4968455ec170daeb1998b94a7e0a2
drh [Thu, 27 Apr 2023 15:48:58 +0000 (15:48 +0000)]
JSON string literals may span multiple lines by escaping new line characters.
FossilOrigin-Name:
66da4bd4a30c390fa1a7960ce2edaef82e63971ecf33ffb6b906db9f278041c5
drh [Thu, 27 Apr 2023 15:11:26 +0000 (15:11 +0000)]
Allow the labels on JSON objects to be unquoted identifier names.
FossilOrigin-Name:
fb428db3f64f148ab9a3478fdcc8b3733e58102b3c8895a482e2551d974d5661
drh [Thu, 27 Apr 2023 14:38:51 +0000 (14:38 +0000)]
Performance optimization in the JSON parser.
FossilOrigin-Name:
5a88ba743f55d45b1c0ce0090bb3b396bcf7fcf7b3bcb989aaf30b8bb772599e
dan [Thu, 27 Apr 2023 13:55:29 +0000 (13:55 +0000)]
Fix a problem on windows sometimes causing SQLITE_NOMEM to be returned if an error occurred while opening a temp file.
FossilOrigin-Name:
c22a39a6b28e3039fe453c0c0db98744b8a63ef9063cc3f6e0ed67d2506d34be
drh [Thu, 27 Apr 2023 13:44:26 +0000 (13:44 +0000)]
Permit JSON5 whitespace in all contexts of objects and arrays.
FossilOrigin-Name:
93f3ab26b57c0469862a56e97d4b3c796b27f9f582046fcff1f2aa8d8910c550
drh [Thu, 27 Apr 2023 12:24:00 +0000 (12:24 +0000)]
Translate JSON5-only string literal escape sequences into the JSON equivalents.
FossilOrigin-Name:
14e82f36eed31af1237898728bf353b968523c62b1f8d1d90dbbabd92d0c2834
drh [Wed, 26 Apr 2023 20:26:14 +0000 (20:26 +0000)]
Implement some of the JSON5 enhancements to string and numeric literals.
This is an incremental check-in of work in progress.
FossilOrigin-Name:
9508efa9d61c0ff0eb73100dd52889dadc5fa2a2091b944a9b8a74e8a5c50e82
dan [Wed, 26 Apr 2023 18:50:49 +0000 (18:50 +0000)]
Fix a typo in a printf() format string the sessions module.
FossilOrigin-Name:
14d1c4a828660bc137dcea1bb4cc439e1ed3872867a0dab486f6a639ef3bcc45
drh [Wed, 26 Apr 2023 18:23:47 +0000 (18:23 +0000)]
When changing a large integer into a floating point value, cancel the
string representation. Fix for
[forum:/forumpost/
5c74a3bc4a |forum post
5c74a3bc4a ].
FossilOrigin-Name:
3e2da8a7e35c839128d26aac575605e1e34889e8ab3484440bdd65c4d752c6bb
drh [Wed, 26 Apr 2023 17:30:28 +0000 (17:30 +0000)]
Partial implementation of JSON5 numeric literal extensions. Use a switch()
statement in the parser for better performance.
FossilOrigin-Name:
78404dc37024cad5fe7eacf78ea85b56f08b129a1b9a046c3e1b11275068a485
drh [Wed, 26 Apr 2023 15:58:08 +0000 (15:58 +0000)]
Improvement to the way the JSON performance measure scripts work → keep the
test database in the directory of the test, not in the source tree.
FossilOrigin-Name:
ac411dbdcbf0b9040fb5b7de173271f383a6aa303d57f22ebd200809a5b4a6d3
drh [Wed, 26 Apr 2023 15:19:19 +0000 (15:19 +0000)]
Work toward implementing JSON5 whitespace. Untested and incomplete.
FossilOrigin-Name:
d262c059455ebe0650a45a6c1c04d1baf9609c635df352732dd192426e1bdc39
drh [Wed, 26 Apr 2023 13:52:20 +0000 (13:52 +0000)]
drh [Wed, 26 Apr 2023 13:25:30 +0000 (13:25 +0000)]
drh [Tue, 25 Apr 2023 21:24:20 +0000 (21:24 +0000)]
The json_valid() function only returns true for pure JSON. JSON5 (or
at least that subset of JSON5 that has been so far implemented) is accepted
by all routines, but json_valid() still returns false for JSON5 inputs.
The new json_valid5(X) routine returns true or false if X is or is not valid
JSON5. All of this is experimental and subject to change.
FossilOrigin-Name:
5d33ab77800765c8b3a13ffcc02ba8a348d71b2b425924560418b517d723494d
dan [Tue, 25 Apr 2023 20:41:19 +0000 (20:41 +0000)]
Allow the sessions module to be configured to capture changes from tables with no explicit PRIMARY KEY.
FossilOrigin-Name:
5d4431bc44e206f48f3bcc1f51399b38bd4cb418e7e50a37495475fb8da04646
dan [Tue, 25 Apr 2023 14:54:18 +0000 (14:54 +0000)]
Remove unused variable ltoj accidentally added by [
1783655e ].
FossilOrigin-Name:
faa1575ce0a39a2335a77057e8769a4e67aedd6326b4627988d03f0cb21fc39a
dan [Tue, 25 Apr 2023 14:37:12 +0000 (14:37 +0000)]
Avoid assuming that an expression in an ON() clause that evaluates to zero implies that the query will return zero rows when the query contains a RIGHT JOIN. [forum:
95849acbe1 |Forum Post
95849acbe1 ].
FossilOrigin-Name:
1783655ea422185e75593b89e4ef452a6f5496aefd389f88ce7fe4b7d41d6a98
larrybr [Tue, 25 Apr 2023 04:28:39 +0000 (04:28 +0000)]
Handle newline-trimmed input TEXT correctly in base64, base85 UDFs.
FossilOrigin-Name:
8f637aae23e6638c064a34262dcf16a3cdfd000fb1fa1b2a834b292fe6659408
larrybr [Tue, 25 Apr 2023 02:44:53 +0000 (02:44 +0000)]
Check for OOM sqlite_value_x() returns in base64, base85 extensions.
FossilOrigin-Name:
e6f9c0b1f963033a8e17d13935c5c6b12d263fe10c585035a3d1f1154c6ba5d6
drh [Mon, 24 Apr 2023 23:14:34 +0000 (23:14 +0000)]
Allow trailing commas in objects and arrays of JSON.
FossilOrigin-Name:
4031b231c223db598b45dbd192b027a99a9b82a981d43c75f723a3fb06720b82
drh [Mon, 24 Apr 2023 19:23:42 +0000 (19:23 +0000)]
Update the compile-time detection of architecture byte-order in the RTREE
extension so that it is aligned with the latest enhancements in the core.
FossilOrigin-Name:
122431d3a7267ec83768316ab146c0557fb6c0577a4a47ac6ed3d7aa6811ca9a
dan [Mon, 24 Apr 2023 19:22:21 +0000 (19:22 +0000)]
Allow the sessions module to be configured to capture changes from tables with no explicit PRIMARY KEY.
FossilOrigin-Name:
8a612f0860126c0c8473b1e65fcabb9a8821d8bf09fdf3f6018acfc99df9af71