drh
0a19bb078d
Allow the sqlite3_user_data() function to be invoked with a NULL argument
...
or with an sqlite3_context pointer from a virtual table. It returns NULL
in both cases.
FossilOrigin-Name: 2f49687371ada65fef374336c28b352c48ab98dc31282ac82397035efe04ba11
2023-09-28 18:23:52 +00:00
drh
edbc44c5a1
Merge trunk changes into the jsonb branch for the compiler warning fixes
...
from two days ago.
FossilOrigin-Name: cee113cc315b04fd75ccc172cf4529bf15b2050bf274433496c31a282e281ab8
2023-09-28 17:41:45 +00:00
drh
6b1db92228
Extract directly from BLOB is now complete and appears to work.
...
FossilOrigin-Name: 3de58ec99444b16dfcda1e226420e2343450b77abd3faf33a88b6d18339ef17c
2023-09-28 17:23:46 +00:00
drh
59862e6d22
Miscellaneous bugs fixed.
...
FossilOrigin-Name: 5c0815fa2e422d81198a43a2c04a022e319fcbcadfd4be4437f2e663892ca26b
2023-09-28 17:07:43 +00:00
drh
2dc60ec57f
Improvements to json_extract() to better support JSONB. Still not 100% working.
...
FossilOrigin-Name: 8c82576176539c4d132b14d46adbf31366c4bcaa59a61dd639dc9cc308fe8825
2023-09-28 15:56:35 +00:00
larrybr
d93cfa2831
Clarify serialization API doc w.r.t. buffer validity and usage, instigated by [forum:/forumpost/8922e2ad2ad41205|forum post 8922e2ad2ad41205]. No code changes.
...
FossilOrigin-Name: b488b9fb71652eca90d2bf73d32f3d748badf517859dc833c58e021b0e017194
2023-09-28 15:00:25 +00:00
drh
1854837b5a
Work toward getting json_extract() to operate directly on the BLOB, omitting
...
the translation into a JsonNode array.
FossilOrigin-Name: c1feba70f55a8e5f4696d48e4706855415d173ac8ac3c2656787c242a883b4f5
2023-09-28 10:20:56 +00:00
drh
61df55d0be
Fix harmless compiler warnings in the testfixture testing utility.
...
FossilOrigin-Name: 5a39a02d2dfd9ed6171cd0bd434b2bc268d0ed8ead6e1a396d1603266d9493ef
2023-09-26 21:22:46 +00:00
drh
676bcf7457
Merge partial-index constant value fixes from trunk into the jsonb branch.
...
FossilOrigin-Name: 700bdbd7383f66a0da675c197204da4e7b6ed757155145ee98d572de32a5d0ae
2023-09-26 19:46:38 +00:00
drh
0e224d93ea
Fix yet another assert() in the partial-index constant value optimization.
...
FossilOrigin-Name: f459d0806cf044fd07743e4c91d0a5a6ddf45b3b41004bde4278f190d99a4cf5
2023-09-26 19:38:24 +00:00
drh
42156fd90c
Add in many jsonb_xxxx() interfaces. Still uses the internal JsonNode
...
representation for transformations and search, but it does at least conform
to the desired API design. Largely untested.
FossilOrigin-Name: e6045b4e1bf3a8e33926fc12b3c039f5e1002eaecbe277ffa82b0ec271a29d17
2023-09-26 19:30:46 +00:00
dan
1c67749166
Remove a NEVER() from a condition in the partial-index constant value optimization that can sometimes be true.
...
FossilOrigin-Name: 63aea8c3e0605edcf49ad1e5ce1a56d2690dcb8c4857043997545daab46ca035
2023-09-26 19:26:47 +00:00
drh
219e7f7986
Merge all the latest trunk enhancements into jsonb branch.
...
FossilOrigin-Name: ac242c4d47ec36aab1c2fa5e65e7b595e686f49473b75bd63708d05c59ce3f0f
2023-09-26 15:13:04 +00:00
drh
a6e7202677
Remove unreachable code from the partial-index constant value optimization
...
([8d4160910d651246]).
FossilOrigin-Name: 7ad38254c37153efa72291d09800693ca60894359548eda877d59defa8c70d49
2023-09-26 14:57:30 +00:00
dan
1b96f9167f
Another very minor tweak to code on this branch to save cycles.
...
FossilOrigin-Name: 2c805dc68112db7f06aea56a731a33e046e876851bdda3e725ba96f6da1bf2ee
2023-09-25 17:21:53 +00:00
drh
09f23d2a36
When parsing JSON text into the BLOB format, only use node type JSONB_TEXTJ
...
for an unquoted object label if the object label contains escape sequences.
FossilOrigin-Name: a82ebbac3c542ec7f86d1e8414d7fd166db48450115ee3b26d12b5bb445f5896
2023-09-25 17:14:17 +00:00
dan
cf0906575d
Change the order of an if..else... in new code to make it slightly faster.
...
FossilOrigin-Name: f80dc64483a54a488e507da140836261ae1b864577cc95d8e869919d5a25e73c
2023-09-25 15:25:49 +00:00
drh
5933581cf0
As a temporary measure, try to translate the BLOB JSON format into the
...
legacy node format for processing.
FossilOrigin-Name: 14f2e95a9e531ef0d3fa7f1249f23c073a50c31b2109eefc2f258cada635ac2f
2023-09-25 13:23:29 +00:00
dan
873849b81e
Fix a bad interaction between LEFT JOIN, bloom filters and partial indexes.
...
FossilOrigin-Name: 5775f92b31f0539c66d37e50689bec17a82c0e857a781331c03e34bc18157087
2023-09-25 11:12:39 +00:00
dan
7a9bbfe1fa
Avoid an error when parsing a schema that contains indexes with WHERE clauses containing unknown collation sequences.
...
FossilOrigin-Name: d5dd39e37ab994ce5d75688a40c6494c17807431529e85eb2b11d58f367fe232
2023-09-23 19:25:03 +00:00
dan
c18c7523a4
Fix a failing assert() caused by changes on this branch.
...
FossilOrigin-Name: d0e21f20bd8643d21c4b88fb75b83939d68e9b7118f7289a164656f11d2ee555
2023-09-23 18:52:22 +00:00
drh
9f811a35b8
Fix a harmless compiler warning.
...
FossilOrigin-Name: 7c4210253b660b385d14de3ae7ab30f038036308e1164ec17b40e2805b9b2235
2023-09-23 18:49:30 +00:00
dan
bd42642431
In partial index scans, if the WHERE clause implies a constant value for a table column, replace occurences of that table column with the constant. This increases the likelihood of the partial index being a covering index.
...
FossilOrigin-Name: 66ed7abdfa228abde2052e3988589371f0e49b11582b1b4a83255d2df3a0aefa
2023-09-22 20:21:27 +00:00
drh
e367e453e1
Fix minor parse-to-BLOB bugs.
...
FossilOrigin-Name: 8b53b2e6600c324ff7864840d98a3f03896b9792fcb60b70cc1f6227b3bd4ca1
2023-09-22 16:20:48 +00:00
drh
c1c1d4d4a6
Add the ability to render a binary BLOB back into valid canonical JSON.
...
FossilOrigin-Name: 0b70cb77a4c8e3f17932f1ecca3942e0b0b03de637fb9656a130fe045f7ef826
2023-09-22 14:33:39 +00:00
drh
90189be7ce
Begin adding code to render binary JSON back into text. Very incomplete.
...
This is an incremental check-in.
FossilOrigin-Name: b817dd865ed60fc4da0b662a9edec0fceb8921b02ce98133bdd565988939fd0f
2023-09-22 12:16:56 +00:00
drh
8c55945220
Improvements to the JSON binary BLOB format design.
...
FossilOrigin-Name: 2c89ae5d02f6a40ef869e2a162e2c72871df60572b27959fd1d7171f495ce881
2023-09-22 11:20:35 +00:00
drh
769a8dea81
Reorganize the code to put the new JSONB routines together, for easier editing.
...
FossilOrigin-Name: dc23e783d4147d363856abe109586fc79a5b535b492beee0cf7a0234c0210667
2023-09-21 18:16:35 +00:00
drh
6831cad03b
Initial development code for an experimental binary BLOB encoding for JSON.
...
FossilOrigin-Name: 8131b3c272f47db2618886046a9713285ce120cb87d721484ee7444273290681
2023-09-21 17:51:39 +00:00
drh
38119058aa
Remove a NEVER() in btree.c that could actually be reached, with the approriate
...
database corruption.
FossilOrigin-Name: d1fd00e0875f881cacdc581a75215ec1872a81969ac07b8ebe3aaa707a9a3640
2023-09-17 16:36:22 +00:00
dan
f99a27fab9
Fix resolution of "rowid" and similar identifiers in queries that use nested joins.
...
FossilOrigin-Name: 37ec43d92bde13efc71fa57ff5e59c4a95b9054c298f844aefeb06d4a91ad0d4
2023-09-16 18:18:57 +00:00
drh
a91fe45339
Add a NEVER() to an unreachable branch.
...
FossilOrigin-Name: 6b6eb38979d68c06e382620c8813d6b67a3de02c4a7a029c84f924b9a2e380c6
2023-09-16 16:39:27 +00:00
drh
5bd96b2446
Fix minor code indentation inconsistencies. No function changes.
...
FossilOrigin-Name: 05107a0ae1456b746d3119af68d39532fad23a7eef88c09a9ef46ab7f8da4b9d
2023-09-16 16:23:20 +00:00
drh
5ddf0cbe25
Fix a harmless compiler warning.
...
FossilOrigin-Name: 9e9ff4ca3a205d0b599634782a5ad389fbe4823663550f48c54ca35dbc660dc7
2023-09-16 16:12:10 +00:00
dan
2e8edc1d45
Further tests and assert() statements for the change on this branch.
...
FossilOrigin-Name: 1c202d540ac362bfc747a9f8472e83c9d7614e38467f8b48787a669fb34664ba
2023-09-16 14:42:18 +00:00
dan
63702bccaa
Fix resolution of unqualified "rowid" identifiers in queries with nested joins.
...
FossilOrigin-Name: bbcbd3d537d6790373d97f59386b8ce7fa2177db572af0f1babe058a76e25cc3
2023-09-15 20:57:05 +00:00
drh
58c10d9469
Minor simplification to the DISTINCT output row count change.
...
FossilOrigin-Name: 0738386d7c505a98768ddaff7ff1fc76f115882d92d6f84bf136b4aa2caad8b8
2023-09-15 19:27:36 +00:00
drh
c09701db9b
Do not reduce subquery output row count estimates due to DISTINCT until
...
after the decision of whether or not to use an index for ORDER BY has been
made.
FossilOrigin-Name: 27390051e86ad86fb35219329d359be9e83073f59782631af7fc519225e10565
2023-09-15 19:00:47 +00:00
dan
81b70d97eb
Allow expressions like "<tbl>.rowid" to refer to implicit rowid columns of tables in nested FROM clauses.
...
FossilOrigin-Name: 59a1bbc69f5dbb33418fa4b383393fb13a46bc1e531577da8ad54ae2fad5a10e
2023-09-15 18:36:51 +00:00
drh
20220d4682
Experimental: Assume that a DISTINCT clause on a subquery reduces the number
...
of rows returned by that subquery by a factor of 8.
FossilOrigin-Name: 5a940e47d501f23347eaf084f4820e064e93665d19c8938c80715b71006ede8b
2023-09-15 16:15:33 +00:00
drh
658096e124
The view-scan optimization was added to enhance the performance of one specific
...
query, but it causes performance regressions on a host of others. Disable it
(at least temporarily) in order to try to find an alternative way of fixing the
one specific query that it was created to fix - an alternative way that does
not cause performance problems for other unrelated queries.
FossilOrigin-Name: d9625a9eafe88859c3255849ee750cc6322d5a13ddad45107f9b2085c20eff50
2023-09-15 14:06:44 +00:00
drh
e744f66008
According to [forum:/forumpost/9f6db917e1|forum post 9f6db917e1], older
...
MSVC compilers are unable to convert a double directly into an unsigned
long long int, but must first go through a signed long long int. Work
around this by restricting the range of doubles that are converted into
long long integers so that only the lower 63 bits are used.
FossilOrigin-Name: 0ab05871ba36e2a0eddfbc700c1d39891c54c453727a4effcdac3327efec163b
2023-09-14 16:45:46 +00:00
drh
e68decd54c
Document the use of OPFLAG_ISNOOP as the P2 argument on OP_Delete. No
...
functional code changes.
FossilOrigin-Name: d88f41b2cf2b721170d2428a50b717976091389d9a07d0ffa15c3323b0eaad37
2023-09-14 16:02:56 +00:00
drh
60e53c57cf
Improve the sqlite3IntFloatCompare() routine so that it is testable.
...
FossilOrigin-Name: bb221381fa38db5be1222d89c567a9bca0e6c441e26a8c797bd326b263556afb
2023-09-14 13:10:17 +00:00
drh
23164c984e
Improved comments on the hasHighPrecisionDouble() routine. No changes to
...
the underlying code.
FossilOrigin-Name: 810c635ce063d873e969bf83339c654f6008e84ce8a61f0ffc61806e98d13dde
2023-09-13 20:35:04 +00:00
drh
5b5d4492f2
Determine at start time whether or not the underlying hardware supports
...
high-precision long double computations.
FossilOrigin-Name: 9a854b919667e0e679a259542b2ee444ee416dbd73ecd9458f6ced35d9d3f264
2023-09-13 20:06:46 +00:00
larrybr
111815609c
CLI .import to accept EOF in lieu of record terminator on last field of CSV (with multiple field records), per RFC 4180. [forum:5b21c25bdfa|forum post 5b21c25bdfa]
...
FossilOrigin-Name: 6f7842f577a28df1f809cd4bae9e8eafa26f2b54a25a1362ebbdebf5026be57c
2023-09-12 23:21:39 +00:00
drh
09e96ea731
Show the "(utf8)" tag on the CLI banner in Windows if in UTF8 mode.
...
FossilOrigin-Name: 822699a4d9756ec68f17d6e06da7f994730bcf5c7d69ca15e9131721c4ff3b19
2023-09-12 14:09:45 +00:00
drh
ceeb9eeaac
Add the -no-utf8 option to the Windows CLI to cause UTF-8 mode to be omitted.
...
FossilOrigin-Name: 4cb799c690986b8bd38d07461998824fa53418f7fe31f59d0bf38cae328d9b89
2023-09-11 20:09:05 +00:00
drh
17ca53da26
Make the -utf8 option the default behavior in the CLI on Windows for 64-bit
...
builds.
FossilOrigin-Name: 8b3c306def81546c5987f0f245d2bf3960218254c2833e9c27cd242e9118db62
2023-09-11 20:02:38 +00:00