aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
Commit message (Collapse)AuthorAge
...
* Improvements to UTF8 handling, and especially the handling of invalid UTF8,drh2023-12-13
| | | | | in the JSON routines. FossilOrigin-Name: 1b229c1101d6c384a30f343c5e47b471ab084b2d8e81170eb8f642afc1c67e3b
* Rename the new test-control to SQLITE_TESTCTRL_JSON_SELFCHECK. Make it sodrh2023-12-11
| | | | | that the current value of the setting can be interrogated. FossilOrigin-Name: 7aff1d9a4cb17ecd5abab21ab032f35a78741dd641ddd8cbcc85fc4a81a0707d
* Add SQLITE_TESTCTRL_VALIDATE_JSONB, which if enabled under SQLITE_DEBUG causesdrh2023-12-11
| | | | | cross-checking of generate JSONB. FossilOrigin-Name: b410a4db74a650003539ffaaea18519d5159b504daac47db6a4874b730f40ac8
* Work around LLVM's newfound hatred of function pointer casts.drh2023-12-06
| | | | | [forum:/forumpost/1a7d257346636292|Forum post 1a7d257346636292]. FossilOrigin-Name: ec0ae4030968c782af48d1c776351c14b2ada21d40aeb97915f33df30706e18f
* First attempt to get the JSON text-to-binary cache working. All test casesdrh2023-12-01
| | | | | pass, but the cache seems not to help much. FossilOrigin-Name: 25ed295f300fea6185104a73721076bccd2b2a6e411c78564266fa6dca4ff70c
* Merge recent trunk enhancements and fixes into the jsonb branch.drh2023-11-10
|\ | | | | FossilOrigin-Name: 091a5f058dfe2115fb9213655b34f00bcec80aebb299b571975cfe4ecd5ec206
| * Do not replace expressions that return subtypes with values taken from andrh2023-11-09
| |\ | | | | | | | | | | | | index. FossilOrigin-Name: a35d13db09e32ee339f3983fe36b073714753ee3d39f577ae8d20596d7adc3eb
| * | Omit the new SQLITE_VALUE_SUBTYPE name. Stay with legacy SQLTIE_SUBTYPE.drh2023-11-09
| | | | | | | | | | | | | | | | | | | | | 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
| * | Make a distinction between functions that consume subtypes and functionsdrh2023-11-08
| |/ | | | | | | | | that generate subtypes. FossilOrigin-Name: 48a92e3ad855227188a4c5afe4abbb7171761cf6fc930660084d9abeecfd91d9
* | Merge recent trunk enhancements into the jsonb branch, and especially thedrh2023-11-08
|\| | | | | | | | | finer-grain characterization of JSON function properties. FossilOrigin-Name: 72393b003f9f8675e4a124dddd09607b5b34ddefe56716b283c68c0982fb3d96
| * More precise characterization of JSON functions. Indicate when functions mightdrh2023-11-08
| | | | | | | | | | return JSON (subtype 'J') and when they make use of the function argument cache. FossilOrigin-Name: b2b62546c4a5e9dccb8aa0cb8eda228d662c69159e320b01a377317bc909e89f
| * Update the documentation to the sqlite3_set_auxdata() and sqlite3_get_auxdata()drh2023-11-07
|/ | | | | | | | | 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
* In the previous check-in, use a u32 instead of an int, to make it easier todrh2023-11-02
| | | | | prove that the integer will never overflow. FossilOrigin-Name: 51002079e0b499e116415189a913a238e95ed9766a8af9d042928f4263861a87
* Fix a spurious "misuse of aggregate function" error that could occur when an ↵dan2023-11-02
| | | | | 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
* Handle the case where a virtual table xBestIndex method called while coding ↵dan2023-10-26
| | | | | a trigger fired by a top-level statement with a RETURNING clause prepares a statement that also contains a RETURNING clause. FossilOrigin-Name: ec6bffa3b0fbf7cdee852cb0208de1f5869dafd88e2ee64c23cec89634219adc
* Add the SQLITE_CHANGESETAPPLY_FKNOACTION flag to sqlite3session.h, for ↵dan2023-10-20
| | | | | passing to sqlite3changeset_apply_v2() to cause all foreign key constraints to behave as if they were declared NO ACTION. FossilOrigin-Name: fc9f82ea084159eaf3dd1757b96d17d1201b00c4e06455a7dcd8067172b25f28
* Simplify the Expr compression logic slightly by adding the new EP_FullSizedrh2023-10-19
| | | | | | property to expressions that are exceptions to the rule and should not be compressed. FossilOrigin-Name: d5ae82ec52eafed5e3dc8c9d99685f6523fce7d973ef7e8d9d75ed9b8912426a
* Make sure all terms of the ORDER BY within an aggregate go through aggregatedrh2023-10-18
| | | | | analysis. Do not attach an aggregate ORDER BY to a window function. FossilOrigin-Name: 16f3805514a741405f70e0ee3b5a6b67720bc75719372e82daa4136fe411ea2b
* ORDER BY on aggregates seem to work, at least for simple smoke tests. Lotsdrh2023-10-18
| | | | | more testing is needed though. Surely there are many bugs. FossilOrigin-Name: 64c12a835b6f1df8f2f5f4a41de083f6b3fc7f8030042c6aac0082382cd9cc4d
* Enhance the parser so that it can accept an ORDER BY clause on a functiondrh2023-10-18
| | | | | | invocation. For this incremental check-in, the ORDER BY clause is currently ignored. FossilOrigin-Name: 3a98ff24bf468ed42d410a9a12d9f9b2ca154c7babe99fd6bc6f7b0565e0d132
* Fix a harmless compiler warning about variant types for a pointer function.drh2023-10-17
| | | FossilOrigin-Name: 37ff0d8e7f91c32e8c53bb015280be47c66bf599281b640a8d3fd41335b55289
* Fix a compiler warning caused by the previous check-in.drh2023-10-09
| | | FossilOrigin-Name: 7e8768bf8b4002b1c287f2bc95262548e2ae81b437936154f2bb1ea1f739a904
* Turn on SEH by default when building using MSVC.drh2023-10-09
| | | FossilOrigin-Name: f57e8275cf1ab3ad8027044cda0893282d1c403a5aa9fabbb1c7de280597b5cd
* Avoid an error when parsing a schema that contains indexes with WHERE ↵dan2023-09-23
| | | | | clauses containing unknown collation sequences. FossilOrigin-Name: d5dd39e37ab994ce5d75688a40c6494c17807431529e85eb2b11d58f367fe232
* In partial index scans, if the WHERE clause implies a constant value for a ↵dan2023-09-22
| | | | | 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
* Fix resolution of unqualified "rowid" identifiers in queries with nested joins.dan2023-09-15
| | | FossilOrigin-Name: bbcbd3d537d6790373d97f59386b8ce7fa2177db572af0f1babe058a76e25cc3
* Allow expressions like "<tbl>.rowid" to refer to implicit rowid columns of ↵dan2023-09-15
| | | | | tables in nested FROM clauses. FossilOrigin-Name: 59a1bbc69f5dbb33418fa4b383393fb13a46bc1e531577da8ad54ae2fad5a10e
* Add support for the sqlite3_get_clientdata() and sqlite3_set_clientdata()drh2023-09-11
|\ | | | | | | | | interfaces, to better support JNI. FossilOrigin-Name: 9806c0dd2802d68b67c25c4f3347ed532f9a98b051e775d34e9182dd2f099891
| * New experimental API for attaching client data to a database connection.drh2023-08-30
| | | | | | FossilOrigin-Name: d542837fdb42ebe810fc99225860d2cc7e6dd829a635bde820a09beff6bcb481
* | Do not make assumptions about the byteorder of PowerPC processors.drh2023-09-04
|/ | | FossilOrigin-Name: 4a2498fed4c5436fbcd4179db85e2741fdab37d42b0eebf12f41ec4573ce2c61
* Minor cleanups in sqlite3Int.h. By reordering some fields in the Parsedrh2023-08-08
| | | | | | object, it packs more tightly and uses less memory and less CPU to initialize. FossilOrigin-Name: aa6de539c09faa320b68c63659e602107145c4263fa680d5b40fe4d7d7ac4534
* Add bit to sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS) that willdrh2023-07-31
| | | | | disable the one-pass optimizating in DELETE and UPDATE. FossilOrigin-Name: 22f6dd5cd32ed9e7b932fdba98aa8652fde999df79f4995d3d8ac1acf430cf53
* Improved debug tracking of the Parse.nQueryLoop value.drh2023-07-31
| | | FossilOrigin-Name: 4a8a17498ecaccca5e5aab65d4596cbca9799547f50683237d08c1fa3556f1cf
* If the input JSON to a json function that uses cache comes from an RCStrdrh2023-07-27
| | | | | value, then use that RCStr value in the parse rather than making a copy. FossilOrigin-Name: 509ae9c1470dd79d320e84371e1e6662fb85fa0571df5ed8c4d946d10cdfe821
* Extend the enhancement to json_set() and json_replace(). Clean up cruft.drh2023-07-26
| | | FossilOrigin-Name: 2dbb22c75e86f2e3ced38ac14b4943570d5c2f86cd5e37e875bf0c863be28836
* Add the JsonParse.zAlt field to old revised JSON text after a change.drh2023-07-26
| | | | | | | Demonstrate that this elminates the need for reparsing after a change by using it in the json_remove() function. This is an incremental check-in containing lots of cruft. FossilOrigin-Name: f930b139d6db0ee799bc90397b225175103c4bf22923d1c9cbcd32509adc1738
* Create the new RCStr class of strings and try to use them for JSON storage.drh2023-07-25
| | | FossilOrigin-Name: c1b8725089bb3d006ec69add28f4fcb3f4e79412c7f438b5b1067c2227e77b9c
* Fix an off-by-one error in tests for cells overflowing the end pages. Thedrh2023-07-13
| | | | | | | error is completely harmless for the default page cache, but might cause problems for application-defined page caches that pack pages tightly together. FossilOrigin-Name: ce6793e954f291b6f5c29175baf730ce217328de1f0601b8935daac62af5f448
* Omit the use of memmove() in sqlite3FpDecode() in an attempt to avoiddrh2023-07-07
| | | | | | spurious warnings from valgrind. Also makes the code slightly smaller and faster. FossilOrigin-Name: b409943af00e35ad05906d0a80ffa1225a66f3d807c131e00cfbf6671a03a981
* Whether or not to use the long-double floating point conversion techniquedrh2023-07-03
| | | | | is now a test-control setting. FossilOrigin-Name: 02ae6caff1f7925c696ad263fe78b1036364d24b6373e1baec10d53aafb14a12
* Improved rounding policy.drh2023-07-01
| | | FossilOrigin-Name: 6f1122e942b8269552daaf13d647d200d8546ec25f36310d67037c6b58d09976
* Improved response to Infinity and NaN. Remove the termporary fpdecode()drh2023-07-01
| | | | | function. FossilOrigin-Name: 76ab8ae809a47a66688e2d50c20dc87ce946d82e9ffebb3adda55c451fad07fc
* Add decimal rounding to the sqlite3FpDecode() routine.drh2023-06-30
| | | FossilOrigin-Name: 27871140caa833f0bc0962e44356993938e93dcf81c1074382b1560a3e1aeb61
* Experiments with a new algorithm for converting ieee-754 binary64 numbersdrh2023-06-30
| | | | | into decimal. FossilOrigin-Name: e923405e448385085224f9289991b303d86b02763535ea77d6fcee98ba6fc1f2
* Completely unwind the enhanced precision sum() from [a915f15a916af698] sodrh2023-06-30
| | | | | as not to offend UBSAN and OSS-Fuzz. FossilOrigin-Name: 85be05b66ef975f02a3e7b2984bcab97d9280c7f3b6ee1e16718de549f240d46
* Use ideas from T. J. Dekker in "A Floating-Point Technique for Extending thedrh2023-06-26
| | | | | | Available Precision" (1971-07-26) to enhance the accuracy of the SUM() aggregate function in cases where input magnitudes vary wildly. FossilOrigin-Name: 439fc00fee62b4db3751860485e21a99cae4fd1f5d911b2c08651a1466245ecc
* Optimize the argument to the octet_length() function so that it does notdrh2023-06-22
| | | | | attempt to read content from disk. FossilOrigin-Name: 8b8ea4e3f52d96cc217bd1fb27ca4a83489ef1f250756ed2f790d1b0ee529a3a
* Avoid unnecessary NULL pointer checks on calls to sqlite3WalkExpr().drh2023-06-19
| | | FossilOrigin-Name: 73d86a12fb068456a884c030fddd87020d6ec9d56376de541cf082b2104174d3
* Improved sqlite3_error_offset() values for bare column errors on '*' anddrh2023-06-13
| | | | | 'table.*' expressions in SELECT statements. FossilOrigin-Name: 118fe600876686273f85d0a080a21267e83c11826365f3220336b1bd39562518
* Add a C-source spell-checking facility. make misspell (on Nix)larrybr2023-06-07
| | | FossilOrigin-Name: 26c1bb4bd9e9f56613c3aa87407a7f562fd4ebde5bfd6dece02078001d9a45f8