aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * | | Detect malformed nested JSONB earlier and stop rendering to avoid longdrh2024-01-29
| | | | | | | | | | | | | | | | | | | | delays. FossilOrigin-Name: 72f3e1d0eca2b9ebd7c4b4cdccc6d7a0173b2fdb204cb1aa207917aedab6098a
| * | | When generated text JSON from JSONB, do not continue descending intodrh2024-01-29
| | | | | | | | | | | | | | | | | | | | | | | | nested structures after an error is seen. This avoids long loops and wait times. FossilOrigin-Name: 97666ec052ebaceab002874d7ca5c5e6883c3d04fb7d3992235a8c4c8d08407a
| * | | Consider an index for queries like "SELECT count(DISTINCT col) FROM ...", ↵dan2024-01-29
| | | | | | | | | | | | | | | | | | | | even if the index records are not smaller than the table records. FossilOrigin-Name: ad06868807a27f0c96fa5649ebd981e07909eb2c5e03781377c876fdec49abdc
| * | | Avoid a potential buffer overread when handling corrupt json blobs.dan2024-01-29
| | | | | | | | | | | | FossilOrigin-Name: 738473dc0ac353731080d0785cc7dc9810b564906c176916bd91d6cfbb1a7b18
| * | | When rendering JSONB back into text JSON, report an error if a zero-lengthdrh2024-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | integer or floating-point node is encountered. Otherwise, if the node occurs at the very end of the JSONB, the rendering logic might read one byte past the end of the initialized part of the BLOB byte array. OSSFuzz 66284. FossilOrigin-Name: b0eb279ea83c1c788c39fb90e178ec99fa4c782195c376a420c661fedf4545a7
| * | | Use __ppc__ instead of __POWERPC__ to identify 32-bit PowerPC processors.drh2024-01-28
| | | | | | | | | | | | | | | | | | | | [forum:/forumpost/34794846ce|Forum post 34794846ce]. FossilOrigin-Name: c974d9313b60591bcd554c3ec652a8040d382930e30778e6be8a875145b0b3da
| * | | Automatically disable the DISTINCT optimization during query planning if thedrh2024-01-28
| | | | | | | | | | | | | | | | | | | | | | | | ORDER BY clause exceeds 63 terms. dbsqlfuzz afd1d61fc27d14938a0d78a50970fa1e9fbfee58. FossilOrigin-Name: d4c193f0b49f4950b20c2f0e6aa037d2ed7d8c0b4687c14923b3a0d0d4a1b3fd
| * | | Apply the same fix found in [99057383acc8f920] to descending scans.drh2024-01-28
| | | | | | | | | | | | | | | | | | | | dbsqlfuzz afd1d61fc27d14938a0d78a50970fa1e9fbfee5. FossilOrigin-Name: e1d463c2d6e93e0ae0a60a05a79cd346bd07142de2fe631b370a9b946763b5d6
| * | | Use an alternative memory allocator for parser stack space that includesdrh2024-01-27
| | | | | | | | | | | | | | | | | | | | a call to sqlite3FaultSim() to facilitate testing. FossilOrigin-Name: 7c36d560ff4e8e1b3f8fad972ec7f07837e4fa4e6861fafde970ffccfda5a2f1
| * | | Omit the "parser stack overflow" error message, since it no longer occurs.drh2024-01-27
| | | | | | | | | | | | | | | | | | | | Replace it with an ordinary "out of memory". FossilOrigin-Name: 33f17ec24880937892d47a5a321c43785ca18e03dde28a9a0d50ae86edb29679
| * | | Experimental changes that prevent parser stack overflows by growing thedrh2024-01-26
| | | | | | | | | | | | | | | | | | | | parser stack with heap memory when it reaches its limit. FossilOrigin-Name: 3fd062905fc20507b7cfc97fa976ac5b57c5b68926bf9136bd5ea4265d2d6528
| * | | Add NEVER() to a branch that is no longer reachable.drh2024-01-24
| | | | | | | | | | | | FossilOrigin-Name: 9411337a7b3237366768fc708396da53d67a7a17b6cdc5c6f8932c5ab32217a9
| * | | In os_unix.c and os_win.c, do not allow xFetch() to return a pointer to a ↵dan2024-01-23
| | | | | | | | | | | | | | | | | | | | page buffer that is right at the end of the mapped region - if the database is corrupted in a specific way such a page buffer might be overread by several bytes. FossilOrigin-Name: 2684feac3bc9c5463604900d72710be861527614f4957224c74a16a3b3c702f5
| * | | Improved error message when a double-quoted identifier name cannot bedrh2024-01-23
| |\ \ \ | | | | | | | | | | | | | | | | | | | | resolved - ask the user if they intended to use a string literal. FossilOrigin-Name: efc5c3c5e6ae1f9f0be61ea4ce7b3e34f3dc318791c78e0f4bebebeaccf6951e
| | * | | Simplification of the error reporting logic.drh2024-01-22
| | | | | | | | | | | | | | | FossilOrigin-Name: 59eb9d29e796886db17a578b64e75fd2797aebf969cbeeda70ecf2fda378c98f
| | * | | Improved error message when a double-quoted string is used and it seems likelydrh2024-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | that the user wanted a single-quoted string literal. FossilOrigin-Name: 0a834bd81122b6e9c34c8253f9e45d53dab3274be28df60968366fa42237617b
| * | | | When a JSON input is a blob, but it looks like valid JSON when cast to text,drh2024-01-23
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | then accept it as valid JSON. This replicates a long-standing bug in the behavior of JSON routines, and thus avoids breaking legacy apps. [forum:/forumpost/012136abd5292b8d|Forum thread 012136abd5292b8d]. FossilOrigin-Name: e5dc81d5c7ee97866feb688dfa9b6fc225dabff2b020b9b96b49a8fea5640aec
| | * | | | Fix typo in the tag-20240123-a in a comment.drh2024-01-23
| | | | | | | | | | | | | | | | | | FossilOrigin-Name: 1f09541eb4203ccce476f6040ff134353850f22f07fb84f96a1d2c27b304a91b
| | * | | | If a BLOB looks like JSON when cast to text, then treat it as if it reallydrh2024-01-23
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | were JSON. This replicates a long-standing bug in the JSON processing routines, and thereby avoids breaking legacy. FossilOrigin-Name: d79a37690ce7ebb91df203170d73511da44546328043c2b3fe1786b2f0087093
| | * | | The -DSQLITE_JSON_BLOB_INPUT_BUG_COMPATIBLE compile-time option causes blobdrh2024-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | inputs to JSON functions that are not JSONB to be processed as if they where text, immulating historical bugging behavior which some applications have come to rely upon. See [forum:/forumpost/012136abd5292b8d|forum thread 012136abd5292b8d] for discussion. FossilOrigin-Name: 65572223583d43e1d61ec029641f9d3ff340e68ecfba8342c8d1b0a91a680f2a
| * | | | Change the shell's --help flag to exit with code 0 instead of 1, per /forum ↵stephan2024-01-23
| |/ / / | | | | | | | | | | | | | | | | and /chat discussions. FossilOrigin-Name: df563a18578c5cf1aaecf5818c93967aaa70475598d3c099779622ac8911f926
| * | | Fix userauth so that it works together with SQLITE_OMIT_SHARED_CACHE.drh2024-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ([forum:/forumpost/0bfc5888a384d430|Forum post 0bfc5888a384d430]). However, also change to code to issue a deprecation warning whenever SQLITE_USER_AUTHENTICATION is used. FossilOrigin-Name: 249048b0cbc37058c229a785182e07b46029584aff9c385269b0b93503153476
| * | | Make CLI .dump immune to pragma reverse_unordered_selects, as reported in ↵larrybr2024-01-22
| | | | | | | | | | | | | | | | | | | | [forum:/forumpost/c42be01880e961eb|Forum thread "Missing ORDER BY in .dump?"] FossilOrigin-Name: 488caed24453fcef6fddcf40353e3b44cf37fb9d21e0ed743d39d60cbff020a7
| * | | Fix a harmless typo in a comment.drh2024-01-21
| | |/ | |/| | | | FossilOrigin-Name: 382a8f94bffef3e5f715116e363a30e21e2c53cd42d4959dfbe90c4624143e6d
| * | Ensure that values generated by DEFAULT clauses that specify real numbers ↵dan2024-01-20
| | | | | | | | | | | | | | | that can be expressed as 64-bit integers (e.g. -1234.0) are not silently converted to integers. FossilOrigin-Name: 298d6977285c71be917896bc875a8a26d985dcf0a74069b7c4d290e8ff0ac618
| * | Simplifications to the strftime() logic.drh2024-01-20
| | | | | | | | | FossilOrigin-Name: aaa5a044d8a4942278eb4269fa8c7252f9f1dc161408e618e7c97c55a12283ff
| * | Rig sqlite3_serialize() so that it will initialize a previously uninitializeddrh2024-01-20
| |/ | | | | | | | | | | | | database prior to serializing it, so that it does not have a zero-byte size and does not return NULL (except for OOM). [forum:/forumpost/498777780e16880a|Forum thread 498777780e16880a]. FossilOrigin-Name: e638d5e408ea2e189b6771d16bbc2e42c606e88e05fbea78079b6e39e41f344c
| * When doing a text-affinity comparison between two values where one or bothdrh2024-01-20
| | | | | | | | | | | | | | | | have both a text and a numeric type, make sure the numeric type does not confuse the answer. This is a deeper fix to the problem observed by [forum:/forumpost/3776b48e71|forum pose 3776b48e71]. The problem bisects to [25f2246be404f38b] on 2014-08-24, prior to version 3.8.7. FossilOrigin-Name: 709841f88c77276f09701bf38e25503c64b3a0afbe2fbf878136db12f31cbe21
| * Ensure that the replace() SQL function always returns a TEXT value evendrh2024-01-20
| | | | | | | | | | | | | | when its first argument is numeric and its second argument is an empty string. Fix for the issue reported by [forum:/forumpost/3776b48e71|forum post 3776b48e71]. FossilOrigin-Name: 01868ebcd25fadb2034da234c0636e82d07c5abc902ef66493cadfc988e74d7b
| * When backing out a character in a constructed string in JSON, first make suredrh2024-01-20
| | | | | | | | | | | | the string has not been reset by on OOM. dbsqlfuzz 2fffbea91a5376526ea118d4fe4188c8dd35e317. FossilOrigin-Name: 666690eb433fe38fa527ccbbb8e2c00041a33939da4f6b8bfb737d664f28f0d8
| * Implement a new algorithm for computing ISO week values in strftime() baseddrh2024-01-20
| | | | | | | | | | | | on the idea (from [forum/forumpost/3681cb1bcd|Nuno Cruces]) of shifting the date being tested to the Thursday of the same week. FossilOrigin-Name: b06ab46a9ee98719159ed3e05cdfbf26281353d781206f56ed7cb12859210fed
| * Allow large hexadecimal literals to be used as DEFAULT values.dan2024-01-19
| | | | | | FossilOrigin-Name: 8cccc1f27d7470d3cdd3c9c6d74f6a5ac49ec6eaa7002bcf96f4842fb8c79e1a
| * Add support in the strftime() SQL function for conversion letters %G, %g,drh2024-01-18
| | | | | | | | | | %U, and %V. FossilOrigin-Name: e1155d6aa4b960ecfd14fa3467f28672af3327699c547f5b9e75da3ac1348ff7
| * Clutter the code with "fall-through" comments in order to suppress nuisancedrh2024-01-16
| | | | | | | | | | compiler warnings. No logic changes. FossilOrigin-Name: 05d2cf5e90d2a6b8e7fbcdb9e12e7c1281db7cfbe212997bd63c8aa66797edda
| * Have the shell tool automatically enable SQLITE_CONFIG_DQS_DDL when ↵dan2024-01-12
| | | | | | | | | | executing a ".dump" script against an empty db. FossilOrigin-Name: f47a5f4e0ce078e6cc1183e6cbb3c4013af379b496efae94863a42e5c39928ed
| * Put an SQLITE_ENABLE_SETLK_TIMEOUT branch inside the appropriate ifdef withdrh2024-01-09
| | | | | | | | | | | | an assert on the else since the condition is always false if SETLK_TIMEOUT is not available. FossilOrigin-Name: d81e7a036ac5d70b6a6ee6ab7d81e041c1f5fc04b70bcee47e203d521caf7e93
* | For CLI shell and other utilities, optionally avoid C runtime file I/O on ↵larrybr2024-01-10
|/ | | | | Windows in favor of WIN32 calls, while nominally preserving FILE* API interfaces. (a WIP, awaiting build and testing) FossilOrigin-Name: 6be68be17927e72b1f1c4b93e781b7e9235876b3ad9512fe168e5b9d0b7b763a
* Improved resolution of unqualified names in the REINDEX command.drh2024-01-09
| | | | | [forum:/info/74cd0ceabd|Forum thread 74cd0ceabd]. FossilOrigin-Name: 97709ce2a1f5ae05495e412ca27108048e5b8a63a1e3bca4be13933f7527da7b
* Automatically turn off DEFENSIVE mode in the shell tool when executing ↵dan2024-01-08
| | | | | scripts generated by the ".dump" command against an empty database. Add a warning to the top of generated ".dump" scripts that populate virtual tables. FossilOrigin-Name: 6e9e96b7e7afb9420110f4b93d10b945c9eadfde5e9c81e59ae9ee8167e75707
* Minor change to os_unix.c to facilitate 100% MC/DC testing.drh2024-01-08
| | | FossilOrigin-Name: 0dfa7b4da134db281c3c4eddb4569c53a450f955f0af2f410e13db801aff4ea2
* Ensure that SQLITE_PROTOCOL is not returned too early when a ↵dan2024-01-06
| | | | | SQLITE_ENABLE_SETLK_TIMEOUT build fails to open a transaction on a wal mode database in cases where blocking locks are not being used. FossilOrigin-Name: b934a33671d8a0190082ad7e5e68c78fe0c558d102404eafc1de26e4e7d65b92
* Restructure some code to fix what appears to be a false-positive UBSAN warning.drh2024-01-04
| | | FossilOrigin-Name: fe952c12903ea2150880c8bb57cda2efc00ce9fa801568a68c619e0745f30567
* Fix a #ifdef in sqlite3_test_control() that was preventing builds withdrh2024-01-03
| | | | | SQLITE_OMIT_WSD. FossilOrigin-Name: d546a9c94caf7408cc6e4530ec190d3a13fae09dc15b71b03d6369e02ee62abd
* Convert the JSON functions to use lookaside memory allocation wheneverdrh2024-01-03
| | | | | feasible, to avoid hitting the global memory allocator mutex. FossilOrigin-Name: a79a244954f728596da3c0e28fa3b887258d1bd831f53881970f418f3fba84c7
* Change a constant from decimal to hex to avoid a compiler warning on Mac.drh2024-01-03
| | | FossilOrigin-Name: e3acb8a43ad544fd5b5341058276bd3b61b6bdb6b719790476a90e0de4320f90
* Back out [b517a52fa36df0a0] which is no longer reachable due to earlydrh2024-01-02
| | | | | error detection enhancements in [166e82dd20efbfd3]. FossilOrigin-Name: 704943e96f2620b99260667ac9922c2f72bc3e92e2dfe1d9c2a91c7b704564d9
* Adjust the sqlite3PagerDirectReadOk() routine (part of thedrh2024-01-02
| | | | | | SQLITE_DIRECT_OVERFLOW_READ optimization) to use less code and to be more easily testable. FossilOrigin-Name: eed670ea2a9424f7df4eeb01c152fc38f7190a5e39aa891651b28dc91fcdc019
* Increase the default "max_page_count" to its theoretical maximum ofdrh2024-01-02
| | | | | 4294967294. FossilOrigin-Name: ffb35f1784a4305b979a850485f57f56938104a3a03f4a7aececde92864c4879
* Remove some unnecessary computations from ANALYZE so that ANALYZE runs withdrh2024-01-01
| | | | | | | fewer CPU cycles. These changes were spotted while working on the nearby enhanced-stat1 branch. So even if enhanced-stat1 is abandoned, that effort put into it will not have been in vain. FossilOrigin-Name: 5527e8c4abb904b1a438ec1c353d4a960bf82faaf3a2c742af1df7c613850441
* Extra steps taken to avoid using low-quality indexes in a query plan.drh2024-01-01
| | | | | | This branch accomplishes the same end as the nearby enhanced-stat1 branch, but with much less change and hence less risk. FossilOrigin-Name: c030e646262fee43a59b45fdc1630d972f8bf88ac3c142b6bdaf4cbb36695a4f