]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
2 years agoLimit the number of nested NOT nodes in an fts5 expression to 256. fts5-expr-limit
dan [Mon, 15 May 2023 17:14:16 +0000 (17:14 +0000)] 
Limit the number of nested NOT nodes in an fts5 expression to 256.

FossilOrigin-Name: 0e5c1ee40a146ef8b2b3c5f53d0a45e092bc8d8e933f3819805c995819d31bae

2 years agoAdd an "#ifndef SQLITE_HAVE_SQLITE3R" directive to shell.c.in, to avoid including...
dan [Sat, 13 May 2023 19:13:40 +0000 (19:13 +0000)] 
Add an "#ifndef SQLITE_HAVE_SQLITE3R" directive to shell.c.in, to avoid including the recovery code a second time if the shell is being compiled with sqlite3r.c.

FossilOrigin-Name: 6f1a60fb7b3ef463b4131dfecbc72b7c778c794a9aa13ce4617ab6dd895508b2

2 years agoMention that sqlite3_mutex_free() accepts NULL as a no-op.
larrybr [Sat, 13 May 2023 15:34:15 +0000 (15:34 +0000)] 
Mention that sqlite3_mutex_free() accepts NULL as a no-op.

FossilOrigin-Name: 603d9ad5012ca8996783996d7b8cd6a1aabf12b21604a2ccc137f4c2d99427b9

2 years agoFix compilation issue seen with MSVC.
mistachkin [Sat, 13 May 2023 05:13:29 +0000 (05:13 +0000)] 
Fix compilation issue seen with MSVC.

FossilOrigin-Name: 67001887044da71ab50c07d8345bd950a0a1f9688cf9cd6966312ea163cf6e17

2 years agoFix harmless compiler warning caused by [0772ddf56713d013].
drh [Fri, 12 May 2023 19:06:00 +0000 (19:06 +0000)] 
Fix harmless compiler warning caused by [0772ddf56713d013].

FossilOrigin-Name: f06c16a8b0e7a15ce4f7d99af3376a1bf1bfbfc0fdc048b079418ae74c619d6b

2 years agoAdd multi-threaded test for "INSERT ... RETURNING ..." and SQLITE_BUSY errors.
dan [Fri, 12 May 2023 19:02:50 +0000 (19:02 +0000)] 
Add multi-threaded test for "INSERT ... RETURNING ..." and SQLITE_BUSY errors.

FossilOrigin-Name: 559cb1c6de384fd14160db005acaf1858b8b018d3d40d7f786a56a49d3cdbd59

2 years agoMake the regexp extension more robust against OOM errors during compilation
drh [Fri, 12 May 2023 15:45:34 +0000 (15:45 +0000)] 
Make the regexp extension more robust against OOM errors during compilation
of the recognizer engine.
[forum:/forumpost/f50aecd5e8|Forum post f50aecd5e8].

FossilOrigin-Name: 0772ddf56713d013cd1bd44f9c75977ca14f852e3a8f038b0a6b9814f6519d79

2 years agoFix unlikely strange result of CLI edit().
larrybr [Fri, 12 May 2023 14:51:00 +0000 (14:51 +0000)] 
Fix unlikely strange result of CLI edit().

FossilOrigin-Name: ab3797e844c97fed344b36f30cfb788aca9e0d68c574fb833712219eb712db44

2 years agoEnsure the _O_U16TEXT is defined for Windows builds of the CLI.
drh [Fri, 12 May 2023 13:20:57 +0000 (13:20 +0000)] 
Ensure the _O_U16TEXT is defined for Windows builds of the CLI.
[forum:/forumpost/c80aa942dc6bf2|Forum post c80aa942dc6bf2].

FossilOrigin-Name: 504effa89b48c0dc6cd12b3eaf6017be3f32017c601af17759a3cc185346d868

2 years agoRemove a stray CR from end of line in a source file.
drh [Fri, 12 May 2023 12:57:44 +0000 (12:57 +0000)] 
Remove a stray CR from end of line in a source file.

FossilOrigin-Name: 48139fb904de4b7b383e7f8c29bed83ad878eb22b1dd773c366a0aee74613d23

2 years agoFix harmless typos in comments.
drh [Fri, 12 May 2023 12:45:56 +0000 (12:45 +0000)] 
Fix harmless typos in comments.

FossilOrigin-Name: 607c3efbe0293d7c11a955a9f21e24fb9f7f1bb758e13e60f4ba0cc0ac8b900c

2 years agoEnsure that all prepared statements are expired and forced to reprepare
drh [Fri, 12 May 2023 10:52:12 +0000 (10:52 +0000)] 
Ensure that all prepared statements are expired and forced to reprepare
whenever the database text encoding changes.
[forum:/forumpost/43cbfc4d23|Forum post 43cbfc4d23].

FossilOrigin-Name: 469718f106e1cfa7f8f4714a9e743108c361af81e0258061c2b76880a7c352ae

2 years agoAdd [/info/cec6a06508239c09e363?ln=5525-5531|restriction (5)] to the
drh [Thu, 11 May 2023 21:15:55 +0000 (21:15 +0000)] 
Add [/info/cec6a06508239c09e363?ln=5525-5531|restriction (5)] to the
omit-noop-join optimization.  Fix for the issue reported by
[forum/forumpost/49f2c7f690|forum post 49f2c7f690].

FossilOrigin-Name: 3e9c9bbdb59b9d500ff218db538c047c83da7ac18ebb95c3ee7629ab15e0b43a

2 years agoFix a minor typo in a comment. No code changes.
drh [Thu, 11 May 2023 18:03:11 +0000 (18:03 +0000)] 
Fix a minor typo in a comment.  No code changes.

FossilOrigin-Name: 607cfb5bc5c0fb8b789944c2326cfdebf0629e45fbf0a61dd5f667ed685a1bbe

2 years agoFix the rbu_exclusive_checkpoint=1 option so that it works with a zipvfs database...
dan [Thu, 11 May 2023 17:25:14 +0000 (17:25 +0000)] 
Fix the rbu_exclusive_checkpoint=1 option so that it works with a zipvfs database in pass-through mode.

FossilOrigin-Name: caca67d30670913914335aa3edff784e1c3d26aed70ae32efb5607ccf31ad142

2 years agoEnhance the split-sqlite3c.tcl script so that it uses single-character
drh [Wed, 10 May 2023 16:04:04 +0000 (16:04 +0000)] 
Enhance the split-sqlite3c.tcl script so that it uses single-character
extensions on subordinate source files, even when the number of subordinates
exceeds 9.  This is not yet needed, but might be soon.

FossilOrigin-Name: 4150e416263f24efcbfe68d5b1e15ec7e79df41dff0b6dfdc59f06ee9e205049

2 years agoFix harmless compiler warnings from the CBMC compiler.
drh [Wed, 10 May 2023 13:56:32 +0000 (13:56 +0000)] 
Fix harmless compiler warnings from the CBMC compiler.

FossilOrigin-Name: 5bc17cbccdd369486fca049be9d7457e18f162c0e2f5475809ffc8f01c5fa9d2

2 years agoRename sqlite3IsTableConstraint() to sqlite3IsSingleTableConstraint() and
drh [Wed, 10 May 2023 11:05:59 +0000 (11:05 +0000)] 
Rename sqlite3IsTableConstraint() to sqlite3IsSingleTableConstraint() and
improve its header comment, in an attempt to make the code easier to reason
about.  No functional changes - should generate identical machine code.

FossilOrigin-Name: 5dae897431a0a9dbb354c4a8a48f935ea7438035d96f90b83dd81eae434c8277

2 years agoAdd a missing comma to the documentation for the OP_Jump opcode. No changes
drh [Wed, 10 May 2023 10:03:28 +0000 (10:03 +0000)] 
Add a missing comma to the documentation for the OP_Jump opcode.  No changes
to code.

FossilOrigin-Name: 7e2c2b1cee760af68cf303ce9ec1babbaf607fe54e043893c046d2d37cd0ab46

2 years agoNew restriction on the push-down optimization to prevent an ON or USING clause
drh [Wed, 10 May 2023 00:33:21 +0000 (00:33 +0000)] 
New restriction on the push-down optimization to prevent an ON or USING clause
on the left side of a RIGHT JOIN from being pushed down into a subquery that
is on the right side of that RIGHT JOIN.
[forum:/forumpost/a7d4be7fb6|Forum post a7d4be7fb6].
Also add comments to describe previously undocumented push-down optimization
restrictions.

FossilOrigin-Name: da3fba18742b6e0bd5290bee9d86a2d5cb1ff2de25d737ef93060d7c1143273f

2 years agoFix bug in fall-back logic of CLI .clone
larrybr [Wed, 10 May 2023 00:20:42 +0000 (00:20 +0000)] 
Fix bug in fall-back logic of CLI .clone

FossilOrigin-Name: 0dcd9785c11e33e6393b7c1be1ff8fe7129f280439aed12de22d4687609a8bac

2 years agoFix recover1.test so that it works with DEFAULT_AUTOVACUUM builds.
dan [Mon, 8 May 2023 16:26:22 +0000 (16:26 +0000)] 
Fix recover1.test so that it works with DEFAULT_AUTOVACUUM builds.

FossilOrigin-Name: 4ffae48e831eedf8f5e61dc6d38817c0fdccfb2f4f1189d07f9722b9e3a48b5e

2 years agoImproved error handling when ".open" fails in the CLI.
drh [Mon, 8 May 2023 13:47:38 +0000 (13:47 +0000)] 
Improved error handling when ".open" fails in the CLI.

FossilOrigin-Name: 38544b11f0e19cc6c6f8230a89d28e36c7c3587481deaac6cedbf82338ca0d47

2 years agoIn editPage(), if an attempt is made to edit an empty 64KB page, then take
drh [Mon, 8 May 2023 13:38:14 +0000 (13:38 +0000)] 
In editPage(), if an attempt is made to edit an empty 64KB page, then take
the slow path through rebuildPage(), in order to maintain strict invariants
in the editPage() code.
[forum:/forumpost/0f37727c0d|Forum post 0f37727c0d].

FossilOrigin-Name: a865e574e510c1ca192d0bd5293fb583def90f7ed086af2c89ca856ce93d115b

2 years agoEnsure that the label for a JSON object really is a string and not an array
drh [Mon, 8 May 2023 11:11:08 +0000 (11:11 +0000)] 
Ensure that the label for a JSON object really is a string and not an array
or object that just happens to end with a string.
dbsqfuzz 32f62ed8676d0a153dbe756aeae3202d3670fe50.

FossilOrigin-Name: c335737c2889722ea05b732a5efff8a2f31140c18ca038c41e05c2a26e0db5bd

2 years agoAdd tests for recovering data to a lost-and-found table from a utf-16 db. No code...
dan [Mon, 8 May 2023 10:51:35 +0000 (10:51 +0000)] 
Add tests for recovering data to a lost-and-found table from a utf-16 db. No code changes.

FossilOrigin-Name: 832f6e9f797eecb9a3dae4e7e20c70eda1e91372e9d3ce4223d57f26582cdbd2

2 years agoIt turns out that pagerExclusiveLock() can be called with the lock state
drh [Sun, 7 May 2023 03:23:32 +0000 (03:23 +0000)] 
It turns out that pagerExclusiveLock() can be called with the lock state
already set to RESERVED if the SQLITE_FCNTL_PERSIST_WAL setting is set and
a specific sequence of multiple journal mode changes occur.
Enhance pagerExclusiveLock() to deal with this.
[forum:/forumpost/8130545bc6|Forum post 8130545bc6]

FossilOrigin-Name: 2bb8d977392f635515aa4a36f6f763a2e4858f7adc1120519e2e74c04a9749b5

2 years agoFix a comment in the JSON logic. No code changes.
drh [Fri, 5 May 2023 20:22:06 +0000 (20:22 +0000)] 
Fix a comment in the JSON logic.  No code changes.

FossilOrigin-Name: 3f30ea5ec9d849c64d8c38f4fffbc06c749ecff91ab90bc29b3a3cc9ec5b9df0

2 years agoFix a buffer overrun that could occur when using the format() function to format...
dan [Fri, 5 May 2023 19:36:13 +0000 (19:36 +0000)] 
Fix a buffer overrun that could occur when using the format() function to format a very small real value with the "," modifier.

FossilOrigin-Name: 910e770ad4d8e8e45bf069af963f2e975bfcfb882578dc5fe714cd2396258934

2 years agoReduce the maximum depth of nesting in json objects to 1000.
dan [Fri, 5 May 2023 15:52:44 +0000 (15:52 +0000)] 
Reduce the maximum depth of nesting in json objects to 1000.

FossilOrigin-Name: c7697a0d45bfab20ec09f17ad65e375ddb43af6762278481c13a65c9a784978e

2 years agoDo not attempt to run json502.test with SQLITE_OMIT_VIRTUALTABLE builds.
dan [Fri, 5 May 2023 15:28:35 +0000 (15:28 +0000)] 
Do not attempt to run json502.test with SQLITE_OMIT_VIRTUALTABLE builds.

FossilOrigin-Name: 6664850647cd314c076842df5bf94e4f12d9be7fb56795b2af25f15c1267fa4d

2 years agoUpdates to compile-time option usage and especially to the compile-time option
drh [Fri, 5 May 2023 14:16:31 +0000 (14:16 +0000)] 
Updates to compile-time option usage and especially to the compile-time option
test script in tool/omittest.tcl.

FossilOrigin-Name: fece588b186c4f9f76d626313e35336fd5681e966e9bd0fa1053b147c4e3c315

2 years agoFix the pager2-3.1 test case so that it does not run if a required
drh [Fri, 5 May 2023 14:14:10 +0000 (14:14 +0000)] 
Fix the pager2-3.1 test case so that it does not run if a required
dependence (shared-cache) is omitted from the build.  Fix for
[forum:/forumpost/7a028538a7|forum post 7a028538a7].

FossilOrigin-Name: a77c8a780f884d0cb01d20912cf1aeec0bb7f3999d23117fe5bd82bc4405d483

2 years agoAllow virtual tables to prepare writes to shadow tables in defensive mode from with...
dan [Fri, 5 May 2023 11:47:31 +0000 (11:47 +0000)] 
Allow virtual tables to prepare writes to shadow tables in defensive mode from with xRelease() callbacks - even if the xRelease() is invoked from within sqlite3_finalize().

FossilOrigin-Name: a17106494a8a67bc92cfe27ee8ef9bf160517d6930d796980ae12287b98c1cfe

2 years agoImproved formatting of comments on SQLITE_CONFIG_xxx defines as those
drh [Fri, 5 May 2023 11:33:59 +0000 (11:33 +0000)] 
Improved formatting of comments on SQLITE_CONFIG_xxx defines as those
comments are used by documentation.

FossilOrigin-Name: 2cb840bc9df81f76699f742e5db03835f4c272548cca0e6d24412503db3d76b3

2 years agoAdd the "subsecond" modifier to the date/time functions.
drh [Thu, 4 May 2023 20:28:19 +0000 (20:28 +0000)] 
Add the "subsecond" modifier to the date/time functions.

FossilOrigin-Name: 6fcb5a941fba0449d017954590bde7da74e5a1f8fd9b3e1febdff9bed1f22051

2 years agoAdd some tests of subsecond modifier for date/time functions. Sync with trunk. subsec-modifier
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

2 years agoEnhance the format() function so that the "," modifier works for floating
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

2 years agoAdd support for the comma (,) modifier to %f formats in the format() function. comma-format
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

2 years agoFix a bug in cursor hints that can cause references to tables that have not
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

2 years agoAdd another assert() to FTS5 to demonstrate that a pointer is never NULL.
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

2 years agoAdd an assert() to fts5_config to ensure that a potential OOM is being handled correctly.
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

2 years agoProtect a macro argument with parentheses in FTS5.
drh [Wed, 3 May 2023 13:48:33 +0000 (13:48 +0000)] 
Protect a macro argument with parentheses in FTS5.

FossilOrigin-Name: bc07fe51fe0c6bb50ca8ae1baefcc35c8f5395b2d0de641bf0b0cedc92d754d4

2 years agoAdd a comment to the [0512f82a2cde7447] change to link it to its TH3 test case.
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

2 years agoEnhancement to showwal such that it shows what the page hash should be
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

2 years agoConform CLI double-quoted escaping to what its doc says.
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

2 years agoIn the zipfile extension, leave the catalog list in a consistent state when
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

2 years agoIf the page size is wrong on the page1 content inside a WAL file, then
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

2 years agoImproved detection of excess recursion on arrays and objects in the JSON
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

2 years agoDo not overflow the Index.aSample[] array if the same index appears in
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

2 years agoDo not even attempt to load the sqlite_stat4 table if the use of STAT4 is
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

2 years agoFix CLI mishandling of OOM during .import _of_ a DB. [forum:7ed4a250d3|Reported by...
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

2 years agoIn the CLI, ensure that the argument to quoteChar() is not a NULL pointer
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

2 years agoFix a problem with the sqlite3changeset_size() API and rowid tables.
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

2 years agoGive CLI quoted args hex escapes (as documented.) cli-hex-escape
larrybr [Tue, 2 May 2023 19:33:27 +0000 (19:33 +0000)] 
Give CLI quoted args hex escapes (as documented.)

FossilOrigin-Name: 90e434a6ae370a35109802fc336b98298d345f3d23125ef2cc68c31d8e69bb50

2 years agoCure CLI hang on .import with high-ASCII column separator.
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

2 years agoAllow for lower-case "nan" to mean NaN in JSON.
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

2 years agoInterpret negative arguments to sqlite3_sleep() as zero.
drh [Tue, 2 May 2023 16:34:15 +0000 (16:34 +0000)] 
Interpret negative arguments to sqlite3_sleep() as zero.

FossilOrigin-Name: 2b542326aa8e7e1f6ed9d999b95ae5340278e0821277a17de3cc803b4af793ae

2 years agoImproved handling of NULL arguments to json_valid() and
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

2 years agoFix typo in comment. [forum:/forumpost/3da7d9c445|Forum post 3da7d9c445].
drh [Tue, 2 May 2023 10:22:05 +0000 (10:22 +0000)] 
Fix typo in comment.  [forum:/forumpost/3da7d9c445|Forum post 3da7d9c445].

FossilOrigin-Name: 41a8a15c4b6f6157b12d43976e300763ef8a4963986d2806557ad0d8b0a784cd

2 years agoMinor code change in the CLI to make a UAF warning from scan-build go away.
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

2 years agoFix harmless compiler warnings.
drh [Mon, 1 May 2023 20:42:15 +0000 (20:42 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: 342af5b4fa0bd7c699e5497161db13d0cf795c7a5875ae30d666122e518f213b

2 years agoThe gcc definition of the SQLITE_INLINE macro is not compatible with
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

2 years agoFix harmless compiler warnings in FTS5.
drh [Mon, 1 May 2023 19:59:10 +0000 (19:59 +0000)] 
Fix harmless compiler warnings in FTS5.

FossilOrigin-Name: f6210017b3143ccbaea23655852f947f779bb438ad4fbf582f5da42f7cd1d9f5

2 years agoRemove xFileControl() handling from the OPFS VFS altogether, re-routing all syncing...
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

2 years agoFix harmless compiler warnings.
drh [Mon, 1 May 2023 18:52:35 +0000 (18:52 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: 0a926994691ccb02ea4f0ba3c2e8f728871ae67d24c705fbc0f7af81f38d5f47

2 years agoAdd support for JSON5.
drh [Mon, 1 May 2023 18:28:48 +0000 (18:28 +0000)] 
Add support for JSON5.

FossilOrigin-Name: f8c3ed23a6931b1da3b93b3274b132387078112a5c8e8d06b5312c47987d3937

2 years agoFix typos in comments in sqlite3session.h preventing documentation from being correct...
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

2 years agoNew enhancements to the sqlite3_db_config() constants documentation.
drh [Mon, 1 May 2023 15:57:46 +0000 (15:57 +0000)] 
New enhancements to the sqlite3_db_config() constants documentation.

FossilOrigin-Name: d74011a3c495719fe1816e15251269824396ac2a40e41f7b96f0dd507c9be609

2 years agoExpose the SQLITE_DBCONFIG_STMT_SCANSTATUS and SQLITE_DBCONFIG_REVERSE_SCANORDER...
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

2 years agoImplement full xSync() for the OPFS VFS. The previous implementation was not correct...
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

2 years agoFix typos in documentation comments in sqlite3.h.
drh [Mon, 1 May 2023 14:50:54 +0000 (14:50 +0000)] 
Fix typos in documentation comments in sqlite3.h.

FossilOrigin-Name: 6a8b00788e7911287a8287277eb603e983e3324c9d62de0889ce6f0b2d848f4a

2 years agoDo not apply the "AND false" optimization if either operand comes from the
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

2 years agoFix abbreviated paths for objects such that they work even if the object json5
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

2 years agoFix a problem with json_patch() when one side or the other is JSON5.
drh [Sun, 30 Apr 2023 23:52:55 +0000 (23:52 +0000)] 
Fix a problem with json_patch() when one side or the other is JSON5.
dbsqlfuzz bc10593a4ba8e7a7862593532285be31f00f8e41

FossilOrigin-Name: e18c0899cc774f6f20d2a73381fa3ab3af9355cf4d108c7612db259eadbb8b96

2 years agoAccept the full ECMAScript 5.1 IdentifyName syntax for keys in objects.
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

2 years agoAll JSON to understand floating point literals "Inf" and "QNaN" and "SNaN" in
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

2 years agoOmit the json_valid() function. Change the name of json_error() to
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

2 years agoMerge all the latest trunk enhancements into the JSON5 branch to
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

2 years agoFix a crash that could occur in fts5 'secure-delete' mode when operating on corrupt...
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

2 years agoMore ALWAYS() macros.
drh [Sat, 29 Apr 2023 17:35:29 +0000 (17:35 +0000)] 
More ALWAYS() macros.

FossilOrigin-Name: 770b09f7a795956be63a06847059370db8dfc88654878d742b7b826947029962

2 years agoAdd ALWAYS macros on unreachable branches in the new JSON5 logic.
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

2 years agoSimplification of the logic that normalizes JSON5 integer literals into
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

2 years agoDo not allow leading zeros on non-zero numeric literals in JSON.
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

2 years agoCure CLI generate_series() overflow bug (forum:754e2d4db2a5|noted by forum post ...
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

2 years agoReplace duped generate_series() test with another corner case. generate_series-revamp
larrybr [Sat, 29 Apr 2023 15:29:29 +0000 (15:29 +0000)] 
Replace duped generate_series() test with another corner case.

FossilOrigin-Name: fb2f08783fdfef4d5123ad66792de2265d39272d40d7bf1be7dd21876e8ffd73

2 years agoSync w/trunk, improve generate_series() variable names.
larrybr [Sat, 29 Apr 2023 12:29:15 +0000 (12:29 +0000)] 
Sync w/trunk, improve generate_series() variable names.

FossilOrigin-Name: ecbf7e13e6454ee879c178c53ffa6face789e93ccbebb0cfac8fde72cb3a4952

2 years agoMinor fixes to to the JSON% parser.
drh [Sat, 29 Apr 2023 12:13:27 +0000 (12:13 +0000)] 
Minor fixes to to the JSON% parser.

FossilOrigin-Name: 2fe684cdcdc3cab4ec3348ca5aa5948e4472c562b739c29faebcb77397f8d969

2 years agoCorrectly recognize an isolated U+feff as a space character in JSON5.
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

2 years agoAdd tests for generate_series(), and change an existing test that enforced varying...
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

2 years agoBug fixes in the logic to skip over JSON5 comments.
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

2 years agoBug fix in the offset computation for json_error().
drh [Fri, 28 Apr 2023 23:19:11 +0000 (23:19 +0000)] 
Bug fix in the offset computation for json_error().

FossilOrigin-Name: 8f7ab5d9210490eb451534df246b82081a5aa252a1bd662659df3da429290837

2 years agoRevise generate_series() extension (in CLI) to address overflow reported in [forum...
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

2 years agoImprovements to the accuracy of json_error(). Add the extension SQL
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

2 years agoAdd the json_error(X) function that returns the 1-based character offset to
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

2 years agoFix indentation and omit trailing whitespace in the random JSON generator
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

2 years agoFix json_tree() so that it is able to deal with the JNODE_RAW labels of
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

2 years agoMerge all the latest trunk fixes and enhancements into the json5 branch.
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

2 years agoDo not assert() a bad string representation in an sqlite3_value after
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

2 years agoMake CLI .load slightly harder to abuse.
larrybr [Fri, 28 Apr 2023 00:28:06 +0000 (00:28 +0000)] 
Make CLI .load slightly harder to abuse.

FossilOrigin-Name: 2779f9270cc431786d0e16ef05ec05b0f22dda2307f3bf17467ad0b25304e160