drh
7d65f1bec0
Simplifications to the new timediff() logic.
...
FossilOrigin-Name: d6954259bd3f8475f3804fd02a1591d037efa9df54da45776863c024ff90e596
2023-05-30 14:46:30 +00:00
drh
cc4bfd9623
New test cases for the timediff enhancements.
...
FossilOrigin-Name: f14633ce6ddf28a14b03e2da623d96e439966aa3fc30c26cb0be59c0e15b3e9c
2023-05-30 11:51:45 +00:00
drh
30bb082d3a
All date/time modifiers of the form (+/-)YYYY-MM-DD without the following
...
HH:MM:SS.SSS.
FossilOrigin-Name: fa9237a8ab803ca3f67fe753516b7bdb98be3d625e8e241ddf9b02509210e225
2023-05-30 11:13:56 +00:00
drh
36a5f1e90c
Problems fixed. All tests are passing now.
...
FossilOrigin-Name: cff293b0a79107def7bfe54fd60ac4a721c5098c85229d9b46a4e2c4cbf34a6a
2023-05-30 02:50:32 +00:00
drh
6abbef89e6
Improvements to the timediff() function. Test cases added. Not all test
...
cases are passing.
FossilOrigin-Name: 2cf6518140d61e2123dc20f39d7e97e7bce17e7641405df7fd63e1cdda444ae0
2023-05-30 02:16:33 +00:00
drh
1936a1933c
New date/time modifier: (+|-)YYYY-MM-DD HH:MM(:SS.SSS)?
...
FossilOrigin-Name: 3832b8a9ef84d9b53b48dfce9c1e724897cd7b3e05711e01675419655f894eac
2023-05-29 20:33:33 +00:00
drh
0cbc2143b9
Prototype implementation of a proposed "timediff(X,Y)" SQL function.
...
FossilOrigin-Name: 054a195125a273bab026ada5f07cc7c32818007027a1fd028ca59d2f179276d4
2023-05-29 18:01:42 +00:00
drh
4308b88dcd
Fix an issue with sqldiff reported by
...
[forum:/info/9bd2155bdfae25a7|forum post 9bd2155bdfae25a7].
FossilOrigin-Name: 736a79c1491065f4ee77ce644af0e529e555ca733c78dbd55487d55d4ddbe5bd
2023-05-27 20:08:23 +00:00
dan
870fe69c72
Add extra tests for fts5, large rowids and "ORDER BY rowid DESC". No changes to code.
...
FossilOrigin-Name: b5b5eaeed3ef55415e27aa04561ab446f3be881b56b7cbf9b8ba3307f0b2bf69
2023-05-27 19:34:46 +00:00
stephan
39bd6a0d46
Add ability for the JS Worker1.exec() API to report the number of changes made to the caller, per request in [forum:d0b19483642e20dd | forum post d0b19483642e20dd].
...
FossilOrigin-Name: 6e79505df915612b60696e4eec5c9973175fe6ecf273eb3152b996e63ae54a07
2023-05-25 16:49:06 +00:00
stephan
4e8e33ba84
Minor cleanups in demo JS code, per forum feedback.
...
FossilOrigin-Name: 80c7c0360c08bea0733deccb8071920c60558b75df76b6afad093c82adf30ea6
2023-05-23 19:11:42 +00:00
dan
583a5cf5d2
Avoid performing aggregate processing more than once for a single expression. [forum:/info/36ff78b2a3|Forum post 36ff78b2a3].
...
FossilOrigin-Name: 367b4cc549a14222d54530538e692e9d1a365002c1b8c4ef80ddc0523bfdb3a2
2023-05-23 17:35:18 +00:00
drh
ddf6b27579
When converting an aggregate expression to AGG_COLUMN, be sure to remove
...
the EP_Unlikely flag if it is present.
[forum:/info/fbfe330a2009d036|Forum post fbfe330a2009d036].
FossilOrigin-Name: 48e65f18b2ebbe786e84e208f2c6c68de6067ba86912fea5a120fd41d0af2184
2023-05-23 15:16:20 +00:00
dan
3195b88b79
Fix a buffer overread in the recovery extension that might occur on 32-bit platforms.
...
FossilOrigin-Name: ff4a9a2b59657116da99c748ada19dbc64b7d0fd4c920e1c517d8bda3466f06b
2023-05-23 14:05:02 +00:00
dan
9d31508a54
Add test cases for the recovery extension. No changes to code.
...
FossilOrigin-Name: cec49c7d93362f527f0b4744cd1ae95d44a79671d49d69baa77fda70be29f7e8
2023-05-23 11:47:56 +00:00
larrybr
d294792d1a
Avoid duplicate WIN32_LEAN_AND_MEAN #define. Fix a trivial nit likely never observed.
...
FossilOrigin-Name: 81ffcf41d69ae73ee8c037f675e18e2b46a15bee34062914640456381262d6fc
2023-05-22 20:36:55 +00:00
drh
0503cd6d11
When a floating-point RTREE is presented with large integer constraints -
...
integers that are too big to be represented exactly by a float - then take
extra steps to ensure that all possibly relevant entries in the RTREE are
returned, even in boundary cases. Fix for the problem identified by
[forum:/forumpost/da70ee0d0d|forum post da70ee0d0d].
FossilOrigin-Name: bfd8d9100015f3e3fb011698963d670bd89b64ec8a8ab931e0c6c3076b029377
2023-05-22 16:35:21 +00:00
dan
b838a229be
Fix a buffer overrun that could occur in fts5 when processing corrupt records.
...
FossilOrigin-Name: 4891dbd938f4bfd345eaef01f2addea9512eaa98f860844c73abb907b6a8e0e8
2023-05-22 11:02:15 +00:00
stephan
a6ab50bc42
Extend detection of the INSERT...RETURNING locking case to the DB.selectValue(s)/selectArray/selectObject() family of functions. Add tests for INSERT/UPDATE...RETURNING with those functions.
...
FossilOrigin-Name: 3181c50540df0eff6cb5db79bb477c469bb7b73b0692260ba600db200fcef4ac
2023-05-19 18:23:53 +00:00
stephan
02be13cea6
Minor doc typo fix.
...
FossilOrigin-Name: 4533be08786306a4fcb4b21458444dffd0fa2764ebb2538313f3a16d9324cacc
2023-05-19 17:59:21 +00:00
stephan
a382d236da
oo1.Stmt.finalize() no longer throws, but instead returns the same as the C API. oo1.DB.exec() now triggers the INSERT...RETURNING locking failure as an exception via reset() instead of finalize(). Some code-adjacent internal API renaming for clarity's sake.
...
FossilOrigin-Name: 4ee6b3aa531b980acea4c4b58ee256e765c5105100468928def3d4c9825fa9bc
2023-05-19 17:50:16 +00:00
drh
fe19414331
Improved documentation for sqlite3_reset(), in response to
...
[forum:/forumpost/a72bab3dea|forum post a72bab3dea].
FossilOrigin-Name: 1dfeb3dceee8f30daf5462683f264b9de23e7068e036e70b11ee1b608ac2f7fa
2023-05-19 16:42:49 +00:00
stephan
7fe416fae1
sqlite3.oo1.Stmt.reset() now throws if sqlite3_reset() returns non-zero, analog to [f23eb5c6d365].
...
FossilOrigin-Name: 487ae12c9a21e5862bd590bbb1030c39734657d52136cf67b98c7545e6ecbe1c
2023-05-19 16:34:56 +00:00
stephan
416aeb16ee
Add a basic INSERT RETURNING test for the oo1.DB.exec() API.
...
FossilOrigin-Name: d29d62cf7658aeb49f3c8a5d0b0809d945ebc9b79379a255eb88f771d2a2c430
2023-05-19 16:12:06 +00:00
stephan
2492b6c0fb
sqlite3.oo1.Stmt.finalize() now throws if sqlite3_finalize() returns non-zero. This is intended to address the INSERT RETURNING case covered in [forum:36f7a2e7494897df|forum post 36f7a2e7494897df].
...
FossilOrigin-Name: f23eb5c6d36546ee1e181a03660e0b2dc8005bba24bee8bae594b0c78bd152cd
2023-05-19 15:54:41 +00:00
stephan
8e2fd6eae3
Correct typo in an 'extern' decl name, reported in [forum:1d4342156439233b|forum post 1d4342156439233b].
...
FossilOrigin-Name: 6ac18827d8c5be35442dc452af703023c759916c179f165c4e54b3e430a8f7b0
2023-05-19 12:41:14 +00:00
drh
1cb4e2e196
Change the RTREE engine so that equality comparisons of floating point
...
values are duplicated in the byte-code so that the comparisons are done
using 64-bit floats and consistent results are always obtained.
[forum:/forumpost/da61c4a1b5b4af19|Forum post da61c4a1b5b4af19].
FossilOrigin-Name: 4ec0f0a31b0df93ad15545fe1db117c933e28c75ad3cbc8475b56fecdb084905
2023-05-19 11:48:05 +00:00
drh
2c6c98dbf0
Fix incorrect b-tree root page reports from the enhanced PRAGMA integrity_check
...
output introduced in version 3.42.0.
FossilOrigin-Name: 9b538f62539bcde7d7d7ad06eccdc558ecbd3f9160db35197568f4d3b4247c76
2023-05-18 23:25:48 +00:00
drh
a03be7987b
Fast-path the btree transaction start for the common case where a
...
transaction is already active.
FossilOrigin-Name: 798c3ff20c606b5f9fde16dc67781f238370a7c450bc239c3a98d0f4ca370399
2023-05-17 19:23:24 +00:00
drh
653882ed8c
Simplification, performance improvement, and size reduction in the
...
codeAllEqualityTerms() function of the code generator.
FossilOrigin-Name: 4fbe02651e877e442d62308d7f607e503695104cd71c5565132fcd1398c120df
2023-05-17 16:13:48 +00:00
drh
60fd5c34ab
New assert() statements to verify that Expr.iColumn is never used as an
...
array index when its value is negative.
FossilOrigin-Name: 6084c5fb6d3fcedf35cd6c597a44ec7bf8b4a2576c7b277e5342d2a7905318e7
2023-05-17 15:46:46 +00:00
drh
9c9b33cbaf
Improved assertions on substExpr().
...
FossilOrigin-Name: 6dbd5b3cc801a75ea23842a43eb7106b62fc1d26dd5a8477a0217325539a7c1a
2023-05-17 13:21:45 +00:00
dan
32a5feb53e
Avoid an assert() failure that could occur in SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds when a WITH clause attached to an UPDATE or DELETE statement created a CTE of the same name as the table being modified.
...
FossilOrigin-Name: 8edf56d1698c3db38250db3b25864f658488414efb3a6b3e1443283b6affd26d
2023-05-17 11:31:51 +00:00
drh
010bd47b98
Fix two assert() statements that failed to take into account
...
the likely() built-in function. This does not impact production code.
FossilOrigin-Name: 8504fe812c5b4956c8acad515d537add54cb591bc81747113f9b24526d7685b8
2023-05-17 00:26:50 +00:00
drh
ea1b2fa034
Increase the version number to 3.43.0 in order to begin the next
...
development cycle.
FossilOrigin-Name: 7874023cd460cbe05401433b8e695a77955e2c055c360a93b92d4ce6937bd136
2023-05-16 14:20:04 +00:00
stephan
73ab708b5c
Resolve the JS-side corner case reported in [forum:7774b773937cbe0a | forum post 7774b773937cbe0a] by not caching oo1.Stmt.columnCount.
...
FossilOrigin-Name: 37d44e8c447626738a8a7f915a9bc3f35fbb95581236dd152fc119b0c3a24c2a
2023-05-16 14:18:48 +00:00
drh
89efa89778
Version 3.42.0
...
FossilOrigin-Name: 831d0fb2836b71c9bc51067c49fee4b8f18047814f2ff22d817d25195cf350b0
2023-05-16 12:36:15 +00:00
drh
89caab8147
Update the tool/mkmsvcmin.tcl script so that it prints a one-line message
...
to explain what it has done.
FossilOrigin-Name: 4254f086419892634c80b0b915e14edea365adc6a45bcc75eecba889da274ac3
2023-05-16 12:34:26 +00:00
drh
e680b6dcf7
Fix a C++-style variable declaration in the generate_series() extension.
...
FossilOrigin-Name: 1d3e008905461ebbd3ea0a862672f740fa72914d4d59fcf800e1ce56f1edfc9d
2023-05-15 19:17:31 +00:00
dan
aeb064c069
Limit the number of nested NOT nodes in an fts5 expression to 256.
...
FossilOrigin-Name: 01219e69b430c8f5fea5ab6ce511ba8c9b4c9b32b6d2d36623dde99c3d3812c9
2023-05-15 17:24:48 +00:00
drh
ff4e771c0f
Increase the stack size available to fuzzcheck to 8MB on Windows.
...
FossilOrigin-Name: 2290dc6876041bcc982f162f59fdc9fd98b0983e1058c0a33fd46937ecc4bd84
2023-05-15 17:20:21 +00:00
dan
4042d2b424
Limit the number of nested NOT nodes in an fts5 expression to 256.
...
FossilOrigin-Name: 0e5c1ee40a146ef8b2b3c5f53d0a45e092bc8d8e933f3819805c995819d31bae
2023-05-15 17:14:16 +00:00
drh
307db965c6
Add the --wait command-line option to fuzzcheck.
...
FossilOrigin-Name: 5a479a2c7637a018d1828d9d37973bf3d36a2fc4cd5b752bca61a41cd0920d39
2023-05-15 10:55:04 +00:00
larrybr
b579db6d5c
Make generate_series() correct on ones complement ALUs and acceptable to UBSAN.
...
FossilOrigin-Name: 4c5cd3e6968c44749b7663beee790969b41d247b9201b771ef90cbb03d09108f
2023-05-15 03:48:48 +00:00
drh
eb4455e4e4
As evidenced by [forum:/forumpost/f3f546025a|forum post f3f546025a], the
...
new RIGHT JOIN related restriction on the push-down optimization implemented
by [da3fba18742b6e0b] also needs to apply to the automatic index
(a.k.a. hash-join) optimization and to the Bloom filter optimization.
Computation of the restriction is now
moved into the sqlite3ExprIsSingleTableConstraint() routine.
FossilOrigin-Name: 4902015dcf3869f08d9986e422faa231d9218a5e0fc59ba8df0f407e4eb3d605
2023-05-15 02:06:35 +00:00
drh
fa746af4a3
Simplify the interface to constructAutomaticIndex().
...
FossilOrigin-Name: c5da16551619718bf649c517515261706843e11e131f0b99e1fd6927d0f7e238
2023-05-15 01:02:50 +00:00
dan
b8d689b666
Fix windows-specific problems in test scripts sessionnoop2.test and sessionrowid.test.
...
FossilOrigin-Name: e4989c111ddffe6818cbb88a72bd027b30124d1e8de0cce4109c72a214ffb5b8
2023-05-13 20:01:27 +00:00
dan
5e65cd1caa
Remove unnecessary call to sqlite3_dbdata_init() from shell.c.
...
FossilOrigin-Name: 84ca2000007d217f911a3b1586143fc9261c0697a9e9fadda6bd3dd6afdfb099
2023-05-13 19:38:30 +00:00
dan
fd0791587b
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
2023-05-13 19:13:40 +00:00
larrybr
ea51c09a8b
Mention that sqlite3_mutex_free() accepts NULL as a no-op.
...
FossilOrigin-Name: 603d9ad5012ca8996783996d7b8cd6a1aabf12b21604a2ccc137f4c2d99427b9
2023-05-13 15:34:15 +00:00
mistachkin
273c2a9425
Fix compilation issue seen with MSVC.
...
FossilOrigin-Name: 67001887044da71ab50c07d8345bd950a0a1f9688cf9cd6966312ea163cf6e17
2023-05-13 05:13:29 +00:00
drh
59b6a2bcbe
Fix harmless compiler warning caused by [0772ddf56713d013].
...
FossilOrigin-Name: f06c16a8b0e7a15ce4f7d99af3376a1bf1bfbfc0fdc048b079418ae74c619d6b
2023-05-12 19:06:00 +00:00
dan
83be5586a0
Add multi-threaded test for "INSERT ... RETURNING ..." and SQLITE_BUSY errors.
...
FossilOrigin-Name: 559cb1c6de384fd14160db005acaf1858b8b018d3d40d7f786a56a49d3cdbd59
2023-05-12 19:02:50 +00:00
drh
4f3dc93978
Make the regexp extension more robust against OOM errors during compilation
...
of the recognizer engine.
[forum:/forumpost/f50aecd5e8|Forum post f50aecd5e8].
FossilOrigin-Name: 0772ddf56713d013cd1bd44f9c75977ca14f852e3a8f038b0a6b9814f6519d79
2023-05-12 15:45:34 +00:00
larrybr
fb74019a14
Fix unlikely strange result of CLI edit().
...
FossilOrigin-Name: ab3797e844c97fed344b36f30cfb788aca9e0d68c574fb833712219eb712db44
2023-05-12 14:51:00 +00:00
drh
69bc8c70f9
Ensure the _O_U16TEXT is defined for Windows builds of the CLI.
...
[forum:/forumpost/c80aa942dc6bf2|Forum post c80aa942dc6bf2].
FossilOrigin-Name: 504effa89b48c0dc6cd12b3eaf6017be3f32017c601af17759a3cc185346d868
2023-05-12 13:20:57 +00:00
drh
26a3e56649
Remove a stray CR from end of line in a source file.
...
FossilOrigin-Name: 48139fb904de4b7b383e7f8c29bed83ad878eb22b1dd773c366a0aee74613d23
2023-05-12 12:57:44 +00:00
drh
61791c6f4c
Fix harmless typos in comments.
...
FossilOrigin-Name: 607c3efbe0293d7c11a955a9f21e24fb9f7f1bb758e13e60f4ba0cc0ac8b900c
2023-05-12 12:45:56 +00:00
drh
6b429dc11b
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
2023-05-12 10:52:12 +00:00
drh
78b404d976
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
2023-05-11 21:15:55 +00:00
drh
5ca40d84ad
Fix a minor typo in a comment. No code changes.
...
FossilOrigin-Name: 607cfb5bc5c0fb8b789944c2326cfdebf0629e45fbf0a61dd5f667ed685a1bbe
2023-05-11 18:03:11 +00:00
dan
418d212308
Fix the rbu_exclusive_checkpoint=1 option so that it works with a zipvfs database in pass-through mode.
...
FossilOrigin-Name: caca67d30670913914335aa3edff784e1c3d26aed70ae32efb5607ccf31ad142
2023-05-11 17:25:14 +00:00
stephan
0c7bcf4c0e
Doc typo fix. No code changes.
...
FossilOrigin-Name: e841b142f583e49350c7cdd14dc4da72434cc67c7b521ae741e03e37e785d7e0
2023-05-10 21:08:01 +00:00
stephan
161f742856
Resolve the JS-side corner case reported in [forum:7774b773937cbe0a | forum post 7774b773937cbe0a] by not caching oo1.Stmt.columnCount.
...
FossilOrigin-Name: c3d25c3a25e79e01c4ad0cf11f7dc3b0fb1932f3bcd04935a728ef62f7e07cf1
2023-05-10 21:06:02 +00:00
drh
28f4e7b286
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
2023-05-10 16:04:04 +00:00
drh
0051a56dec
Fix harmless compiler warnings from the CBMC compiler.
...
FossilOrigin-Name: 5bc17cbccdd369486fca049be9d7457e18f162c0e2f5475809ffc8f01c5fa9d2
2023-05-10 13:56:32 +00:00
drh
5af043c2e7
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
2023-05-10 11:05:59 +00:00
drh
d733ee5cca
Add a missing comma to the documentation for the OP_Jump opcode. No changes
...
to code.
FossilOrigin-Name: 7e2c2b1cee760af68cf303ce9ec1babbaf607fe54e043893c046d2d37cd0ab46
2023-05-10 10:03:28 +00:00
drh
88a99437b9
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
2023-05-10 00:33:21 +00:00
larrybr
5fbb2adf7d
Fix bug in fall-back logic of CLI .clone
...
FossilOrigin-Name: 0dcd9785c11e33e6393b7c1be1ff8fe7129f280439aed12de22d4687609a8bac
2023-05-10 00:20:42 +00:00
dan
d9be387361
Fix recover1.test so that it works with DEFAULT_AUTOVACUUM builds.
...
FossilOrigin-Name: 4ffae48e831eedf8f5e61dc6d38817c0fdccfb2f4f1189d07f9722b9e3a48b5e
2023-05-08 16:26:22 +00:00
drh
bbd0ae2e87
Improved error handling when ".open" fails in the CLI.
...
FossilOrigin-Name: 38544b11f0e19cc6c6f8230a89d28e36c7c3587481deaac6cedbf82338ca0d47
2023-05-08 13:47:38 +00:00
drh
addc7e0e5b
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
2023-05-08 13:38:14 +00:00
drh
c42bbfc550
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
2023-05-08 11:11:08 +00:00
dan
6d841fdc89
Add tests for recovering data to a lost-and-found table from a utf-16 db. No code changes.
...
FossilOrigin-Name: 832f6e9f797eecb9a3dae4e7e20c70eda1e91372e9d3ce4223d57f26582cdbd2
2023-05-08 10:51:35 +00:00
drh
28f32bedd1
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
2023-05-07 03:23:32 +00:00
drh
4e73863fd4
Fix a comment in the JSON logic. No code changes.
...
FossilOrigin-Name: 3f30ea5ec9d849c64d8c38f4fffbc06c749ecff91ab90bc29b3a3cc9ec5b9df0
2023-05-05 20:22:06 +00:00
dan
77eb3e305c
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
2023-05-05 19:36:13 +00:00
dan
ed96436f23
Reduce the maximum depth of nesting in json objects to 1000.
...
FossilOrigin-Name: c7697a0d45bfab20ec09f17ad65e375ddb43af6762278481c13a65c9a784978e
2023-05-05 15:52:44 +00:00
dan
3e49355e17
Do not attempt to run json502.test with SQLITE_OMIT_VIRTUALTABLE builds.
...
FossilOrigin-Name: 6664850647cd314c076842df5bf94e4f12d9be7fb56795b2af25f15c1267fa4d
2023-05-05 15:28:35 +00:00
drh
e030619109
Updates to compile-time option usage and especially to the compile-time option
...
test script in tool/omittest.tcl.
FossilOrigin-Name: fece588b186c4f9f76d626313e35336fd5681e966e9bd0fa1053b147c4e3c315
2023-05-05 14:16:31 +00:00
drh
fb18d81038
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
2023-05-05 14:14:10 +00:00
dan
cad6aae45e
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
2023-05-05 11:47:31 +00:00
drh
0498caec89
Improved formatting of comments on SQLITE_CONFIG_xxx defines as those
...
comments are used by documentation.
FossilOrigin-Name: 2cb840bc9df81f76699f742e5db03835f4c272548cca0e6d24412503db3d76b3
2023-05-05 11:33:59 +00:00
drh
d2bef86709
Add the "subsecond" modifier to the date/time functions.
...
FossilOrigin-Name: 6fcb5a941fba0449d017954590bde7da74e5a1f8fd9b3e1febdff9bed1f22051
2023-05-04 20:28:19 +00:00
larrybr
88813681c2
Add some tests of subsecond modifier for date/time functions. Sync with trunk.
...
FossilOrigin-Name: 6499ebff545e663198bd0534be205a4e9ca68c7fb20fdcfa54fae4d9b79bfe3a
2023-05-04 20:19:33 +00:00
drh
6242c9386f
Enhance the format() function so that the "," modifier works for floating
...
point numbers in addition to integers.
FossilOrigin-Name: 83683e108bce83c105bbcce1aa62880d8f14ebf3383d87d83a1e5c85026a7817
2023-05-04 14:44:53 +00:00
drh
e8468098a0
Add support for the comma (,) modifier to %f formats in the format() function.
...
FossilOrigin-Name: 7080e196a1f887640ff51ddc508ec6796ce12874c2944855702753b64a8e5e50
2023-05-04 13:07:49 +00:00
drh
c1e40a3a02
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
2023-05-04 11:29:15 +00:00
drh
62b28db5c7
Add another assert() to FTS5 to demonstrate that a pointer is never NULL.
...
FossilOrigin-Name: b8a84a1bf53fa07ef01c57c6db6329ba439774a262b3adcbe94e7bd77525e296
2023-05-03 14:10:05 +00:00
dan
3f23eb6813
Add an assert() to fts5_config to ensure that a potential OOM is being handled correctly.
...
FossilOrigin-Name: fe9c207657400f9d9f4e822eb658157bc147ed538e2701322f6f973933f023ed
2023-05-03 13:57:57 +00:00
drh
3442306989
Protect a macro argument with parentheses in FTS5.
...
FossilOrigin-Name: bc07fe51fe0c6bb50ca8ae1baefcc35c8f5395b2d0de641bf0b0cedc92d754d4
2023-05-03 13:48:33 +00:00
drh
dda2833a4e
Add a comment to the [0512f82a2cde7447] change to link it to its TH3 test case.
...
FossilOrigin-Name: 1281d4d9d799ef83e6eb51d656ede82b4503d39adf169deb936b30ebfddd88b1
2023-05-03 13:33:37 +00:00
drh
69e2422973
Enhancement to showwal such that it shows what the page hash should be
...
on a hash mismatch.
FossilOrigin-Name: 960dc97083ed9a7bfa912010b9ea19114f51dd10e73d5c5bf06cc642ebd1a2e7
2023-05-03 13:03:30 +00:00
larrybr
6539977cfd
Conform CLI double-quoted escaping to what its doc says.
...
FossilOrigin-Name: 910535ba518f35ecc64c980ad67e3af69008d1995235f52ab12db6cefdb6602b
2023-05-03 11:27:15 +00:00
drh
b4824b055c
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
2023-05-03 07:30:15 +00:00
drh
ce2aa8bebe
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
2023-05-03 06:48:08 +00:00
drh
681307dc80
Improved detection of excess recursion on arrays and objects in the JSON
...
parser. Fixes a problem detected by dbsqlfuzz.
FossilOrigin-Name: d40fd5924adaa8d6b1dd6b9a4087f64d496cf60096ae11c9229c59309c0d4844
2023-05-03 06:38:03 +00:00
drh
790adfd8ec
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
2023-05-03 05:00:10 +00:00
drh
8777bdb78a
Do not even attempt to load the sqlite_stat4 table if the use of STAT4 is
...
disabled using sqlite3_test_control().
FossilOrigin-Name: 0bf94c77d97582be5368bcfd149f3db7b9f928b4684aaa2626d98a2bdee8f96f
2023-05-03 04:21:31 +00:00
larrybr
164b332d80
Fix CLI mishandling of OOM during .import _of_ a DB. [forum:7ed4a250d3|Reported by forum post 7ed4a250d3].
...
FossilOrigin-Name: 30da3f0ebd944754881bce678c61289fdaf1e32198d241cc6b5c003e4fb33c0e
2023-05-03 02:32:42 +00:00
drh
b504623802
In the CLI, ensure that the argument to quoteChar() is not a NULL pointer
...
due to a prior OOM.
FossilOrigin-Name: 776d1a47aae3c3679a2d158595e84facf118adf2d1bca0f0642311dd346479b8
2023-05-03 01:25:37 +00:00
dan
9cf09b5672
Fix a problem with the sqlite3changeset_size() API and rowid tables.
...
FossilOrigin-Name: 92ade220dcf5c1b76a5db605b1467a01051271957cd26f790755904fd82772eb
2023-05-02 20:34:15 +00:00
larrybr
d8200de04d
Give CLI quoted args hex escapes (as documented.)
...
FossilOrigin-Name: 90e434a6ae370a35109802fc336b98298d345f3d23125ef2cc68c31d8e69bb50
2023-05-02 19:33:27 +00:00
larrybr
8594f02c5d
Cure CLI hang on .import with high-ASCII column separator.
...
FossilOrigin-Name: aac8ac631de5c5b439c48c13f5fd271d76c11b1a5fd0919dfe4506ef7725f5ab
2023-05-02 18:03:25 +00:00
drh
bdb40cb18f
Allow for lower-case "nan" to mean NaN in JSON.
...
FossilOrigin-Name: 6bee0a19e2efb6e39097fb22602556791d3d3962c50a1a0471c39a0c61db632e
2023-05-02 17:33:34 +00:00
drh
d6b3a02d21
Interpret negative arguments to sqlite3_sleep() as zero.
...
FossilOrigin-Name: 2b542326aa8e7e1f6ed9d999b95ae5340278e0821277a17de3cc803b4af793ae
2023-05-02 16:34:15 +00:00
drh
8c79ea8447
Improved handling of NULL arguments to json_valid() and
...
json_error_position(). [forum:/forumpost/06c6334412|Forum post 06c6334412].
FossilOrigin-Name: ab78e6946ba8125a83ff155561adf9c8df4d1c09a645fce08c8245ddb08bfa3b
2023-05-02 11:12:01 +00:00
drh
67a17779cb
Fix typo in comment. [forum:/forumpost/3da7d9c445|Forum post 3da7d9c445].
...
FossilOrigin-Name: 41a8a15c4b6f6157b12d43976e300763ef8a4963986d2806557ad0d8b0a784cd
2023-05-02 10:22:05 +00:00
drh
53ffe6e21d
Minor code change in the CLI to make a UAF warning from scan-build go away.
...
FossilOrigin-Name: ad6aae768ad0816bfd1c8e9db5c0153226982d3af9a089f31e608223339e9829
2023-05-02 00:33:45 +00:00
drh
f9b58eb4f8
Fix harmless compiler warnings.
...
FossilOrigin-Name: 342af5b4fa0bd7c699e5497161db13d0cf795c7a5875ae30d666122e518f213b
2023-05-01 20:42:15 +00:00
drh
0f97dc28b0
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
2023-05-01 20:09:52 +00:00
drh
1f02cd6cd6
Fix harmless compiler warnings in FTS5.
...
FossilOrigin-Name: f6210017b3143ccbaea23655852f947f779bb438ad4fbf582f5da42f7cd1d9f5
2023-05-01 19:59:10 +00:00
stephan
58d40363b9
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
2023-05-01 19:28:07 +00:00
drh
59fe13e39a
Fix harmless compiler warnings.
...
FossilOrigin-Name: 0a926994691ccb02ea4f0ba3c2e8f728871ae67d24c705fbc0f7af81f38d5f47
2023-05-01 18:52:35 +00:00
drh
abdcfcef83
Add support for JSON5.
...
FossilOrigin-Name: f8c3ed23a6931b1da3b93b3274b132387078112a5c8e8d06b5312c47987d3937
2023-05-01 18:28:48 +00:00
dan
5ecee3dae3
Fix typos in comments in sqlite3session.h preventing documentation from being correctly generated.
...
FossilOrigin-Name: ab75170d5609c477613466e8880f20b74b0069281db6536fe09db06ea9d7cff3
2023-05-01 15:59:20 +00:00
drh
4cc6f869a4
New enhancements to the sqlite3_db_config() constants documentation.
...
FossilOrigin-Name: d74011a3c495719fe1816e15251269824396ac2a40e41f7b96f0dd507c9be609
2023-05-01 15:57:46 +00:00
stephan
043353483e
Expose the SQLITE_DBCONFIG_STMT_SCANSTATUS and SQLITE_DBCONFIG_REVERSE_SCANORDER sqlite3_db_config() options to JS.
...
FossilOrigin-Name: 0a7024af3f0e1dddc1a60c67bc4084e46b297dc16fe753bd5e6a45a59fd1cfa4
2023-05-01 15:42:59 +00:00
stephan
d45bbbb05c
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
2023-05-01 15:15:11 +00:00
drh
b5fab68162
Fix typos in documentation comments in sqlite3.h.
...
FossilOrigin-Name: 6a8b00788e7911287a8287277eb603e983e3324c9d62de0889ce6f0b2d848f4a
2023-05-01 14:50:54 +00:00
drh
908dec7404
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
2023-05-01 11:24:35 +00:00
drh
e210c93903
Fix abbreviated paths for objects such that they work even if the object
...
key begins with '$'.
FossilOrigin-Name: 1b991c78141a9915ae9350ecb347a758e50d7d25c8a0f4cc098ae10d47c27043
2023-05-01 03:56:48 +00:00
drh
5196d93505
Fix a problem with json_patch() when one side or the other is JSON5.
...
dbsqlfuzz bc10593a4ba8e7a7862593532285be31f00f8e41
FossilOrigin-Name: e18c0899cc774f6f20d2a73381fa3ab3af9355cf4d108c7612db259eadbb8b96
2023-04-30 23:52:55 +00:00
drh
dae7ae359e
Accept the full ECMAScript 5.1 IdentifyName syntax for keys in objects.
...
FossilOrigin-Name: 9be2c87518b33713210e3e2fa56924888e19415c71329141d18150b275f6f25e
2023-04-30 20:37:49 +00:00
drh
4a398c317d
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
2023-04-30 19:45:25 +00:00
drh
7be1473ccb
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
2023-04-30 19:34:41 +00:00
drh
5a5cba0692
Merge all the latest trunk enhancements into the JSON5 branch to
...
facilitate testing of the JSON5 branch.
FossilOrigin-Name: 30d12edebad9b097cd5f0da355304d1cb2f8b70d7c7dff378fd7ad7c8ebf9279
2023-04-29 18:40:48 +00:00
dan
e01e3b5b94
Fix a crash that could occur in fts5 'secure-delete' mode when operating on corrupt records.
...
FossilOrigin-Name: 2e85b0e3dcae0915aa6472a3654c8ac72a6b2083c11747f3f657c79bbdaf530b
2023-04-29 18:31:44 +00:00
drh
440f7b4833
More ALWAYS() macros.
...
FossilOrigin-Name: 770b09f7a795956be63a06847059370db8dfc88654878d742b7b826947029962
2023-04-29 17:35:29 +00:00
drh
f8ae2d2a2a
Add ALWAYS macros on unreachable branches in the new JSON5 logic.
...
FossilOrigin-Name: 91e15ed9d93e51b750172a074dbbcf206128e9476571ce6189b8ea0ba5ab4135
2023-04-29 17:13:39 +00:00
drh
399875f6c5
Simplification of the logic that normalizes JSON5 integer literals into
...
canonical JSON integer literals. Improved reporting of OOM.
FossilOrigin-Name: 01ee613c07fcb87e7d7b7f1b1387982715d1343418f37f4a1dc90e43a76d20e8
2023-04-29 16:31:08 +00:00
drh
d76d954de3
Do not allow leading zeros on non-zero numeric literals in JSON.
...
FossilOrigin-Name: 3e91494390ba88498eb243f61ce4ef4efa23b58326108a769bc72331d7d7d75b
2023-04-29 16:00:20 +00:00
larrybr
b608d7e2c6
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
2023-04-29 15:42:46 +00:00
larrybr
29c2f0366d
Replace duped generate_series() test with another corner case.
...
FossilOrigin-Name: fb2f08783fdfef4d5123ad66792de2265d39272d40d7bf1be7dd21876e8ffd73
2023-04-29 15:29:29 +00:00
larrybr
e0a3e4bd51
Sync w/trunk, improve generate_series() variable names.
...
FossilOrigin-Name: ecbf7e13e6454ee879c178c53ffa6face789e93ccbebb0cfac8fde72cb3a4952
2023-04-29 12:29:15 +00:00
drh
64953f0fb8
Minor fixes to to the JSON% parser.
...
FossilOrigin-Name: 2fe684cdcdc3cab4ec3348ca5aa5948e4472c562b739c29faebcb77397f8d969
2023-04-29 12:13:27 +00:00
drh
f176776bd7
Correctly recognize an isolated U+feff as a space character in JSON5.
...
FossilOrigin-Name: 4473dc8e3ad18bb6185ed4a819baf881a7d26ac74bc70fae6ba23a0030be8316
2023-04-29 00:59:22 +00:00
larrybr
7667f5f12f
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
2023-04-28 23:39:16 +00:00
drh
8f3fe2ead2
Bug fixes in the logic to skip over JSON5 comments.
...
FossilOrigin-Name: c736b77a2fc5f8f2ba8f770adf05443dfdc3a9847ee519f411e661f76756d611
2023-04-28 23:38:54 +00:00
drh
6e2de57963
Bug fix in the offset computation for json_error().
...
FossilOrigin-Name: 8f7ab5d9210490eb451534df246b82081a5aa252a1bd662659df3da429290837
2023-04-28 23:19:11 +00:00
larrybr
b0d46fcd72
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
2023-04-28 21:25:03 +00:00
drh
8e7efe3764
Improvements to the accuracy of json_error(). Add the extension SQL
...
functions random_json(SEED) and random_json5(SEED).
FossilOrigin-Name: 8d09dc1c45a8026b94f70273d064e47939f30cadedc17548b5a26ba054a8d3a7
2023-04-28 17:38:35 +00:00
drh
272ae627c5
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
2023-04-28 14:48:11 +00:00
drh
016f46666b
Fix indentation and omit trailing whitespace in the random JSON generator
...
script.
FossilOrigin-Name: 629db09fceb7bf37561b52ccee06ebf4df261291e9a8ffcca82b243f6db5ff07
2023-04-28 13:25:35 +00:00
drh
1170fb52e1
Fix json_tree() so that it is able to deal with the JNODE_RAW labels of
...
a JSON5 object.
FossilOrigin-Name: f56528d413d8e622f7c4f18b2f9f2e620bfb441c020461299b35a90072ee6c13
2023-04-28 11:02:01 +00:00
drh
ea2529528e
Merge all the latest trunk fixes and enhancements into the json5 branch.
...
FossilOrigin-Name: b5ca15cfc19380cf870b70be6a86e70f2026cc3d6d89005b45891d58c4f11c2d
2023-04-28 10:23:01 +00:00
drh
90f549a0cf
Do not assert() a bad string representation in an sqlite3_value after
...
an OOM. dbsqlfuzz c822a17a23c524a0ac7cfb203c7198209da15de8.
FossilOrigin-Name: 91fee79a01971259b21478e60a069a711a00efc79ddfececa6224a152cd8d09a
2023-04-28 10:10:52 +00:00
larrybr
fb016bf257
Make CLI .load slightly harder to abuse.
...
FossilOrigin-Name: 2779f9270cc431786d0e16ef05ec05b0f22dda2307f3bf17467ad0b25304e160
2023-04-28 00:28:06 +00:00
drh
fe03773305
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
2023-04-28 00:19:55 +00:00
drh
93b4c3beb8
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
2023-04-27 23:59:51 +00:00
drh
bfd28f9e01
Remove a faulty assert() from the CLI.
...
[forum:/forumpost/726c4f7db0|Forum post 726c4f7db0].
FossilOrigin-Name: 4bbebb6bfb9910265d91b777c1711b3b8e0732bcf299f7459b20c4ea110422bd
2023-04-27 23:44:38 +00:00
drh
d5de1f39b5
Remove an ALWAYS() macro that can in fact sometimes be false.
...
[forum:/forumpost/f0e872fcee|Forum post f0e872fcee].
FossilOrigin-Name: d85880e4ed89e2198beea642818051f7a91a71fea9929be0a7ed0603b493ce47
2023-04-27 23:40:03 +00:00
drh
52da6d2607
Test cases added, and some bugs fixed.
...
FossilOrigin-Name: bc84a82e4ddc1b71025c56c49e62a44f0b12fa87a6417ad61967d9d3121a0d4e
2023-04-27 23:29:09 +00:00
mistachkin
263b86c54c
Fix compilation issues seen with older versions of MSVC.
...
FossilOrigin-Name: 4ba2a651120391d779a3db9881c0fb17e1322cc9d8738f915a46e31a2f313578
2023-04-27 22:17:12 +00:00
mistachkin
cf5dce045f
Adjust OSTRACE usage so that it works with the changes in the previous check-in.
...
FossilOrigin-Name: 1eb4573e9092d350d00d05ba716cb0272e2dbb1ecbaadc2a7cc22de0b8cc2bda
2023-04-27 21:31:21 +00:00
drh
ae31f48826
Further optimizations to the JSON parser.
...
FossilOrigin-Name: bb8f1c16f244f893170f3d03bc445bd15fc337804c7c3e76c548397f5b95b39a
2023-04-27 19:30:53 +00:00
drh
1371df2117
Faster implementation of numberic literal parsing in JSON.
...
FossilOrigin-Name: 58398292e8473b0b9e4b77dd5ed27334bc24a85d0c399e8d0b86de6fb59dadce
2023-04-27 19:13:20 +00:00
drh
49d8e0ef97
Add support for hexadecimal integer literals in JSON.
...
FossilOrigin-Name: 85e00c9e68d0695592e8f72555ee133c096bfca5a860a8e21d1e0ef756705aaf
2023-04-27 18:28:10 +00:00
drh
47dd0e735d
All floating point literals "NaN" and "Infinity". Additional variants
...
of these literals are available if compiled with SQLITE_EXTENDED_NAN_INF.
FossilOrigin-Name: c13346afbecb92275e741252897d00478dab4be2d158889bc735e80efd9444f5
2023-04-27 17:32:29 +00:00
drh
8ded164200
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
2023-04-27 16:57:14 +00:00
drh
dbcea23976
Fix the handling of escape solidus in the JSON routines.
...
FossilOrigin-Name: 676877aca235e620ee12d10235dd6ad009d4968455ec170daeb1998b94a7e0a2
2023-04-27 16:24:12 +00:00
drh
13f8a80d94
JSON string literals may span multiple lines by escaping new line characters.
...
FossilOrigin-Name: 66da4bd4a30c390fa1a7960ce2edaef82e63971ecf33ffb6b906db9f278041c5
2023-04-27 15:48:58 +00:00
drh
ef3a162be6
Allow the labels on JSON objects to be unquoted identifier names.
...
FossilOrigin-Name: fb428db3f64f148ab9a3478fdcc8b3733e58102b3c8895a482e2551d974d5661
2023-04-27 15:11:26 +00:00
drh
0d8579120a
Performance optimization in the JSON parser.
...
FossilOrigin-Name: 5a88ba743f55d45b1c0ce0090bb3b396bcf7fcf7b3bcb989aaf30b8bb772599e
2023-04-27 14:38:51 +00:00
dan
2e225a35b4
Fix a problem on windows sometimes causing SQLITE_NOMEM to be returned if an error occurred while opening a temp file.
...
FossilOrigin-Name: c22a39a6b28e3039fe453c0c0db98744b8a63ef9063cc3f6e0ed67d2506d34be
2023-04-27 13:55:29 +00:00
drh
a549e7a527
Permit JSON5 whitespace in all contexts of objects and arrays.
...
FossilOrigin-Name: 93f3ab26b57c0469862a56e97d4b3c796b27f9f582046fcff1f2aa8d8910c550
2023-04-27 13:44:26 +00:00
drh
f59c01e24c
Translate JSON5-only string literal escape sequences into the JSON equivalents.
...
FossilOrigin-Name: 14e82f36eed31af1237898728bf353b968523c62b1f8d1d90dbbabd92d0c2834
2023-04-27 12:24:00 +00:00
drh
c5ee2d8e80
Implement some of the JSON5 enhancements to string and numeric literals.
...
This is an incremental check-in of work in progress.
FossilOrigin-Name: 9508efa9d61c0ff0eb73100dd52889dadc5fa2a2091b944a9b8a74e8a5c50e82
2023-04-26 20:26:14 +00:00
dan
6a9ba9a8c2
Fix a typo in a printf() format string the sessions module.
...
FossilOrigin-Name: 14d1c4a828660bc137dcea1bb4cc439e1ed3872867a0dab486f6a639ef3bcc45
2023-04-26 18:50:49 +00:00
drh
d924af2325
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
2023-04-26 18:23:47 +00:00
drh
f14b2e35fa
Partial implementation of JSON5 numeric literal extensions. Use a switch()
...
statement in the parser for better performance.
FossilOrigin-Name: 78404dc37024cad5fe7eacf78ea85b56f08b129a1b9a046c3e1b11275068a485
2023-04-26 17:30:28 +00:00
drh
5255102e04
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
2023-04-26 15:58:08 +00:00
drh
f62518f65d
Work toward implementing JSON5 whitespace. Untested and incomplete.
...
FossilOrigin-Name: d262c059455ebe0650a45a6c1c04d1baf9609c635df352732dd192426e1bdc39
2023-04-26 15:19:19 +00:00
drh
ddc8b9ee0e
Fix to the json-speed-check.sh script.
...
FossilOrigin-Name: d839c9544d7f28c1abc779eb2d40f95c1a9386984656fbd29d19b1e7830171bc
2023-04-26 13:52:20 +00:00
drh
02efa7be96
Add scripts for JSON performance testing.
...
FossilOrigin-Name: 3051d6a7c12cbf86634d8fab64f3f3bc9a1eb184260e56a82eb543cb634ba7ef
2023-04-26 13:25:30 +00:00
drh
058f3dbb27
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
2023-04-25 21:24:20 +00:00
dan
69d98d9f93
Allow the sessions module to be configured to capture changes from tables with no explicit PRIMARY KEY.
...
FossilOrigin-Name: 5d4431bc44e206f48f3bcc1f51399b38bd4cb418e7e50a37495475fb8da04646
2023-04-25 20:41:19 +00:00
dan
77a159212b
Remove unused variable ltoj accidentally added by [1783655e].
...
FossilOrigin-Name: faa1575ce0a39a2335a77057e8769a4e67aedd6326b4627988d03f0cb21fc39a
2023-04-25 14:54:18 +00:00
dan
0941ea8a62
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
2023-04-25 14:37:12 +00:00
larrybr
38c2052767
Handle newline-trimmed input TEXT correctly in base64, base85 UDFs.
...
FossilOrigin-Name: 8f637aae23e6638c064a34262dcf16a3cdfd000fb1fa1b2a834b292fe6659408
2023-04-25 04:28:39 +00:00
larrybr
21461407f6
Check for OOM sqlite_value_x() returns in base64, base85 extensions.
...
FossilOrigin-Name: e6f9c0b1f963033a8e17d13935c5c6b12d263fe10c585035a3d1f1154c6ba5d6
2023-04-25 02:44:53 +00:00
drh
be5bada4d0
Allow trailing commas in objects and arrays of JSON.
...
FossilOrigin-Name: 4031b231c223db598b45dbd192b027a99a9b82a981d43c75f723a3fb06720b82
2023-04-24 23:14:34 +00:00
drh
7eff609d8a
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
2023-04-24 19:23:42 +00:00
dan
655a1b7b58
Allow the sessions module to be configured to capture changes from tables with no explicit PRIMARY KEY.
...
FossilOrigin-Name: 8a612f0860126c0c8473b1e65fcabb9a8821d8bf09fdf3f6018acfc99df9af71
2023-04-24 19:22:21 +00:00
stephan
92df71a360
Add a note about the journaling mode in the OPFS VFS. No code changes.
...
FossilOrigin-Name: e79c95fc130fc302719690eb6391d96070aff825b2b51ef6c4ad459d9a8918d7
2023-04-24 04:25:42 +00:00
larrybr
022a042897
CLI to have "undocumented" dot-commands, not usually shown by .help
...
FossilOrigin-Name: 17f5dd2d2ae02a95180b9208b7de805922ba20271d3263e3193f0d46f4ec324c
2023-04-23 00:12:23 +00:00
drh
223c6b48a9
The sqlite_stat4.idx field is case insensitive. It should work even if
...
some entries use a different case than others. Fix for
[forum:/info/6c118daad0f1f5ef|forum post 6c118daad0f1f5ef].
FossilOrigin-Name: f097ca70b5b967d1aadebd74ac5020813e00b7c30cc543814dbf5f359d1328f1
2023-04-22 22:32:19 +00:00
dan
4d24eff8dc
Avoid a crash in fts5 when combining an empty expression with another.
...
FossilOrigin-Name: 33681ff3d29c9f096dbd8c5d885993f780e93974a7653adc00fa41a158356d7c
2023-04-22 20:47:08 +00:00
drh
2f251f4929
Enhance the ".tables" command in the CLI so that it is able to deal
...
gracefully with an OOM situation.
FossilOrigin-Name: 5157fd1cf753b1c01c6c00e9ac2712da2631a673837ed15ec3420ec869ee66aa
2023-04-22 20:22:17 +00:00
drh
f661db3050
The assertion-fault fix in [53a61f7423a7f057] was not quite complete. This
...
additional change enhances it to deal with WITHOUT ROWID tables. No changes
to deliverable code.
FossilOrigin-Name: 4d5af42c651bc1655a4f09b743f2a1424f19c1e4248e041b3fd4a042fd1f9799
2023-04-22 20:07:48 +00:00
drh
57114c256f
Add the --unsafe-testing command-line option to the CLI. Without this option,
...
features of the CLI that are intended for testing and that might result in
incorrect answers, assertion faults, and/or corrupt database files if misused
are disabled.
FossilOrigin-Name: f28256a96af4263c0caded79b7481b88e9c7e7f1af7dbb3fd5e22ff07fbedaf3
2023-04-22 17:41:53 +00:00
larrybr
e945b29359
Add --unsafe-testing invocation option to CLI. Needs some tests added and changed.
...
FossilOrigin-Name: b3d9ac052d5c2dd1afeeeb5c9cfac9dd91a1b8d6a74a2ef10aa2037ca505abce
2023-04-22 16:46:38 +00:00
drh
a9c4c82ef1
Fix an incorrect assert() statement in btree.c as found by
...
[forum:/info/d03345d572713fe6|forum post d03345d572713fe6].
FossilOrigin-Name: cd485b302c54aef066d751a153df34eea0cd23e54a414e291f636ad9929fe78a
2023-04-22 12:47:16 +00:00
drh
fb50f96121
Fix a incorrect assert() statement in the pre-update hook logic. No changes
...
to production code. Fix for the problem reported by
[forum:/info/19b217bfe709a072|forum post 19b217bfe709a072].
FossilOrigin-Name: 53a61f7423a7f057568a1d8a1e63be01a2328997850dc32e3d8c6d51f1c5ab0b
2023-04-22 12:37:41 +00:00
drh
bbe1986761
Fix harmless compiler warning in [1489e7f53a4863b3].
...
FossilOrigin-Name: da907dbc60b4f754845ae0bedc05cbda4cbfed9f468be3ffdc18860c763d9324
2023-04-22 12:11:31 +00:00
larrybr
1a2c7f9029
Also fix no-length string intolerance for CLI json mode.
...
FossilOrigin-Name: 3ac1984039a50445ff65db97468a5313d7f09db7b604755e444b77ac9346ea76
2023-04-22 11:33:27 +00:00
drh
d9eb39e625
Early out from sqlite3Prepare() following an OOM to avoid possible
...
problems further along in the parse. Fix for the NULL pointer dereference
reported by [forum:/info/2e5131839365682a|forum post 2e5131839365682a].
FossilOrigin-Name: f35ce7c122017009496b777f33e641d0be086abee6ea8e25aab4c3e0fb45731a
2023-04-22 11:29:36 +00:00
larrybr
8bfa190e9a
CLI to handle absurd string length limit better. [forum:5180af725f1cc375|forum post 5180af725f1cc375]
...
FossilOrigin-Name: 1489e7f53a4863b316af6dee10d9c66491d1bed6cf52a3538ac118c03b1d7ef9
2023-04-22 11:24:52 +00:00
larrybr
c40a7c82fa
Avoid need for cast in CLI shell_check_oom() calls.
...
FossilOrigin-Name: c88550ef6711b03a81e2e6d121e2eb99ccff6e925c025dd6e85dd81088508400
2023-04-22 09:26:36 +00:00
larrybr
5870e942c2
Fix unchecked return in CLI .dbi command. ([forum 79e2cd1bc](forum:)79e2cd1bc)
...
FossilOrigin-Name: 81a74ee9d66ba23dfadd875e372ce96491dd6bf146e03e7fec8c3fd98e6be825
2023-04-22 09:14:22 +00:00
stephan
0e38c6e696
Change the return type of the ts_read/write() family of functions from int to ssize_t, per report in [forum post 947169d5e7](forum:947169d5e7).
...
FossilOrigin-Name: 7809e7ce6a70657b8ea239eb4778698f7986a658e9177a57b2fb7814c069c936
2023-04-21 15:37:33 +00:00
drh
11d5efde75
Add a new modifier to date/time functions: "subsecond". May be
...
abbreviated as just "subsec". This modifier causes functions to try
to show fractional seconds if they do not already.
FossilOrigin-Name: 03f2a15e8779d8ca76510badeabde62a0539ce8a6368d7a9688f5aadc215b940
2023-04-21 15:30:47 +00:00
larrybr
88ed723490
Increase CLI tolerance of arifically low memory.
...
FossilOrigin-Name: 13f2638622871db9b91db547dcfd38f61c03e7696e4df5144adefcd86140aeba
2023-04-20 20:07:14 +00:00
larrybr
1829f34f46
CLI .ar made to enforce getting a proper subcommand.
...
FossilOrigin-Name: 104ab105ac0e96c0fc61c6d69179bf984fcfe5e0efb2c82f3742456c1b5fe5d1
2023-04-20 16:15:20 +00:00
drh
5eca6ffe5c
Fix a function declaration so that it correctly appears as private in
...
the amalgamation. [forum:/forumpost/ec8c77516c|Forum post ec8c77516c].
FossilOrigin-Name: 1864569bb9fe28a5e77f34b199f26ac272dbbb1a6642dacd7e50ddd29aa567b6
2023-04-20 10:40:37 +00:00
dan
9549245509
Fix a broken assert() in the recovery extension. [forum:/forumpost/82a88f5812|Forum post 82a88f5812].
...
FossilOrigin-Name: 8a1ad137606ce5bddbed62f89ff9a5cd922c6530db84c12b8b27c08df3c66bc6
2023-04-20 10:26:56 +00:00
dan
8cb4f0b1b2
Add tests for the progress-handler callback with the fts5 'secure-delete' feature.
...
FossilOrigin-Name: 48505ad950bc0902d58210be066d4672e6085eb27c525ba2bc663fde7e932ff7
2023-04-19 20:29:26 +00:00
drh
f23adcbaa4
Improved rebustness of the pcache tracing logic.
...
FossilOrigin-Name: 0a43235b8368a0996d1856c4e956786a5321275458cb9179ce818aa47bb824ed
2023-04-19 18:36:49 +00:00
drh
2cc723a2da
Remove unreachable legacy code.
...
FossilOrigin-Name: e3e7fb87d90690c29b70da261887c8f7d87b62188d15577e48db91232e13608c
2023-04-19 18:32:32 +00:00
dan
3115b36d67
Fix a segfault that could occur if a non-empty in-memory database was the destination of a backup operation from a database with a smaller page size.
...
FossilOrigin-Name: 020968f857d7b90bab3525fc9d6b859a019f6a80422c3d5ffb88f5bdb8e02a11
2023-04-19 17:07:35 +00:00
drh
2c5c124064
Do not remove pages from the cache of an in-memory database due to a
...
failure to acquire the page due to it being larger than the maximum page
size. Fix for [forum:/forumpost/a19bb49140|forum post a19bb49140].
FossilOrigin-Name: 982b35563da685dfdf50cbe4a7ae829d3b428e03587028df7efe520f819b1dc2
2023-04-19 15:35:45 +00:00
drh
ec0ed68846
Fix ambiguity in the header comment to the sqlite3PagerUnrefNotNull() routine.
...
No code changes.
FossilOrigin-Name: d419e65eef2954ed759121254024028854b55e8c4f52ff7a8896c8cadfc57f53
2023-04-19 14:26:43 +00:00
drh
4c0fca00d3
Fix a debugging printf() in pcache.c. This only comes up on custom builds.
...
FossilOrigin-Name: f2d6756731caadf9a30214ab7d19717a2ca1dae2652bcc6b211f6b0830362240
2023-04-19 13:56:47 +00:00
stephan
b669956637
Correct use of an undefined symbol in one of the OPFS VFS loading failure error reporting cases (copy/paste error).
...
FossilOrigin-Name: c81c968b458977b2d6dd2fdd3c3d667f0e7cee069f3715363d0e8aed4e6e8377
2023-04-19 13:39:13 +00:00
drh
d9ae63144e
Add pager debug tracing of truncate operations.
...
FossilOrigin-Name: 0daadf36229816abe73ff684b55ef4f8045ed314347f3a694404a2084decb355
2023-04-19 13:30:17 +00:00
drh
e61aa230ce
Attempt to suppress harmless compiler warnings reported by
...
[forum:/forumpost/fc98845c06|forum post fc98845c06].
FossilOrigin-Name: f6e6c5f94cef83645288568a344a0ff64e4ef17b10fab28996567a94db0a002a
2023-04-19 12:08:46 +00:00
larrybr
cbba7e61d6
CLI to cease dumping back to OS shell on single ^C when interactive.
...
FossilOrigin-Name: ba8e4378f21d529a248d2d60b60974fef0d6612dcaaa1f6b7f8a6946fc46b39b
2023-04-18 23:05:34 +00:00
larrybr
837b661f2c
Add comment on CLI ^C fix (because it is a bit subtle.)
...
FossilOrigin-Name: 19c062f1cd814a33bf9c10928217464cddaea7c3291ff44e605901a86b82a06d
2023-04-18 22:53:30 +00:00
larrybr
7b1a49c993
CLI to cease dumping back to OS shel on ^C.
...
FossilOrigin-Name: 7b1f635268bd5b093b22f832c3ac9e5d642d1aac5ebc620619be5a24930feb83
2023-04-18 22:28:48 +00:00
drh
359c5ac1fb
Ensure that the VACUUM command is not confused by alternative encodings when
...
it is the first command run on new database connection.
[forum:/forumpost/09503b4d33|Forum post 09503b4d33].
FossilOrigin-Name: 8b0fe63f873661037351fc1eba6071b98b5c97a0fc8bd8a504a90d047f78bc0d
2023-04-18 15:21:55 +00:00
drh
f84aeac274
Another fix to the indexed expressions in aggregate queries with GROUP BY
...
enhancement of ticket [99378177930f87bd] and implemented by
check-in [b9190d3da70c4171] to address a problem described by
[forum:/forumpost/f34e32d120|forum post f34e32d120],
FossilOrigin-Name: 5acc3ef83e16a9f2803981a6e61eca62fe177cac4eed1befe2ade3a5977a1eab
2023-04-18 14:13:54 +00:00
drh
053a29c291
Add the --fullsync option to speedtest1.
...
FossilOrigin-Name: 960fe54c8227a376c97bb2a3ba604d97e79e27e51a9798be9d318cf56c04fa99
2023-04-18 11:35:09 +00:00
dan
a5eab9579a
Fix an assert() in fts5 that could fail following an OOM or IO error.
...
FossilOrigin-Name: 49595083ba58e13d404b6a11c28f53768a257c59f3f36be3591438127df7e875
2023-04-18 11:33:35 +00:00
larrybr
ab4af9c368
When CLI -utf8 active, do no translation to MBCS for output to Windows console. plus code style improvements
...
FossilOrigin-Name: 25edf6089724bf9f97c796e5abf838ec508ebc132895d8325620c16d63996fef
2023-04-17 23:59:15 +00:00
mistachkin
acb4050cfc
Minor coding style changes.
...
FossilOrigin-Name: 481aa3ccf6f12c2c2fd11a1a20d8fb59f4f9b1cd8dcff0586b4f52222463d720
2023-04-17 22:28:02 +00:00
larrybr
690ebc6908
When CLI -utf8 active, do no translation to MBCS for output to Windows console.
...
FossilOrigin-Name: cc1d4296d71ee6e2ba133edc581385e201c89657911c2ed39108843c776633a4
2023-04-17 21:18:53 +00:00
dan
68c0da6f66
Fix some problems with using fts5 options 'secure-delete' and detail=none together.
...
FossilOrigin-Name: 4d3f27ba90aa59837e49ceaae9f36cad426af3a33707d85d1bb848fc1bda6fed
2023-04-17 18:32:22 +00:00
dan
48824f23cb
Fix problems handling corrupt records in new fts5 code.
...
FossilOrigin-Name: 2f63d4a8bac6dc72197df32efd84c148adbc4794943088dff08da57b15dd7900
2023-04-17 11:41:42 +00:00
dan
5c45a9fbaf
Fix an assert() in fts5 that may be true when dealing with corrupt records.
...
FossilOrigin-Name: e8de2774463c07b76cd6b9a44ab32a583fe973f42a21b21af46fe82ab177c1b8
2023-04-17 10:39:51 +00:00
dan
ae6f6ef3b0
Change a memcpy() to memmove() in new fts5 code.
...
FossilOrigin-Name: 8de4542553ae20947787b4daf5e88bbe69f815679960e700e19f9c1148234b08
2023-04-15 21:00:55 +00:00
dan
0e429cf934
Fix a use-after-free that could follow an OOM or IO error in fts5 when using 'secure-delete' mode.
...
FossilOrigin-Name: 904be83d9f3dd4b21a3aa47dde337b5c045b925ffdde4bccd1f8e8fdbef68c18
2023-04-15 19:58:58 +00:00
dan
e45317a50a
Avoid dropping the error code following an OOM in fts5 when using 'secure-delete' mode.
...
FossilOrigin-Name: 9ee24a499c7b4a048f269f1c03c7c0b22b2898a3c23ea3e2511c2ba0342afa30
2023-04-15 19:13:51 +00:00
larrybr
a8e9a7763d
Add -utf8 option to CLI, for improved console behavior on Windows.
...
FossilOrigin-Name: 414010d2366477285cb238f7af1e3d511ab4cda4bd4493441bd9868387dd5b66
2023-04-15 17:56:43 +00:00
dan
7dcc3dfc04
Add the 'secure-delete' option to the fts5 extension. For configuring fts5 to delete old entries directly from the full-text index instead of using delete keys.
...
FossilOrigin-Name: 394980e4fe12125460ab14da41edae9089a4da332a46f3124bf0b9778793791f
2023-04-15 17:47:32 +00:00
larrybr
9726db69e6
For CLI -utf8, set output codepage too. Adjust PP vars so that the code can be entirely omitted for targets pretending to be "WIN32" but not quite doing so.
...
FossilOrigin-Name: 543594a7277b12d1c58af8e3cba3841667cf924172995536489ce7da704a11d7
2023-04-15 16:12:46 +00:00
larrybr
5f347a426d
Fix stray edits in comments in last check-in.
...
FossilOrigin-Name: fa3ce7f013d40147f012e26d0ede75b134174f144d314336310c9ac585e23fb7
2023-04-14 21:34:58 +00:00
larrybr
cdb8a698c1
Set CLI -utf8 option and build with line-editing package to be mutually exclusive. Integration of console-invasive UTF-8 handling with line-editing takeover of console may come later.
...
FossilOrigin-Name: 047344a91583f273a55fe3659bb8020ffc947c05c4274fbda54ee0608e62adb1
2023-04-14 21:23:08 +00:00
larrybr
67f678138d
Cure CLI double-prompting (by ditching gcc fgetws()), general cleanup. Work remaining is to avoid effect of -utf8 when a line editor is linked/used as part of CLI.
...
FossilOrigin-Name: 73a5f54231e9f6ad8f013df3987ea48c516080f9193ed873b56f982ee75658c2
2023-04-14 19:56:32 +00:00
dan
112500028e
Further tests for fts5 secure-delete mode.
...
FossilOrigin-Name: c5a47063b7971868ebbb3f0718434dd6bd22d01c43697f48941df9aae3885abc
2023-04-14 18:00:03 +00:00
dan
3fc123b7bc
Add extra OOM test for the new code on this branch.
...
FossilOrigin-Name: 846ae7e099ce67dab6b5df0ad5648a01d7bf7f2acf8312d817ed8505d4ea5aec
2023-04-14 17:00:29 +00:00
dan
d36106c954
Add tests for the new feature on this branch.
...
FossilOrigin-Name: 0268d1a59316d169927cbd4c562725e46a9023b7d7123ade911c12203e222adf
2023-04-14 16:11:05 +00:00
dan
41334cf960
Fix SQLITE_OMIT_VIRTUALTABLE builds of testfixture.
...
FossilOrigin-Name: 430ec1a61507d8afd8adc161f577f32856dba21506db9717fae3d14570786439
2023-04-14 14:36:34 +00:00
dan
95dc3e08bd
Update test script recoverbuild.test so that it may be run using old test harnesses that run more than one test script in a process.
...
FossilOrigin-Name: 5135aab0c0ab39f3b9cc84efbbc57f7266b42d98134fc0c5dace06f707374195
2023-04-14 13:34:26 +00:00
drh
deabd6969b
When setting the column types on a subquery, ensure that the COLFLAG_HASCOLL
...
flag is cleared from column names from when the collating sequence name has
been removed.
[forum:/forumpost/6916dacf83|Forum post 6916dacf83].
FossilOrigin-Name: 8d9dcd7cfdd53034e21cdb2cb997b6f5fe3207ca5d0d7a0b841b8a68e6ce8624
2023-04-14 10:40:50 +00:00
drh
a73f51447b
Fix a cosmetic indentation issue.
...
FossilOrigin-Name: 90deb84486494b903bab065fbf0174b56483c190353992b907359661393f2c54
2023-04-14 10:35:29 +00:00
drh
2142b7c0a6
Avoid double de-quoting of table names when processing RESTRICT actions
...
in foreign key constraints.
[https://bugs.chromium.org/p/chromium/issues/detail?id=1405220 |Chromium 1405220].
FossilOrigin-Name: bb2b5ab172f0751c00343facf36fb12db10c88220caece31849f2711f12293d9
2023-04-14 00:20:16 +00:00
drh
731a1aaeb2
Fix an obscure issue with ALTER TABLE RENAME that comes up with triggers
...
that have UPDATE statements that contain errors.
[forum:/forumpost/ff3840145a|Forum post ff3840145a].
FossilOrigin-Name: c4845a7c5f7f219848d3ee32eef0f9c69ad6dc6e8509da84d612f41e1e05f007
2023-04-13 18:44:59 +00:00
dan
8efa288f99
Add extra test cases to window1.test.
...
FossilOrigin-Name: ebc844fbfb046c5789efe21fd607c9301cb7b3d78edef72b2926b8c889b048a9
2023-04-13 14:53:19 +00:00
drh
017bdf7838
Fix a code-generator issue associated with very unusual use of window
...
functions. Both the expr.c or the window.c changes will each
independently fix the problem. They are both included in this patch for
defense in depth. [forum:/forumpost/0d48347967|Forum post 0d48347967].
FossilOrigin-Name: 1ba22631a7831e3562eda0eb6a5edf7f009c85c7ab4451d9eacd13ef0fb6036a
2023-04-13 14:50:50 +00:00
larrybr
4e87950b48
Get CLI utf8_fgets() to not consume more input than it returns. Get console setup restoration to happen for all non-crash exits.
...
FossilOrigin-Name: b4fa233d3dda54fa83771844cf5156bf1275c687925340af17a7713a9400dfef
2023-04-13 14:14:27 +00:00
drh
3f4a319934
Unwrap the loop in the WAL hash function.
...
FossilOrigin-Name: eb94ae13206762a42ddad12e0d1461df83e9759e44a369f188cd3aad82f211c4
2023-04-12 20:23:03 +00:00
drh
be0023faba
Automatically set HAVE_PREAD and HAVE_PWRITE on linux, as has been done in
...
MacOS for a long time now.
FossilOrigin-Name: 2f7a36d2c374100019bd9d38aea51ea10cfcf9b1f0330ba084a75f0773df8ebf
2023-04-12 19:40:00 +00:00
drh
6b507423a0
Small performance enhancement to integer-to-text conversion.
...
FossilOrigin-Name: cfb3dba9b015ce7a75857978bfd2540b4d5be985d9d2ec4a5842b3089ed3da60
2023-04-12 18:57:50 +00:00
dan
7877dca93f
Avoid leaking a database handle in test script rbuexlock.test.
...
FossilOrigin-Name: 2edf98d128cabc0c9de1295470d7f87eb64e4cc1f13344fe3c198fcf9c7bf019
2023-04-12 18:18:28 +00:00
dan
02877e9558
Remove temporary debugging code accidentally left on this branch.
...
FossilOrigin-Name: 0a0f64870feaf95d2673efc8884ad1236d9bbf9bdb94364f8d2602221bd36ff3
2023-04-12 18:06:43 +00:00
larrybr
ad5a7da489
WIP: CLI option to take control of console on Windows and make it support UTF-8 input pasting (or typing). Needs work to become robust per "ToDo:".
...
FossilOrigin-Name: 824382393d92d9eb6df8701de7c263280150569a708759c4a539acc6d8d38821
2023-04-12 17:54:52 +00:00
dan
015020cd1a
Add the 'secure-delete' option to fts5. Used to configure fts5 to aggressively remove old full-text-index entries belonging to deleted or updated rows.
...
FossilOrigin-Name: 4240fd09b717dbc69dffe3b88ec9149777ca4c3efa12f282af65be3af6fa5bb0
2023-04-12 17:40:44 +00:00
drh
67f3765876
New #ifdef to enable building with -DSQLITE_OMIT_WINDOWFUNC.
...
FossilOrigin-Name: e1ff83fa2565334b28bd0d6582088c4ae0d2d9a590d973615a4a598683fe419c
2023-04-11 19:38:47 +00:00
drh
82aacda7eb
Remove an ALWAYS() that can sometimes be false. Add a test case that makes
...
the test false.
FossilOrigin-Name: c8fb143d64d8e823684cd26799080da4b42bef121ca3c6315b1803a593490926
2023-04-11 15:06:20 +00:00
drh
e4d8e7e5df
Better handling of OOM errors in the cursor-hint logic.
...
dbsqlfuzz 60cd5fff91974af91c2c3692beb4a2d7fdafef46
FossilOrigin-Name: 68fcfb58df837b40e401dfa4e505f4f0b87554b9cfeb2c527f3558348b73c1be
2023-04-11 02:10:34 +00:00
larrybr
69881887b8
For sha3 extension, mention NIST standard implemented.
...
FossilOrigin-Name: 529ab138a438379f0cbd170bff5211aee1c327a1b3119a714ee15f68fd2239f3
2023-04-10 23:21:19 +00:00
drh
ed36917835
New assert() statements to validate the parameters to
...
sqlite3BtreeCursorHint(). Fix a problem with the construction of those
parameters discovered by
[forum:/forumpost/0b53708c95|forum post 0b53708c95].
FossilOrigin-Name: 4c5a3c5fb351cc1c2ce16c33314ce19c53531f09263f87456283d9d756002f9d
2023-04-10 18:44:00 +00:00
drh
8346f8dacc
Sync the vt02.c test virtual table with TH3, in order to pull in the fix
...
for long delays when there are huge OFFSET values.
FossilOrigin-Name: 49ba030080dd00b4fdf788fd3da057b333e705fa0fe37d653e2461bf96ca3785
2023-04-10 13:20:51 +00:00
drh
d27c18818c
Fix an assertion fault that can occur when compiling with both
...
SQLITE_ENABLE_UNKNOWN_SQL_FUNCTIONS and SQLITE_ENABLE_STAT4.
FossilOrigin-Name: 9ff69e599817610d14948a3eebcc4d3c18245f78a1433c23ae659211cbbdb017
2023-04-09 20:44:09 +00:00
drh
d4fe3c77e6
Fix a faulty assert() in whereRangeScanEst() that should only apply if there
...
are not prior errors.
dbsqlfuzz 567ad91132879cbab8172b38c6a68ad40fa8d650.
FossilOrigin-Name: 8ba9b08bd976ed2c024f5f378b4dd40a55226e950af77c476c21273fccaf7e26
2023-04-09 10:09:28 +00:00
mistachkin
1a2f490fbc
Fix a couple harmless compiler warnings seen with MSVC.
...
FossilOrigin-Name: 1b864a370fd04bba11487e3dab0388394bc71e1f3f006f7bd9d64eefe04e8b61
2023-04-08 19:27:03 +00:00
drh
df3944ecb8
Fix a typo in [83e84531b46814ae] that changed the value of
...
SQLITE_DBCONFIG_STMT_SCANSTATUS.
FossilOrigin-Name: b71776539183e5fd8678ce8f3272180d3dbb8214ed7b7bb24d35c0ba027a6ac5
2023-04-08 19:23:13 +00:00
drh
9e0181fcf7
Faster implementation of keywordCode() - the routine that determines if an
...
identifier is really a keyword and if so, which keyword.
FossilOrigin-Name: 0ff3d3d53709b7f18bf01ded1f988e41b7f8471072cf4f2702a3a8b79964be3f
2023-04-08 16:51:08 +00:00
drh
a9b20c0937
Fix a harmless compiler warning.
...
FossilOrigin-Name: c9559ba62191fe7fa2a718233afaa841e2594d1fc833314bf5b0a6b775e87c35
2023-04-08 13:31:17 +00:00
drh
2da07d9025
Optimizations to btree.c save about 4.5 million CPU cycles:
...
(1) Clone insertCell() into a separate insertCellFast() routine for
use by sqlite3BtreeInsert(). (2) Mark allocateSpace() as always-inline.
(3) Improved coalesence of adjacent free blocks in pageFreeArray().
FossilOrigin-Name: 5c12c400fe8eb4e86e14c69a6c34d0d78d9861e5d40a36c6a596a81c6dd65977
2023-04-08 13:01:34 +00:00
drh
65aae44b87
Guard against oversized cells in the newly enhanced pageFreeArray().
...
FossilOrigin-Name: 2dcdbb50356edbd3a79e53fa0bee4e700c2bdea78e27173b62ddabe44b066726
2023-04-07 18:27:32 +00:00
drh
3da5e2a9f3
Add NEVER on an unreachable branch.
...
FossilOrigin-Name: 9b3febbd988be05807ada20146d3e196ae17c966722fff049feb32292157bff2
2023-04-07 16:30:33 +00:00
drh
81e31c9c2b
Fix an assert().
...
FossilOrigin-Name: 7eff46ba97dd8a3d6a5d01d5d61e98a2805deceafa47335eded7d784a8304525
2023-04-07 15:49:42 +00:00
drh
706c33d9ba
Tweaks to the new insertCellFast().
...
FossilOrigin-Name: 203a581a9177c1083e8d5b49e8ff026af33b5c5e3e144aeda126f07a3a2953bf
2023-04-07 15:07:58 +00:00
drh
34ceb7e622
Clone insertCell() into insertCellFast() for use by sqlite3BtreeInsert() for
...
a substantial performance increase.
FossilOrigin-Name: f225afd90c8e65661d8b855050f0ee1a8fe4c0f3bcec824aa5a66d906f3c7119
2023-04-07 14:33:33 +00:00
dan
6d47af64e4
Fix a problem causing the rbu_exclusive_checkpoint=1 to be ignored with zipvfs databases.
...
FossilOrigin-Name: d8f50b31e8d64fce5141da4a016767a15482703364692a55df346f059fc9d30c
2023-04-07 14:03:30 +00:00
drh
b39f037ca5
Small performance improvement in freeSpace().
...
FossilOrigin-Name: 8dc5292ee592f16451441e33ad0800ba10a21ecd63f1f9926d6915a59a1552d3
2023-04-07 13:21:20 +00:00
dan
1e24f9f1f3
Add further tests for the rbu_exclusive_lock=1 URI option.
...
FossilOrigin-Name: c07b62bef96bb69e9b1ce08f0084fdce8de981f4d8ea9689c87a41f1e4451ac7
2023-04-07 11:18:08 +00:00
drh
50dc8d9720
Increase the size of the cache of free blocks inside of pageFreeArray() to
...
reduce the number of calls to freeSpace().
FossilOrigin-Name: 27c59f1ea789f3ff245f23e79ded5cd71c48e3a51ffbb8c220b51101a4e69fd7
2023-04-06 20:14:10 +00:00
drh
82412051db
Work around a harmless assertion fault associated with
...
sqlite3VdbeMemAboutToChange() such that the detection of stale values
in registers is preserved in debugging builds, but we avoid a false-positive
assertion fault in cases involving a virtual table with a LIMIT clause
in an IN-operator loop.
dbsqlfuzz 3fd70d4ab4950acf1deb8f610a7a7c67cd38713b
FossilOrigin-Name: 56ea2c2fe6108d39833ac40957afab59ade01a216639d5bafdeeca53bbf4cd67
2023-04-06 17:29:38 +00:00
drh
ebec9c475e
A prepared statement that aborts due to SQLITE_SCHEMA should not invalidate
...
cursors in other prepared statements that are already running.
See [forum:/forumpost/cae4367d9b|forum post cae4367d9b] for the original
trouble report.
FossilOrigin-Name: 857d0f5e16ba69ac9e5ee581befca2f7ed933edfe6e36396b10dae7979b44a57
2023-04-06 13:35:42 +00:00
drh
5482afd6cf
In the CLI, during error processing while looking for a word boundary,
...
avoid being deceived by malformed input that has a very long sequence
of 0x80 characters.
[forum:/forumpost/ab93a23ba1|forum post ab93a23ba1].
FossilOrigin-Name: 82609d5a2d4eba741d48ea265f4e749578964961903c072c7b222ffe2aefaa3c
2023-04-06 01:05:52 +00:00
drh
c6349ce205
In the zipfile extension, defend against corrupt ZIP files that contain
...
a zero-length filename.
[forum:/forumpost/b15f5e3ad8|Forum post b15f5e3ad8].
FossilOrigin-Name: 46db2e42a5f9b18da9661ccedca68cb70257ea5c58b33b401db2a5e030c1346a
2023-04-06 00:59:41 +00:00
drh
1ba1806637
In the new .scanstatus command in the CLI, make sure the database is opened
...
before invoking sqlite3_db_config().
[forum:/forumpost/6e26dcf544|Forum post 6e26dcf544].
FossilOrigin-Name: 1cd993c45cd6b60e00d1426dd01d63efad13f7258636b5fa694f21499e77955a
2023-04-06 00:18:31 +00:00
drh
072a02ce2c
Add a test case for the ALWAYS() macro removed by the previous check-in.
...
FossilOrigin-Name: 68a1a837493a0bc5e0e0f2373ac76cb575078cec08990c017fdcb51a4ba363a1
2023-04-05 02:55:08 +00:00
drh
9d10ba8b1f
Remove an ALWAYS() that might now be false due to the prior check-in.
...
FossilOrigin-Name: fc68993501aaa7180f5457dcb3c296e5b199904a385d98e2bcad7854e34d428e
2023-04-05 02:50:00 +00:00
drh
8907cb2f88
Fix the function that determines the collating function for an expression
...
tree to handle new cases that arise as a result of the recently added
ability to use indexed expressions in aggregate queries.
[forum/forumpost/0713a16a44|Forum post 0713a16a44].
FossilOrigin-Name: cc5041f3f067cf610adffb868b4e2d1b5d248dc5a0ecc551339b670800ecb0ff
2023-04-05 02:21:57 +00:00
larrybr
c6c4bae80a
Shell to use SQLITE_SHELL_HAVE_RECOVER consistently (correcting check-in 0421cc03e0efa8f1)
...
FossilOrigin-Name: 5b980d72a03fa1cfd0f1bf3ed04068b9f216b75a304deb2b7bbe8ddce0e6fb96
2023-04-04 19:56:28 +00:00
drh
cd0f540761
Fix an incorrect entry in the array that maps sqlite3_value values into
...
actual datatype numbers. dbsqlfuzz f660c659bcec48577a43d3bab37f46baaa22f59e
FossilOrigin-Name: fa8537dc90cad962dec695418d48da2890a172801ecad0c7c804023a063d3a02
2023-04-04 18:55:31 +00:00
drh
c6a54f418c
Remove an assert() statement that is no longer valid due to enhancements
...
to query planner for improved use of indexes.
[forum:/forumpost/dc16ec63d3 |Forum post dc16ec63d3].
FossilOrigin-Name: 2b23dd249d0bc254308f5539936d33ee558f1100dec616caac7317dbe70db761
2023-04-04 18:10:23 +00:00
stephan
20537f0dc7
Expose the new SQLITE_VTAB_USES_ALL_SCHEMAS to JS.
...
FossilOrigin-Name: b7ef09be667dd349e195842304c03cbebb1693164e1c3587a5d7c96baa713edf
2023-04-04 17:35:38 +00:00
larrybr
0d3651bd85
Omit shell call to sqlite3_dbdata_init() when it is omitted.
...
FossilOrigin-Name: 0421cc03e0efa8f1a83e46e91f26837366c10eef0903d099e25eb0cc99c297df
2023-04-04 08:49:22 +00:00
drh
39b07f1afc
When translating arguments of aggregate functions into references to
...
expression indexes, make sure to only translate them for the current
aggregate when there are nested aggregates.
[forum/forumpost/409ebc7368|Forum post 409ebc7368].
FossilOrigin-Name: 898bfa1afd8260eaaf2aa6db94e74d99ebf4e8a6dc02cf21d20cd981393609a5
2023-04-03 23:49:00 +00:00
drh
f61bf3dbe8
Improved diagnostic output from PRAGMA vdbe_addoptrace.
...
FossilOrigin-Name: 050958c1828f7446e7ee7e458123a23b735e213b76a67c3dd8356da256cbc170
2023-04-03 20:11:06 +00:00
drh
555970bf83
When changing a COLLATE expression node into TK_AGG_COLUMN because the nodes
...
value is contained in an indexed expression, be sure to clear the
EP_Collate property from the expression node. Fix for the assertion faults
reported by [forum:/forumpost/e45108732c|forum post e45108732c] and
[forum:/forumpost/44270909bb|forum post 44270909bb].
FossilOrigin-Name: cf6454ce26983b9c3ae924c44a802f3f760eaaae9547b40aee9e14e7b0c47cab
2023-04-03 17:46:14 +00:00
drh
0669d6ebbf
Add the SQLITE_VTAB_USES_ALL_SCHEMAS option to sqlite3_vtab_config(). Update
...
the sqlite_dbpage, sqlite_dbdata, and sqlite_dbptr virtual tables to make
use of that interface. This was formerly handled by the internal
sqlite3VtabUsesAllSchemas() routine that was called directly from sqlite_dbpage.
But since sqlite_dbdata and sqlite_dbptr are an extension, an external
interface to that functionality had to be provided.
dbsqlfuzz 1a29c245175a63393b6a78c5b8cab5199939d6a8
FossilOrigin-Name: bcd51abee0b0f82bb5dbb881025a92d55baf9df6adeaf3a305e2e0da96a81d58
2023-04-03 15:01:37 +00:00
drh
5517538a9c
Make the sqlite_dbdata and sqlite3_dbptr virtual tables accessible to
...
the CLI.
FossilOrigin-Name: c0eff02854d469bcdb949c09531760d6f96b49c17375abd1c131d41f38b9b2f0
2023-04-03 12:48:51 +00:00
drh
d8c34e3311
Stronger constraint checking in allocateSpace().
...
dbsqlfuzz 93d4c9ff5ef7cd29f16e767af1ee71c29ec5a4c0
FossilOrigin-Name: 9e968f4fbce061190f10f31ce9d3eb4fce6706ea6b7e5011bfa1e893d37ca68d
2023-04-03 12:33:12 +00:00
drh
6455a7066e
With the -DSQLITE_ENABLE_JSON_NAN_INF compile-time option, non-standard
...
JSON numeric values "Inf", "Infinity", "-Inf", "-Infinity", "NaN", "QNaN",
and "SNaN" are all accepted. SQLite should never generate these values,
but it will accept that with the appropriate compile-time option.
FossilOrigin-Name: 0a050e9013331595e13ca9f859180057b59291c70a6cedb6230eefb25956df9e
2023-04-02 20:56:29 +00:00
drh
c406ecc662
More off-by-one errors in the new JSON parsing.
...
FossilOrigin-Name: dbc99662087b63c9ed5b398535a6091fc2c5e507907dd1fcb7ad0b6ab3f17144
2023-04-02 20:46:24 +00:00
drh
26cc3a1387
Fix an off-by-one error in the recognition of -Infinity.
...
FossilOrigin-Name: f7ebf3e6286ddc8cdaa9446235407785d1be2be2d9992e21ef59fcd655f68432
2023-04-02 20:27:02 +00:00
drh
af33654533
Earlier detection of corruption in sqlite3BtreeDelete().
...
dbsqlfuzz a4c48c291d6e40157a1b749a05eaa7c7faf5a625.
FossilOrigin-Name: 978dc71c388b37740da38c310674315c7d7fe814d1daa16a146b4df71385d1e1
2023-04-02 16:43:20 +00:00
larrybr
756c6cf281
Clear executable bit on base64.c
...
FossilOrigin-Name: ec1ddbce7db270afc25f71546fa745935ad74bc72920fccfcb37e98649612bf2
2023-04-02 14:53:59 +00:00
drh
8d1005a593
Allow special floating-point value names in JSON: "inf", "-inf", "infinity",
...
"-infinity", "nan", "qnan", and "snan". All are converted into valid JSON
values: 9e999, -9e999, or null. Requires the SQLITE_ENABLE_JSON_NAN_INF
compile-time option to operate.
FossilOrigin-Name: fc8793e5acac7351749e360c6bace5d5a8b3de3aa600ae23e260557db650c461
2023-04-01 23:29:59 +00:00
larrybr
4d5a5a48c5
Swat grammar nit on README.md
...
FossilOrigin-Name: 715c00e58b774d6a29e2f60fd33a2ecb960307192ae1fdb8ed396f74fd62b444
2023-04-01 16:14:50 +00:00
drh
54b81e36ff
Fix harmless compiler warnings.
...
FossilOrigin-Name: a4fb2864fe01cce9694242a0750623ca47fcecd68f74c4239d3eb5fbf978770a
2023-04-01 15:51:21 +00:00
drh
e5ea81ae85
Improved error messages from PRAGMA integrity_check. Identify the root of
...
the tree when a problem is found in a b-tree, making it easier to track the
problem to a specific table or index.
FossilOrigin-Name: a1cb152e69c7c6cdd99300c91a8104716089de459d9d19e33ef38432aad70908
2023-04-01 13:14:53 +00:00
drh
2e89f1cdeb
In the b-tree module use %u instead of %d to print unsigned quantities such
...
as page numbers and offsets.
FossilOrigin-Name: 33ac62d8eec56eb71f20ccd28a5d6e4e8051522feb2db0199abee9e18ce1f64e
2023-04-01 12:22:57 +00:00
drh
1839b7990d
Omit the the count-of-view optimization if there is a HAVING clause.
...
dbsqlfuzz 6a107e3055bd22afab31cfddabc2d9d54fcbaf69
FossilOrigin-Name: babe2b5e59647ac9db4601e67c25190aac14eb76d5fcb9fa5b3692b955fefd61
2023-03-31 23:48:59 +00:00
drh
567b069e42
Earlier error detection for index expression usage by aggregate functions.
...
dbsqlfuzz 29214ace4e25c98d2ddff8fbcf97afdda23f28b9
FossilOrigin-Name: 8e841e7f025f7205959453875f2d9db36271642045593970a2b2fc20b2f847c3
2023-03-30 19:05:48 +00:00
drh
09db37c022
Omit a branch that is no longer needed following [c9c4f287652933eb].
...
FossilOrigin-Name: 960a488a2db92f5437bc8171cdbed44618d9381c57fd41b2f0e357b6012c80b5
2023-03-30 16:08:54 +00:00
dan
53ed383075
Fix an error in new test script test/aggfault.test.
...
FossilOrigin-Name: 8724fe7426da55d19dba7b30e09321ba30c73286513864cb05de32f72e50ee31
2023-03-30 12:19:38 +00:00
dan
8fe84a40c7
Fix a crash that could follow an OOM error while processing aggregate functions.
...
FossilOrigin-Name: 804435a2731bd3c26278c47098854b9ee7727a686587f6208e793738fbfc0555
2023-03-30 11:05:36 +00:00
dan
e1afa2bd24
Avoid having OP_SeekScan jump over an OP_IdxGT or OP_IdxGE that follows the OP_SeekGE opcode. Fix for [b50528af4468237c].
...
FossilOrigin-Name: c9c4f287652933eb6262a3419efe7e7288f55d3db7e2ac032eeae025f665d306
2023-03-29 21:58:06 +00:00
dan
7b56e97866
Fix a problem with sqlite3_stmt_scanstatus() from within an SQLITE_TRACE_STMT callback made from within a trigger.
...
FossilOrigin-Name: 1fa78fafa1340de458546526b03cf8b3e9c823913c4225d7c747ad182df5c0fc
2023-03-29 18:54:01 +00:00
drh
0dc43fd4c8
Another #ifdef to omit code that is only used by STAT4.
...
FossilOrigin-Name: 445c75567de9bf9c8075dfc62c60dc4abeefab59c7803a5ef2cc5d69c08d7633
2023-03-29 15:16:29 +00:00
drh
a9fd5f224c
New #ifdefs to omit code that is unused except under STAT4.
...
FossilOrigin-Name: 09a9b30ba7828a487a33a3ebf8028dfaa147dff67d2724584123b90a88d9814b
2023-03-29 14:42:11 +00:00
drh
df542e0500
Enhance PRAGMA integrity_check so that it can detect that a NOT NULL column
...
contains a NaN value and report that as an error.
dbsqlfuzz f144b642fe6f1a1c196f258ac6e60118a0cb59b2.
FossilOrigin-Name: 7638d9755dc90fd353b874d03ed418fa8aaee4440290ff69b1b552eae84e5baa
2023-03-29 11:36:24 +00:00
drh
e1be2b7ad9
Fix a weird corner case in aggregate function processing that results from the
...
recent addition of support for index expressions on aggregate queries.
[forum:/forumpost/bad532820c|Forum post bad532820c].
FossilOrigin-Name: c34fd9fe1b76e0a5943f014f46141cbe55d41bb1e6980adf9bcb6785a03e7883
2023-03-28 16:02:28 +00:00
drh
3cbf38c783
Fix multiple problems with RETURNING on a DML statement against a view,
...
all inspired by [forum:/forumpost/dc3b92cfa0|forum post dc3b92cfa0].
(1) Do not allow a RETURNING clause to trick the code generator into thinking
that the view being updated has an INSTEAD OF trigger.
(2) Generate all result columns for a view in a DML statement.
(3) The automatic covering index for a view should cover all result columns
of the view.
FossilOrigin-Name: c8bedef0d61731c29ae34de1594222d15b578f9e2cddbbd5b74fb3059644fe0f
2023-03-28 11:18:04 +00:00
stephan
fc6c3936aa
Remove a meaningless JS test. Add a timer to the OPFS async-side worker loader in an attempt to catch a browser-specific quirk in which the worker loading silently fails, per discussion in/around [forum post a708c98dcb3ef|forum:a708c98dcb3ef].
...
FossilOrigin-Name: 4fc1904b8e18c7d41fa65490ced125f1df4f0c22c13de957b24615ed09b3ecb7
2023-03-27 13:57:08 +00:00
drh
3594b2b303
Do not allow constant factoring during PRAGMA integrity_check, since the
...
constants might be stored in registers that are later reused for other
purposes. dbsqlfuzz dc9ab26037cf5ef797d28cd1ae0855ade584216d. Problem
discovered by a new assert() statement added in [6f8b97f31a4c8552].
FossilOrigin-Name: 0bba27b78112b2b2271e498f41c437df985aa2faab302ee5b29d9b60003a8379
2023-03-27 13:24:02 +00:00
drh
aa9192e6aa
Improvements to register allocation, especially in the ANALYZE command.
...
New assert() statements added to help verify that memory allocation is
correct, and to help fuzzer find lingering errors.
FossilOrigin-Name: 6f8b97f31a4c8552312b4c98432ea356ae54c06d9cc929969f50c3c88360cd7b
2023-03-26 16:36:27 +00:00
drh
418f947b98
Disable factoring of constant values during ANALYZE. This is a temporary
...
fix for [forum:/forumpost/07de5f6216|forum post 07de5f6216]. The register
allocation logic in ANALYZE needs to be completely refactored, but that will
take longer. This check-in will serve to resolve the issue until a better
fix can be devised.
FossilOrigin-Name: c3967d1259f1df969d303394986960bd098e174dcd337e374c9c3c39e0efa466
2023-03-26 11:54:51 +00:00
drh
b900f9e6e8
When the left table of a RIGHT JOIN is used inside an aggregate function and the left table employs an index on expressions, then make sure the expressions evaluate to NULL for the cases where the left table should be NULL. Fix for
...
[forum:/forumpost/9b491e1deb|forum post 9b491e1deb].
FossilOrigin-Name: ffe23af73fcb324df988a00be343654ce7078b7208647c4eb779d666b8297e7c
2023-03-25 23:52:05 +00:00
drh
debc3202c6
Add usage detection to the NULL value generator for the left table of a
...
RIGHT JOIN inside of an aggregate.
FossilOrigin-Name: 4d05a009dfb63bcb4173da4d09ccc00c308ce4dd2534a32aeb23c5d8d6a1fd4b
2023-03-25 23:40:21 +00:00
drh
7bb842642c
When reading sqlite_stat4 data during query planning, be sure to expand
...
zeroblobs prior to running comparisons. Fix for the issue identified
by [forum:/forumpost/5275207102|forum post 5275207102].
FossilOrigin-Name: 5c8dd8dfcaab9c364b3a126ca35880ef57f5cecbe030771e646c934c8cf43709
2023-03-25 22:37:23 +00:00
drh
de0416171b
When the left table of a RIGHT JOIN is used inside an aggregate function
...
and the left table employs an index on expressions, then make sure the
expressions evaluate to NULL for the cases where the left table should be
NULL. Proposed fix for [forum:/forumpost/9b491e1deb|forum post 9b491e1deb].
More testing an analysis needed - there is a FIXME in this check-in.
FossilOrigin-Name: 3572b40a7dfc4acc35e72e08e79f64688f8737e57ac89e4d10e6b32bd5178c63
2023-03-25 21:01:11 +00:00
drh
28ae195658
In the byte-code, when the result of an expression needs to be in a particular
...
register, always use the sqlite3ExprCode() routine because it has the smarts
to know whether to use OP_Copy or OP_SCopy. Do not try to OP_SCopy inline
because an OP_Copy might be required. Fix for the problem identified by
[forum:/forumpost/5522082cfc|forum post 5522082cfc].
FossilOrigin-Name: c104e5c6eeb89575319d9f94f49446142b06912fa8b283c19d46aa2ccddc5bda
2023-03-25 19:44:25 +00:00
drh
52786ec185
Add the tag-20230325-1 comment that was omitted from the prior check-in.
...
FossilOrigin-Name: a13c01d076d23f0de500e8e6283e803dfc96f0da7509c0d97d598d6b3e7b930b
2023-03-25 18:41:42 +00:00
drh
4924e82863
The fix at [2bf5413dc2c19d5f] was incomplete in that it failed to clear
...
the reusable register cache that might contain registers in the STAT4
buffer region. This additional change corrects the problem.
[forum:/forumpost/83cb4a95a0|Forum post 83cb4a95a0]. Test case in TH3.
FossilOrigin-Name: 5d554e4d0f59a4309fed40e4fb26c7be42f1d4d55ccdcaaf7b4d445aa3122955
2023-03-25 18:31:24 +00:00
drh
e5895333dd
Even tighter bounds on the maximum length of the filename for
...
sqlite3_load_extension().
FossilOrigin-Name: 787291414d2d2082a3c63e7cdd6bec4719f0c8b75ad1355f5026932ecbb28ba8
2023-03-25 12:27:36 +00:00
drh
12b954db7a
Tighter constraints on the maximum length of the filename handed over
...
to sqlite3_load_extension(), due to
[forum:/forumpost/a43074729e|forum post a43074729e]. This is a
follow-on to [01f3877c7172d522] and
[forum:/forumpost/08a0d6d9bf|forum post 08a0d6d9bf].
FossilOrigin-Name: 9f351bdee2a09a4419bb8256a13d1f757b3e00ec26a445523f224fc56d9ae26d
2023-03-25 03:17:08 +00:00
drh
2c16ec829b
New test case to further validate the fix at [221fdcec964f8317].
...
[forum:/forumpost/d34ad68c36|Forum post d34ad68c36].
FossilOrigin-Name: a6e218a6e1ddd74be6a313b1d336334071747efd4ecd354ed7efe303d09c849c
2023-03-25 02:07:20 +00:00
larrybr
86b67f09e7
Fix CLI non-handling of OOM reported at [forum:/forumpost/6872514e04|Forum post 6872514e04].
...
FossilOrigin-Name: 6f6a0fd63b13cb827d6a402de01a701eb5b3f92954032ea80e78ec864861a26c
2023-03-25 01:29:40 +00:00
drh
62e43b25dd
Remove undocumented, vestigial SQL functions in the CLI that were once used
...
for the ".recover" command but are now no longer needed.
FossilOrigin-Name: 1ef461aa4e95d254c2c1edebbbfd92ca96d752e04f68ebe70104e8d936d36be9
2023-03-24 22:17:59 +00:00
drh
338ff1ceca
Fix possible integer overflow in bounds checking for the debugging function
...
"shell_int32()" found in the CLI. This change does not affect the core
SQLite. [forum:/forumpost/be9c294ee0|Forum post be9c294ee0].
FossilOrigin-Name: 6211471138a654641a4cf4831cfa3b470e06f29a2b77e4d58177c8e065bec11e
2023-03-24 21:35:48 +00:00
drh
ed8e12e97b
Fix an error in the OP_SeekScan opcode added by check-in [4a43430fd23f8835].
...
Problem reported by [forum:/forumpost/8cc1dc0fe9|forum post 8cc1dc0fe9].
FossilOrigin-Name: 651a13fcd16f03e89eb6228c9f3250e25910b9bbe2637f627f65ff78f8ba2059
2023-03-24 21:24:52 +00:00
drh
b3ad5444d0
Fix the handling of indexed expressions in an outer query that appear as
...
corelated values inside an aggregate function within a subquery.
[forum:/forumpost/79cf371080|Forum post 79cf371080].
FossilOrigin-Name: d8259877eaa962e6f90675790d3770ef02bd1a5d86d319cd8c1834710df844c4
2023-03-24 20:35:56 +00:00
drh
d23924d1ea
Fix a problem in cursor-hints for WITHOUT ROWID tables used in a RIGHT JOIN.
...
[forum:/forumpost/591006b1cc|Forum post 591006b1cc].
FossilOrigin-Name: 221fdcec964f8317b2c23e926cc23799615cd3b4239a8a9ff87a83588d05bc64
2023-03-24 19:17:25 +00:00
stephan
4a1c8ed725
Add a JS test which checks for the issue described in [forum post 895425b49a|forum:895425b49a].
...
FossilOrigin-Name: 98d30400e4721b1d48ff601698ced146052654f8c6de7c014d4d239bb2dbef43
2023-03-24 17:15:15 +00:00
drh
28fe02cd51
Fix byte-code register allocation in ANALYZE for STAT4 when there multiple
...
indexes with differing numbers of columns.
[forum:/forumpost/bc39e531e5|forum post bc39e531e5].
FossilOrigin-Name: 2bf5413dc2c19d5feb32e5b01aa9b990ec2f74f45f5ca0dca15215f8c9dbc9b9
2023-03-24 16:57:21 +00:00
drh
c03dbc5a24
The attempt to bring STAT4 up to 100% MC/DC at [55a26c67ed4a3a93] and
...
at [168fa2fb22b8c1ad] are incorrect. Back them out and replace them with
a simple NEVER() macro. Error reported by
[forum:/forumpost/dc4854437b|forum post dc4854437b].
FossilOrigin-Name: 5992370a89f8de7a6e941130b381f85d369856dbdb7860405e6fb17dad2293df
2023-03-23 10:54:07 +00:00
stephan
2255d89f0a
Internal cleanups in JS code. No functional changes.
...
FossilOrigin-Name: 8fbdf7d10400c4f54fc3d8bc823f97818de860deeeed35ab6ad717260cd301e0
2023-03-22 19:57:19 +00:00
drh
ad99243846
The floating-point-to-text conversion with the zero-padding option now
...
renders NaN as "null".
FossilOrigin-Name: ad59fa17663bda54ec5d4e48ac24e04b87daa70c795d840cd8db382e2dd581b9
2023-03-22 16:55:35 +00:00
drh
5e04d26a3d
For consistency, the ".mode json" output from the CLI now renders infinity
...
in the same format as the JSON functions.
FossilOrigin-Name: abee339d5eae8b63d9579b7ec3a25f18071e675223e0bb5294c733fb618a3a26
2023-03-22 16:37:17 +00:00
drh
c408c155d7
The double-to-text conversion renders infinity as 9e999, so that JSON
...
output is compliant and so that values can be round-tripped.
FossilOrigin-Name: b52081d0acd07dc5bdb4951a3e8419866131965260c1e3a4c9b6e673bfe3dfea
2023-03-22 16:24:17 +00:00
drh
8854f30295
In the CLI, the magic parameter :inf and :nan bind floating point values
...
Infinity and NaN, respectively, as an add to testing SQLite's handling of
those quantities.
FossilOrigin-Name: c70a61d8fbfb722679398c211aa48ccd84a392a6b59ba70551fe3a9fbab9a6d5
2023-03-22 16:01:06 +00:00
drh
00cd655c8f
Update the version number for the TEA tarball to 3.42.0, to match the core.
...
FossilOrigin-Name: 03e6918e7f749c3ca1fa66df28b203ff26680f129003e20c71ca246cf7ff34fe
2023-03-22 14:51:22 +00:00
drh
68e976bcc2
Add ALWAYS() on a branch this is always true now due to [84417bbd144b2197].
...
FossilOrigin-Name: badf7d0e3cfa6efaff4b132cb4ecca79a16e73197c5e275db14ccb5ff938276d
2023-03-21 14:20:10 +00:00
drh
4e45e01693
Add the fuzzcheck-asan.exe target to the MSVC makefile.
...
FossilOrigin-Name: 0901bc02783527090bdaa626d946ee1e92c7c6848f3c77a799e6837f4e7f8d7b
2023-03-21 12:29:50 +00:00
drh
2439fc1f6d
Add the fuzzcheck-asan target to the main posix makefile.
...
FossilOrigin-Name: 55e94adddba77c1d6ee6ef0c0cf37f7cdccc3bdc144ceaed675d79cdb25f48a6
2023-03-21 11:56:04 +00:00
dan
29fbee66c9
Fix a valgrind error and potential buffer overread when handling a corrupt database.
...
FossilOrigin-Name: b1e0cd6444d1f710e58129723b285cf1321679fa920fc2841492dcb489ab8b9d
2023-03-21 11:13:53 +00:00
drh
1eca5b5a40
Minor change to btreeNext() to facilitate coverage testing.
...
FossilOrigin-Name: 20b3ef04d8c79e281e32676d57c7a8569fac9e782ca24337691d44d383eff7bb
2023-03-20 18:35:48 +00:00
dan
bb130c9223
Fix a problem causing a cursor to retain an out-of-date cell-info cache when processing a DISTINCT query on values that are identical according to their collation sequence, but different on disk. [forum:/forumpost/e132e6cde44fb505|Forum post e123e6cde4].
...
FossilOrigin-Name: 1b3abc1daeac29714256b5a1d5a07a75dc986f1089054a8bee44a00583b7383a
2023-03-20 14:59:19 +00:00
drh
f3ddaaa89a
Back out the extra margin added to the input buffer of the CLI, as it is not
...
needed.
FossilOrigin-Name: ac8d1e5de5da35fa93c3f9241a7817285920431c66f4e4593d4d5c2db9f2b960
2023-03-20 10:43:52 +00:00
drh
6263cefcf5
A better fix for the sqlite3_error_offset() problem on generated columns.
...
FossilOrigin-Name: 770b3e67c89ca16b08a9234acb626917a26ea414b3bc0340f9601644cb7504f2
2023-03-20 01:55:39 +00:00
drh
715963f1ba
Expression errors in generated columns should not generate non-negative
...
sqlite3_error_offset() returns. Second of two defenses against
[33aa4c0de8a62e33].
FossilOrigin-Name: 2adb4e0dda471ffc9b2a5cbad01b6c2bc6091b7526a8c8b19944cb2d4a5111e7
2023-03-20 00:53:56 +00:00
drh
0d53e8ed54
When reporting errors in the CLI, ignore the output of sqlite3_error_offset()
...
if the value returned is clearly out-of-range. One of two lines of defense
against [33aa4c0de8a62e33].
FossilOrigin-Name: 26adbb80f51b9219ab2a3593496458b74a567ba5ee46b5154f056e389cfc09f7
2023-03-20 00:48:40 +00:00
drh
2ff6569940
Increase the size of ref-count values in the pager layer to 64-bits, to avoid
...
any reasonable possiblity of overflowing the counters.
There is a performance and memory penality for this.
[forum:/forumpost/b741f15a35|Forum post b741f15a35].
FossilOrigin-Name: 6c5d99a813e8498c2ea91383ac8886a43eaf47023919c03900e893640c03778d
2023-03-19 21:48:55 +00:00
dan
9b532d1e1b
Avoid a buffer overread in fts3 that could occur when processing a corrupt record.
...
FossilOrigin-Name: 02ac2297abee6af64c8df230b42b07f21cff4565d7e315860b2396a7c0c556ca
2023-03-18 16:12:27 +00:00
drh
667b5cc985
Fix json rendering so that it shows positive and negative infinity as
...
9.0e+999 and -9.0e+999 respectively.
FossilOrigin-Name: efce4690a52592c4f5fc7d023eebe771b0e615bb03c0fe203493f853b28e8f85
2023-03-17 20:31:24 +00:00
drh
f204be8098
Add the ability to name functions using one of the join keywords like
...
CROSS FULL INNER LEFT NATURAL OUTER RIGHT.
FossilOrigin-Name: 0910b1925e97f7ae4dae86894c9e2f54273c85115e19d0d9bff1280ffee35eed
2023-03-17 19:18:17 +00:00
drh
2eacecfe51
Add test cases for functions named the same as join keywords.
...
FossilOrigin-Name: 94944b239ce674d984c88ef6029b0260a972f1b25f01614b559ca07c3ebaf8f5
2023-03-17 19:07:48 +00:00
dan
66086eb6a6
Fix a potential buffer overread in the recovery extension.
...
FossilOrigin-Name: 0b3b5bf9597615589a1d045aaa697c13550553ee4fe4b9008a8e51415b6fe96a
2023-03-17 14:18:39 +00:00
drh
3f22b9ee2c
Ensure that an error does not delete the Table object out from under
...
the xConstruct method of a virtual table.
dbsqlfuzz 7cc8804a1c6d4e3d554d79096e6ea75a7c1c7d2d
FossilOrigin-Name: df4928c92b0db77d0a40d7b492b609db191252e2f87bca63d000e4fe2e206293
2023-03-17 10:43:05 +00:00
drh
14e8299aa0
Add safety margin on the CLI input buffer for tickets
...
[33aa4c0de8a62e33], [b97e6c5e6a91d97f], [2971fbe3f993e95a], and
[2971fbe3f993e95a].
FossilOrigin-Name: 741af08af1b93406a120580379d13e514524af627da5387ecfa6e442d004bfdd
2023-03-17 00:42:27 +00:00
drh
a84ead119e
Fix assert() statements that would (incorrectly) fire if an IF NOT EXISTS
...
trigger that already exists contained two or more RETURNING clauses.
Tickets [89d259d45b855a0d] and [d15b3a4ea901ef0d].
FossilOrigin-Name: 648899e4ded72cac6cc24bccf7ebfc709ee7309a003452b21fd6ab0ba20c34b8
2023-03-17 00:01:32 +00:00
drh
b816ca9994
Correctly handle SELECT DISTINCT ... ORDER BY when all of the result set terms
...
are constant and there are more result set terms than ORDER BY terms.
Fix for these tickets: [c36cdb4afd504dc1], [4051a7f931d9ba24],
[d6fd512f50513ab7].
FossilOrigin-Name: 12ad822d9b827777526ca5ed5bf3e678d600294fc9b5c25482dfff2a021328a4
2023-03-16 20:54:29 +00:00
drh
7a9c235aaf
Additional debug/test output from the query invariant checker showing the
...
row-number that is being checked.
FossilOrigin-Name: e4b6eb58e65f7fa0c92768f42bc820614169b7c2f37ded391b866ddb0d894de0
2023-03-16 12:28:48 +00:00
drh
db8c6aa03a
Update the tracing output for the query-invariant checker such that it shows
...
the SQL that is run to verify that a found query-invariant discrepency is
valid. Changes to testing logic only.
FossilOrigin-Name: 8f45ad27403e971d88ec62e674c03f82eb19df0b43aa58d20b3400cdb6611d90
2023-03-16 11:50:44 +00:00
drh
7d5a549121
Do not use the one-pass optimization on an UPDATE if there is a subquery
...
in the WHERE clause, since if the subquery is hidden behind a short-circuit
operator, the subquery might not be evaluated until after one or more rows
have been updated. Fix for the problem reported by
[forum:/forumpost/0007d1fdb1|forum post 0007d1fdb1]. This is the same
problem that was fixed by [73f0036f045bf371] only for UPDATE instead of
DELETE.
FossilOrigin-Name: 2c56b984a0bd3be5ec326a2109ea7b8f1d4ef63c8fc325caac9663cf2479eaff
2023-03-16 10:17:30 +00:00
drh
5531316dd0
Remove a NEVER() from btreeNext() that dbsqlfuzz 460aa158f9a2c41145831cc924296cde1f312b3f
...
found could sometimes be reached. I will find a way to test that branch
later.
FossilOrigin-Name: 1dffeffe150fff6777cf26bc960326ca4e4190d25d05bb066b082d1e1c8eb374
2023-03-16 09:07:46 +00:00
drh
ffcad5893a
Disallow the one-pass optimization for DELETE if the WHERE clause contains
...
a subquery. Fix for the problem reported by
[forum:/forumpost/e61252062c9d286d|forum post e61252062c9d286d]. This fix
is more restrictive than necessary. It could be relaxed if the subquery does
not involve the table that is the subject of the DELETE.
FossilOrigin-Name: 73f0036f045bf37193b6e87ae45b578c5831614c530488257c69666178da3aa5
2023-03-15 17:58:51 +00:00
dan
eb5d71ed58
Fix a broken assert() in the recovery extension.
...
FossilOrigin-Name: 4c4e66f293d7768cceb875a936ca0f4cd910473e20b9910698cc1e1ce221a7d4
2023-03-15 13:53:47 +00:00
drh
cdfb518f6f
Fix Bloom filters on an expression index.
...
[forum:/forumpost/2e427099d5|forum post 2e427099d5] and
[forum:/forumpost/d47a0e8e3a|forum post d47a0e8e3a].
FossilOrigin-Name: c028fb669a5ae34dbaf50fffab1ae49bc568b994435cf02e145d24da3cfb48d7
2023-03-14 20:08:39 +00:00
larrybr
bf7602a7d8
Include CLI's tip for -- in all builds. Better show optionality of its non-option arguments.
...
FossilOrigin-Name: 9e2c771daad485d923751fdee0316b195bb49ec9f865f2e39565906edeaa5cf8
2023-03-13 16:08:44 +00:00
drh
80511f32f7
The check-in at [198b3e33dcfd74c7] caused a performance regression for some
...
queries, which is here fixed. Problem reported by
[forum:/forumpost/b405033490fa56d9|forum post b405033490fa56d9].
FossilOrigin-Name: dc9f025dc43cb8008e7d8d644175d8b2d084e602a1513803c40c513d1e99fea4
2023-03-11 23:21:21 +00:00
drh
7802389398
Allow functions named using keywords "CROSS", "FULL", "INNER", "LEFT",
...
"NATURAL", "OUTER", and "RIGHT".
FossilOrigin-Name: eeac3d5ec93e9cf8613d764b700b6e39a3ffb39b3953ce1e6a2f84dd986f9e86
2023-03-11 12:27:12 +00:00
larrybr
20f2917881
CLI help to reflect no-more-options option
...
FossilOrigin-Name: 30d95a12eb8b1cfc8ed11d3ed68cd713993ba34efa2fe623c18cfe41f14df1d9
2023-03-11 00:15:41 +00:00
drh
30ebcf2ecb
Fix a typo in a comment. No code changes.
...
FossilOrigin-Name: 76acc075402aac2d14d8279b8095008a842522a0985fdf89200da4339757a40b
2023-03-10 21:27:59 +00:00
larrybr
a9fffc179f
Give CLI a no-more-options option. (--)
...
FossilOrigin-Name: 0822788752621f6bf6af44b420b594ddd352634b3b0ed0eb835abea34b45817a
2023-03-10 20:54:44 +00:00
dan
5f708cc832
Fix a problem with the fts5 snippet() function that shows up when snippets just 1 token in length are requested.
...
FossilOrigin-Name: 96d5116d17cbf3de6be38952881c6ddf6a226ddfd7649197bdb2df39c42b5d8e
2023-03-10 13:36:19 +00:00
stephan
17bbbde537
Export SQLITE_FCNTL_RESET_CACHE to JS.
...
FossilOrigin-Name: 6195cfc86b15614b8db0e0dc5cc79b8d1acaf483f0131c8526992dc8ca075630
2023-03-10 11:57:23 +00:00
stephan
434205a2c1
Replace a lingering use of 'self' with 'globalThis' in JS code, for node compatibility.
...
FossilOrigin-Name: 7e3782b5aa07621db95c2dc25b25ae21da988c9876d537b78ea289a83c75b06b
2023-03-09 22:09:13 +00:00
dan
bad7d5041a
Reinstate some test cases accidentally removed by [cb023fe28560ce0f].
...
FossilOrigin-Name: 870de61f8ef8781f2f9969b012f5c1cb95b6bce1a9a4dcaf02945b7846c3aa83
2023-03-09 16:11:43 +00:00
dan
1211e1d112
Fix countofview.test so that it works with SQLITE_OMIT_PROGRESS_CALLBACK builds.
...
FossilOrigin-Name: 2fc7c3fcee05c2a251ceb3666f3f6e9014cfe6e2f8570b72c43f251067e6b252
2023-03-09 15:08:06 +00:00
stephan
fcdfd4716e
Experimental addition of sqlite3-node.mjs, for node.js, based on feedback from [forum:ac7a94d4f77db235|forum post ac7a94d4f77db235] and related off-list discussions. Build changes only - no code changes.
...
FossilOrigin-Name: a5db97fa17d15711ab19af70595912d342ffa326a9b7029d4deb2194ae72a9f0
2023-03-09 08:51:04 +00:00
drh
8c26e6fa16
Fix a possible NULL pointer dereference due to the sqlite3_interrupt()
...
enhancement at [bd8fa10e59f58886]. Reported by
[forum:/forumpost/f5a2b1db87|forum post f5a2b1db87].
FossilOrigin-Name: 84417bbd144b2197c9930a520feb94b59053957c190be79f8deaaaebca68ecf1
2023-03-08 23:05:18 +00:00
drh
07d1ef97a1
Backout the OP_MakeRecord optimization as it does not work.
...
FossilOrigin-Name: 25017312d0d476d9cd5a39835748ee26c2ea482e163264ce2f9843ac627276d6
2023-03-08 22:48:03 +00:00
stephan
99ace82634
Export the new SQLITE_CHANGESETAPPLY_IGNORENOOP flag to JS.
...
FossilOrigin-Name: ac7359b2633ead74a53b2796fe038ca285aacad45b45980db2a76a87154e66e3
2023-03-08 18:05:57 +00:00
dan
975f2062da
Add the SQLITE_CHANGESETAPPLY_IGNORENOOP flag, which may be passed to sqlite3changeset_apply_v2() to have it ignore changes that would be no-ops if applied to the database (e.g. deleting a row that has already been deleted), instead of considering them conflicts.
...
FossilOrigin-Name: cb023fe28560ce0f8c2fd48042553fcdb9db81eba9552be75165de0d46a2645c
2023-03-08 18:03:04 +00:00
drh
7ba63831f8
Small performance improvement in the OP_MakeRecord opcode.
...
FossilOrigin-Name: ca89daef0fcf6cb04aa6fa90dd333d6f2474bf3f458c833d9cd5bd8e59f2a04a
2023-03-08 17:09:32 +00:00
drh
06af03d70a
Change to [44135d6ea84f7ba6] that retains the historical datatype ("INT", not "NUM") for a table created as follows: "CREATE TABLE t1 AS SELECT CAST(123 AS INT) AS value;". The use of FLEXNUM only occurs on compound queries.
...
FossilOrigin-Name: 6d5b5896261c62a7e130b47416ee8c25793859a2afcb1646c257600537a5b71b
2023-03-08 14:28:09 +00:00
stephan
248c1abdf4
Extend wasm build to support a custom sqlite3.c to support building against sqlite3-see.c. The JS code now binds the SEE-specific functions if it detects an SEE build.
...
FossilOrigin-Name: dd8612c8adbaf9d06bf0d7319b9afc9bd8ca3d0fcfa1cb591a7a2fcb86480048
2023-03-08 10:05:42 +00:00
drh
217e860053
Fix a problem in the count-of-view optimization that can lead to incorrect
...
bytecode. dbsqlfuzz 23d782160b71c3f8f535ccb2da313dfc8eb8c631.
FossilOrigin-Name: f45009533a79a59b302598ee2545ef787c51d0128f4e1dca60dd83589f660619
2023-03-08 00:47:53 +00:00
drh
cad225d6fc
Fix a bug introduced 4 days ago by [e95439119ac200cb]: do not set the
...
Expr.affExpr field of a generated column expression if the expression is a
RAISE() function, as affExpr has a different meaning for RAISE.
[forum:/forumpost/b312e075b5|Forum post b312e075b5].
FossilOrigin-Name: 1096b5a7cc8104db01f8820ace47020baad2f12e6711e3a7b4514ed1becc7b66
2023-03-07 23:47:38 +00:00
drh
bacb8aeb35
A proposed change to [44135d6ea84f7ba6] that retains the
...
historical datatype ("INT", not "NUM") for a table created as follows:
"<tt>CREATE TABLE t1 AS SELECT CAST(123 AS INT) AS value;</tt>".
FossilOrigin-Name: a0e54fe2058a4ac1e794b2491e424c60dfa42c6781b1cfd83c5db65c28c11c71
2023-03-07 19:39:18 +00:00
stephan
416e9c1908
Improve how sqlite3.initWorker1API() determines whether it's running in a Worker thread. Based on feedback in [forum:ac7a94d4f77db235|forum post ac7a94d4f77db235].
...
FossilOrigin-Name: 2f712b836a0dafd0b2ee6ba4eaa9caa35e49375c7ad0562477e0f2d3b086ec03
2023-03-07 19:23:36 +00:00
stephan
4214cc32ba
Replace use of 'self' in JS code with 'globalThis', as that works in browsers and node environments. Avoid using globalThis.location if it's not set (e.g. in node). Based on feedback in [forum:ac7a94d4f77db235|forum post ac7a94d4f77db235]. Minor JS build tweaks.
...
FossilOrigin-Name: dbbe8f25e58738c10b6192d41f1e3886983871f17631cbc45ce626d3f05a6e26
2023-03-07 19:12:06 +00:00
stephan
7272f6d64d
In the JS sqlite3.vfs/vtab utility APIs, use a local reference to StructBinder instead of sqlite3.StructBinder, as that object is removed from the sqlite3 namespace during the final steps of API initialization. Based on feedback from [forum:d19d96183badca70|forum post d19d96183badca70].
...
FossilOrigin-Name: 0d89885d28b44b1858117a72a180841f4f5f44bcc574fc59a116ca3526325932
2023-03-07 12:59:20 +00:00
mistachkin
c105b3eccf
Fix a couple minor spacing issues in the MSVC makefile.
...
FossilOrigin-Name: 46b3ac6d1fdd9207cdc511d445bb4c33d11102d6e4eb43f119293d62bb7008ff
2023-03-07 02:24:43 +00:00
drh
112eff9b27
Repair an unintential fork.
...
FossilOrigin-Name: 8b524c849f9844ea624cfe8968225200a57cefa8b7a17ebac2153c0cb3b657d7
2023-03-06 23:39:19 +00:00
drh
5b6ba9b250
Improvements to query invariant testing such that it uses the new
...
SQLITE_DBCONFIG_REVERSE_SCANORDER opcode to sqlite3_db_config() to make more
accurate judgements about when a query is ambiguous, and hence when query
invariant testing is approprate.
FossilOrigin-Name: be9ab292cd14889b1c9648b47138260b33fe5be282ff2d90653b1387885a7d02
2023-03-06 23:38:44 +00:00
larrybr
51a31a3b9c
Cause CLI to fail noisily when deserialize option used for non-seekable "file".
...
FossilOrigin-Name: 24bd7e82471925987d924188ce0f80ed4f282b10ea1022e42881a7f529814eb9
2023-03-06 21:38:38 +00:00
drh
f30da226e3
Add SQLITE_DBCONFIG_REVERSE_SCANORDER for direct C-language access to the
...
"PRAGMA reverse_unordered_selects" setting.
FossilOrigin-Name: 83e84531b46814aea6dad1ce8283cb9f6b90ad52badb60b875ea8f66e4ac0925
2023-03-06 19:04:39 +00:00
stephan
eac6e8cb6a
Rename sqlite3-worker1-bundler-friendly.js to sqlite3-worker1-bundler-friendly.mjs and refactor it to work as an ES6 module, based on feedback in [forum post a255f89c2eadf4c4|forum:a255f89c2eadf4c4].
...
FossilOrigin-Name: af312b131457743d98b84137bd51d9ba60e0daf0bd8f5a66f05956ca35ab68fb
2023-03-05 07:44:23 +00:00
stephan
32b3444f15
Correct rendering of error messages in demo-worker1.js. Remove some stray EOL whitespace.
...
FossilOrigin-Name: 1d5d515ad97cf61bd679f8c1afc607815c079583fe80264b591c6ef18f56fb8b
2023-03-05 07:33:11 +00:00
drh
89b3cbed67
Fix to check-in [b9190d3da70c4171] - the agg-with-indexed-expr optimization
...
requested by ticket [99378177930f87bd] - that can cause an incorrect answer
if an aggregate subquery has a GROUP BY clause, and that GROUP BY contains a
term that is not in the result set, and the outer query makes use of expression
indexes. Problem reported by
[forum:/forumpost/a68313d054|forum post a68313d054].
FossilOrigin-Name: e06973876993926fd56181281d04b8dd504c689abf883fa21a5721cc1d478ea8
2023-03-04 15:36:51 +00:00
drh
c8c7243d6e
Show the output value from OP_AggFinal when doing byte-code tracing.
...
FossilOrigin-Name: 35f10a06ba81b8a526249729828fff06214e9cf95de418a9081f19d8d69fd657
2023-03-04 12:57:07 +00:00
dan
3410e550dc
Make the SQLITE_DBCONFIG_STMT_SCANSTATUS option on by default.
...
FossilOrigin-Name: 5a09191186bc03b374e0c0d029e1a15208c6b845bc2f5f5f9f6a8a882809d9f3
2023-03-03 21:17:12 +00:00
drh
fe52615925
Fix a vdbe-coverage macro added by [f418bdd627e84e7d].
...
FossilOrigin-Name: 77f559d2647615379fed55ced5d69ae90515273e59811b92171bdd3089c90a22
2023-03-03 19:56:19 +00:00
drh
294872382b
Follow-up to [e95439119ac200cb] to fix a case where a pointer is NULL due to
...
OOM.
FossilOrigin-Name: 2535bc8c256a7642a6ac00ebfd3393beb93da94394c13b886c3ddd20d114aa3c
2023-03-03 19:43:39 +00:00
drh
1b9db7f32d
Enhance PRAGMA integrity_check so that it can detect when there are extra
...
bytes at the end of an index record, which might cause OP_IdxRowid to
malfunction. dbsqlfuzz c1aa3986534d5feab8d21f28b3c1712df2ef358ba. Test case
in TH3.
FossilOrigin-Name: f418bdd627e84e7d494f730d7124d8f4846ebcde031f5b2498685c9aceebb3c8
2023-03-03 18:35:00 +00:00
dan
0433789863
When it is known when preparing a statement that X cannot be NULL, transform the expression (X IS NULL) to integer value 1 instead of 'true'. This is because under some circumstances, "Y IS TRUE" may not be equivalent to "Y IS 1".
...
FossilOrigin-Name: cc4bb05b3653e9502b95ea6fe0bfb77feebc11285b66e1dde4c7b945928efbf1
2023-03-03 16:25:18 +00:00
drh
dc81902445
Do not use an expression index on a generated column if generated column
...
has the wrong affinity. dbsqlfuzz 65f5eb57f8859344d5f1f33e08c77ee12960ed83
FossilOrigin-Name: e95439119ac200cb47d0e277622f41ee7986b364487cd252b485ce5fa030d70f
2023-03-03 15:12:46 +00:00
dan
0b23765b6f
Remove unnecessary call to sqlite3_dbdata_init() from shell.c.in.
...
FossilOrigin-Name: c4d083a3aeeee69342d41b93a1393855871b0e4e7bfdb5fcc2973138018f248b
2023-03-03 10:42:23 +00:00
drh
3f23ce664e
When flattening the right operand of a LEFT JOIN
...
(check-in [41c27bc0ff1d3135]), ensure that the OP_IfNullRow opcode does not
NULL-out a subquery result that was computed within OP_Once. This fixes
the problem problem reported by
[forum:/forumpost/402f05296d|forum post 402f05296d].
FossilOrigin-Name: 8fe13f7a5e5eb798189acb25a608df7a94c2f5cc83463331a048b779c7890c82
2023-03-02 13:49:50 +00:00
stephan
c355f6c839
Resolve a parallel build timing issue when building sqlite3.c/h from ext/wasm. For the time being, do not add sqlite3_wasm_extra_init.c to fiddle.wasm because it can cause duplicate definitions of extensions which are already built into the shell (a better resolution for this conflict is pending). No longer add sqlite3_wasm_extra_init.c to speedtest1.wasm because it's useless there.
...
FossilOrigin-Name: 75fdd5b83b4c527d25649b0d08841e3dc7d4d8109c1c97b2195b303538ced73d
2023-03-02 06:58:55 +00:00
stephan
c3d84b4cbd
Rename some vars in the ext/wasm makefiles for consistency's sake.
...
FossilOrigin-Name: c23589d92cd16b67266d97f4a3d8c0991864dbea30ec074173e1a67466532d21
2023-03-02 05:51:03 +00:00
drh
bf90114867
When flattening a view that is the right operand of a LEFT JOIN, using
...
the optimization of check-in [41c27bc0ff1d3135], always insert the
TK_IF_NULL_ROW expression nodes, even for TK_COLUMN expressions, as
the TK_COLUMN might be a column from an outer query and hence still need
to be NULLed out. This fixes the problem described by
[forum:/forumpost/26387ea7ef|forum post 26387ea7ef].
FossilOrigin-Name: 198b3e33dcfd74c7ba6abcf789ee81dfed464a50ebf15c8edeff349d36789fca
2023-03-01 20:23:46 +00:00
drh
fe37348255
Follow-up to [bbaf1f2eb1e1637b]: Make sure subtypes do not cross a subquery
...
boundary even if the function that returned the value with a subtype is
buried down inside a larger expression. This fixes a problem identified
by [forum:/forumpost/37dd14a538|forum post 37dd14a538].
FossilOrigin-Name: e72661eb680ea707a839cb3d5cf6c7ef03706e7b40af1b84760147e59cd61a50
2023-03-01 15:21:53 +00:00
drh
46960e4677
Do not attempt to apply the count-of-view optimization to a CTE.
...
dbsqlfuzz ef8623915d843b150c159166ee4548c78cc6895a
FossilOrigin-Name: abc3a383636c0346053b5d09d96585f56c64cacb5751673ea3bf339e4955d1cd
2023-03-01 13:54:07 +00:00
drh
f1f4f090c7
Activate SQLITE_DBCONFIG_STMT_SCANSTATUS in fuzzcheck.
...
FossilOrigin-Name: 4fe1419ac3161ea8735241b04913593170c636cf3e1583756fe94edd396cd38b
2023-02-28 21:23:46 +00:00
drh
0bdee38969
Updates to speedtest1.c and the speed-check.sh test script so that they work
...
with the new SQLITE_DBCONFIG_STMT_SCANSTATUS control.
FossilOrigin-Name: bd02df052e1ef78b5335915a38f3c5e13c3c04ab82fd251aeb42a440d1d39257
2023-02-28 20:06:30 +00:00
dan
06382de2a3
Change the name of SQLITE_DBCONFIG_STMT_SCANSTATS to SQLITE_DBCONFIG_STMT_SCANSTATUS.
...
FossilOrigin-Name: a63e4a150b505fc309fac847131009ee9965eb1b798ebcb202ec8b52f9189240
2023-02-28 20:04:01 +00:00
dan
45163fc45e
Add an sqlite3_db_config() option - SQLITE_DBCONFIG_STMT_SCANSTATS - for enabling and disabling the collection of sqlite3_stmt_scanstats() statistics in SQLITE_ENABLE_STMT_SCANSTATUS builds. Collection of statistics is disabled by default.
...
FossilOrigin-Name: 0f5579bef27b84ee855065cfe87703c51e1f9773906a9e0d4e4dafc90bd0e553
2023-02-28 19:39:59 +00:00
drh
4990fc84f1
Only use a Bloom filter on an automatic index if one or more of the key
...
columns in the index can take on non-TEXT values.
FossilOrigin-Name: 5916705c731604d2e6b51a307cc8d7b67f4c102062bfdfcbc716a2916e0b0d86
2023-02-28 18:06:52 +00:00
drh
a353369f57
In the Bloom filter optimization, hash all strings and blobs into the same
...
value, because we do not know if two different strings might compare equal
even if they have different byte sequences, due to collating functions.
Formerly, the hash of a string or blob was just its length. This could
all be improved. Fix for the issue reported by
[forum:/forumpost/0846211821|forum post 0846211821].
FossilOrigin-Name: 090304b870419acb5b05205a07fc75830b556928149f76a843cda526f77a6fc0
2023-02-28 14:28:54 +00:00
drh
f43ffb30b0
When an automatic index creates a Bloom filter, show that in the
...
EXPLAIN QUERY PLAN output.
FossilOrigin-Name: d7b2ac1c1a31fa4285cf6df0995db7e7705bb6a1bc94850c14c94cc4e3eb239a
2023-02-28 13:46:01 +00:00
drh
485a92cbb9
Performance optimization in the varint decoder for the cell parser.
...
FossilOrigin-Name: b2b91c7cb40f1efe800059614e34823411016a3ece3f988e1574aecadd4c3114
2023-02-28 12:31:40 +00:00
dan
b211a4b391
Improve the error message generated by the recovery extension if it is used with a non-SQLITE_ENABLE_DBPAGE_VTAB build.
...
FossilOrigin-Name: c1f2a1d55c180fb51a4e203befbbe529bdd23137b26190c50b8f85820450e7fa
2023-02-28 11:02:02 +00:00
drh
ca4cf12d70
Minor performance optimization in the computation of an affinity string
...
for an index.
FossilOrigin-Name: 07334aa17b6ded27c5bd353998d96645a94cdcf32440abb59d127a002cd98ce9
2023-02-27 18:55:37 +00:00
drh
baef8442d3
Further to [46639f682975dac6], the parameters of a table valued function that
...
is on the left side of a RIGHT JOIN do not need to be in the ON clause. Add
new test cases and tags to associated test cases with the code.
FossilOrigin-Name: 18ee689de3d1ae43b05ca52e0b62c49442ebf68a88814a7c679e8856250a4b0d
2023-02-27 14:48:54 +00:00
stephan
ef22012b6e
Minor doc tweak for the previous commit.
...
FossilOrigin-Name: a8832164d36ea88dc1c5c874c67212800238eab6b1477e5ca92fbf8c77f341b4
2023-02-27 07:23:54 +00:00
stephan
9885c76c4c
Extend wasm build to enable inclusion of client-custom C code, initialized via the SQLITE_EXTRA_INIT mechanism, per discussion in [forum:1e1c04f3ed1bc96b|forum post 1e1c04f3ed1bc96b].
...
FossilOrigin-Name: 68a52cafff60f19c9c998133d04f192b1e8b23f78b8cee13807d76845ef5e13d
2023-02-27 07:12:28 +00:00
drh
d7ddec765c
When a table-valued function appears as the right table of a RIGHT JOIN,
...
the argument constraints on the table-valued function should be considered
part of the ON clause of the RIGHT JOIN. Fix for the problem reported
by [forum:/forumpost/422e635f3beafbf6|forum post 422e635f3beafbf6]. Test
cases in TH3. Possibly related to the enhancement at [501609eddf2a46d5].
FossilOrigin-Name: 46639f682975dac6efec4e230aca2c9b127b4fc77e0b465fad38ef4caa9b7a4c
2023-02-26 20:57:09 +00:00
drh
4edbcdd391
In the [/info/7c2d3406000dc8ac|omit-unused-subquery-columns optimization], be
...
sure to remove the EP_Skip and EP_Unlikely flags from the result set expressions
that get nulled-out. dbsqlfuzz bf1d3ed6e0e0dd8766027797d43db40c776d2b15.
FossilOrigin-Name: 21aec65e5e2a01e58dd0bb8c8b9b29b8414373b53353fc7ca80a152fdd27566b
2023-02-26 11:36:35 +00:00
drh
2d7829057e
Split out a new variant of cellSizePtr() that applies only to leaf pages,
...
for a small performance increase.
FossilOrigin-Name: 22d32eef8741ae4f2aac3869465e5a7d2e33c6bc2425dd8e77f2a746e43687e8
2023-02-25 16:03:28 +00:00
drh
20e09ba6a8
Remove an unnecessary and redundant corruption checks in defragmentPage().
...
FossilOrigin-Name: 2dc7342e12e9dac2d8345d045a17caa29c26eaf6f417dd052c7c645eddd6c58c
2023-02-25 15:34:09 +00:00
larrybr
4ee8e9681c
Revert (mostly) to earlier CLI response to -echo and SQL at the command line.
...
FossilOrigin-Name: 1c6cfcf6ed5e084e5eb6874a261f3670ab5fb3e5dbcf150f37c58b2f16351ee3
2023-02-25 15:15:40 +00:00
drh
0f8aebbfcf
Performance optimization on sqlite3_vsnprintf().
...
FossilOrigin-Name: 4430e6e96dbf3d0b464776c132838dd3e456716e0ae5972fc7e0ece13b56ea25
2023-02-25 12:50:54 +00:00
drh
96705c1d7a
Add the "on" option to the ".log" command in the CLI. Allow ".log on" and
...
".log off" even in --safe mode. Enable the .log command for fiddle builds.
FossilOrigin-Name: 6bba9100ae81466eeb49845c449cbfddf4f82f18b89f55e6ef575cbf66af63af
2023-02-24 21:23:53 +00:00
drh
d8f13f48a8
In the CLI, do not emit warnings about the incorrect usage of sqlite3_config()
...
in Fiddle.
FossilOrigin-Name: 847021b402a3e624e22959a70e3e29a4f069c2005534485779cdc018722b5863
2023-02-24 21:05:12 +00:00
drh
407f06a823
Modify the sqlite3_config() interface so that the SQLITE_CONFIG_LOG and
...
SQLITE_CONFIG_PCACHE_HDRSZ opcodes can be called after sqlite3_initialize().
Enhancement request [0b75886e6d48f7c2].
FossilOrigin-Name: 7902fb806b33a27932f9ca347246f4ac43091caad0a1536009985b650fd720e2
2023-02-24 16:04:05 +00:00
drh
70e01f6adc
Back out the SQLITE_CONFIG_URI option from anytime-config.
...
FossilOrigin-Name: 0de98b8e21e4cbf2438160651585ea23ebea952c5a4e7d88e5eabe5cc49517b2
2023-02-24 15:59:27 +00:00
drh
acf8905425
Adjust testrunner.tcl to make use of the new number_of_cores TCL command
...
available in testfixture, and to use no more than half the available cores.
FossilOrigin-Name: e0122d3863ed03e7bb64400d6561cbc824ecb14d228949ffde443069dbb4223a
2023-02-24 13:45:51 +00:00
drh
1fa0f27e81
Add the "number_of_cores" TCL command to the testfixture.
...
FossilOrigin-Name: 16ee5a7b5d02cad51a35d5675fcc5bb50a62d1f243bde107fc89fed44ffd6a43
2023-02-24 13:25:49 +00:00
drh
764e53d9bf
Merge enhancements from trunk into the anytime-config branch.
...
FossilOrigin-Name: 04b2fdf3bc986cd402e8a6c060e1b3989e60770695e2f8a4bc12c43e380a694c
2023-02-24 12:55:24 +00:00
drh
8ac60da70e
Slightly faster and more precise floating-point to decimal conversion.
...
See [forum:/forumpost/d1387c3979c7f557|forum thread d1387c3979c7f557] for
discussion.
FossilOrigin-Name: 6dea6f4738fc7d003183e94f08bd95181f23e165a966882c0bdc64708a05a607
2023-02-24 11:54:40 +00:00
drh
4b04ced3e0
Fix an incorrect optimization that was attempted as part of
...
check-in [18de3a8e6b431a07].
FossilOrigin-Name: f32055e8110a2eac6c9e26d1d1e620f0668bcb475d49d309dc549cea05e1e582
2023-02-24 01:08:35 +00:00
drh
ed530c0221
Omit unnecessary branches from the enhanced floating-point conversion
...
logic.
FossilOrigin-Name: 32b0ba0d27481d85a4b0037ec36befcbffecdec75891eba58569acb160045553
2023-02-23 22:08:22 +00:00
drh
4df23a3248
Increased precision of floating-point to decimal conversions when the
...
floating point value has no fractional part.
[forum:/forumpost/d1387c3979c7f557|Forum post d1387c3979c7f557]
FossilOrigin-Name: 18de3a8e6b431a075143631eafdcf0e1b1a21868b417394c365d46d2feca10b5
2023-02-23 21:18:47 +00:00
drh
648de49c03
Fix harmless compiler warnings and a code indentation error.
...
FossilOrigin-Name: de6c5c6bb49a0beca793cdc0462da2c17bb05f3292e08dd815be29b45b59a8fb
2023-02-23 14:43:15 +00:00
drh
ad96db8df5
Allow the sqlite3_config() interface to be invoked at any time for a few
...
choosen options: SQLITE_CONFIG_LOG, SQLITE_CONFIG_URI, and
SQLITE_CONFIG_PCACHE_HDRSZ. This list will likely change before release.
FossilOrigin-Name: e1702eb48d13c7c9b7605f1e77242672222c53059edcdc4e9cea59510715822a
2023-02-23 14:22:29 +00:00
drh
3c2688d137
Provide -DHAVE_LOG2=0 and -DHAVE_LOG10=0 compile-time options for use on systems
...
that lack the log2() and log10() standard math library routines, to cause
SQLite to substitute its own alternatives.
FossilOrigin-Name: 7ee22f95e7a7d8650f961f20e304e56c7813e624f05655d7392ca9347748270f
2023-02-23 01:52:54 +00:00
drh
af03eb3241
Enable the count-of-view optimization by default.
...
Enhancement request [eaed8e36ce888f1e].
FossilOrigin-Name: a4aacdd323a854d771c8cb1e2e4cfc4fb66b0020cfed23525733603605f5c63b
2023-02-22 21:47:02 +00:00
drh
95dee6d2e3
Avoid computing the values for unused result-set columns in subqueries.
...
Performance optimization request [baa5bb76c35a124c].
FossilOrigin-Name: 7c2d3406000dc8ac5a99cc205b036356b67e4b0b94738592ffc5680749696904
2023-02-22 21:11:34 +00:00
drh
7b56a0eacd
Update the version number to 3.42.0 to begin the next development cycle.
...
FossilOrigin-Name: 65910216393ed287dbc7e42a2598b6980183c62a64da6572cb691ff4ee23555d
2023-02-22 20:50:51 +00:00
drh
bcb3215630
Remove the push-down optimization restriction that was added by
...
check-in [1ad41840c5e0fa70] because it is no longer needed after
the enhancements to compound query processing in check-in [27655c9353620aa5]
This resolves the performance regression reported by
[forum:/forumpost/bcc4375032|forum post bcc4375032].
FossilOrigin-Name: aa6bd6dff751223e302575c60f335707e4bb820bff716cab3706b564e18ed7ed
2023-02-22 20:42:15 +00:00
stephan
dbb3260627
Remove some unnecessary bind() calls in JS code.
...
FossilOrigin-Name: 71215599cd8ebb970500d8366dfac40420a9a6b243ea9d6ba62d5cde28fae3d3
2023-02-21 20:08:10 +00:00
stephan
2b83570b5f
Unconditionally disable -sSTRICT_JS flag in wasm build because it no longer works with emsdk 3.1.31+.
...
FossilOrigin-Name: b5e0b69649e6341ffff4e62f9f68abd2a53519f73964559a133f3b708e007e98
2023-02-21 18:47:25 +00:00
drh
3b832a1a29
Version 3.41.0
...
FossilOrigin-Name: 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d
2023-02-21 18:09:37 +00:00
drh
b5726a76f7
Disable DQS by default in the MSVC makefile for the amalgamation tarball.
...
FossilOrigin-Name: 409a19145e9558686acab730b94c6d53691b6d0efcea1e9239fc7e5863586a85
2023-02-21 13:28:49 +00:00
drh
61f0a03492
Yet another comment typo fix. No changes to working code.
...
FossilOrigin-Name: cdbdc8013fcfa8ce1bd4f5521c8d98afc53b9c577d43e5e6d0d1e15c789b910f
2023-02-21 12:42:25 +00:00
drh
0c30eaec99
Fix a minor typo in a comment. No changes to working code.
...
FossilOrigin-Name: 7981671d1449b3fc6eb214deb558d91b87dc4fa6e38e24606625a146cc71664a
2023-02-21 12:34:00 +00:00
drh
6e2b2f3073
Fix formatting and improved documentation on the various sqlite3_file_control()
...
opcodes. Other minor documentation changes. No changes to working code.
FossilOrigin-Name: 13280f720a4ef5a1f7f2a2fbe72f374d3a2e12be9bc0c50f7fce50d0cd28a67f
2023-02-21 12:30:18 +00:00
drh
3eeace23f5
Update the TEA version number to 3.41.0
...
FossilOrigin-Name: b450a920c0c59affd105616e999205cb9d2b25a79f8a7f7f05610ddaac0f770f
2023-02-20 19:43:01 +00:00
drh
ffe9bfd8e9
Fix an incorrect #ifdef in the CLI.
...
FossilOrigin-Name: 3c4d29cf227511bf218ef620d497dc72c708dcc819971b34c7629f3ed11803fb
2023-02-20 16:55:58 +00:00
drh
e17cac189f
Fix a harmless compiler warning.
...
FossilOrigin-Name: b2534d8de5051a3516f4b9ee5a4b99e1dcf455e9af88c60815d2c2a479fc8566
2023-02-19 19:16:51 +00:00
drh
1603f7edee
Fix stale requirement marks and fix a typo in the documentation for
...
sqlite3_preupdate_hook().
FossilOrigin-Name: 655991f5d9afdd3281049eb430921046e0ba90eef215020c2fb149adc0d3c4c5
2023-02-18 20:31:26 +00:00
drh
3c7e90b894
Fix a harmless UBSAN warning in debugging code of the new unhex() function.
...
FossilOrigin-Name: 315574d5cbe5c805ff2163052d986b054985984fb45bfb064d1a7b39a22b90eb
2023-02-18 15:50:23 +00:00
drh
16cdb4b632
Fix a harmless typo in the test case added by [29fc06465efb948f].
...
FossilOrigin-Name: e0a0bf56f11f32f58705098e76c276deaf90cfa87e110032bdaad10ce9674f61
2023-02-17 22:48:46 +00:00
drh
ab31a5df93
Do not allow the COUNTOFVIEW optimization to run if the count() contains
...
a FILTER clause. dbsqlfuzz 4f8e0de6e272bbbb3e1b41cb5aea31e0b47297e3
FossilOrigin-Name: 29fc06465efb948f98d2733bb25ffa1e0662a0189304006b3d0be9fec7dd28c5
2023-02-17 18:27:48 +00:00
drh
e43d101c83
A few simple test cases for the omit-unused-subquery-column optimization.
...
FossilOrigin-Name: cf8f57c53425d89619ece10edc197d7d28946d3b23fcb4f526330196c76d9cc1
2023-02-16 19:41:39 +00:00
drh
7defd20cb0
Provide an optimization-disable mask for this optimization. Do not do the
...
optimization if the subquery is an aggregate or is distinct, but allow it to
be an ephemeral subquery. Do not omit columns that are used in the ORDER BY
of the subquery.
FossilOrigin-Name: 6b1a1f374d1372f11f5420d99645b218867100bf070bd3a8885bf5f00c189dff
2023-02-16 18:04:49 +00:00
drh
90b7af7715
Do not perform the omit-unused-subquery-columns optimizations on a
...
subquery that is DISTINCT, as that can lead to incorrect results.
FossilOrigin-Name: cc148503db8ef180bce984328da7e84959afadd6a9613c2d03bc1eafeb95dfad
2023-02-16 15:54:55 +00:00
drh
6945ba787f
Fix the subquery result column NULL-ifier so that it correctly handles
...
subquery columns past the 63rd column.
FossilOrigin-Name: 77b220a7240425fa83e142ceef78505208e6e38d797070e146b9f7d255f753c7
2023-02-15 19:53:08 +00:00
drh
e3ec00ccb8
Do not compute result columns of subqueries that are never used. Make those
...
columns NULL instead. This optimization potentially resolves the enhancement
request described by [/tktview/baa5bb76c35a124c|ticket baa5bb76c35a124c].
FossilOrigin-Name: 5dec3cc0225296a043d17f73126d477d90a604f82b3180628176d8f950adbce8
2023-02-15 17:53:17 +00:00
dan
bdb2ec409a
Update testrunner.tcl to run zipvfs test scripts on unix.
...
FossilOrigin-Name: e6c8e19ab0d6e7526d4596b75a45bb6becaf3c029690f7e75c016eac803c9990
2023-02-14 18:09:40 +00:00
drh
d6ba4252b2
Ignore extra parentheses around a subquery on the RHS of an IN operator,
...
because that is what PostgreSQL does.
FossilOrigin-Name: ecdeef43b27412b0b0b09e09a62ad3a03836a3fc80f2070268090e7ca8f02712
2023-02-13 19:32:40 +00:00
drh
b4dc263ec5
Do not allow WHERE clause terms to match constant string index terms, which
...
can happen if DQS_DDL is enabled. Follow-up to
[44200596aa943963]. dbsqlfuzz 54c9db85ed4af7055f5fd0d50877875c82b11d46.
FossilOrigin-Name: 2d2b91cc0f6fed8cb6f738dc7019047ce0f1e86b5eb8efa997095d08a32cbcb6
2023-02-13 18:42:01 +00:00
dan
1aacb3b02f
Allow vector-IN expressions like "(a, b) IN ( (?,?), (?,?) )" to use an index.
...
FossilOrigin-Name: 18a99d9cfbc3a0419342b3fe91a83d2217578d0f6e8ee1084237d000946b1942
2023-02-13 18:37:48 +00:00
dan
5c84aafd77
Fix compile time option SQLITE_DEFAULT_SYNCHRONOUS so that it works consistently.
...
FossilOrigin-Name: bf6f1ee77c4bf653f6cd2a3db5292b8c5c83f18ea9acf951107d22807546b28a
2023-02-13 18:26:58 +00:00
dan
0c69938511
Allow vector-IN expressions like "(a, b) IN ( (?,?), (?,?) )" to use an index.
...
FossilOrigin-Name: 1815b15ddb8785a25b7617aab19e13c2410b9377389c16a85176025b3d9400e8
2023-02-13 16:10:31 +00:00
drh
9e463e878d
In the LIKE optimization, do not analyze the new virtual WHERE clause terms
...
until both have been added, since they are expected to be consecutive and
the analysis might add complementary terms.
This fixes a problem caused by [44200596aa943963] and discovered by dbsqlfuzz
and recorded as case 7e3b5983727d843b910b2d9ab556e4afcd777cfb.
FossilOrigin-Name: d35de3ad3fac6b30d3f266cbe4b1e9923eb31a1eff4a869205bbc3ba122eeec5
2023-02-13 12:46:22 +00:00
drh
0c55b5fd1c
Change a variable from 32 to 64-bits to avoid a harmless compiler warning
...
in Xcode. [forum:/forumpost/402d733c22|Forum post 402d733c22].
FossilOrigin-Name: 0216ce23cf23bc147c5de6de178a6689b7ad744bf0ee0098809938b5fe10708b
2023-02-11 21:11:39 +00:00
drh
80e936aef0
Do a better job of detecting when a WHERE clause term might be useful to
...
an expression index. Fix for performance regression reported by
[forum:/forumpost/e65800d8cb|forum thread e65800d8cb].
FossilOrigin-Name: 44200596aa943963bc6ca98b5d4fd5b9235d1109d8dfc1a75eeae353b4239142
2023-02-10 21:53:33 +00:00
dan
a3e6192941
Fix a problem with the fts5 trigram tokenizer and LIKE or GLOB patterns for which contain runs of 2 or fewer non-wildcard characters that are 3 or more bytes when encoded as utf-8.
...
FossilOrigin-Name: 00714b39b39c51519edbc0194f98c7275fecf96763a06fd95db6e1d81bb9f1f1
2023-02-10 17:17:04 +00:00
drh
74e6e30358
Ensure that the valueFromFunction() routine does not clear a prior
...
parser error. dbsqlfuzz 6fa816f20cf5b62260d635d110b88f38e29d8fe1.
FossilOrigin-Name: 734766451123c98a467c3407562eaa097b3307c8a275e1c8dd93e4654fe78014
2023-02-10 14:20:18 +00:00
stephan
98094e2f4c
Minor text-only updates to wasm demo/test HTML and license header.
...
FossilOrigin-Name: f28e2a8613571fe3c23bfbbb602311071f4cb9731653216cfe436c38b0a59736
2023-02-10 11:05:16 +00:00
stephan
c9e3cbe873
Fix ext/wasm/fiddle build, which was silently broken by recent build refactoring.
...
FossilOrigin-Name: dcf532931136d09bef23ccad669d486cb31daec8565317c3209c280b5695d45d
2023-02-10 11:04:39 +00:00
drh
3f4795a391
Disable the double-quoted string misfeature by default in CLI builds.
...
DQS can be reenabled at run-time using the ".dbconfig dqs_dml" and
".dbconfig dqs_ddl" dot-commands.
FossilOrigin-Name: c995932c3ffe7f2710ebce0fa407eca3200418aa84febc15fb15f20f3758a98d
2023-02-09 15:32:24 +00:00
stephan
5b56a13977
Squelch two harmless signedness comparison warnings in shell.c.in.
...
FossilOrigin-Name: bdd3edec13fa1142a8074c316e9ecec93fb278d42836eeb38587376fdf22cebd
2023-02-09 12:59:44 +00:00
drh
9a8330b550
New test cases added to fuzzdata8.db.
...
FossilOrigin-Name: be67bafccd79ba835ed7e287e09852ce83805da0797b164d0c8e44be05d9d28a
2023-02-09 12:47:15 +00:00
drh
a0c8ec9ee5
The "flexnum" affinity that was added by [44135d6ea84f7ba6] needs to also
...
be added to the output of the affinity() built-in function.
dbsqlfuzz d309eaa5fe492c9606a8be876c2bc7dedb29d3d8
FossilOrigin-Name: f4ec68ceefa3a607f37d6355aac89fd1ae1704da4061bad7f271db1f17c1dd3a
2023-02-09 11:51:40 +00:00
drh
601e4d4a0f
Back out the 'txn' enhancement to date/time functions. The duration of a
...
"transaction" is confused and needs to be straightened out prior to moving
forward with this change.
FossilOrigin-Name: 4a145f07322d768a07619bed27e0390d50f3a01d07787b9296234a5ceb6f1218
2023-02-08 20:29:48 +00:00
drh
03b30b7abe
Always use 64-bit integers for stats associated with STAT1 and STAT4.
...
FossilOrigin-Name: 6647d1cb8b53102c8114b1f3e34173d907504d78aa3140eab53f88027a36660b
2023-02-08 17:28:42 +00:00
dan
0d12a79310
Better fix the problem where optimizing an fts5 table too often causes it to become unreadable (first attempt was [35bed981]).
...
FossilOrigin-Name: 459d986d38fc0ccbfd66801e0f22900cfed831268cf59ac8d1cd1e556f0d1441
2023-02-08 17:28:08 +00:00
larrybr
72ce57e675
Cause gcc warning suppression in shell.c to be nice in other project(s).
...
FossilOrigin-Name: 6b41ba2e996ab7b9c3943ab93a19748db5cf37792f5d59d20eec301085282355
2023-02-08 14:49:52 +00:00
dan
8ae1d29b13
Update an assert() in the stat4 code that is only true for a well-formed database.
...
FossilOrigin-Name: 04439f3b23b22a3c187637f286764568ee922227e3e34b2e63075876b4d1f2ac
2023-02-08 14:25:00 +00:00
drh
0873d88423
Fix an incorrect assert() in STAT4 logic added just a few days ago on
...
[2023-02-01|/info/55a26c67ed4a3a93].
FossilOrigin-Name: 168fa2fb22b8c1ad80c7001a429d3a80b48acfbfebb5414a0caa76964ea647c3
2023-02-08 14:17:34 +00:00
drh
821fe31fd7
Add the 'txn' date/time format. Change CURRENT_TIMESTAMP and similar to use
...
'tnx'-style semantics instead of 'now'-style.
FossilOrigin-Name: 61cc8ed8d3541eddf23a9d542179c3f0223c5b8519b54d3be79988a376e25a89
2023-02-08 12:47:37 +00:00
drh
159cbfe1cb
Test cases to show that CURRENT_TIMESTAMP and similar hold the same value
...
across a transaction.
FossilOrigin-Name: 7b2fa20e31b8a0314b9ccb97bb556898d552505dbc5943f248df3f86c0f4e008
2023-02-08 12:31:47 +00:00
drh
ed092fc368
Revert the behavior of date/time functions with no arguments so that they
...
once again work like 'now', even while CURRENT_TIMESTAMP and similar work
like 'txn'.
FossilOrigin-Name: 06180caff0f5d8aba83b9f7be682ccdd6cb2ffc228b557ee6c1fd00fe5c23e92
2023-02-08 12:01:48 +00:00
drh
c1dab9ded2
Change the behavior of date-time functions without any arguments (and thus
...
the CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP variables) so that they
work like 'txn' instead of like 'now'. This is an incompatibility with legacy,
but brings SQLite into conformance with all other SQL systems.
FossilOrigin-Name: 1ac78be54502779236645eac35b962797f2fb98307d059d2aa19658c4fa74cb7
2023-02-08 11:34:05 +00:00
stephan
51b0373998
Merge wasi-patches branch into trunk.
...
FossilOrigin-Name: 9902e66a37d59c1909593bbc296091df3fa3bfa12ec7062bd84e458030f77c8d
2023-02-08 08:49:52 +00:00
drh
3393ee7ff6
Simplify the code and add test cases.
...
FossilOrigin-Name: d3bed4caff561e71c396cc869c5b4d9bf216ba203485e738c12ec62741f1aba5
2023-02-07 23:55:59 +00:00
drh
d4af882a1b
Add support for the 'txn' argument to date/time functions that works like
...
'now' but keeps the same time for the entire transaction.
FossilOrigin-Name: 5e4f45af96247e29910403a63ac148cb313b005f9c014b37a9a49d98f5fef9a6
2023-02-07 21:55:14 +00:00
dan
c3ea539dc2
Fix a test script problem causing "make test" to fail for non-RBU builds.
...
FossilOrigin-Name: 2abc3f9de0d2b66342598ab9015e62568ed20c7da4744a0f0a76b1db72c7e941
2023-02-07 18:41:23 +00:00
drh
9d6725c651
Fix a typo in example documentation code for sqlite3_vtab_in_next().
...
FossilOrigin-Name: a95dbfae6133cc7aac950c3e7ba55a29d80b1625c39479a7d1d10b0868ee2be4
2023-02-07 16:58:58 +00:00
stephan
f8c73aed67
Merge trunk into wasi-patches branch.
...
FossilOrigin-Name: 656d36f50f630da68262469087bad1ac71b10325e233a7963103c8cbc232f61a
2023-02-06 22:25:18 +00:00
stephan
9f29998d2a
Roll back part of [c54f29d8] which attempted to use symbols which that worker does not have access to.
...
FossilOrigin-Name: 90b12211376eb445df7221b3d3593394ff651ef93f4218492c6208bc74b8fc63
2023-02-06 21:20:59 +00:00
dan
8057fe9baa
Fix RBU test scripts to avoid attempting to copy or delete a locked file.
...
FossilOrigin-Name: f25eb898fce44120136f8ee5557305f43541e8a75323cfc3becf103f3fa795aa
2023-02-06 19:00:54 +00:00
drh
41c238f03c
Omit the obsolete client/server test cases.
...
FossilOrigin-Name: 5dde07a91dcf99b9c9a418b4e2178f66eef4cffd4799538a419674314a7530f9
2023-02-06 16:23:52 +00:00
drh
913ea77443
Fix the build after the previous change
...
FossilOrigin-Name: aea3b6f6515bc3b7e7205b7d17d99cb1fc68030eb929d8adbe25f065668c9c95
2023-02-06 15:49:54 +00:00
drh
da3d655fd8
Remove the long obsolete "client/server" mode tests.
...
FossilOrigin-Name: 08e3114caec0633fc54f8febb7f4732b46a1f47508bbca0a6a2bff02591254d5
2023-02-06 15:46:34 +00:00
dan
6896da42c6
Update test scripts speed1.test and speed1p.test so they may be run by testrunner.tcl.
...
FossilOrigin-Name: e761d4b9c8dcacccc927d23f20fdf779a0ae5304281b5bd6aa998bade56f0a37
2023-02-06 15:46:01 +00:00
drh
634ed64312
Shorten the status line for testrunner.tcl so that it fits on an 80-character
...
terminal.
FossilOrigin-Name: b760a7307c453d95cf3b302c9867c84a9c899956c16c2ce1ea6cce8f025db425
2023-02-06 14:48:02 +00:00
drh
adc21bd434
Fix error in the releasetest makefile target from the previous check-in.
...
FossilOrigin-Name: e7fe287d7904166c05d31b96ec8fd6f09318869c57437d1c661db7b79e6d8bf2
2023-02-06 14:16:15 +00:00
drh
4bce182504
Update "releasetest" makefile targets to use testrunner.tcl.
...
FossilOrigin-Name: 1b95676b05701952cab7087f528028c48302f611fe63799551dc45098354d27f
2023-02-06 14:11:18 +00:00
stephan
3ff812aa94
Add capability to override the JS's use of console.log/debug/warn/error() with client-provided versions via the bootstrap-time config object.
...
FossilOrigin-Name: c54f29d8e55419eaa9168e799dab5030e89063b13d8390a50616606422d164dc
2023-02-06 14:01:19 +00:00
dan
ee18659f69
Fix a formatting problem in scanstatus2.test introduced by [81c118d9].
...
FossilOrigin-Name: 928ab40edbf11c02b3f03e660051d9587243002b9220adc77f972c3758c12b19
2023-02-06 13:36:34 +00:00
dan
0bd0843eb1
Add the --fuzztest option to testrunner.tcl. Also, have it print whitespace over the top of the old report line before writing the new.
...
FossilOrigin-Name: d83ce01fe1f21edcc93ad4c6308026156f235bab75e16e15389e27ad388fb274
2023-02-06 11:43:22 +00:00
dan
2288ecbb9c
Fix problems with test scripts preventing them from running with SQLITE_DEFAULT_MEMSTATUS=0 builds. Or builds without SQLITE_ENABLE_STAT4.
...
FossilOrigin-Name: c0fbc89ed26b6eb361c1a05e2fb0d78d101fe2daf2947bbe5e0e58e0c2a779a2
2023-02-06 11:02:31 +00:00
dan
e734207a79
Fix some test scripts that were failing with SQLITE_OMIT_VIRTUALTABLE builds.
...
FossilOrigin-Name: 81c118d90b281b30f40b3eeefaeb2c8350aa40080b4fe7de8f21d263986c6acb
2023-02-06 10:47:57 +00:00
drh
072f48e556
Do not use a Bloom filter if any outer loop lacks STAT1 data, since without
...
STAT1 data, the query planner cannot make an accurate determination of
whether or not a Bloom filter will be useful. This fixes the problem
reported by [forum:/forumpost/56de336385|forum post 56de336385].
FossilOrigin-Name: e6ab96bd0b9efc51fd703bf7e92b079943ad9a3b92183d434adc11fb7d238afb
2023-02-05 20:29:10 +00:00
drh
9ce8643676
Add the "devtest" makefile target that runs both fuzztest and testrunner.
...
FossilOrigin-Name: c81398c6215d6d1bc7a15b6be9bb1f81effd430ff0a7c86158372accfa77814c
2023-02-05 17:40:03 +00:00
drh
e88b209874
In fuzzcheck, only show the description of each database if the -v option
...
is specified.
FossilOrigin-Name: 6a58179aaffa77a5542ab620ffce6f68135e399de957b1a97113fd2f1dc0c098
2023-02-05 17:09:18 +00:00
drh
8d07c3d497
Restore a test for pBt NULL that was removed by [12a14711afa6cddb] but turned
...
out to be necessary, as dbsqlfuzz quickly showed us. Test case added to TH3.
FossilOrigin-Name: 647c89dd2f90da1605e6fc01ecc8c1367c12c06b3a972ed682a69e85bf1d77e9
2023-02-05 00:47:27 +00:00
drh
fdde4042eb
Modify the status line output from testrunner so that each line overwrites
...
the previous rather than scrolling.
FossilOrigin-Name: ad4d28cd68589a9259069c77c8d375ae49cfd0bcdf3b03d3e84418569e12ebfc
2023-02-05 00:32:32 +00:00
drh
2f9525b0ff
Changes to the sqlite_dbpage virtual table to tag or remove unreachable
...
branches.
FossilOrigin-Name: 12a14711afa6cddbf64d5307fd239fc597027d4356a431ad75836025f4bad83c
2023-02-05 00:24:42 +00:00
dan
a3d4d7a0ae
Avoid running rbu tests under permutation "journaltest", which does not support wal. Fix some other test script problems.
...
FossilOrigin-Name: 92f018698a87ed32acc31d83f7246dbb7295867bd6a801b7984a16f97a5c7786
2023-02-04 21:25:17 +00:00
drh
111057cf66
Add ALWAYS() and NEVER() macros to unreachable branchs in sqlite_dbpage.
...
FossilOrigin-Name: db875cd6be3b6e0032325cf42e6846eb41a7f099eb4561baf402d914446b052d
2023-02-04 20:53:31 +00:00
drh
5db5c122ef
Remove an ALWAYS() that can be false in some very rare cases.
...
dbsqlfuzz 2274a23c85a93b870f7eb12fe686073da01abc33
FossilOrigin-Name: a4eb0b0d837291590958a5f292f41e80e0f722668a060aebfed5ea36ea176332
2023-02-04 20:07:52 +00:00
dan
fb962837fd
Updates to the testrunner.tcl script so that uses a separate sub-process for each test. And so that it runs the release test procedure currently handled by wapptest.tcl.
...
FossilOrigin-Name: 4c3c587500ac5a3758008f0acb9432bd3bc6f0f31bacd5615f46280e55842982
2023-02-04 19:01:17 +00:00
dan
b713d501f6
Changes so that wapptest.tcl still works.
...
FossilOrigin-Name: 7624de3a93e03e9e825b1a283ccde8ad3aa41f93dd5c7f63692620a5177cbda9
2023-02-04 18:58:51 +00:00
dan
0415dd9c56
Update testrunner.tcl usage message.
...
FossilOrigin-Name: b7c246bc3f462098f6281ee2cd2e4e870b6d6481263d277f04956596a4764558
2023-02-04 18:50:16 +00:00
dan
4e5ff3b820
Add testrunner.tcl "njob" and "status" commands.
...
FossilOrigin-Name: 3869cd3d306ed68ec6e118aa10b4e835f2bab1294039888d88a30b3cfcf1d7be
2023-02-04 18:47:59 +00:00
drh
ad1079e35c
Better error message when trying to do an INSERT on an sqlite_dbpage virtual
...
table.
FossilOrigin-Name: a98e4908dabc8f45f7859a26bd1d0c04de34ec68c1367c2cdd9b0242e08b938f
2023-02-04 14:23:26 +00:00
dan
bd55d3ddab
Fixes for testrunner.tcl on windows.
...
FossilOrigin-Name: b98e19fc41cb7f89ae9e063b8af414bc01d14833a14de5d646069483ef0127b2
2023-02-03 21:18:58 +00:00
dan
d40a183506
Fix a problem where optimizing an fts5 table too often might cause it to become unreadable.
...
FossilOrigin-Name: 35bed981416269018a0d52171d9997c43d3b097f5db1910d10d882eabe2e137f
2023-02-03 19:28:50 +00:00
dan
33d3559736
Have testrunner.tcl run various builds as part of the 'release' command.
...
FossilOrigin-Name: ba2fae30a81e2574f13a7351c9f843b8c2c7d2c93fcd71fb2de98f5b34f3e109
2023-02-03 18:47:00 +00:00
drh
989d0cec5d
Attempt to fix harmless compiler warnings that reportedly appear in clang 15.
...
FossilOrigin-Name: c045d76b908a8c90d22511df7884e78d452b250db9ba70d4cb0935048a3c3ac4
2023-02-03 14:57:40 +00:00
drh
410a3bafed
Improved detection of invalid command-line arguments to the showdb and
...
showwal debugging utility programs.
FossilOrigin-Name: 75cdaafc77b8a1efc84e71e90470994227f376e7d7de34c813e75dcadbb9f268
2023-02-03 12:03:56 +00:00
dan
60228cb3d2
Avoid using Tcl command [clock] in testrunner.tcl.
...
FossilOrigin-Name: b2faf9289f6fbbcd4491e1b063da731b35aeed9ff1fc97f64798e99cac847b4a
2023-02-03 11:32:51 +00:00
dan
e18fdcd35f
Do not run test script pendingrace.test as part of the inmemory_journal permutation.
...
FossilOrigin-Name: 69d934a1bfad86f3f60dab146db539645f5735f1bdb07dfe3a3d88828a03390b
2023-02-02 20:15:42 +00:00
dan
b0c8e2f900
Add configuration data for osx and windows to testrunner_data.tcl
...
FossilOrigin-Name: e45d34656a110f85671d8b5d33f0d6d807fd64dfef5777fefba22ac6836f0e86
2023-02-02 19:41:43 +00:00
drh
2dd3b645b6
Improved and simplified logic for resolving the various aliases of the schema
...
table.
FossilOrigin-Name: 5c19491c36b9e2128430e4f153bdef48c3f7b6541d44f36044e8fc2921ecc830
2023-02-02 16:30:32 +00:00
drh
6f31eac7d8
Resolve all possible aliases and variations of the schema table names.
...
FossilOrigin-Name: e7a0112b235d97cb68c92b967bf2218b90258c243ec2b638aaac142392873126
2023-02-02 15:28:40 +00:00
stephan
7667eedf95
Remove automatic installation of JS-global S object for the sake of client libraries which embed this library, per [forum:9d4f722c6912799d|request in the forum].
...
FossilOrigin-Name: 9504f68af8360ea6d61574fd4b9811af34b721c12d9653eb50adcf0f12b129fc
2023-02-02 06:17:22 +00:00
drh
71a9339672
Adjustments of assert() statement in STAT4 in order to give 100% MC/DC.
...
FossilOrigin-Name: 55a26c67ed4a3a937e009f60da2cd951d6f090b0bea748037db5c1680e5ff3b4
2023-02-01 23:24:34 +00:00
drh
45ae9d6ba6
New assert() statements to verify that sqlite3DeleteIndexSamples() is always
...
called with non-NULL parameters.
FossilOrigin-Name: 92c71fdd7167a7db055ef0aec522bbba8c7b4b37658efda10dac44699921b57f
2023-02-01 20:45:12 +00:00
dan
986c22a6d0
Update testrunner.tcl to use a separate process for each test script. And to run some extra tests too.
...
FossilOrigin-Name: d090948a69a9c4b86693bd3caedba3d7e5883e4b2ad1f2d4bf7ae14c105ddea7
2023-02-01 20:14:59 +00:00
drh
54725efd80
Just because a CTE is used more than once, does not mean it should be
...
tagged with M10d_Yes and thereby prohibited from participating in the
query flattening optimization. See
[forum:/forumpost/1d571c02963355ed|forum thread 1d571c02963].
FossilOrigin-Name: 66f29c403d28630bfaea9124bd63ee4a047b1fe4a7e27dc5d10d67d1601b15e0
2023-02-01 15:41:07 +00:00
dan
288409d731
Fix a comment related to PENDING locks in os_unix.c. No code changes.
...
FossilOrigin-Name: 6b3546c871fe78a4e550e0144b48ac98325787cc8b192a9e7f5f2a2ffa57f76d
2023-02-01 14:17:25 +00:00
dan
4209742161
Fix a race condition during hot-journal rollback on unix that could theoretically cause spurious corruption errors.
...
FossilOrigin-Name: e365dca4e5775b4897118c8937a1063282d7a1ecc2604529256b0a6b8a3510ba
2023-01-31 20:43:21 +00:00
dan
ca3aabdf53
Fix a race condition during hot-journal rollback that could theoretically cause spurious corruption errors.
...
FossilOrigin-Name: 20ea53ddf590a9dd19501fabd2bfdb9c10b5eb265cd2995bdb335769c936c763
2023-01-31 20:21:06 +00:00
drh
f7af9ba13c
Additional tweaks to the enhancement at [609fbb94b8f01d67] to further reduce
...
the cost estimate for constructing an automatic index on an ephemeral table,
in order to resolve the performance problem described by
[forum:/forumpost/1d571c0296|forum post 1d571c0296].
FossilOrigin-Name: bf1aae7a8c7f2c74681aa29baa35259d10ce6a1737d2607def6bf27fed592131
2023-01-30 20:44:54 +00:00
stephan
26c7cff254
Two JS file renames which got inadvertently undone while setting up [9062b31174618c0e]. Cosmetic cleanups in ext/wasm/dist.make.
...
FossilOrigin-Name: 0c2fde767f77d6204e95737edd573f42d72e956a3c20ea7e4daeff906657bbe5
2023-01-29 06:01:32 +00:00
stephan
2f5330036d
Correct the handling of the worker1 and promiser JS files in the face of the bundler-friendly changes. Those files require separate, bundler-friendly copies.
...
FossilOrigin-Name: 9062b31174618c0e67e86441e14eac420c734a0cc321f7eebc7d89ff8a449c10
2023-01-29 05:09:39 +00:00
dan
05a377fd46
Do not assume that sub-queries that contain window functions are uncorrelated.
...
FossilOrigin-Name: f27804484df57de76be9dbd1a9e5869916617684ee407101c978df7da30b34ac
2023-01-28 21:06:15 +00:00
drh
8cc8d36e4c
Show more details about the SrcItem.fg field in tree-trace output.
...
FossilOrigin-Name: 3d05dddd0bc826a73a8cecd6b116168082fb46b6e4868d03438c0a5a546d2f97
2023-01-28 21:01:33 +00:00
dan
20438431c8
Fix a problem causing "PRAGMA quick_check" to return spurious corruption errors for a WITHOUT ROWID for which all columns are either virtual or part of the primary key, and for which the order of the columns in the primary key definition is different from the order in the table.
...
FossilOrigin-Name: a7530f897127f35a212db6557edbcbbb286cc0e094754c1c1b74ce8dbf724470
2023-01-28 17:37:37 +00:00
dan
54c9250b09
Update sqllimits1.test to account for the fact that if an odd value is specified as the length in bytes of a utf-16 string, it is truncated to the largest smaller even number.
...
FossilOrigin-Name: 74508470c4caff04638e750cd84073f3137b8a9f72c6fe390a279da7b1c13398
2023-01-28 16:37:30 +00:00
stephan
c7170350d7
Makefile doc touchups - no code/build changes.
...
FossilOrigin-Name: 3458a481b9ee391122dba531358d664d5219ce4a58cbce93d07df57cc64dc2c7
2023-01-28 09:51:41 +00:00
stephan
919fe5bac6
Overhaul ext/wasm/GNUmakefile to consolidate what amounts to much copy/paste/slightly-edit duplication into a single function, called once per distinctive build mode (vanilla, ESM, bundler-friendly).
...
FossilOrigin-Name: 168e5a93013d8650c180e19788e5f301b5d5ae8501d0ce728004fd750ca9e682
2023-01-28 09:11:08 +00:00
stephan
e84454ff16
Enhance oo1.DB.exec() to simplify returning whole result sets.
...
FossilOrigin-Name: 7b168ee2af09f04b41a6ef4c14ccaddc0c9b0bfe9dc1e6a86d8f5317606bd78d
2023-01-28 05:09:26 +00:00
stephan
65f7942d06
Add JS bundler-friendly JS build. Minor test code cleanups.
...
FossilOrigin-Name: 24d3a53dea5e596230558e233cbbd9d0288b4c394cd5ea7b650fd99bff4cde2e
2023-01-28 04:20:46 +00:00
drh
cfd01014d0
Fix compiler warning in base85.c.
...
FossilOrigin-Name: bd9613fd63193bd6b33798d83f0ef21987ba468b53d13a25a31cb9e9e5f20562
2023-01-27 23:10:10 +00:00
drh
f92b006a6e
Add an assert() to help static analyzers.
...
FossilOrigin-Name: e446c8b4aa2ffe075f9c289c771d62a414661c3ffe6abae5649c50af8e32fab6
2023-01-27 20:15:48 +00:00
dan
844e7183ae
Do not try to run rbu tests with builds that do not support rbu.
...
FossilOrigin-Name: c74ad902e3bbfc28d6b30a37f3791176d64cdd8fd5950f1d1749541e244a0494
2023-01-27 19:59:46 +00:00
stephan
cf73cb2fbc
Cherrypick [3773934e91c20ca243] into trunk.
...
FossilOrigin-Name: 50cf4300a6a92302010fa4a7662db82bf55180a4930771f0d3c07e558bc87e7d
2023-01-27 17:19:30 +00:00
stephan
9dc093d095
Work around a JS null pointer deref which could be triggered from the dev console, but not (it seems) from client-side code.
...
FossilOrigin-Name: eabb551b8b3d33fc3a327ecf7225436a3a3f616901e22c868fd76a5e3adc7b3f
2023-01-27 07:53:49 +00:00
stephan
87ce1ff7f7
Merge trunk into wasi-patches branch.
...
FossilOrigin-Name: 2ce89f5efcdb8b4c58eb2d30833a76d79ae0134c31d5ab8564be9e1cf5a1f4f0
2023-01-27 05:37:24 +00:00
stephan
ca86a5351e
Cherrypick [fa784101775b7|emscripten ticket #18609 workaround] into trunk.
...
FossilOrigin-Name: 9a26fae545b9c97129893b83ff97e62b1c477eccd1379af1dce4a3cc4fa9f932
2023-01-27 05:17:10 +00:00
stephan
cdcb84ef00
Merge trunk into wasi-patches branch.
...
FossilOrigin-Name: 6fc20d75d49310aedbc3351a4a5f1aa9ef5b4100501c7bfbe556aca2be2e44d7
2023-01-21 12:18:28 +00:00
stephan
a7c498599f
Merge trunk into wasi-patches branch and add missing yes/no result to the configure script's output for the --with-wasi-sdk=PATH test.
...
FossilOrigin-Name: adc0ede0a43241b85563408d0de8e640a75ec4f7bdfe5e48acc5cdd6b182b88c
2023-01-11 22:45:20 +00:00
stephan
60a1a0f7df
Incorporate wasi-sdk RANLIB configure script patch from the VMware OCTO team.
...
FossilOrigin-Name: 478fe96ee7f3ffd5732231b75e6f04e898a59368b3c91f79e6af9496dfcef6d3
2022-12-24 15:34:16 +00:00
stephan
6e893aee95
Merge trunk into wasi-patches branch.
...
FossilOrigin-Name: 52f40ab12e437c59af2b91c7ac105ab7784db57fc8d9ab7a1356f17092681f43
2022-12-24 15:31:56 +00:00
drh
22166f83b4
Rerun autoconf using version 2.69 to minimize configure script differences
...
with trunk.
FossilOrigin-Name: b63342839427917ae48e13b959457baa5c2e0e1be8a444b0e1a4e0446ace9178
2022-12-10 12:06:31 +00:00
stephan
3bcb5ce472
Imply configure flag --disable-shared when --with-wasi-sdk is active because libtool is running gcc for linking the shared lib, which cannot work in a wasi build.
...
FossilOrigin-Name: 9253ba43c0c7657ecf4c3d32df4084577e7188e6151b883a5fa92a43aa4c3e30
2022-12-10 07:02:46 +00:00
stephan
146961889e
Add --with-wasi-sdk=DIR flag to configure.ac. This mode compiles but fails to link the DLL because libtool is apparently hard-coded to gcc for the DLL.
...
FossilOrigin-Name: 39c9f441519d3b3c365c52293a73cdf4af86de639e0009170c27725aad6653f6
2022-12-10 06:44:48 +00:00
stephan
f0962c9f49
Run configure.ac through autoupdate, as required by autoconf for rebuilding configure. These (many) changes were made entirely by the autotools, except that some whitespace-only changes were reverted by hand to reduce noise, and are a preliminary step to adding a new flag to configure.ac.
...
FossilOrigin-Name: 2be2d5d428acd538e44d7b9345b64470131bef40f67ba3190f5cd42f9949f355
2022-12-10 05:52:02 +00:00
stephan
9be7a363cc
Merge trunk into wasi-patches branch.
...
FossilOrigin-Name: 13dade955d46020ab408734123261e9fadb8bccbaf67003b111112af4789d8c0
2022-12-10 05:00:16 +00:00
stephan
412237fba5
Merge trunk into wasi-patches branch.
...
FossilOrigin-Name: 64cf34a85505814b4c93e82855c25559c8096bb3ce38cdc5e0fb9218c6bcce32
2022-11-30 10:05:02 +00:00
stephan
6eb11f0a95
Merge trunk into wasi-patches branch to clean up the diff view.
...
FossilOrigin-Name: 95de6742d3d96d2b21eec57195dc7a2236d3f61640633ae1baa36bf142a3485b
2022-11-21 16:03:19 +00:00
stephan
5aa5463e75
Remove check for WASM_WASI macro when detecting wasi compilation mode, as that macro is project-specific. Rely only on __wasi__ (exposed by clang) to detect wasi compilation mode.
...
FossilOrigin-Name: d469ac0c448eced26a697751ce9be316e8bc3cd029fda2b50966523c7850854f
2022-11-20 15:30:42 +00:00
stephan
cedc3eee70
Elide a wasi-incompatible shell.c block in SQLITE_WASI builds.
...
FossilOrigin-Name: 9b8b15a779158ec7c39d936f6bfa6a35e12063a36933341ade051809993a5678
2022-11-19 15:03:25 +00:00
stephan
946c317ac6
Default to SQLITE_THREADSAFE=0 and SQLITE_OMIT_LOAD_EXTENSION for wasi builds.
...
FossilOrigin-Name: 382ba3b28409bbc54e6c5c3c9fe78980832e9f33261ee842e3b56e788300f669
2022-11-19 07:44:32 +00:00
stephan
9a92d53cf5
Account for lack of mmap(), getpid(), and shared memory APIs in wasi.
...
FossilOrigin-Name: 80ff026fb4b2203eea53d4930c1e9bb138db951fb408739c7d5c776fb397b665
2022-11-19 07:39:31 +00:00
stephan
8cfd2c3eeb
Preliminary patches to get sqlite3.c building as-is in WASI environments.
...
FossilOrigin-Name: 19c04d71bf0f2f44d5a03288cbea3f63cf4eae2fa018ac6be4ae49a321e2b2f3
2022-11-19 07:17:12 +00:00