drh
41fb2eed07
The -DSQLITE_JSON_BLOB_INPUT_BUG_COMPATIBLE compile-time option causes blob
...
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
2024-01-22 14:16:10 +00:00
drh
776fe42c70
Fix userauth so that it works together with SQLITE_OMIT_SHARED_CACHE.
...
([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
2024-01-22 12:56:58 +00:00
larrybr
05ab0f72c3
Make CLI .dump immune to pragma reverse_unordered_selects, as reported in [forum:/forumpost/c42be01880e961eb|Forum thread "Missing ORDER BY in .dump?"]
...
FossilOrigin-Name: 488caed24453fcef6fddcf40353e3b44cf37fb9d21e0ed743d39d60cbff020a7
2024-01-22 01:11:24 +00:00
drh
199b0b2d6e
Fix a harmless typo in a comment.
...
FossilOrigin-Name: 382a8f94bffef3e5f715116e363a30e21e2c53cd42d4959dfbe90c4624143e6d
2024-01-21 21:20:33 +00:00
dan
f28bff745c
Ensure that values generated by DEFAULT clauses that specify real numbers that can be expressed as 64-bit integers (e.g. -1234.0) are not silently converted to integers.
...
FossilOrigin-Name: 298d6977285c71be917896bc875a8a26d985dcf0a74069b7c4d290e8ff0ac618
2024-01-20 18:41:13 +00:00
drh
514bf99b6a
Simplifications to the strftime() logic.
...
FossilOrigin-Name: aaa5a044d8a4942278eb4269fa8c7252f9f1dc161408e618e7c97c55a12283ff
2024-01-20 18:26:28 +00:00
drh
b23f61b73f
Rig sqlite3_serialize() so that it will initialize a previously uninitialized
...
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
2024-01-20 16:29:19 +00:00
drh
4c43f1881e
When doing a text-affinity comparison between two values where one or both
...
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
2024-01-20 15:13:13 +00:00
drh
8dca1905ed
Ensure that the replace() SQL function always returns a TEXT value even
...
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
2024-01-20 13:18:22 +00:00
drh
777a08893b
When backing out a character in a constructed string in JSON, first make sure
...
the string has not been reset by on OOM.
dbsqlfuzz 2fffbea91a5376526ea118d4fe4188c8dd35e317.
FossilOrigin-Name: 666690eb433fe38fa527ccbbb8e2c00041a33939da4f6b8bfb737d664f28f0d8
2024-01-20 12:13:00 +00:00
drh
f08287cc12
Implement a new algorithm for computing ISO week values in strftime() based
...
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
2024-01-20 00:31:44 +00:00
dan
a4802720a1
Allow large hexadecimal literals to be used as DEFAULT values.
...
FossilOrigin-Name: 8cccc1f27d7470d3cdd3c9c6d74f6a5ac49ec6eaa7002bcf96f4842fb8c79e1a
2024-01-19 16:51:34 +00:00
drh
d0603eda6c
Add support in the strftime() SQL function for conversion letters %G, %g,
...
%U, and %V.
FossilOrigin-Name: e1155d6aa4b960ecfd14fa3467f28672af3327699c547f5b9e75da3ac1348ff7
2024-01-18 16:50:25 +00:00
drh
6ad928d91d
Clutter the code with "fall-through" comments in order to suppress nuisance
...
compiler warnings. No logic changes.
FossilOrigin-Name: 05d2cf5e90d2a6b8e7fbcdb9e12e7c1281db7cfbe212997bd63c8aa66797edda
2024-01-16 15:04:19 +00:00
dan
4c6554223e
Have the shell tool automatically enable SQLITE_CONFIG_DQS_DDL when executing a ".dump" script against an empty db.
...
FossilOrigin-Name: f47a5f4e0ce078e6cc1183e6cbb3c4013af379b496efae94863a42e5c39928ed
2024-01-12 11:44:49 +00:00
drh
5fdabcf9ff
Put an SQLITE_ENABLE_SETLK_TIMEOUT branch inside the appropriate ifdef with
...
an assert on the else since the condition is always false if SETLK_TIMEOUT
is not available.
FossilOrigin-Name: d81e7a036ac5d70b6a6ee6ab7d81e041c1f5fc04b70bcee47e203d521caf7e93
2024-01-09 23:15:46 +00:00
drh
ff6905a1a5
Improved resolution of unqualified names in the REINDEX command.
...
[forum:/info/74cd0ceabd|Forum thread 74cd0ceabd].
FossilOrigin-Name: 97709ce2a1f5ae05495e412ca27108048e5b8a63a1e3bca4be13933f7527da7b
2024-01-09 12:28:51 +00:00
dan
7cda91c33e
Automatically turn off DEFENSIVE mode in the shell tool when executing 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
2024-01-08 18:46:34 +00:00
drh
3e2ffbd476
Minor change to os_unix.c to facilitate 100% MC/DC testing.
...
FossilOrigin-Name: 0dfa7b4da134db281c3c4eddb4569c53a450f955f0af2f410e13db801aff4ea2
2024-01-08 15:23:45 +00:00
dan
4e50f7763b
Ensure that SQLITE_PROTOCOL is not returned too early when a 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
2024-01-06 19:16:54 +00:00
drh
267721e72a
Restructure some code to fix what appears to be a false-positive UBSAN warning.
...
FossilOrigin-Name: fe952c12903ea2150880c8bb57cda2efc00ce9fa801568a68c619e0745f30567
2024-01-04 13:01:02 +00:00
drh
aa08f885ba
Fix a #ifdef in sqlite3_test_control() that was preventing builds with
...
SQLITE_OMIT_WSD.
FossilOrigin-Name: d546a9c94caf7408cc6e4530ec190d3a13fae09dc15b71b03d6369e02ee62abd
2024-01-03 20:40:17 +00:00
drh
4093b29610
Convert the JSON functions to use lookaside memory allocation whenever
...
feasible, to avoid hitting the global memory allocator mutex.
FossilOrigin-Name: a79a244954f728596da3c0e28fa3b887258d1bd831f53881970f418f3fba84c7
2024-01-03 16:41:50 +00:00
drh
433e904d99
Change a constant from decimal to hex to avoid a compiler warning on Mac.
...
FossilOrigin-Name: e3acb8a43ad544fd5b5341058276bd3b61b6bdb6b719790476a90e0de4320f90
2024-01-03 15:49:04 +00:00
drh
d059153deb
Back out [b517a52fa36df0a0] which is no longer reachable due to early
...
error detection enhancements in [166e82dd20efbfd3].
FossilOrigin-Name: 704943e96f2620b99260667ac9922c2f72bc3e92e2dfe1d9c2a91c7b704564d9
2024-01-02 22:49:14 +00:00
drh
f5740f72ec
Adjust the sqlite3PagerDirectReadOk() routine (part of the
...
SQLITE_DIRECT_OVERFLOW_READ optimization) to use less code and to be
more easily testable.
FossilOrigin-Name: eed670ea2a9424f7df4eeb01c152fc38f7190a5e39aa891651b28dc91fcdc019
2024-01-02 21:37:51 +00:00
drh
533622fb8b
Increase the default "max_page_count" to its theoretical maximum of
...
4294967294.
FossilOrigin-Name: ffb35f1784a4305b979a850485f57f56938104a3a03f4a7aececde92864c4879
2024-01-02 20:34:27 +00:00
drh
4cfc19f34c
Remove some unnecessary computations from ANALYZE so that ANALYZE runs with
...
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
2024-01-01 17:58:57 +00:00
drh
4ccf707c6e
Extra steps taken to avoid using low-quality indexes in a query plan.
...
This branch accomplishes the same end as the nearby enhanced-stat1 branch,
but with much less change and hence less risk.
FossilOrigin-Name: c030e646262fee43a59b45fdc1630d972f8bf88ac3c142b6bdaf4cbb36695a4f
2024-01-01 17:48:02 +00:00
drh
2aae3a95a9
Enable SQLITE_DIRECT_OVERFLOW_READ unless it is specifically disabled using
...
the -DSQLITE_DIRECT_OVERFLOW_READ=0 compile-time option.
FossilOrigin-Name: 630604a4e604bfb36c31602917bfa8d42c10c82966d0819932bf8f827b9158b8
2023-12-28 21:02:08 +00:00
drh
4c13d3ca92
Performance improvement by unwinding a loop in jsonAppendString().
...
FossilOrigin-Name: 190ab3c08431a0ba24d76392eab251f5c1792add05e4ec780998b299208eca95
2023-12-28 19:18:08 +00:00
drh
0546a284fa
Enhance the (undocumented, debug-only) json_parse() SQL function so that it
...
returns the text rendering of the JSONB parse of the input, rather than printing
the rendering on stdout.
FossilOrigin-Name: 056de8d551dcbdf1d162e2db15ed418fa9c786f900cd3972ef8a1dea3f4f3aa1
2023-12-28 16:21:22 +00:00
dan
d9ac37fc44
Fix a problem in the shell tool (not library) causing an out-of-bounds write if an ".open" command failed, then the user pressed ctrl-c to interrupt a query running on the substitute in-memory database.
...
FossilOrigin-Name: 026618b9e321576f616a32e41329066ba629814170c6cfeef35430343f5003f3
2023-12-27 16:24:53 +00:00
drh
b2b7490862
Improved handling of malformed unicode within JSON strings.
...
FossilOrigin-Name: e252bdf5f5de26ba8e2bcc6b0ad94121ed6fc4d86c02fe4a2a058ada93747beb
2023-12-26 13:20:57 +00:00
drh
71a32aede3
Remove an ALWAYS() added in [c50e6c2ace49d092] because it is sometimes false.
...
dbsqlfuzz c393a4f783d42efd9552772110aff7e5d937f15e.
FossilOrigin-Name: b9daf37e57cde12c4de271a2b1995e8e91b6411f8c2e8882e536241929609b3a
2023-12-24 12:02:36 +00:00
drh
5a85cf5879
Fix harmless compiler warnings associated with [5db30bcc338aac1c]
...
FossilOrigin-Name: e55d1c2333f35fc20615aa83a7843d08cae7945710a2156d44eee0cc37d90ade
2023-12-24 11:43:49 +00:00
drh
57c98747cb
Improvements to the query planner to address the inefficiency described
...
by [forum/forumpost/2568d1f6e6|forum post 2568d1f6e6].
FossilOrigin-Name: 72fcc12cda910a0e3f7875eb3d117b2a5608705c97703985427a02960f1ab5c5
2023-12-23 19:03:50 +00:00
drh
4ed0b117f3
Add debugging output routines sqlite3ShowWhereLoop(X) and
...
sqlite3ShowWhereLoopList(X) that can be invoked from a debugger to show
a summary of the content of a single WhereLoop object or a list of WhereLoop
objects. No change in release builds.
FossilOrigin-Name: 5db30bcc338aac1cf081de2deec7e60749ae012e2b6f95ccf745623adb4a31dc
2023-12-23 11:31:47 +00:00
drh
8a630c2aa3
Change parameters on a debugging function to include "const".
...
FossilOrigin-Name: 94c3e1110c6590261bd30ba317fba4dd94023d69b81a94f4b216cce748fe7489
2023-12-22 21:22:55 +00:00
stephan
09e6c82d56
Update #ifdef checks in pager.c and util.c to account for [0462a2612d1fc1d0] to resolve the build problem reported in [forum:9819032aac|forum post 9819032aac].
...
FossilOrigin-Name: 0f22d809a1c6c80e381f6bcd931fe4ec36dca0e28d07ab4f4f7f83c813424f60
2023-12-22 15:41:13 +00:00
drh
15bff25111
Add a new comment to debugging output routine sqlite3WhereLoopPrint() to
...
remind us of what the various fields of the debug output mean. No changes
to code.
FossilOrigin-Name: da5f34fd4052432b1ae27bb12e56b358cdc5c1282653d60ed0f0fe62f727e4ee
2023-12-22 12:57:49 +00:00
drh
c2eff91bd3
Add internal core-developer-only documentation of the JSONB format.
...
FossilOrigin-Name: 4d30478863b2a60512010de9ec6e3099bfaf75d4afee20acec536713fe94334d
2023-12-21 18:08:05 +00:00
dan
0d7f0e49a4
Fix SQLITE_ENABLE_SETLK_TIMEOUT assert() statements in os_unix.c to avoid reading past the end of the unixShmNode.aMutex[] array.
...
FossilOrigin-Name: 029a05cd2928d43d81e4549cce5388c432e2c9e75e3fa0b2fe6e91021b2fb9ac
2023-12-20 19:33:41 +00:00
drh
95cf95841c
Avoid harmless integer overflow in pager status statistics gathering.
...
Response to [forum:/forumpost/7f4cdf23f9|forum post 7f4cdf23f9].
FossilOrigin-Name: 206d8c650d937bc700946c40a82a62ea6bc4a80e5f3fb42d0ae2968de25f0644
2023-12-20 11:34:17 +00:00
drh
3262ca83a7
In JSON - minor code cleanup and refactoring with a small size reduction
...
and performance increase.
FossilOrigin-Name: 215fabda38daecdbd38b1eca5a6aafbc61b6a36a8303f1d7164d5a1138e63134
2023-12-19 21:39:58 +00:00
drh
c52aebb443
Remove redundant conditional from sqlite3ExprCanBeNull().
...
FossilOrigin-Name: 257f96a2d22c605885fa66220c28cf7dc5941c330bccee3f132b9e7b70d89d30
2023-12-19 15:51:14 +00:00
drh
7c1033b010
On second thought, we don't really need sqlite_dbdata accessible to the CLI.
...
FossilOrigin-Name: 36fe6a61ef8fb393281a5e15119d716521219c7b971fbfd63bdea07d27a78ac9
2023-12-19 15:10:25 +00:00
drh
611b9d3efd
More precise computation of the size of data structures in the query planner.
...
Response to [forum:/forumpost/7d8685d49d|Forum post 7d8685d49d].
FossilOrigin-Name: 0c8d88e41167ea92341dd1129be01b596a73f46bdcd5b0dd931441a979c013d0
2023-12-19 14:54:52 +00:00
drh
09259aff6c
Add ALWAYS() and NEVER() on branches made unreachable by recent changes.
...
FossilOrigin-Name: c50e6c2ace49d0928b05cbfd877c621e9a0f77dc4e056ccb1dbe5cf118a00d00
2023-12-19 14:53:39 +00:00
drh
3e2ec83e0b
Ignore COLLATE operators when determining whether the result of a subexpression
...
should be shallow-copied or deep-copied.
FossilOrigin-Name: 34ae36a45e814bed7c8340412c7ef3fc849b82357656d0eb5f0f805e59d846d0
2023-12-19 13:45:05 +00:00