drh
f5a8386c32
Performance optimization in the memsys5 memory allocator.
...
FossilOrigin-Name: 949133231f8f751aa86518d0d3f6f03d7827fec085bfef3929fa3d57369d0216
2022-03-28 13:22:54 +00:00
drh
be341502db
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: 1a6328f2a5b4973094e5f85787145d652119822c86ec01a61f3f985c9d2903f2
2022-03-25 01:23:37 +00:00
drh
5705b41fb8
The "PRAGMA writable_schema=ON" flag should not allow OOM errors to pass
...
while parsing the schema.
dbsqlfuzz 9cc49e1a53e1cef8e3a1496a88c683aa20483163.
FossilOrigin-Name: a7abb725c7c783331e73837597917e25e5ff692aac8ec97a0a8c0e30db62d68b
2022-03-24 14:01:55 +00:00
drh
8ad3c43257
Use trickery to code the UTF-8 BOM for the --bom option on .output, .once,
...
and .excel in the CLI, to work around a warning in some Microsoft compilers.
[https://fossil-scm.org/forum/forumpost/bd0844268f0fab71 |Fossil forum post bd0844268f0fab71].
FossilOrigin-Name: 43143ad131f17734fd2eff849e0a1bc2e26daf6a28c7e07d697d38732e6af5fc
2022-03-23 10:04:52 +00:00
drh
500d7e542c
Ensure that database corruption does not cause the cursor passed into
...
sqlite3BtreeDelete() to be invalid.
dbsqlfuzz 209bf3de9ee11ae440848ab9bc9c13858f9be2e4.
FossilOrigin-Name: a85126f96614c53b030c6e6c43ff239eae458048597a10e9a0361fcec8628ecf
2022-03-22 23:33:20 +00:00
drh
56d88aad29
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: 67d8b434f628d44c4a90ce8ff5ab2e381f500bb42bdbfab9a17d21925a2ec6cd
2022-03-22 19:41:55 +00:00
drh
6fad5776c0
Make the sqlite3_serialize() and sqlite3_deserialize() interfaces accessible
...
to loadable extensions.
FossilOrigin-Name: 81f8746bc65828fb91e170393f22f1f4e9c587a8938e8c11b72315fcd6131403
2022-03-22 11:22:55 +00:00
larrybr
b5bb769c27
expose sqlite3_{deserialize,serialize}() in sqlite3ext.h
...
FossilOrigin-Name: da874180d35aacdeb9c06f5b425e8909d833e2765179c4337854d56b8a624fd5
2022-03-22 03:03:13 +00:00
larrybr
cb0854a380
Create new branch named "extapi-serializing"
...
FossilOrigin-Name: a1220a2170a09075a42d1d6c4b502ffa7cc92856779b9eb2ecb9e05c09ccedac
2022-03-22 02:53:34 +00:00
drh
a753a3a2be
Do not allow an #ifdef inside of an assert(), as gcc tells us that is
...
not portable.
FossilOrigin-Name: c7a2047e93df36c172be0be773f9a04150dafe7ba1773269d74016418d262fc4
2022-03-21 20:08:13 +00:00
drh
c63e40956b
Some branches are no longer reachable after the previous change. Mark them
...
accordingly. Also improve comments.
FossilOrigin-Name: 88d69f60cceb22bde42cfe43c23259c7bad47b8e06f918a79bd089a77b480d46
2022-03-21 18:48:31 +00:00
drh
bd5fb3a888
Strengthen the defenses against corrupt databases in the
...
sqlite3BtreeInsert() function of the btree module.
[forum:/forumpost/c7ec29905f|Forum post c7ec29905f].
FossilOrigin-Name: 4df301c8610c4c36b4eb360d49ccaef873c63ea719ccb14b357754ff0b3ea5ef
2022-03-21 18:17:09 +00:00
drh
67aa2318c1
The previous assert() fix was not correct when building with
...
-DSQLITE_ENABLE_OFFSET_SQL_FUNC. This is the fix.
FossilOrigin-Name: c0a4767fef27cfe4fdc1d8a29342998095894769a63d84e37ec47ced7ce4e5f7
2022-03-21 15:42:42 +00:00
drh
75c493f767
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: fa9bd1fce47e8db1cfc4cd8efd2c09f8711ea917ce7d116dc7226c575cb9a6d4
2022-03-21 13:47:15 +00:00
drh
ef07f96faf
Fix an assert() in sqlite3TableAffinity() that might have been false if there
...
was a prior syntax error in the query.
FossilOrigin-Name: 23fdb169ca1622369cd44fd641946c37fef09071625838b3b9c86c31244ed205
2022-03-21 11:32:45 +00:00
drh
9198f5afac
In the CLI, disable the zipfile and sqlar extensions in --safe mode.
...
FossilOrigin-Name: d8b65a2dab97392ff81bcc33ff707b4e626a10d84a258c6452e45f90cd2c7f45
2022-03-19 15:19:35 +00:00
drh
d5c35f6d69
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: 5f6d56737caefa78e542a7af2f95646e3a818e0ecdd8e838f3c2978500ce960c
2022-03-19 12:48:14 +00:00
drh
389e056bfe
Change a conditional into an assert() due to the change in
...
[387ab17b8a0a4b87].
FossilOrigin-Name: 13b584869f40ea6aa2190dbac64709695ee8d72b27bc5afb8b39ab3763b9c46a
2022-03-17 23:49:58 +00:00
drh
b45e1d674a
Add a 4th output code (value 3) from the sqlite3_vtab_distinct() interface
...
that indicates that SQLite wants distinct results that are sorted.
FossilOrigin-Name: 135d8b97b01f9b5204f486f828c274c2d779c17723e79171ca61f738746adf8e
2022-03-17 22:09:17 +00:00
drh
d6df8550b2
Updates a comment and an assert().
...
FossilOrigin-Name: 0c5be14aac07222b9cd2404ae485b6587f8cb2899e776bc45f1f1117bdd7e9b7
2022-03-17 18:03:08 +00:00
drh
494317ad57
Another fix for a corner-case in sqlite_offset() - this one having to
...
do with computed virtual columns in a WITHOUT ROWID table.
FossilOrigin-Name: 84ddd19bcec99f04b43b1a823477457758a2d93ea9beda43598e1234ea07776c
2022-03-17 11:23:13 +00:00
dan
247d09462e
Add extra test cases.
...
FossilOrigin-Name: 0a922d141749cf3ef672f56449001e03f1a7e31822b66dcaf8550bb6e1b88cd3
2022-03-16 19:28:18 +00:00
drh
2f3e34624a
Update the sqlite3_vtab_distinct() documentation.
...
FossilOrigin-Name: 88929d85e2ae81c51634ddb65ebec439958b63581016f9ccb4f5388715b3fe3f
2022-03-16 14:51:35 +00:00
dan
ece092e728
Experimental change to have sqlite3_vtab_distinct() return 3 to indicate that results should sorted and duplicates may be removed.
...
FossilOrigin-Name: 11f4508895c0a46d8623ca2f4f37b4f1b54b6d9022765f6124a9d42132f7d633
2022-03-16 12:06:00 +00:00
larrybr
c6e2f2e64d
Make CLI complain about incomplete input at EOF. Fix for regression reported at https://sqlite.org/forum/forumpost/718f489a43be3197
...
FossilOrigin-Name: 72029cf7cdb266703cc8716102dbba8e6f2666e1f47409f42c39528795757b73
2022-03-15 17:57:42 +00:00
drh
836652952f
Calling sqlite3_value_dup() on a pointer value results in an ordinary
...
NULL. [forum:/forumpost/ae8592cc73|Forum post ae8592cc73]. Test cases
in TH3.
FossilOrigin-Name: fff1243b594c190d15f14b7ca4e60d23519cd15134f275991c685966fcc24145
2022-03-14 23:50:38 +00:00
drh
d024eca323
Fix an assert() statement in the covering index optimization for the corner
...
case of dealing with an sqlite_offset() SQL function call.
FossilOrigin-Name: 3950b7d006add571579158c751247a9435801e53eafd84b43dd3046e01da8ee6
2022-03-14 22:58:04 +00:00
drh
1a25be1a9a
Disable trigger coding while running sqlite3_declare_vtab().
...
dbsqlfuzz 97e1865771b4226f29e6e482411c1cae14133f50
FossilOrigin-Name: 387ab17b8a0a4b87903aab52abc7da79098b882aff2ab687a554d5794e9d183e
2022-03-14 20:31:57 +00:00
drh
90402d4d54
Foreign key constraint failures should return SQLITE_CONSTRAINT_FOREIGNKEY
...
even if there is a RETURNING clause. See
[forum:/forumpost/e6be6e82c86aa59b|forum thread e6be6e82c86aa59b].
FossilOrigin-Name: 3f9887d4a58cbfdbabf2a37e975c81ba660f373414058920b379f3a81e6e1c2c
2022-03-14 16:54:05 +00:00
drh
5a1f761218
Add a comment linking a part of the UPDATE constraint checking code to
...
one of the corresponding TH3 test cases.
FossilOrigin-Name: 0606e8e93edb5de4d154f377dbf91f15295d25ca9013c0f1612ae6d63a0139ea
2022-03-11 15:42:05 +00:00
drh
27e456458e
Fix a harmless compiler warning.
...
FossilOrigin-Name: 5d739aff96c47146dba72fd76fed62d4e43ded09b32246fdde13d5467f713135
2022-03-11 15:16:50 +00:00
drh
605137aae6
Fix a harmless compiler warning and restore performance in the
...
sqlite3BtreeIndexMoveto() last-page optimization.
FossilOrigin-Name: 8b032293b384c3728c27b0658ee634c028c0d231d067de8b747d2e9e4ae704a7
2022-03-11 14:20:06 +00:00
dan
7ef4d75bd2
Fix a case in fts5 where a corrupt database could cause a crash.
...
FossilOrigin-Name: 5e95df261cce275adb5b2226e9584f4c389bb0d53c3b4feafd5a14be8d02ce63
2022-03-11 12:02:18 +00:00
drh
3946561a7f
Another corruption detection case in the sqlite3BtreeIndexMoveto()
...
last page optimization.
FossilOrigin-Name: 531e6ad0389c6c820bb8c64db5049fb6b0bffd30bd394fd8ee7412959b1752e2
2022-03-10 23:37:58 +00:00
drh
463edb6275
In the sqlite3BtreeIndexMoveto() last-page optimization, make sure to return
...
SQLITE_CORRUPT if corruption is detected.
FossilOrigin-Name: 4ef19ba9b5cbda435c0bb9f2faddf8f7fac5d51399ff69bd049571c2ca3d9357
2022-03-10 22:54:32 +00:00
drh
fde3043200
Stronger defenses against corrupt schemas in the ALTER TABLE logic.
...
FossilOrigin-Name: 13fbde28173332522a7ad307c1aad2b83c9aa1fe737583afa2b29f6da4de6370
2022-03-10 21:04:49 +00:00
larrybr
551b650236
Amend sqlite3_column_*() doc table. (no code change)
...
FossilOrigin-Name: 1f473099776249f774a285fa117316636e00c3ff030ba0f22ed5bd05641c1bc9
2022-03-10 19:44:04 +00:00
drh
5e121a50b3
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: 58de3c2b1a773a71b2d6a5d9a4dc0f839185d78d64519e7d267ad133b9830120
2022-03-10 16:26:00 +00:00
drh
105dcaa503
Refactor Window.pFunc into Window.pWFunc to disambiguate from other uses of
...
the variable or field named "pFunc".
FossilOrigin-Name: d9475ebcde169272ad7b1d3a82b2326df55dafc68217bfecd9fcd1f2b89efbd9
2022-03-10 16:01:14 +00:00
drh
7931f0a3d8
Only run atof1.test on x86_64 machines.
...
FossilOrigin-Name: 4173819cd285a1c133645eda27b9f6dc5a2247eaa0c834bdc60058ef3109b102
2022-03-10 11:48:16 +00:00
larrybr
a1d60e6c8c
Mention that sqlite3_column_text16() returns have native endianness
...
FossilOrigin-Name: 25b7f88fcb2bb1908abde109c1167c462efbb156b4a8a8f94d36202bd93ea433
2022-03-10 02:23:43 +00:00
drh
6a51e70c5f
Check-in [642a0b4752743216] fixing sqlite_dbpage is not exactly correct.
...
This patch should fix it.
FossilOrigin-Name: 6ba36714ca5e5457bc424273129f2814b62b7fae38926aa6eeeeec81020d7f70
2022-03-10 01:10:28 +00:00
drh
6563d0c11a
Further refinements to the sqlite_offset() fix from [6029514b08b88e3f].
...
FossilOrigin-Name: 6f838305e2c848a43b210bd1b7b962fb9e3c41de34de778675e6578fcd99f397
2022-03-09 18:29:19 +00:00
drh
46dc631a32
Fix the sqlite_dbpage virtual table so that it starts a write transaction
...
on all attached schemas.
FossilOrigin-Name: 642a0b4752743216271e4f855a465515ef7f6a985f280251e18d67e3d5fb694b
2022-03-09 14:22:28 +00:00
drh
b528a5a04e
Do not use va_arg() as an l-value, because
...
[forum:/forumpost/45e39c1311|AIX does not allow that], from what we are
told.
FossilOrigin-Name: 46d1a6de620f26fef9d0e2de6e9ea032790016441e4e6228a2f8cb30e20c9a51
2022-03-09 13:22:53 +00:00
drh
577f0a1e45
Improve the defenses against bad pathnames input into the findCreateFileMode()
...
function of os_unix.c in order to quiet static-analyzer warnings. There
are no demonstrated problems in the prior code, but this change makes the code
easier to prove correct and more robust against future changes.
FossilOrigin-Name: a9cda38997a692e25d2fe994a9a3fb9472c00ba04323c82e706fdb1112d4244e
2022-03-09 12:20:40 +00:00
drh
32135d7e0a
Fix a minor typo in a comment.
...
FossilOrigin-Name: cf61419f8816377f40ea032e1e3fb8b765ff7eb5b3a5ece8f7b59acffc5d3f05
2022-03-08 15:49:17 +00:00
drh
e684ac6f12
Fix compiler warnings.
...
FossilOrigin-Name: 5e30c6ea707f9d381127e8b2bb59e0b39bc00997da2c14d32a0e302d0121203b
2022-03-08 13:59:46 +00:00
drh
ec9b622fbf
Disable an assert in moveToRoot() when the database is corrupt.
...
[forum:/forumpost/e9a176b7bd|Forum post e9a176b7bd].
FossilOrigin-Name: ae464a18d74bf44fc95bc335e75e6a57dc974f6d6a3d603133594039fb589af2
2022-03-07 18:32:08 +00:00
drh
42bb09c412
In the stay-on-last-page optimization for sqlite3BtreeIndexMoveto()
...
(check-in [0057bbb508e7662b] about 16 hours ago), be sure
to clear the BTCF_ValidOvfl flag, since the overflow cache is invalidated
by the search on the last page. OSSFuzz issue 45329.
FossilOrigin-Name: 0021bebc162e001b788786703ce634e7b8fcd3976f7047a5956e82140791e765
2022-03-07 17:19:40 +00:00