drh
af0c9ffb4a
The jsonb_remove() routine now appears to be working.
...
FossilOrigin-Name: e76d48137ea823b7810dc8c3b70eb21adabdd6cfbac36050c85d1375e94be1de
2023-11-15 18:47:31 +00:00
drh
0399994759
Work toward getting jsonb_remove() to work directly on JSONB blobs.
...
FossilOrigin-Name: a79ff8e58fcaf718a6fb78e145117f1d6d40d133f31e9752bb9c6d484850a27b
2023-11-15 16:10:31 +00:00
drh
fb57c8a932
Merge all the latest enhancements and fixes from trunk into the jsonb branch.
...
FossilOrigin-Name: ba91408f4c044feda003ef93784ccefb619f99ab64379ced481ee8e9e890fd41
2023-11-15 13:23:40 +00:00
drh
7df044633d
Add NEVER() to a branch made unreachable by [6f9eed826f5b3d1c].
...
FossilOrigin-Name: 26dcaa34e3521783bde687749d590eca54cecb4bb95ef332a4a6473c4141d052
2023-11-14 16:53:52 +00:00
dan
d928e78088
Fix another obscure problem with nested aggregates. dbsqlfuzz 04408efc51.
...
FossilOrigin-Name: 6f9eed826f5b3d1cb08402925b406a7fe9b54259af1ba5eba92d4d37fbad628a
2023-11-14 14:50:34 +00:00
drh
34ccd18d65
Extra PRAGMA vdbe_addoptrace output showing when OP_Column gets translated
...
into OP_Copy due to using a coroutine instead of a cursor.
FossilOrigin-Name: eba180e77977acd6f3d4a0e3c99a2ebd4ce2839e9ce30c588929e36d69aa762a
2023-11-14 13:51:19 +00:00
dan
fb28a93f75
Fix another problem with mixed join types and the RIGHT JOIN strength-reduction optimization. [forum:/forumpost/befdab472d | Forum post befdab472d].
...
FossilOrigin-Name: f1eae192315335d7e385b0a801a17700a9718d245bda6628518c5df9a1e9d3d6
2023-11-10 20:55:20 +00:00
drh
88dcfe56da
Additional debugging information on the tree-dump of the BETWEEN operator.
...
FossilOrigin-Name: aca31e49d1d25043769544ccf2a07980c5f162a8eb2486e393bf9d9d1a394a60
2023-11-10 20:46:58 +00:00
drh
10c815a55d
Remove an incorrect ALWAYS() that was inserted yesterday [1e039b6eb59c0001].
...
FossilOrigin-Name: 12885e298b9d3f977f1de11a194692dfb5fbb7daeabd958674f884a5575ddd24
2023-11-10 20:35:59 +00:00
drh
e8d4fd59e4
Merge recent trunk enhancements and fixes into the jsonb branch.
...
FossilOrigin-Name: 091a5f058dfe2115fb9213655b34f00bcec80aebb299b571975cfe4ecd5ec206
2023-11-10 18:59:23 +00:00
drh
5a81e6e5ce
Ensure 8-byte alignment of data structues in sqlite3_database_file_object().
...
This should have appeared on trunk originally and then be cherry-picked onto
the branch. Oh well....
FossilOrigin-Name: ac39800bb2685fa287c7d834faed75f0bc61320ef986de314392d6eadb574d30
2023-11-10 17:49:26 +00:00
drh
53381132be
Remove a NEVER() from whereAddIndexedExpr() that is reachable if there
...
is an unknown indexed function in the schema.
FossilOrigin-Name: a976b7208ff8603d7353ce9a0bdfba8e681cbb2ed3de6cfb5f0e8b07312ab86f
2023-11-10 16:29:02 +00:00
dan
0eed27d38b
Fix an obscure problem with the join-strength-reduction optimization that could occur when mixing LEFT and RIGHT joins in the same query. [forum:/forumpost/7f74ce0bee|Forum post 7f74ce0bee].
...
FossilOrigin-Name: 530d10e93a5f63b71aaa94a2b89102d012a2cda815997066beb0f585fe823536
2023-11-10 15:03:18 +00:00
drh
3839dcf973
Add the SQLITE_RESULT_SUBTYPE flag for application-defined functions. Add
...
the -DSQLITE_STRICT_SUBTYPE=1 compile-time option that raises an error if
any function invokes sqlite3_result_subtype() without the SQLITE_RESULT_SUBTYPE
flag. SQLITE_RESULT_SUBTYPE prevents an indexed value of that function from
being used to replace an equivalent expression, since the indexed expression
does not carry the subtype. Fix for the problem described at
[forum:/forumpost/68d284c86b082c3e|forum post 68d284c86b082c3e].
FossilOrigin-Name: ba789a7804ab96d81b15d6ef6fed1f802fa69db47cf91d368933e55289fa1d6e
2023-11-09 17:36:37 +00:00
mistachkin
2009a5acba
Fix compilation issue seen with MSVC.
...
FossilOrigin-Name: 0dfe790d8118ff1bacc9e7c97d4f8ff9e5789f6cda8ec6fd981ea38b4da3905d
2023-11-09 17:28:31 +00:00
drh
beb06e6b0a
Put an ALWAYS on an true branch.
...
FossilOrigin-Name: 1e039b6eb59c0001a9efdd2f9928a34d4e9e01972ee76aa04a1279369dc03840
2023-11-09 17:26:39 +00:00
drh
cb1f190ed2
Futher documentation refinements.
...
FossilOrigin-Name: 311c2eba93097bbecfa286bbeaff9bd6fc75a238e20cd2b6f834e594032d8c59
2023-11-09 16:52:44 +00:00
drh
b10c3d32e0
Fixes: (1) In the ->> function, instead of setting a subtype and clearing it,
...
do not set it in the first place, as doing the set would trigger an error
under SQLITE_STRICT_SUBTYPE. (2) Allow the SQLITE_STRICT_SUBTYPE through
the property filter on sqlite3_create_function().
FossilOrigin-Name: 6195468b14f6f17ea072cf191c9ef1bd0713acd314bc6dc128be7322bfd612cc
2023-11-09 15:01:56 +00:00
drh
6eb381ff4a
Add the SQLITE_STRICT_SUBTYPE compile-time option. This change reveals that
...
the current SQLITE_RESULT_SUBTYPE design does not work unless we tag the ->>
operator with SQLITE_RESULT_SUBTYPE. But that will disable an important
optimization.
FossilOrigin-Name: e98a9a65dd309f72c240e280c7bebabc58af664fae9ee0d30c3fa1c78db5bae9
2023-11-09 12:58:03 +00:00
drh
b18bb822dc
Do not replace expressions that return subtypes with values taken from an
...
index.
FossilOrigin-Name: a35d13db09e32ee339f3983fe36b073714753ee3d39f577ae8d20596d7adc3eb
2023-11-09 12:17:57 +00:00
drh
194b8d514b
Omit the new SQLITE_VALUE_SUBTYPE name. Stay with legacy SQLTIE_SUBTYPE.
...
Add extra documentation to sqlite3_value_subtype() and sqlite3_result_subtype()
indicating that the SQLITE_SUBTYPE and SQLITE_RESULT_SUBTYPE properties are
required on functions that use those interfaces.
FossilOrigin-Name: 563ad3be60d22c45f1c5b9a3e67738593f8b38f137147c56514166fbabf95365
2023-11-09 12:08:16 +00:00
drh
c060b5f3a8
JSON5 bug fix: Escape double-quotes that occur inside of single-quoted strings.
...
[forum:/forumpost/ddcad3e884|Forum post ddcad3e884].
FossilOrigin-Name: 1c98d46d60ef1494bd8b7561c7d0cd5aafc178201a6f1f0da25dea6140b91cd0
2023-11-09 01:54:26 +00:00
drh
243f2ec6a1
Make a distinction between functions that consume subtypes and functions
...
that generate subtypes.
FossilOrigin-Name: 48a92e3ad855227188a4c5afe4abbb7171761cf6fc930660084d9abeecfd91d9
2023-11-08 21:38:30 +00:00
drh
2cbe14098b
Do not cover expressions using an indexed expression if the indexed expression
...
is a function that might set a subtype.
FossilOrigin-Name: e908b26a990929996b3c16f0429e8313cd8fcefe7c883c77f66ea69f4059d6e2
2023-11-08 18:08:07 +00:00
drh
a4cf38ca9b
Merge recent trunk enhancements into the jsonb branch, and especially the
...
finer-grain characterization of JSON function properties.
FossilOrigin-Name: 72393b003f9f8675e4a124dddd09607b5b34ddefe56716b283c68c0982fb3d96
2023-11-08 17:11:13 +00:00
drh
b494366370
More precise characterization of JSON functions. Indicate when functions might
...
return JSON (subtype 'J') and when they make use of the function argument cache.
FossilOrigin-Name: b2b62546c4a5e9dccb8aa0cb8eda228d662c69159e320b01a377317bc909e89f
2023-11-08 16:37:12 +00:00
dan
6234b33478
Have the shell tool emit a warning if the user attempts to use ".scanstats vm" in a non-SQLITE_ENABLE_BYTECODE_VTAB build.
...
FossilOrigin-Name: 3978c084a509c3c739fbe87e20feec9ddf1325e35170329987af197ca9fd731a
2023-11-08 15:56:41 +00:00
dan
0ad5301378
Avoid blocking as part of passive checkpoint operations, even if SQLITE_ENABLE_SETLK_TIMEOUT is defined.
...
FossilOrigin-Name: e5ecc404cae1ce8b639d0263fa07571c066f11bfc62f5ba331ad7ae138e78572
2023-11-08 15:49:57 +00:00
drh
c78d3b5963
Suppress harmless UBSAN warnings about memory overflow in OP_AddImm. The
...
exact same machine code is generated by GCC.
FossilOrigin-Name: b0594383b9fa021a8713d640a4606b9053f8e21d64b4ec8ea60a0b6cddfca306
2023-11-08 00:45:14 +00:00
drh
ec8f893e06
Changes a no-op call to freeP4() into an assert().
...
FossilOrigin-Name: 32a7b1bd4d88a6839c2c5061a38b4a28f31b22aa8fa08c743633ff96fc4bf88d
2023-11-08 00:12:38 +00:00
dan
275234e320
Fix an assert() that could fail within calls to sqlite3_snapshot_open() in SQLITE_ENABLE_SETLK_TIMEOUT builds.
...
FossilOrigin-Name: 84634bc268e5c80146f3f3b2e13118f239c9a7e4e4e9dfcaccef2b17252ce53b
2023-11-07 20:11:49 +00:00
drh
17a3295387
Update the documentation to the sqlite3_set_auxdata() and sqlite3_get_auxdata()
...
routines to make it clear that they do not work as one might expect when they
are called during query planning, instead of during query execution. The JSON
routines misuse those interfaces, so add a special flag to JSON routines that
prevents them from being invoked during query planning. Fix for the problem
in [forum:/forumpost/a655ee159eca1ea5|forum post a655ee159eca1ea5].
FossilOrigin-Name: 796a23f9ee33da0803844a2f40c1733db894cc4ef7fbaa1fa94af6af2d3b873b
2023-11-07 19:03:13 +00:00
drh
d4677f192f
Ensure that the YYYY-MM-DD input to date and time functions has been normalized
...
prior to returning a result.
[forum:/forumpost/6bb476897e|Forum post 6bb476897e].
FossilOrigin-Name: b692eb8ccb2d0645599ad73a8bdacf5df499114244aadeb38aabc580fc4dc7c5
2023-11-04 21:44:00 +00:00
drh
5189ef98d3
Back out the ALWAYS inserted late yesterday. The fuzzer discovered a
...
counter-example.
FossilOrigin-Name: 570635575cc5fbffe910ed992b58393e214117ef3b5370a66f115cd0ee202913
2023-11-03 18:45:26 +00:00
drh
7b5123c796
Enhance the JSONB lookup routine with logic to apply edits. The new logic is
...
currently unused and hence untested but does not create any regressions.
FossilOrigin-Name: b12110276fc15d1b6b0cc455f89747ace7a09650d5ba433d8bb431bb4e5bc951
2023-11-03 12:09:22 +00:00
drh
24f7f5923d
Merge all the latest trunk fixes and enhancements into the jsonb branch.
...
FossilOrigin-Name: b089bf46374b374d02d7654c65eb3e75d1777638b398061e47644af0dab48c9b
2023-11-03 11:35:33 +00:00
drh
dcd6d21fe9
Mark a branch made always-true by the penultimate check-in with ALWAYS().
...
FossilOrigin-Name: 268b5984a4263bee245a9bb47ac927bde56cdf4af8795b851dada5622224076f
2023-11-02 22:39:11 +00:00
drh
792103a0f2
In the previous check-in, use a u32 instead of an int, to make it easier to
...
prove that the integer will never overflow.
FossilOrigin-Name: 51002079e0b499e116415189a913a238e95ed9766a8af9d042928f4263861a87
2023-11-02 22:11:35 +00:00
dan
5e4233a9e4
Fix a spurious "misuse of aggregate function" error that could occur when an aggregate function was used within the FROM clause of a sub-select of the select that owns the aggregate. e.g. "SELECT (SELECT x FROM (SELECT sum(t1.a) AS x)) FROM t1". [forum:/forumpost/c9970a37ed | Forum post c9970a37ed].
...
FossilOrigin-Name: 4470f657d2069972d02a00983252dec1f814d90c0d8d0906e320e955111e8c11
2023-11-02 21:02:53 +00:00
stephan
06af40b2e1
Merge latest JNI pieces into trunk.
...
FossilOrigin-Name: e8c97faec339430fa2d1a7e915050d9b363bdba606a4419397cb099141da254d
2023-11-02 18:08:49 +00:00
larrybr
57a7fdd814
CLI to compile with older MSVC compiler.
...
FossilOrigin-Name: c89f75f8eef449f6869bda423593f7e14080e805f8ed192aff9463460f11b1a9
2023-11-02 11:04:37 +00:00
drh
2158864585
Bring the jsonb branch up-to-date with version 3.44.0 changes.
...
FossilOrigin-Name: a420a4f7ff76b0e9cf5f6d515ccfa31e526d58f4001a4015a367e2aa3c82091f
2023-11-01 14:12:07 +00:00
drh
5ba99da869
Fix harmless compiler warnings in test code.
...
FossilOrigin-Name: d1895dd8f5757a339f619f22b29c8a739398ded673bb9c93f1b8eb8a4b38f510
2023-10-31 17:40:30 +00:00
larrybr
7545b0eab7
Remedy CLI non-UTF8 handling detection flaw [forum:/forumpost/fa0e00d36db5fe0a|noted in a forum post].
...
FossilOrigin-Name: 2666b80d2cf64a14d0482ee1ce0e8b2ff9e0c5bb21cd626470241a73a6555a3a
2023-10-30 23:04:27 +00:00
larrybr
cc2af7e68a
Dodge a nuisance warning from MSVC in CLI use of Prepared Statement Scan Status. (Yes, C rules are fine.)
...
FossilOrigin-Name: 166c96d91dcc8c500a084d5703db103176ed5ec7d5f1334050cd66b3f1cd0e4f
2023-10-30 19:50:20 +00:00
drh
f3f0bd2155
Add a cast to i64 for an integer in an sqlite3OsWrite() offset
...
calculation. The cast is not strictly necessary, but it helps human readers
see that the code is correct.
FossilOrigin-Name: 7564ff1ba2c2fba89106d1aa06cc5379e752f119f22370f2f155f24cc698dec6
2023-10-30 19:03:17 +00:00
drh
383295eb17
Fix another comment typo. No code changes.
...
FossilOrigin-Name: 3203256c0285ef2fea810d59978603bfd7e38151cbc42e1baddf84b57c56f638
2023-10-30 18:48:03 +00:00
drh
aa36dcf074
Make the new sqlite3_get_clientdata() and sqlite3_set_clientdata() interfaces
...
available to run-time loaded extensions.
FossilOrigin-Name: 8fc9aa0f896a2676b73c41cefbff74c822a7106b56324558862dd0a2a1877eaf
2023-10-30 18:09:14 +00:00
drh
30c9aca83e
Fix typo in a comment. No code changes.
...
FossilOrigin-Name: 424ef9550abaab32f745dc955e8996d51836eaed737e24c4b4db811aa118ce5d
2023-10-30 17:56:27 +00:00
larrybr
88d3c148c8
Predicate Windows CLI UTF-8 console I/O on a runtime capability check rather than an OS version check.
...
FossilOrigin-Name: 0058ea6a69103c1442bf5090553ce9bf77e06011a4960df754eb96144ced497d
2023-10-30 16:38:05 +00:00