3e053c50b4
Do not allow the same JSON parse to be input to both arguments to the
...
json_patch() routine.
FossilOrigin-Name: 8e781c6742792b3899ca60efc49c7eaee1df9f6b03d27c254b0e148b82946e19
2023-07-28 20:59:25 +00:00
9a897cb0de
Merge the latest trunk enhancements into the wal-shm-exceptions branch.
...
FossilOrigin-Name: c44fb4d06591ef4872f015aa9e81ce8b93a38bd9143cf20db38cbe5c77a0d71f
2023-07-28 19:07:25 +00:00
58bf53d573
Minor tweaks to the JSON performance measurement documentation.
...
FossilOrigin-Name: 0bed957e46aa3bf6a70292ae100de0459486c1469dd03de61207a708cc59a594
2023-07-28 16:12:39 +00:00
8a056d486f
Enhancements to the JSON performance testing scripts and instructions to
...
cover the recent optimizations involving updates to large JSON strings
that indexed.
FossilOrigin-Name: f9213289d09adfb0461d9644e80c7e889f4bae51563ae2e575a2c95336052bcb
2023-07-28 14:20:31 +00:00
7286c59896
Change the debugging "json_parse(X)" function so that it shows a more
...
complete description of the JsonParse object on standard output and returns
the mimified JSON. Former behavior was to return the text of a decode
of the aNode array.
FossilOrigin-Name: 1bf85d4e388714a88f8940dcdec353c3e0267456697eff6963d34637912aecc9
2023-07-26 13:17:43 +00:00
5202b7ca75
Update the latest trunk enhancements into the wal-shm-exceptions branch.
...
FossilOrigin-Name: 3187ee3f69fc28a259ba0e951ac10a65c07ef2c3866acbefaf9544333a930cc6
2023-07-24 12:59:53 +00:00
93b3c1f398
Revise the new JSON parser performance test to make the test run 25 times
...
longer, and thus provide a more repeatable number.
FossilOrigin-Name: bee9e403ae47103938aabb9a7a7e120dfa741b464875965e58788a51fa56a8fe
2023-07-19 20:23:34 +00:00
5e4d77fa88
Describe JSON parser performance testing procedure in test/json/README.md
...
FossilOrigin-Name: c47056e158073ee746c233dd2729cf224ea9e38821b15aa71ebf97607e602281
2023-07-19 19:23:30 +00:00
cc9380f68d
Merge the latest trunk enhancements into the wal-shm-exceptions branch.
...
FossilOrigin-Name: f655d08d019bab0c578886e91ca24fd956d1b3dea9b9c9104812b3cf62e5e556
2023-07-10 18:05:23 +00:00
afef7fc136
For the "Valgrind" test scenario, set LONGDOUBLE_TYPE=double as valgrind
...
does not correctly emulated extended precision on x64.
FossilOrigin-Name: d3532eaed1cc671d8149b1bd34ead2a88fb83502a2898a5f60aea0a7daf18958
2023-07-07 12:18:26 +00:00
ff96718b52
Merge all recent trunk enhancements into the wal-shm-exceptions branch.
...
FossilOrigin-Name: e59cea2d851be68559e7d01a01cb05684c44d151d022ea9790ce99671016ab00
2023-07-06 17:55:33 +00:00
3e1e7aad3d
Fix octet_length() test cases so that they work when the database encoding
...
is utf16.
FossilOrigin-Name: ad2e39626e6115fd322ef9495ae3bcd91343d7131a725f1bf24211a51a21dcc2
2023-07-06 17:14:47 +00:00
7623795018
Enhance the sqlite3AtoF() function so that it can operate with or without
...
long double and provides accurate results in both cases.
FossilOrigin-Name: fd987508d5589d42b46625c97cfb2feeac70fdb1cb11224610554b07a60644e6
2023-07-03 18:32:29 +00:00
aa4356da68
Enhance sqlite3AtoF() so that it honors the USELONGDOUBLE test-control.
...
Enable the test/atof1.test module on non-intel platforms.
FossilOrigin-Name: b7850fd480535980d66f107c2746e7f7fc0a5379ec8244d84f7785533c83f276
2023-07-03 18:18:35 +00:00
930e4167bd
Store the fp-speed-1.c test program used to measure relative performance of
...
SQLite versus the standard library, in the test/ directory. A header comment
explains how to use it.
FossilOrigin-Name: eaff376277edceb043e9aac9d2df3e1157f576605508733be8a0a0aa4d720e1d
2023-07-03 15:30:50 +00:00
521f20e3d3
Add the --nolongdouble option to speedtest1.c.
...
FossilOrigin-Name: 6bf6018a00d61c5f0e53b37b00befaf5ad1d85323f41cf0cea25d8c6c1017096
2023-07-03 15:11:28 +00:00
0478d1d88a
New test cases for floating-point conversions.
...
FossilOrigin-Name: 9435ed76cd9bb1be02768b3853a2323834f67bda75d3e3f76f6aa7bd0bade3d7
2023-07-03 12:58:18 +00:00
37b188fbca
Fix one constant in the normalization logic. Improved error output
...
from atof1.test.
FossilOrigin-Name: d3c48807100a358a70fdd799c8935eba1b765ace2e1ddea4475fd673006cb6da
2023-07-03 10:00:38 +00:00
c8885d42fe
Replace the dodgy error estimating logic in the previous check-in with
...
full-up Dekker double-double multiplication, and this idea works much better.
There are still a few inaccuracies, but it is much closer.
FossilOrigin-Name: 4fa6938dac2d3d813a37664053db31451a2a065f78dd212488f5f7f8d583ddc5
2023-07-03 09:07:23 +00:00
17c20bb15e
Improved rounding policy.
...
FossilOrigin-Name: 6f1122e942b8269552daaf13d647d200d8546ec25f36310d67037c6b58d09976
2023-07-01 17:56:00 +00:00
4cd3a59a79
Improve support for sqlite3_stmt_scanstatus_v2() profiling of sub-queries implemented as co-routines.
...
FossilOrigin-Name: 4e8718dc35dbbaf75f17265a88d14acd9750dc75efbadf41377f9c97e732009c
2023-06-30 18:23:53 +00:00
07d76f7b95
Add support for sqlite3_stmt_scanstatus_v2() profiling of GROUP BY clauses that use a temp b-tree.
...
FossilOrigin-Name: 796eadcc50e7ea9ec348b1f7e2d6a5a3de78c675a07f665078309e6d81479e7d
2023-06-30 17:14:36 +00:00
48114d08cf
Completely unwind the enhanced precision sum() from [a915f15a916af698] so
...
as not to offend UBSAN and OSS-Fuzz.
FossilOrigin-Name: 85be05b66ef975f02a3e7b2984bcab97d9280c7f3b6ee1e16718de549f240d46
2023-06-30 14:01:09 +00:00
60f41362cf
Make the sum() function less precise and slower in order to avoid
...
harmless signed integer overflow UBSAN warnings from OSS-Fuzz.
FossilOrigin-Name: 1be0646a2c352dbf03d2af87fd48b6f9edfd68666790ac6863144ac95f3e0621
2023-06-30 11:51:36 +00:00
ec3e57fa92
Enhancements to the DECIMAL extension:
...
(1) If the argument to decimal(X) is a floating point value (or an 8-byte blob),
the floating point value is expanded into its exact decimal representation.
(2) Function decimal_sci(X) works the same except it returns the result in
scientific notation.
(3) New function decimal_pow2(N) returns the full decimal expansion of the N-th
integer power of 2.
FossilOrigin-Name: 8baf8c10aecb261751f2b154356ab224b79d07230929ec9f123791278e601bba
2023-06-29 20:28:03 +00:00
8fbb335d9f
Enhance the SUM() aggregate (and related AVG() and TOTAL()) so that the running
...
sum is accurate to about 100 bits.
FossilOrigin-Name: a915f15a916af698e0cef46c8b3e7ed11bda19349179d2d414073cd39c4cce24
2023-06-28 12:02:48 +00:00
d847c73153
Simple test cases for the enhanced SUM() function.
...
FossilOrigin-Name: c66ef2440e4e6c7aa17b50e5a29e543713ccab69aa0a415bac29b35b6116504a
2023-06-26 19:57:23 +00:00
502c618f01
Fix CLI .sha3sum error message for keyword identifiers, reported in [forum:/forumpost/7cbe081746dd|forum post 7cbe081746dd].
...
FossilOrigin-Name: 9d7813ddcf67f1256e7331c5f390cb122b3f7e35cf46e0b33b610216a5396a00
2023-06-26 17:08:08 +00:00
7f9dcd664d
basic test cases for octet_length().
...
FossilOrigin-Name: 034a5fe2a0cfe085271385da1d281515b04b311e08962519d03ad8ad156fb4bd
2023-06-22 15:26:52 +00:00
733ef7e8e6
Fix harmless typo in a comment.
...
FossilOrigin-Name: 6937986a687e4afea39168702f3a29aef0d60cebff024edab30d1aecfe159065
2023-06-15 15:43:08 +00:00
d34ce81867
Extended the time-diff format so that it can have a 5-digit year. This enables
...
time differences to span the full range of dates supported by SQLite. Also
fix some inaccuracies in the computation of time differences and add new
test cases.
FossilOrigin-Name: d57ddbf4eeeb3ccfe31871f098045b9e58634153a3c3030f597cb58c1177218a
2023-06-13 16:55:24 +00:00
26e136bb9a
Fix an assert that can go bad if STAT4 content is corrupt. This is a
...
follow-up to the previous check-in.
FossilOrigin-Name: ac1d3860af4eb30e4a7444b01d7b5afc91a4b1f5e3fe5414a491c6edc7ff1631
2023-06-10 18:40:20 +00:00
6bbc5b3730
Enhance fuzzcheck so that it understand the sqlite3_db_config() and
...
optimization settings from unused bits in the database header, which
dbsqlfuzz is now using.
FossilOrigin-Name: 918708c6dea5bffab4bb1c15d655ac7356bae97b84def905479dfcf491db6c5f
2023-06-10 10:37:49 +00:00
c5a5a54c51
Remove additional traces of FTS1 and FTS2 that were missed by [2bb50d5aedef0fd2]
...
FossilOrigin-Name: 9a12bac5d24c7a8364d2127fd12c3409a53ef83e408d10f344ddd311cdba98af
2023-06-07 15:00:54 +00:00
4ffcce88ad
Fix the OUTER JOIN strength reduction theorem prover's handling of the CASE
...
operator.
FossilOrigin-Name: 73d7b14b1713d93c4ae07995e9aa6485cbad90bd6125584dbaeccb0cc9410ea3
2023-06-02 00:03:28 +00:00
179c32cb57
Generalize the LEFT JOIN strength reduction optimization so that it works for
...
RIGHT and FULL JOIN as well. Rename it to the "OUTER JOIN strength reduction"
optimization.
FossilOrigin-Name: d747afda5683ca5feb92866a14ccc4c5127d3378ece5cad2c3da819f2477b457
2023-06-01 20:38:22 +00:00
e411b69537
Fix the LEFT JOIN strength reduction for IN operators in the WHERE clause.
...
Further simplifications and refinement of the algorithm.
FossilOrigin-Name: 96c72dde79d4069f6c2f81467a35b617633f86f7a7dcafbda991affdaa1f8537
2023-06-01 00:01:20 +00:00
29e70da4a4
Improved detection of when the LEFT JOIN strength reduction optimization
...
can be applied.
FossilOrigin-Name: f544a8e47cdd5ad7233887a558489983f4f305a39391ff463c43e2e4157da087
2023-05-31 18:35:12 +00:00
cc4bfd9623
New test cases for the timediff enhancements.
...
FossilOrigin-Name: f14633ce6ddf28a14b03e2da623d96e439966aa3fc30c26cb0be59c0e15b3e9c
2023-05-30 11:51:45 +00:00
36a5f1e90c
Problems fixed. All tests are passing now.
...
FossilOrigin-Name: cff293b0a79107def7bfe54fd60ac4a721c5098c85229d9b46a4e2c4cbf34a6a
2023-05-30 02:50:32 +00:00
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
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
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
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
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
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
307db965c6
Add the --wait command-line option to fuzzcheck.
...
FossilOrigin-Name: 5a479a2c7637a018d1828d9d37973bf3d36a2fc4cd5b752bca61a41cd0920d39
2023-05-15 10:55:04 +00:00
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
83be5586a0
Add multi-threaded test for "INSERT ... RETURNING ..." and SQLITE_BUSY errors.
...
FossilOrigin-Name: 559cb1c6de384fd14160db005acaf1858b8b018d3d40d7f786a56a49d3cdbd59
2023-05-12 19:02:50 +00:00
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