1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-04-21 19:26:38 +03:00

9710 Commits

Author SHA1 Message Date
drh
a683b055fb Improvements to the way that truncation is implemented in sqlite_dbpage().
FossilOrigin-Name: ac4bb2e4ecf0bdb0d8ac12b1ccb42d51af02f519a038cfc79faab5c216971056
2025-01-02 15:03:13 +00:00
drh
8b68902128 Show ETC in fuzzcheck with the --spinner option when there is only one input
file.

FossilOrigin-Name: 809699aeaaa4bae67e7ddeae3d42c7133f7deadbb4eb869cfb7e99dd97bdea99
2024-12-28 13:04:31 +00:00
dan
4e3b6a14fd Merge trunk changes into this branch.
FossilOrigin-Name: 3e2893097c59820def88bb4739189c9c9a4f70a98a0a72b81959658f069715f6
2024-12-26 14:40:11 +00:00
drh
142c5de4dd Fix a test case in sqllimits1.test so that it works with the Apple
configuration which changes the default SQLITE_MAX_LENGTH.

FossilOrigin-Name: 536fff14acb3335ad00fb1165cfb2f97e7a31c36273b9b97ffdb4b572fe72c08
2024-12-19 20:29:36 +00:00
drh
f2d422c528 Fix the sort4.test module so that the first two test cases are omitted
when SQLite has been compiled using SQLITE_MAX_WORKER_THREADS=0.

FossilOrigin-Name: 5b96dcf5f6bf41dcb89ced64efd4585e36dce718c428c2324d94e4942905c3bb
2024-12-19 14:20:47 +00:00
drh
2dcd4fad6b Fix additional integer overflow problems in the substr() function.
FossilOrigin-Name: 472abb492f1d1553ae6bdf53cc64bebfe75423526335beab7eaff26cc495cd7d
2024-12-19 12:08:39 +00:00
drh
b097ef29d1 Fix possible integer oveflow in the second and third argument to substr().
FossilOrigin-Name: b04b4006f38f83d36eaf43c4bace7d53866b02b45e0ddcf1704266fed3bfc11c
2024-12-18 20:29:29 +00:00
drh
47bc07d425 Avoid 32-bit roundoff error on the second argument to round().
[forum:/forumpost/170aeab92a|Forum post 170aeab92a].

FossilOrigin-Name: a9759fc78d6cb0df7c81f20c2c5c358729e571ebee50ee2b1441a15239d0b4b6
2024-12-18 18:29:19 +00:00
dan
c978e390e6 Fix release test errors on winrt.
FossilOrigin-Name: 39bebd50b80ceee321b1da837c72a20cdb26f06e4b726f23e3ddac877d9400a7
2024-12-16 19:31:30 +00:00
dan
d26bb375be Fix a buffer overread in test code. Add test configurations for ENABLE_SETLK=1 and FOR_WINRT=1 builds to release testing.
FossilOrigin-Name: b558db5db7e7c9aced1d24d74dc5ee2fab7cd04ec6570247c9c45723eb6f8fc0
2024-12-12 20:59:32 +00:00
drh
35d302ccb1 Increase the maximum number of arguments on an SQL function to 1000 with the
capability to increase it further up to 32767 using a compile-time option.

FossilOrigin-Name: e8d7d68ba0bb0bc2f948db5d9966990a5d23597fc3658b7cd0bc99d53c7353a9
2024-12-12 15:11:27 +00:00
dan
7d32ec0a5c Fix a problem with walsetlk.test on windows.
FossilOrigin-Name: 704e6567c14a4a07a1a4d1fc2bd8a7f288b55b27508d23ba7f5c755c830c14ec
2024-12-10 21:24:28 +00:00
dan
d50eb9c999 Ensure windows may block on a SHARED (but not EXCLUSIVE) DMS lock.
FossilOrigin-Name: 55e4e7bb0074859e8c3e736e7eceb69af8408ce75135f5baa09e98aaf4e2a321
2024-12-10 19:00:07 +00:00
dan
e5418e9dd3 Fix walsetlk.test to work on unix.
FossilOrigin-Name: 798dff041be46d2d5014779c0855f60e6b2a142e9946bfb79061d7dff0bc3d27
2024-12-10 18:12:59 +00:00
dan
50ebf16dd6 Merge latest trunk changes into this branch.
FossilOrigin-Name: d67a42d62555cf9294e11a04d3c7cfdf11ca7978d60fc085f5a73e36aff8313e
2024-12-10 17:36:20 +00:00
dan
9c750fe3a3 Test the case where a db connection blocks for a while and then successfully obtains the lock.
FossilOrigin-Name: 9cbc97ff8411a672b572000e4509ac02b3d29911be5ce1bcf334ed8e2a91db77
2024-12-09 17:30:20 +00:00
dan
4ab343cb7c Enhance tests to ensure that blocking locks, and not calls to xSleep(), are being used by SQLITE_ENABLE_SETLK_TIMEOUT builds when they should be.
FossilOrigin-Name: c892242bb642f7a6a961e310ed8b4f1e140f8ee32c00f50021c6011c6e7e1476
2024-12-09 16:01:28 +00:00
dan
4f5ae3fc4e Fix an obscure problem with multiple outer joins, ON clauses and query flattening. Forum [forum:5c8a069d23|thread 5c8a069d23].
FossilOrigin-Name: 289daf6cee39625e8f068179cd58efcc1d28242f46064e58ec4175a019cf48ad
2024-12-09 11:12:12 +00:00
drh
1a4b2117f1 On x64 hardware, round-trip uint64_t→double→uint64_t conversions
fail for values greater than UINT64_MAX-2047.  This caused the SQLite
text-to-float converter routine to give incorrect results for values
between '1.8446744073709550592eNNN' and '1.8446744073709551609eNNN' for any
exponent NNN.  This problem was introduced by check-in [761d8fd18b0ee868]
and first appeared in version 3.47.0 and was reported by
[forum:/forumpost/569a7209179a7f5e|forum post 569a7209179a7f5e].  Fixed
by this check-in.

FossilOrigin-Name: 81342fa6dd03fffbe7d4d699ff049dcef4d30344578bb6f91cb58a4e5a4f6036
2024-12-07 14:48:55 +00:00
drh
ef636cc3cd Add the SQLITE_PREPARE_DONT_LOG option for sqlite3_prepare_v3(), that prevents
errors in the compilation of the SQL from being sent to sqlite3_log().

FossilOrigin-Name: 870403425493866232cf9e8fa62288861b7d0a4091b15d75727f8bb31da46f94
2024-12-06 18:35:16 +00:00
dan
b9be2f6396 Fix filectrl.test so that it works with winrt builds.
FossilOrigin-Name: 70b0cfb0493e3fe56645648b462cb035d0d791f95b2913b7622f08c1090338c0
2024-12-04 19:32:24 +00:00
dan
23498de7be Back out minor changes not required by this branch.
FossilOrigin-Name: 68c34ffd2332d89cb6400bce5dad350a6e48c395924b8380cbeb0dbe64141808
2024-12-03 19:41:41 +00:00
dan
c99caf5de5 Merge latest trunk into this branch.
FossilOrigin-Name: eb13b8b3ef67ca8a252f7a4fd5a83ed31fefe68aa5ad8693d9d1f17218f4d176
2024-12-03 19:30:14 +00:00
dan
2d5ce92aae Further test file tweaks to run with SQLITE_OS_WINRT builds.
FossilOrigin-Name: 54853421ba012c192ee2a41873e6ba10e187a6ec2e23182ccbec56864604166f
2024-12-03 19:09:54 +00:00
dan
4b491d8565 Ensure that the query flattener does not change an ON clause term to a WHERE clause term.
FossilOrigin-Name: bdd408a2557ff05c9ea962a94b442f7c078d8e1ec27035aa95bc23d4d2bd5606
2024-12-02 17:21:52 +00:00
drh
966a158831 New test cases.
FossilOrigin-Name: f1cb1a815a09d71eb52d5c7f2f4e5c7689535232dee365e46ac41cce7fd86c01
2024-11-26 23:30:49 +00:00
drh
f12e5d1a0f Provide a two-argument version of the iif() function, plus an alternative
spelling that only requires a single "i".

FossilOrigin-Name: a251ee645e11e24b67473d8a5bd3f8b72fde1ac9d5fda074f5da2297deb2faa8
2024-11-26 20:56:03 +00:00
dan
6bd3faa092 Supports SQLITE_ENABLE_SETLK_TIMEOUT on windows. Does not work properly yet.
FossilOrigin-Name: 737ca8a9fb9dc74b28f2186d93c5101463497445d0fabba3def61fee29abf2c8
2024-11-22 21:24:08 +00:00
drh
9bf5bea607 Document that -nofollow does not work on Windows. Fix Windows symlink
test cases for when the test suite is run as administrator.

FossilOrigin-Name: 4de8a75ec5a2e3655a2d0c5a9333b58f8b48b681255f0a01866b610ae6249bc2
2024-11-21 01:50:01 +00:00
drh
2722e2e822 Bug fix in the SubrtnSig logic from [c9a3498113074bbc], if a subquery is
copied and then changes are made to the copy, be sure to give the copy
a unique Select.selId value so that the original will not be substituted
in place of the modified copy.
[forum:/forumpost/0b9ded2f8428ac00|Forum post 0b9ded2f8428ac00].

FossilOrigin-Name: 19d1bede5654bcfa9f7a151b9b2616a3d10873b8e3f8cf54a3a7e810da08f844
2024-11-20 14:59:32 +00:00
drh
9566982328 Do not report an sqlite3_error_offset() for errors that occur inside of
views or triggers, since the text of those elements is not part of the
original query.

FossilOrigin-Name: bf66c6dfc25c2562a4e6a5b24dd1660213a8fefbb5763e7583b87fb06dbaaf43
2024-11-20 11:34:16 +00:00
dan
fefc7b1bf7 Fix a problem handling OOM errors in fts3 that could occur when parsing multi-token strings.
FossilOrigin-Name: 4c4d1db00bd2c522165876dcf1606116a72525d9ffc891b266213704e25cde55
2024-11-19 11:58:32 +00:00
drh
ea206ad17b Reduce divergence from begin-concurrent.
FossilOrigin-Name: 84d41e9d04c62601e84621e8edb3b81abbacc366a6b5e7059f8b6796fade7ffa
2024-11-18 18:45:31 +00:00
drh
12599d566b Attempt to reduce divergence with the wal2 branch.
FossilOrigin-Name: e0d8f9916c2d899094b71af74f44e089a97db6d80f09eb80a5d8be733c1bf942
2024-11-18 17:05:45 +00:00
drh
5cad859f61 Attempt to reduce divergence with begin-concurrent.
FossilOrigin-Name: f783d90187fb326faa3d0244b30138b023c4a8483486f260b7a022a927c13f3a
2024-11-18 16:44:26 +00:00
drh
9c8235b1bd Fix minor problems in testrunner.tcl that pop up when the command-line arguments
are such that no tests are run.

FossilOrigin-Name: 321ded32f67550e964cd64d61aa0cbc0029ce2fdee4588a46b01dbb5aa87150b
2024-11-18 13:29:16 +00:00
dan
c87d7bede0 Fix a problem with window functions min() and max() when used with a FILTER clause. Forum post [forum:/forumpost/e9126d554a | e9126d554a].
FossilOrigin-Name: d15fb0f75e64bbfdb8df0c0d0358aafbbd7d5e2048df676dafe1abd5e9917f2a
2024-11-14 14:38:16 +00:00
drh
31c160ab8f Add the test/fork-test.c test program.
FossilOrigin-Name: 0611e2b0cf3f33c28cc9ff6c5da7ebba2033bcbda5b1072a30021a3e1fb4e738
2024-11-13 16:08:02 +00:00
dan
a864ac1c5a Fix a case in fts3 where a corrupt database record was not being handled correctly.
FossilOrigin-Name: cbcb53759b9510379e2159d14b73c9746e611df550b0bd05887bd4a480b519a8
2024-11-09 17:54:51 +00:00
drh
4ddeccfc15 Increase the minimum SQLITE_LENGTH_LIMIT from 1 to 30 to avoid problems doing
simple things like converting strings into integers.  See also
[8fd5b8ec4ab9b555].

FossilOrigin-Name: 6aa01707af4bd96f0f173f9e87f2398be7e6f246f59baa117092849a626b2d61
2024-11-08 20:57:45 +00:00
dan
d42855e404 Fix an OOB write that could occur in fts3 when dealing with corrupt database records.
FossilOrigin-Name: 108863ec7998e0a35569e3c6534b538f00d4ef87fdb316bd6a4a9a7a272bba47
2024-11-07 17:34:53 +00:00
drh
19d87fa848 Fix an FTS3 corruption test case that depends on the specific pseudo-random
byte sequence generated by sqlite3_randomness(), which is different on
big-endian platforms than it is on little-endian platforms.

FossilOrigin-Name: 6216bfcb74273b7893735e265d3f04d1362fa625cd60cebccb866ce7d6c50e01
2024-11-06 19:19:49 +00:00
dan
19c4fa92dd Have the xBestIndex method of the generate_series virtual table ignore contraints on the "value" column with usable=0.
FossilOrigin-Name: f5113a2ef84831ad2da723fa7e29e0d575e74e10585741ff51db8c2e37332cd2
2024-11-05 18:25:32 +00:00
drh
2139c35da0 Ensure that the one-line running status output from testrunner.tcl does not
exceed the 80-char line width of a standard terminal.

FossilOrigin-Name: 1eae0f9ed3c4530d117a8efc4adaf0b2cc422083f0407830a1a6d2a5b970fa1a
2024-11-05 11:59:45 +00:00
drh
bc60d7bee9 Ensure that the database encoding is detected before the code generator gets
too far down into byte-code generation and execution, but not so early that
it interferes with initialization.
[forum:/forumpost/bc75a4d20b756044|Forum thread bc75a4d20b756044].

FossilOrigin-Name: af7173a10ec6a4ab465207c1ee20393e8b5f06604c0f3b2fdc19e52c2fc013d5
2024-11-04 19:08:53 +00:00
drh
bce0d04c98 In testrunner.tcl, only show the ETC on the status line if it will fit within
the 80-character line limit.

FossilOrigin-Name: 45a3213d23f4691732ba2eb54d440355ce5757aad4cec8eb92f53b4bd7e7f5cd
2024-10-31 18:29:55 +00:00
drh
bc4df6079c Remove the never-used and never-documented and long-ago deprecated
user-authentication feature option.

FossilOrigin-Name: 3a3f7bf4307c27e56546e51da06ecc9a262cdf155fda2dd359aa2326d207a147
2024-10-28 17:27:15 +00:00
drh
42516b2ef9 Omit the antiquated and long-unsupport async extension since it has been
superseded by WAL mode for over a decade.

FossilOrigin-Name: 10b1b86821bfc21377e7ccceb31146ab01aa6eaf418b85a204abcab5b793958e
2024-10-28 15:38:53 +00:00
drh
0064c43a88 Improvements to the PATTERN option of the "testrunner.tcl joblist" command.
The pattern match is case insensitive and applies to the state and displaytype
in addition to displayname.

FossilOrigin-Name: 63a8f60f98115d4ee6e40de3ae775770aba76e19df6ddde68bccb7967b0200dc
2024-10-27 10:48:06 +00:00
stephan
ccb1211b54 Patch bundle accumulated via /chat: add missing --enable/disable-shared flag to configure script and update testrunner.tcl for other configure script flag changes.
FossilOrigin-Name: 32fc9c3f62601684b4ded783a79ebf817d093588c87ece02b449c3542881b65a
2024-10-26 16:03:04 +00:00