]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Sat, 2 Mar 2019 15:25:24 +0000 (15:25 +0000)]
Fix the SQLITE_DIRECT_OVERFLOW_READ compile-time option so that it works
with SQLITE_HAS_CODEC.
FossilOrigin-Name:
fd085e9260bec18f968704abb2dd324d954baa121d13b67c3f5b801e9e3834aa
drh [Sat, 2 Mar 2019 12:17:35 +0000 (12:17 +0000)]
Remove a redundant parameter extraction call from the percentile.c extension.
FossilOrigin-Name:
d49c32e6e7cc341b5961d2c7b7c68d1649c6542eeec201660e3f82a55aea9e3b
drh [Fri, 1 Mar 2019 21:33:29 +0000 (21:33 +0000)]
The fts3_tokenizer() function returns NULL if the
SQLITE_DBCONFIG_ENABLE_FTS_TOKENIZER setting is disabled, which is is
by default.
FossilOrigin-Name:
f5732f4caf7a37a6445c61ae0d0ac14cc9deb897376e73aa36a1ead025b92c69
drh [Fri, 1 Mar 2019 21:12:40 +0000 (21:12 +0000)]
drh [Fri, 1 Mar 2019 18:07:05 +0000 (18:07 +0000)]
In a query that uses a partial index, the expression that is the WHERE clause
of the partial index must always be true. Use this fact to avoid evaluating
identical terms in the WHERE clause of the query.
FossilOrigin-Name:
9b2879629c34fc0a8e99d94648903eb93aabbc7a3682c80cb7382f9a9ca5ffb7
drh [Thu, 28 Feb 2019 20:10:52 +0000 (20:10 +0000)]
drh [Thu, 28 Feb 2019 17:29:19 +0000 (17:29 +0000)]
Add the new "bind_fallback" method to the "sqlite3" object in the TCL
interface.
FossilOrigin-Name:
c7f70b6d96338dba201e005104e7f7148c1a8cd767ab05e35b44617c4c797bc5
drh [Thu, 28 Feb 2019 14:09:14 +0000 (14:09 +0000)]
New test case loaded into test/fuzzdata8.db.
FossilOrigin-Name:
00ae0c6c4815366bd2f36bc054b13bc7b568dd0a3caceddf0eba4db33f010ee4
dan [Thu, 28 Feb 2019 13:41:35 +0000 (13:41 +0000)]
Avoid an assert() failure and an undefined left-shift operation in the fts3 snippet() function that could occur if the database was corrupt.
FossilOrigin-Name:
d5250db6322103326f0d5782ba049996d9ce8784f9e53a3112fb6f09f888f1c3
drh [Thu, 28 Feb 2019 13:21:36 +0000 (13:21 +0000)]
Add an "|| CORRUPT_DB" term to an assert() statement in the btree defragmenter.
FossilOrigin-Name:
6bfd8655f006e031c0d4c988356c4b9206efa6bfdb034fde8ffa3361521a4844
drh [Wed, 27 Feb 2019 23:05:14 +0000 (23:05 +0000)]
Enable the LIKE optimization when the ESCAPE keyword is present and the
PRAGMA case_sensitive_like pragma is ON.
FossilOrigin-Name:
6ae4b8c525f446ddb0e0bdd5e4e01e06e2ab975e3effa42fce6a1102b3a39830
drh [Wed, 27 Feb 2019 19:59:56 +0000 (19:59 +0000)]
Fix the readfile() UDF so that it returns an empty BLOB, not an OOM error,
when reading an empty file.
FossilOrigin-Name:
0edad5339e36d69aed9289bb3e60d35f9930386d76a62bb0194c4fdf420d16fb
dan [Wed, 27 Feb 2019 16:38:19 +0000 (16:38 +0000)]
Add the "-returntype" option to the "db function" Tcl method.
FossilOrigin-Name:
789a492b68c353e2b763d67d399722b7ab61bfe09b472466df2821f65cab1be9
dan [Wed, 27 Feb 2019 15:26:03 +0000 (15:26 +0000)]
Verify that fts5 auxiliary functions cannot be used in aggregate queries.
FossilOrigin-Name:
122330dba3eb2492875bd02a46442306f73e251408447af5e5914ee0c8d6a110
dan [Tue, 26 Feb 2019 19:16:49 +0000 (19:16 +0000)]
Reformat the white-space in a few test cases so that the tests work with Tcl 8.6.9.
FossilOrigin-Name:
29d02bf2fa9ecacbcc3e862ca70382f5875da8c1dc7fd27366190045fcc42b15
drh [Tue, 26 Feb 2019 18:21:08 +0000 (18:21 +0000)]
Minor change to dbfuzz2 that allows it to be compiled against older versions
of SQLite.
FossilOrigin-Name:
6d39d6a68bf09e0b4f6706218373e74fc03148fd8bdba5031c3de2f750d87cf2
drh [Tue, 26 Feb 2019 17:52:44 +0000 (17:52 +0000)]
drh [Tue, 26 Feb 2019 17:49:07 +0000 (17:49 +0000)]
Allocate a few extra bytes for the pager temp page as an overrun buffer while
processing corrupt database files.
FossilOrigin-Name:
e7aca0714bc475e04b16e9db78722ce025d2a1382f80cfc0a49cff2af904eae5
drh [Tue, 26 Feb 2019 16:17:06 +0000 (16:17 +0000)]
Use unsigned integers to count the number of pages in a freelist during
an integrity_check, to avoid any possibility of a signed integer overflow.
FossilOrigin-Name:
05b87e0755638d31f6d8918f8758362f8c3981661449b5171180a8498f66bd9d
drh [Tue, 26 Feb 2019 16:11:46 +0000 (16:11 +0000)]
Fix a harmless compiler warning that only comes up during debug builds.
FossilOrigin-Name:
848869ced988ca4d0ac76d43f984360fd11997a580719cccf8d55becea4e8fb1
drh [Tue, 26 Feb 2019 12:29:25 +0000 (12:29 +0000)]
Update the configure-generated makekfile to generate a portable pkgIndex.tcl.
FossilOrigin-Name:
35cbee7fe4a0b7ca06206ca2f69fc35abe3de4929070d6585ab765af82027438
drh [Mon, 25 Feb 2019 18:43:54 +0000 (18:43 +0000)]
Enhance the command-line shell to accept bound parameters, using the
TEMP table named "$Parameters" to look up the values for bound parameters.
FossilOrigin-Name:
7c941ce5bcc872ec92cbe0e409fd773f44a5ab1f814e689ad57f756b911e2b96
drh [Mon, 25 Feb 2019 14:52:43 +0000 (14:52 +0000)]
Update comments on the fossildelta extension. No changes to code.
FossilOrigin-Name:
9da4fb59b28686630d63a79988b458726332cf06cc0e6e84d7c0a7600f5fcab0
drh [Mon, 25 Feb 2019 14:16:19 +0000 (14:16 +0000)]
Fix a typo in the documentation for sqlite3_total_changes().
FossilOrigin-Name:
8474c1560e0c3a28c6a7ed360202a8e7caae3c8259f60bbfa6d2948ab7876f51
dan [Sat, 23 Feb 2019 20:48:41 +0000 (20:48 +0000)]
Fix a couple of assert() statements in fts3 that can be false if the database is corrupt.
FossilOrigin-Name:
84162af521f29df8a186163fbdef9856e1aa8aba78e74d7df0ba2cc83bb86240
drh [Sat, 23 Feb 2019 00:21:00 +0000 (00:21 +0000)]
Check-in [
fa792714ae62fa98 ] is incorrect. Add a test case to refute it and
also a fix to make it right.
Then add an alternative fix to ticket [
df46dfb631f75694 ] in which
all ephemeral tables used as the RHS of an IN operator be index btrees
and never table btrees so that they can always be reused.
FossilOrigin-Name:
d3915230e3ee5878fe2e65a0afb7e91ee124aaf46b4e28c6e00053d6df13d445
drh [Sat, 23 Feb 2019 00:08:09 +0000 (00:08 +0000)]
Remove a testcase() macro which is now unreachable due to the contraction of
the use of IN_INDEX_ROWID.
FossilOrigin-Name:
90c5a17cd526b256753f876e575f3e731d5e8b9dd6e196cf8d8f7306e099b91c
drh [Fri, 22 Feb 2019 23:29:56 +0000 (23:29 +0000)]
Make all ephemeral tables built to hold the RHS of an IN operator be
index-btrees, never table-btrees, regardless of whether or not they are
used as IN_INDEX_LOOP or IN_INDEX_MEMBERSHIP. That way, the same ephmerial
table can be reused for both cases.
FossilOrigin-Name:
c2d50df8fd1a1fdae6226a3e77296ded09b53a74540caedd4868e686a93cbc10
drh [Fri, 22 Feb 2019 21:33:56 +0000 (21:33 +0000)]
Check-in [
fa792714ae62fa980 ] is not a valid fix for ticket
[
df46dfb631f75694 ], as the new test case in this check-in demonstrates.
The fix here causes test cases for the [
df46dfb631f75694 ] bug to fail
again, so this check-in is on a branch. A new fix is needed for
[
df46dfb631f75694 ].
FossilOrigin-Name:
0d456456da6e25b20d9d27ca95f1013082bca52ee74ee9bf91732a9fa843ea45
dan [Fri, 22 Feb 2019 19:24:16 +0000 (19:24 +0000)]
Internally, remove all references to a Window object that belongs to an expression in an ORDER BY clause if that expression is converted to an alias of a result-set expression. Fix for [
4feb3159c6 ].
FossilOrigin-Name:
579b66eaa0816561c6e47ea116b46f229188f0fc84c1173bfe0d21df2dff9a9a
drh [Fri, 22 Feb 2019 16:18:12 +0000 (16:18 +0000)]
In sqlite3NestedParse() be sure to detect all SQLITE_NOMEM and SQLITE_TOOBIG
errors and to distinguish between them.
FossilOrigin-Name:
73056b314bd63288c662752e9bd469b70264c38031c1c857460e64fdb1ed4e2e
drh [Fri, 22 Feb 2019 15:42:10 +0000 (15:42 +0000)]
Modify sqlite3_str_finish() and sqlite3VMPrintf() so that they always
return NULL on any OOM or SQLITE_LIMIT_LENGTH error.
FossilOrigin-Name:
e7144ffd21294d7aebbfa6aa5a262797a6d16de11193f1bf6b75f5f27b04c940
drh [Thu, 21 Feb 2019 16:41:34 +0000 (16:41 +0000)]
Detect oversized strings in the OP_String opcode even if the P4 argument
is originally UTF8 and has to be converted to UTF16 to match the database
file and that conversion causes the string to become shorter and cross
below SQLITE_LIMIT_LENGTH threshold. This might fix an OSSFuzz problem
that we have been so far unable to reproduce.
FossilOrigin-Name:
c13d563925db12bc2c91ff9432050261e5bd39d960e2739777a66bf804df2e31
drh [Wed, 20 Feb 2019 19:20:16 +0000 (19:20 +0000)]
Changes to the unix VFS that allegedly enable it to build of Fuchsia.
We have no way of testing this.
FossilOrigin-Name:
be21a6416d47ff7db995006a0422b745044d9b8bb5bad3c53342aa6e2e524771
drh [Wed, 20 Feb 2019 19:06:16 +0000 (19:06 +0000)]
Disable unix-specific features of dbfuzz2 when compiling on windows.
FossilOrigin-Name:
af84774d1eebcfe6a61b564b4edf280ad3c3a93f39b7f70b6fcc56f7bbdfb9eb
drh [Wed, 20 Feb 2019 18:13:57 +0000 (18:13 +0000)]
Avoid the use of function pointers in columnName(), as function pointers
appear to be a source of consternation to LLVM.
FossilOrigin-Name:
c48f6f39c5f89a338fed7153553a27a5d882d4d8db8221e911b96e0dd57c53d9
drh [Wed, 20 Feb 2019 13:55:45 +0000 (13:55 +0000)]
Progress handler improvements:
(1) Invoke the callback after OP_Program opcodes
(2) Invoke the callback multiple times in a row to catch up after a
long run of no progress checks.
FossilOrigin-Name:
0c5db18d79366d9c23925ce3ed835500311f32a10aa7dbfdd09148b1e8a2507b
drh [Wed, 20 Feb 2019 12:52:47 +0000 (12:52 +0000)]
When an IN operator drives a query loop, mark it as "CODED" so that it
will not be used afterwards for a (pointless) membership test. This is
a better fix for ticket [
df46dfb631f75694 ] than the previous fix that is
now on a branch as it preserves the full optimization of
check-in [
e130319317e76119 ].
FossilOrigin-Name:
fa792714ae62fa980f1767acc6d622a6727ceb677870243c88548423795dcb5b
drh [Tue, 19 Feb 2019 20:29:05 +0000 (20:29 +0000)]
Enhance the xBestIndex method on delta_parse() to return SQLITE_CONSTRAINT if
no delta argument is supplied.
FossilOrigin-Name:
f16d127c3b4a735afae1fc236bcf90f31adff079c7d3a896f901d908ff8b8532
drh [Tue, 19 Feb 2019 20:19:51 +0000 (20:19 +0000)]
Add the delta_parse(DELTA) table-valued function to the fossildelta
extension.
FossilOrigin-Name:
d91fcc267bf1be795dfdb1fbfb40c2aea79ddff247a51d26462136c325b7a6d3
drh [Tue, 19 Feb 2019 18:39:16 +0000 (18:39 +0000)]
Add the fossildelta.c extension in ext/misc with implementations of the Fossil
delta functions.
FossilOrigin-Name:
b80cafa6f8a5c6ff1dc9efd2f670777ab131ace2df1eb431cedc8cfa901baf18
drh [Tue, 19 Feb 2019 17:45:31 +0000 (17:45 +0000)]
Fix a potential memory leak in RBU if the rbu_fossil_delta() SQL function is
misused. Misuse never happens in a working RBU system, so this is not a
particularly important fix.
FossilOrigin-Name:
12517d1b15da46bc90bd95bb9c161d7f2ecdd7f28b1b3a5ed4397939ef986061
drh [Tue, 19 Feb 2019 16:42:54 +0000 (16:42 +0000)]
Fix an assert() that might not be true if the database file is corrupt.
FossilOrigin-Name:
f2d400db4dbfb05e2540178ed3662f97f8c57a95f8129886c7081c35e53adf0d
drh [Tue, 19 Feb 2019 13:51:58 +0000 (13:51 +0000)]
New assert() to verify the TF_HasprimaryKey flag.
FossilOrigin-Name:
0abace8a7aecca01c8677d07f3ec1bafb289ceffe5bcd60284701a7bf813f415
drh [Tue, 19 Feb 2019 13:08:35 +0000 (13:08 +0000)]
Always use the symbolic name SQLITE_IDXTYPE_PRIMARYKEY rather than a hard-coded
magic number 2.
FossilOrigin-Name:
55d43adc894a6b1e0f77bf481dad6dd604a0dc0022e72bbf2e3037f97351971e
drh [Mon, 18 Feb 2019 12:16:03 +0000 (12:16 +0000)]
Fix an assert() that might not be true if the %_segdir table of FTS3 contains
corrupt entries.
FossilOrigin-Name:
a6509ca3dc2602c7d0376230ee63c1bb4c4066f007e77e9ac20d8eee966e5e13
drh [Sat, 16 Feb 2019 22:45:55 +0000 (22:45 +0000)]
Fix an assert() that might be false for a corrupt database.
FossilOrigin-Name:
0cfb888723fb8ff0763bbc23acb7d21a53f6d1c40661d8468248644281b29d85
drh [Thu, 14 Feb 2019 15:27:12 +0000 (15:27 +0000)]
Improved oversized cell detection when updating ptrmap pages in
balance_nonroot().
FossilOrigin-Name:
aa61435a4c3800f023788081c1342ad6a05a41449a424fa6c039d5ca46072256
drh [Tue, 12 Feb 2019 22:58:32 +0000 (22:58 +0000)]
Ensure that the nProgressLimit variable is always initialized in
sqlite3VdbeExec(), even if the routine jumps to its exit processing early.
FossilOrigin-Name:
167b91df77fff1a84791f6ab5f72239b90475475be690a838248119b6dd312f0
drh [Tue, 12 Feb 2019 21:04:33 +0000 (21:04 +0000)]
Enhancement the progress callback mechanism so that the progress callback
is always invoked at least once at the end of a prepared statement if the
opcode count has been exceeded. This makes the progress callback more
effective at limiting run times. This check-in also includes and unrelated
performance enhancement to OP_Column.
FossilOrigin-Name:
68cce272e7f7cbc0c319ee8b7ff674d652cb1e95e903d99d848c41dff2b5d304
drh [Tue, 12 Feb 2019 16:58:26 +0000 (16:58 +0000)]
Further performance improvements to btreeInitPage().
FossilOrigin-Name:
93ae382e97c23c90312739481e47ef7f9bc475a8382c063a2de2986c950c0aec
drh [Tue, 12 Feb 2019 15:51:36 +0000 (15:51 +0000)]
Increase the version number to 3.28.0 for the next release cycle.
FossilOrigin-Name:
6eb38c59a81d27b7c1f3edad84b27a1114df6f1607282b2be1b5de9c7decc512
drh [Tue, 12 Feb 2019 12:25:34 +0000 (12:25 +0000)]
Register the "vfsstat" virtual table immediately when loading the vfsstat.c
extension.
FossilOrigin-Name:
9bd92afd0cb0a958441e861c7006b77027125b1ceea0868958ec948b6b3c7bc9
drh [Tue, 12 Feb 2019 01:28:24 +0000 (01:28 +0000)]
drh [Tue, 12 Feb 2019 01:04:49 +0000 (01:04 +0000)]
Defer computing the number of bytes of free space on a btree page until that
value is actually needed.
FossilOrigin-Name:
177f5f40eabfcfd229ac7f291dfed9e9ee35762e86923a0f356915f389da177d
drh [Tue, 12 Feb 2019 00:58:10 +0000 (00:58 +0000)]
Change an assert() into a NEVER(), since the condition is difficult to prove
with certainty. Improved comment on the MemPage.nFree field.
FossilOrigin-Name:
fec071b89df2cbafda365077bb54bc9999e12086f36d6cea8d125662b36638dc
drh [Mon, 11 Feb 2019 22:50:01 +0000 (22:50 +0000)]
Do not invoke btreeComputeFreeSpace() when not necessary.
FossilOrigin-Name:
f11b0ed47402034378ded2c60b82841b81cd1319cdb72d1ef052faef29a5294d
drh [Mon, 11 Feb 2019 19:27:36 +0000 (19:27 +0000)]
Improvements to comments. No changes to code.
FossilOrigin-Name:
16eb0fc8f8cce51eaa5305ebc9f3bd8c8d935dd3ebebab6820e5629f9292eec2
drh [Mon, 11 Feb 2019 17:22:30 +0000 (17:22 +0000)]
Fix test cases. Avoid unnecessary tests for MemPage.nFree less than zero.
FossilOrigin-Name:
480a5090befdc29eaeb6f0b22831c980d6ee92438d9b2e766de68b037ded38b8
dan [Mon, 11 Feb 2019 16:12:09 +0000 (16:12 +0000)]
Fix another segfault that could occur in fts5 with a corrupted database.
FossilOrigin-Name:
09e337386beb2008eba969f79601d1b8ed953951ce6e43782586e168140d78d2
dan [Mon, 11 Feb 2019 13:25:33 +0000 (13:25 +0000)]
Fix typos in comments in fts5.h. No changes to code.
FossilOrigin-Name:
c19e97bc927074915a3ac8307bf89d30580cf90edd75f4001bcf589b2dfefe58
drh [Mon, 11 Feb 2019 12:51:39 +0000 (12:51 +0000)]
Updates to a comment to keep it in alignment to the changes on this branch.
FossilOrigin-Name:
7499f74351415e601eb48eff6b6fccd3a78d137f5ea9cd7cac46b904772966de
dan [Mon, 11 Feb 2019 11:34:01 +0000 (11:34 +0000)]
Build and test fixes for SQLITE_OMIT_WINDOWFUNC builds.
FossilOrigin-Name:
8824115a9776e876a3677f0cb479e311ee65584d43872b37766a146afec72d8f
dan [Mon, 11 Feb 2019 11:04:17 +0000 (11:04 +0000)]
Avoid using non-ANSI return statement in void function sqlite3WalSnapshotUnlock().
FossilOrigin-Name:
4a4952d38e8177ed8d59aaa575410bebf76787dd6d801fdbdb809d4f8c670da0
drh [Mon, 11 Feb 2019 01:58:34 +0000 (01:58 +0000)]
Add an assert() in an attempt to repro an ASAN warning from OSSFuzz.
FossilOrigin-Name:
7b41222428dcebaae2e9a0e8192e091b6fdee5b1163a5fa14ca1cd4f06354983
drh [Sat, 9 Feb 2019 22:33:44 +0000 (22:33 +0000)]
Fix a page-cache reference leak in the btree balancer when there is a corrupt
database.
FossilOrigin-Name:
9285899120dec24ff2944431ad455d7ae217ef408ae2f1a3e7bdfb897099028c
drh [Sat, 9 Feb 2019 21:06:40 +0000 (21:06 +0000)]
Defer computing the MemPage.nFree value of an in-memory btree page
until it is actually needed, since for many pages it is never needed.
This checkin works sufficiently to prove the concept, but still has issues
with exception handling.
FossilOrigin-Name:
1d43ee4000b71f5c6d49244dee96358c567f09ba3451b9d22895a796d3f61ad6
dan [Sat, 9 Feb 2019 19:23:54 +0000 (19:23 +0000)]
Change a few assert() statements in fts3 that might fail if the database is corrupt.
FossilOrigin-Name:
db74a56af73d92b7a9d43ceda7e4540915c580c68a0266b4ddefb9e0d5cbcbeb
drh [Fri, 8 Feb 2019 22:34:59 +0000 (22:34 +0000)]
Small performance improvement and size reduction for pageFindSlot() - the
routine in btree.c that locates a free slot for a cell on a btree page.
FossilOrigin-Name:
1969372ac72d25cc642a0268f4bb0ae4b59f2dca568c119ef61b67183b3a8bd9
drh [Fri, 8 Feb 2019 17:28:20 +0000 (17:28 +0000)]
Further simplifications to sqlite3VdbeMemSetStr().
FossilOrigin-Name:
1d212957079a2caa30f3c9d80f43464781bc9634c2b5181a5814efbddae31711
drh [Fri, 8 Feb 2019 15:59:20 +0000 (15:59 +0000)]
Change the sqlite3VdbeMemGrow() routine so that it no longer guarantees a
minimum size of 32 bytes. That minimum is no longer required, and without
the extra check for the minimum size, the routine runs faster.
FossilOrigin-Name:
5c499da8a4d0babc56883aa362ae124772fd9214a51169a88a5dee523d051658
drh [Fri, 8 Feb 2019 14:55:30 +0000 (14:55 +0000)]
Give the sqlite3 object a pointer to the current Parse so that if an OOM
occurs, it can automatically set the Parse.rc value to SQLITE_NOMEM. This
avoids a frequent extra test of db.mallocFailed in the innermost parser loop.
FossilOrigin-Name:
5c6638040b3017c6be016441422d965a3ca00dd6ae1f78cadc0b54562978f64e
drh [Fri, 8 Feb 2019 04:15:19 +0000 (04:15 +0000)]
Do not do the optimization that attempts to pull expression values from
an index on that expression when processing a multi-index OR
(see check-in [
a47efb7c8520a0111 ]) because the expression transformations
that are applied become invalid when the processing moves off of the current
index and on to the next index. Fix for ticket [
4e8e4857d32d401f ].
FossilOrigin-Name:
440a7cda000164d3b46109caf2e1dde80681ba9b0d94ba9be6847d2b917445cf
drh [Thu, 7 Feb 2019 19:07:11 +0000 (19:07 +0000)]
Change VACUUM so that it preserves ROWID values.
FossilOrigin-Name:
49e5d11d463de078c2b8a963f5ed436210937e6dfddf06942132db9ec685bfd8
drh [Thu, 7 Feb 2019 17:02:52 +0000 (17:02 +0000)]
drh [Thu, 7 Feb 2019 15:09:44 +0000 (15:09 +0000)]
Experimental change to VACUUM so that it preserves existing ROWID values.
FossilOrigin-Name:
f264015f84de51d74f681ba62a5f26bd859480d93e1eaf9e1018b3e9b4e0bea3
drh [Thu, 7 Feb 2019 00:17:36 +0000 (00:17 +0000)]
In the fuzzcheck test program, make sure the isspace() and related routines
are not given values outside the range of -1 to 255.
FossilOrigin-Name:
f298328771d5aaba798d05f50c77ac239c7c72422ff35953463d6876a9659f74
dan [Wed, 6 Feb 2019 20:49:49 +0000 (20:49 +0000)]
Ensure all bytes of the PgHdr1 structure are initialized. This avoids a valgrind error when running corruptI.test.
FossilOrigin-Name:
a505e34d4ec31159a4508ec827fcffed0cf3bd5ea5ef0ac293016da02367a53a
dan [Wed, 6 Feb 2019 20:12:00 +0000 (20:12 +0000)]
Update an assert() in test_journal.c to take the new "VACUUM INTO" functionality into account.
FossilOrigin-Name:
0e6249cb958a40ead0edf6e75a2c46e8657db3d358c5fe78a9dc0fa5ed7ad929
dan [Wed, 6 Feb 2019 19:42:02 +0000 (19:42 +0000)]
Avoid attempting to delete a file while it is still open in walfault2.test.
FossilOrigin-Name:
9d54a63d6e3cd47b483cf0ee868a5e7f638bcb0e3cbdeaecc667f293b87a3e99
dan [Wed, 6 Feb 2019 18:08:42 +0000 (18:08 +0000)]
Update test file dbfuzz001.test so that it works with SQLITE_ENABLE_OVERSIZE_CELL_CHECK builds.
FossilOrigin-Name:
4371a0c46ee7bfbc0a1507796bd9eefd3371adad81b8dda214d018854316727b
dan [Wed, 6 Feb 2019 15:23:43 +0000 (15:23 +0000)]
Add -DSQLITE_ENABLE_DESERIALIZE to the default testing configuration in test/releasetest.tcl.
FossilOrigin-Name:
433d6ef637a10ee017b5d8cadd125a162cfedc9895ae862b8dde6dddb7eda59b
dan [Wed, 6 Feb 2019 13:48:04 +0000 (13:48 +0000)]
Do not attempt to test the shell ".trace" command in SQLITE_OMIT_TRACE builds.
FossilOrigin-Name:
3839e9098107604e1526c2b1e813c019607077dfe39d7eeb92f3466518dec3b1
dan [Wed, 6 Feb 2019 13:41:19 +0000 (13:41 +0000)]
Fix a problem preventing testfixture from being built with SQLITE_OMIT_VIRTUALTABLE.
FossilOrigin-Name:
d2cca36adc69d2c8e7707d70cbd75c497eae6a1a3f8a9dd18249ca6804c9db5f
drh [Wed, 6 Feb 2019 01:18:36 +0000 (01:18 +0000)]
When extending the size of SrcList objects, do not attempt to use
extra space on the end of the allocation, as that provides scarcely any
performance benefit but does greatly complicate cross-platform testing.
FossilOrigin-Name:
3087a0c31e9fbfaedb7cf10a2fda59bc22318ff178614aefcc00ac83d9a7bb14
drh [Wed, 6 Feb 2019 00:55:47 +0000 (00:55 +0000)]
If the query flattener detects an error, cause the SELECT code generator
to abort immediately.
FossilOrigin-Name:
3d3b142f1045080beb775a9cfe88ec143aa460750132e20059fd510291449850
drh [Wed, 6 Feb 2019 00:11:13 +0000 (00:11 +0000)]
Back out check-in [
008112bcef561a8 ], reenabling deprecated PRAGMAs when the
SQLITE_OMIT_DEPRECATED compile-time option is used, because way too many
TH3 tests depend on those deprecated PRAGMAs.
FossilOrigin-Name:
9dbf512d1c4627a28d60f4e7238cb100d7a4e11f976139b07ad1c59e9b584c7d
drh [Tue, 5 Feb 2019 20:51:41 +0000 (20:51 +0000)]
Omit the ".progress" command from the shell if it is compiled with the
SQLITE_OMIT_PROGRESS_CALLBACK option.
FossilOrigin-Name:
4d0a949fd92e19fbf243a2e3a1a7c2cdb111f9a6943949d2420dd846bc7d9285
drh [Tue, 5 Feb 2019 19:52:39 +0000 (19:52 +0000)]
Fix a harmless compiler warning in the memtrace.c extension.
FossilOrigin-Name:
2f468da4e9fb3edb5e902fa5d3c528726d1fb64d749d29e558ba3243c76bcb95
drh [Tue, 5 Feb 2019 19:48:46 +0000 (19:48 +0000)]
dan [Tue, 5 Feb 2019 16:53:26 +0000 (16:53 +0000)]
Update the tester.tcl --malloctrace option so that it uses eu-addr2line instead of addr2line.
FossilOrigin-Name:
79c073878d56fc638b751b0e61295df182f7ee6f8ebd7319c1eeac1608abbac8
drh [Tue, 5 Feb 2019 14:36:33 +0000 (14:36 +0000)]
The IS NOT NULL operator does not imply that the operand is never NULL.
Fix for ticket [
5948e09b8c415bc45da5cf ]
FossilOrigin-Name:
d840e9bb023a1e84a7739d764a0f6cf608fc3183ff8c366fcdb486ebd932f0c1
drh [Tue, 5 Feb 2019 12:16:53 +0000 (12:16 +0000)]
Keep the temp_store_directory and data_store_directory pragmas even when
compiling with SQLITE_OMIT_DEPRECATED.
FossilOrigin-Name:
93386a7c97f27df69f79052ef4d80143bb6832a806885249c315d226b2a256b2
dan [Tue, 5 Feb 2019 08:55:43 +0000 (08:55 +0000)]
Update test file "resetdb.test" so that it works with the "prepare" permutation.
FossilOrigin-Name:
95d338124be2e0e18f17354b28f4320336202f1a4ec1177df753b2800e954bfb
drh [Mon, 4 Feb 2019 21:10:24 +0000 (21:10 +0000)]
Early detection of implausibly sized records to avoid unnecessary
large memory allocations.
FossilOrigin-Name:
2c8769c69f301307db6663adb8b7c0b89f5959516bf6110cb8ff4b21bd903f70
drh [Mon, 4 Feb 2019 19:52:39 +0000 (19:52 +0000)]
Mention the new -memtrace command-line option in the -help output of the CLI.
FossilOrigin-Name:
ada91aefe37efe3c009691b5599e4d6acf182e5ec3cf28dda0871d09858498b3
drh [Mon, 4 Feb 2019 19:50:44 +0000 (19:50 +0000)]
drh [Mon, 4 Feb 2019 19:45:26 +0000 (19:45 +0000)]
Enhance dbfuzz2 so that with the -v option it shows the return code and
error message for any failing SQL statements.
FossilOrigin-Name:
3a127ef9f7feafe6ba8c75e4eb29e28aa61a30249082cc8767ada1ec0cc0b7f1
drh [Mon, 4 Feb 2019 19:12:54 +0000 (19:12 +0000)]
Ensure that the sqlite3_exec() callback gets the correct number of columns
for a query, even if the schema changes out from under it.
FossilOrigin-Name:
a16ffb5a4b30f1ac4a8384fccde0a0f69e49545b6f9be9267928609328c4a151
dan [Mon, 4 Feb 2019 16:42:57 +0000 (16:42 +0000)]
Do not run shmlock.test as part of the inmemory_journal permutation.
FossilOrigin-Name:
d3fea69cbb071867a90ad56ca05123ebf8e44689a92577a525a883c176c791bd