1
0
mirror of https://github.com/sqlite/sqlite.git synced 2026-10-25 09:59:22 +03:00
Commit Graph

23787 Commits

Author SHA1 Message Date
drh
86fbbbf964 Version 3.38.2
FossilOrigin-Name: d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f
version-3.38.2
2022-03-26 13:51:10 +00:00
drh
5eea5054d0 The "PRAGMA writable_schema=ON" flag should not allow OOM errors to pass
while parsing the schema.
dbsqlfuzz 9cc49e1a53e1cef8e3a1496a88c683aa20483163.

FossilOrigin-Name: 4977d8f453bcd56fb1dfab02cc5b283fb32d402bafdf2b6112e7dd322b7c32ad
2022-03-25 19:16:26 +00:00
drh
b64cf9b28c Do not allow an #ifdef inside of an assert(), as gcc tells us that is
not portable.

FossilOrigin-Name: b193156c2a2407146e7cf77e237e0de0766d4ce8c673547d9f2bda4a1814959b
2022-03-25 17:43:32 +00:00
drh
2dc539addd Bump the version number to 3.38.2.
FossilOrigin-Name: bb3ef206ab4a92bef16cd53bf23f574e720ed4709baba58700e04dbf48c1347e
2022-03-25 01:37:26 +00:00
drh
e62f31cdb4 Fix the Bloom-filter optimization so that it does not use IS NULL or
IS NOT NULL constraints from the WHERE clause when operating on a LEFT JOIN.
[forum:/forumpost/031e262a89b6a9d2|Forum thread 031e262a89b6a9d2].

FossilOrigin-Name: 8246bfbc1643497fbbebe950b5e297fdc2a90359603e5c01a79ba67168bd7d02
2022-03-25 01:31:18 +00:00
drh
1905379eb1 Ensure that database corruption does not cause the cursor passed into
sqlite3BtreeDelete() to be invalid.
dbsqlfuzz 209bf3de9ee11ae440848ab9bc9c13858f9be2e4.

FossilOrigin-Name: 780d00d4ec8c87229a639671a610c4561f2ab2b1729bb9a4386547ac18772dd4
2022-03-22 23:47:25 +00:00
drh
51907db8ca Harden the xShmLock method of both the unix and Windows VFSes so that they
are robust against being invoked when the SHM file is not open.

FossilOrigin-Name: 06d4c4d17c49b98701e4b09c19c0cc68e65a0413850fda33b4991fa24fc84fa0
2022-03-22 20:02:53 +00:00
drh
e40d899afe Strengthen the defenses against corrupt databases in the
sqlite3BtreeInsert() function of the btree module.
[forum:/forumpost/c7ec29905f|Forum post c7ec29905f].

FossilOrigin-Name: 883fec9c3a410280bd5160acf1e103fa3c5fb6c6a003b2b99567d3b7037bc07e
2022-03-21 18:23:24 +00:00
drh
2f0ebf5e5c The previous assert() fix was not correct when building with
-DSQLITE_ENABLE_OFFSET_SQL_FUNC.  This is the fix.

FossilOrigin-Name: b4210bc0ba1dddd163884b75a7bcc21d580598bdab06f938b0f84982274d6346
2022-03-21 16:34:19 +00:00
drh
2fc20b68e8 Fix the assert() that attempts to verify that the table-reference to
index-reference translator finds all required translations.
[forum:/forumpost/929168fdd6|Forum post 929168fdd6].

FossilOrigin-Name: ccd2a2a7e197736a18dce28272fdb4acdf8447342523819c545d28e744c99562
2022-03-21 13:55:56 +00:00
drh
52fceac318 Fix an assert() in sqlite3TableAffinity() that might have been false if there
was a prior syntax error in the query.

FossilOrigin-Name: 940f1a400bcd58c2dc135955f261df5f96615339645c25583947f1a7dedae4ce
2022-03-21 11:50:28 +00:00
drh
72327c367c Fix the zipfile extension so that it knows that a zero-length BLOB returns
a NULL pointer.
[forum:/forumpost/ae86934905|Forum post ae86934905].

FossilOrigin-Name: b75c6bad3a5a165948077026441f02188ba30c7960815486c1973e18992401b3
2022-03-19 12:53:43 +00:00
drh
7fa8b4acf4 Another fix for a corner-case in sqlite_offset() - this one having to
do with computed virtual columns in a WITHOUT ROWID table.  Also an
assertion fault problem with sqlite_offset().

FossilOrigin-Name: 9e72cae2f15bdd1466ff4fe1e9b747d7630b581bccd8b13d1fd69e33a81a0f72
2022-03-17 11:37:02 +00:00
drh
8a5d1585f1 Disable trigger coding while running sqlite3_declare_vtab().
dbsqlfuzz 97e1865771b4226f29e6e482411c1cae14133f50

FossilOrigin-Name: 5b8a0460a2ea8720731282a396e5de835cf87876d41f7d861712b160706b838d
2022-03-14 20:39:57 +00:00
drh
e3afca73dc Version 3.38.1
FossilOrigin-Name: 38c210fdd258658321c85ec9c01a072fda3ada94540e3239d29b34dc547a8cbc
version-3.38.1
2022-03-12 13:37:29 +00:00
drh
3e7d815579 Fix a case in fts5 where a corrupt database could cause a crash.
FossilOrigin-Name: 1894577c8eff6d0cb586cc8cd3a8f6a2b5800b9aa6391261121f4e26c9ba5f8f
2022-03-11 12:40:18 +00:00
drh
401697bb54 Stronger defenses against corrupt schemas in the ALTER TABLE logic.
FossilOrigin-Name: 29744e69f473638796877bd073468046d4aeff209c0a0f30beee8c5f102112b6
2022-03-10 21:14:35 +00:00
larrybr
c606152c7b Doc improvements re sqlite3_column_text*() endianness (no code change)
FossilOrigin-Name: a37c20d40f97570575abb1f1db31dbc934300e7f2294d38fe41850baedb3766f
2022-03-10 19:53:49 +00:00
drh
d8659ad141 Prevent a NULL-pointer dereference when trying to parse a illegal
schema entry that contains a window function while doing a RENAME COLUMN.
[forum:/forumpost/ec2a2e0deb|Forum post ec2a2e0deb].

FossilOrigin-Name: 2c393228257490efcf609f3e428f0d02c74cbea48a28763b2414e69a4ced66da
2022-03-10 16:28:13 +00:00
drh
4acead62b1 Check-in [642a0b4752743216] fixing sqlite_dbpage is not exactly correct.
This patch should fix it.

FossilOrigin-Name: b6c4c8a09a63693dd515d30a9f07f67ed81dc14df2586835fcb2b1bc6a9d01fc
2022-03-10 01:15:35 +00:00
drh
c36de71968 Further refinements to the sqlite_offset() fix from [6029514b08b88e3f].
FossilOrigin-Name: 98799d7bbb6d62d71862d5fdfe87856995dd179d66612e369c5dc440e7fac31a
2022-03-09 18:30:55 +00:00
drh
468657ec19 Fix the sqlite_dbpage virtual table so that it starts a write transaction
on all attached schemas.

FossilOrigin-Name: e92c4fdb99eb09507e6b970067c1a6f2043838f67017125851469d66c1bb5b20
2022-03-09 14:29:33 +00:00
drh
3b7520b747 Fix a potentially uninitialized local variable in the ".import"
command of the CLI - introduced by [741651fd4b1b776b].  This same change
is part of the nearby [/info/5e30c6ea707f9d38|"Fix compiler warnings"]
check-in.

FossilOrigin-Name: ce9e3d903c2e5993a3fdadaf809ce2026efd1b5b933930b50dd794c9a7329cdd
2022-03-08 16:12:53 +00:00
drh
c2384cdbea Disable an assert in moveToRoot() when the database is corrupt.
[forum:/forumpost/e9a176b7bd|Forum post e9a176b7bd].

FossilOrigin-Name: ab744a5da80ddcd5c7cce60626d82c0e368f675b8a11bfb93b4739ea30bb07c0
2022-03-07 18:38:12 +00:00
drh
54068138f0 Do not allocate new Trigger objects in the parser following a syntax error,
to avoid violating invariants associated with Expr nodes.  See
[forum:/forumpost/2024e94071ef1531|forum thread 2024e94071ef1531] for more
information.

FossilOrigin-Name: 369d240455a2806afb1699273864bca3f84b163c6b1f93807c9147437001132b
2022-03-07 16:40:44 +00:00
drh
312d0ec0a7 Fix the code generated for vector IN operator constraints on virtual tables
so that they work even if the "omit" field in the sqlite3_index_info object
is off.  This has apparently never worked correctly before.  Presumably, nobody
has ever before written a virtual table that can use vector IN operator
constraints and that relies on bytecode to double-check the constraints.
Test cases in TH3.  Problem discovered by
dbsqlfuzz cab8e26194a40147627094f3c6849c0a7b1e0310.

FossilOrigin-Name: 4a2040d5c78f42b892a080ba086f6ab32f59bb9c31b897af40c4359cdb17b0e9
2022-03-07 14:59:45 +00:00
drh
135f5fb747 Fix the .import problem in the CLI reported by
[forum:/forumpost/72a024c957|forum post 72a024c957].

FossilOrigin-Name: d753285bcbb68bdf8f6d95a64af58b20ce6da9f048734fdb0ae49150eb7befd4
2022-03-07 01:28:13 +00:00
drh
2614c7c873 The sqlite_offset() function should be non-deterministic.
dbsqlfuzz 3df8230bb940870db87ffca2c0fc759c1e7fa356.

FossilOrigin-Name: 8083757606920151171530f337919553fa8ba902a51744d7b21eeba1558db9fa
2022-03-06 11:44:14 +00:00
drh
b9d060e934 Remove a NEVER() associated with sqlite_offset()>
FossilOrigin-Name: bf2501e26c8e4c08d679ea930bab89b9510808439aee9412ab176a9d29635cc7
2022-03-06 00:01:10 +00:00
drh
7b7932bed3 Fix the 'localtime' modifier in date/time functions so that it preserves
fractional seconds.
[forum:/forumpost/2ffbaa2c3fd7fb82|Forum post 2ffbaa2c3fd7fb82].

FossilOrigin-Name: 6833f4aeef4923c3633978720277ccbfc63b26c96092c12a6330e6d4629b5eb5
2022-03-05 20:20:45 +00:00
drh
1909223648 Increase the version number to 3.38.1.
FossilOrigin-Name: cd87e77dd062b6b9479c14f28bf7b94db86e3538d8977dc46f92fab8674dbec8
2022-03-05 19:46:17 +00:00
drh
c95b28ebea Cherry-pick all bug fix changes since the 3.38.0 release.
FossilOrigin-Name: 45a5d5acf712cccf6d7043412fb21541ec00081d10fbd85421014677470a74f2
2022-03-05 19:39:19 +00:00
drh
98095e3949 Version 3.38.0
FossilOrigin-Name: 40fa792d359f84c3b9e9d6623743e1a59826274e221df1bde8f47086968a1bab
version-3.38.0
2022-02-22 18:58:40 +00:00
drh
60f3657b4a Fix an undersized memory allocation in the test harness for RTREE. This
error was in test logic only, not in the SQLite library itself.
[forum:/forumpost/35470a0a72a005e1|forum post 35470a0a72a005e1]

FossilOrigin-Name: 7e3c9594390ac8defaf9825e14b4c19ef8c123b747971dd3d4df16110f443d3b
2022-02-22 15:47:55 +00:00
drh
16f56e8416 Fix compiler warnings for older compilers (ex: gcc 4.0.1 powerpc-apple-darwin).
FossilOrigin-Name: 5c188243d769681c68938c8e432155c8ec838d9e32fe8d1b12286ebc9d0e87f1
2022-02-21 14:30:59 +00:00
drh
a12500005f Remove stray tab characters from auxiliary source code files.
FossilOrigin-Name: e25e33582b69289a2c3a6bc403e3911de22a3b529db1a565efb9f1af01b9e382
2022-02-21 13:44:51 +00:00
drh
91260dcf83 Add SQLITE_OMIT_JSON to the compile-time option test sequence.
FossilOrigin-Name: f36325a6e21c4d3b6ab48ebfb2efabda089281344d1e61949d1c9290e88395b1
2022-02-21 13:02:23 +00:00
drh
d01a1bd94a Do not allow error messages from sqlite3NestedParse() to leak up into the
main parse.

FossilOrigin-Name: 9c4e21abdca664d6b7bcf0043fe9ec05ef8b2949ba6ee7208abaaec1ff4ed679
2022-02-21 00:23:49 +00:00
larrybr
a7919add6a Improve .backup and .save help text
FossilOrigin-Name: 741651fd4b1b776b4dea156cdc987f426f7c668ece203bda6654b2c7117c8933
2022-02-19 21:25:48 +00:00
drh
1ff855b22e Add a NEVER() to a branch that is unreachable for STAT4.
FossilOrigin-Name: e4e97505af4016c48465009686bfeffe9627e225a5b2082a5bf4baeee40db5c9
2022-02-19 15:57:28 +00:00
drh
b15a3940d1 Enhance the documentation on sqlite3_stmt_readonly() to explain that
EXPLAIN and EXPLAIN QUERY PLAN do not affect the return value.  Add test
cases to verify this.  Add new test cases and requirements marks for
complete requirements test coverage on this interface.

FossilOrigin-Name: a6fbb7ba0583b3981e2d8b809006b902b3e97e516dbd3ab7d905c5ea73df2272
2022-02-17 17:24:39 +00:00
drh
dedd51aed4 Remove references to the now-defunct SQLITE_ENABLE_JSON1 compile-time option.
FossilOrigin-Name: db950192c93db7f5eb4ffcce41d0ea374c58450405945cfb8ebe0c93070b7c48
2022-02-17 14:33:13 +00:00
drh
24ea5fb3e8 Fix a testing error on Windows that was recently added to shell5.test.
FossilOrigin-Name: 6cace54320997dcbbdd49017f20eecafa88ebcc4b264ee800954f25d9605023d
2022-02-17 14:29:39 +00:00
drh
be4e3c88f5 Make the sqlite3_error_offset() interface accessible from TCL using the
new "erroroffset" method on the sqlite3 object.

FossilOrigin-Name: 3454a1222bedefba527af98c0284ed0bfbd28dd941885d9a0ac9a44aea2fc8ec
2022-02-16 15:11:01 +00:00
drh
537a6bf189 Improved rendering of floating point numbers without a fractional part in
".dump" output from the CLI.
[forum:/forumpost/550d877659f37cb2|Forum post 550d877659f37cb2].

FossilOrigin-Name: 9edaeed56f2282fd4da935454178c38ab49d259aed96d4e720aae09050a53006
2022-02-15 13:23:09 +00:00
drh
0ca0988355 New assert() statements to help prove correctness of memjournal.c.
FossilOrigin-Name: d74ec88c2f9b9e056988add8322186750229e14a609d1a6969ba393a5b8c5174
2022-02-15 11:46:31 +00:00
drh
e63b7bdac8 Generalize the in-memory journal so that it is able to accept writes that
begin at any offset less than or equal to the current file size.

FossilOrigin-Name: c039d5476e0836c16d8c1ad99a2620f7fd04eb4b0e5dcb2246b42dde2ae1f95a
2022-02-14 21:11:17 +00:00
larrybr
7d5113f0a3 CLI .import can auto-rename non-unique column names when it creates a new table
FossilOrigin-Name: 4b5d07ea7e6f5d6f1279c88bc474ee4bc8bd2cebe38a268f211f47e44569e4b1
2022-02-14 18:55:19 +00:00
drh
9a4e88604c Minor correction to the early corruption detection added by
[a6fda39e81d0da98|check-in a6fda39e81d0da98] so that it works even if
the page being cleared in page 1 of the database.

FossilOrigin-Name: a5ec16907ef6ab50e041101d87c5756c71469923872a86c3ab383f188673d7a5
2022-02-14 18:18:56 +00:00
drh
0aa0945111 Fix a bad assert() (it needs an "||CORRUPT_DB" term) in b-tree, discovered
by dbsqlfuzz.

FossilOrigin-Name: f5f263cc626d6a8bea3e85e28bb716e3eac0d9cd199cc060c0c8b0c77b280a45
2022-02-14 13:53:49 +00:00