]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
6 years agoAdd eponymous virtual table "schemapool". For inspecting the current contents of...
dan [Mon, 11 Feb 2019 19:34:38 +0000 (19:34 +0000)] 
Add eponymous virtual table "schemapool". For inspecting the current contents of the schema-pool.

FossilOrigin-Name: 2ebeb747832bd53284ab23b4c2558f0fa550c0ea2b4a6c1640eeb83f8132c556

6 years agoFix virtual table support for SQLITE_OPEN_REUSABLE_SCHEMA connections.
dan [Sat, 9 Feb 2019 17:47:14 +0000 (17:47 +0000)] 
Fix virtual table support for SQLITE_OPEN_REUSABLE_SCHEMA connections.

FossilOrigin-Name: 3ca8856a7b1c36885cea007b8fb05b59f1fdc9d4b54436819193f498519a23c7

6 years agoAdd test cases and fix problems on this branch.
dan [Fri, 8 Feb 2019 19:30:09 +0000 (19:30 +0000)] 
Add test cases and fix problems on this branch.

FossilOrigin-Name: 2b2e9f81cdc7a3ac1eacc087fbd0414ead732878aae296bab6b54b4a7cd0a06e

6 years agoMerge latest trunk into this branch.
dan [Tue, 5 Feb 2019 19:51:15 +0000 (19:51 +0000)] 
Merge latest trunk into this branch.

FossilOrigin-Name: c089cc4fbe2e5e53d76154146870d14fc3b8d342a49580e41a5616817099715c

6 years agoFix memory leaks on this branch.
dan [Tue, 5 Feb 2019 19:15:36 +0000 (19:15 +0000)] 
Fix memory leaks on this branch.

FossilOrigin-Name: e9c5e1891ff4f7e57131031f068efea87027ddab0cd7846e0514a105853be47d

6 years agoUpdate the tester.tcl --malloctrace option so that it uses eu-addr2line instead of...
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

6 years agoThe IS NOT NULL operator does not imply that the operand is never NULL.
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

6 years agoKeep the temp_store_directory and data_store_directory pragmas even when
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

6 years agoUpdate test file "resetdb.test" so that it works with the "prepare" permutation.
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

6 years agoEarly detection of implausibly sized records to avoid unnecessary
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

6 years agoFix a problem with reloading the schema on this branch.
dan [Mon, 4 Feb 2019 21:02:00 +0000 (21:02 +0000)] 
Fix a problem with reloading the schema on this branch.

FossilOrigin-Name: 5dfbef8349e47f9d9fcdbb648ecd18b5bc7eebdb1a3ddaf91789d036b7de8a90

6 years agoMention the new -memtrace command-line option in the -help output of the CLI.
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

6 years agoAdd the -memtrace option to dbfuzz2.
drh [Mon, 4 Feb 2019 19:50:44 +0000 (19:50 +0000)] 
Add the -memtrace option to dbfuzz2.

FossilOrigin-Name: 67fecbc79d3e927a7e22f3589be3184114322635874e4b3170666e352d0bfe9d

6 years agoEnhance dbfuzz2 so that with the -v option it shows the return code and
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

6 years agoEnsure that the sqlite3_exec() callback gets the correct number of columns
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

6 years agoDo not run shmlock.test as part of the inmemory_journal permutation.
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

6 years agoUpdate the test/fuzzdata8.db database with new interesting cases from
drh [Mon, 4 Feb 2019 16:36:24 +0000 (16:36 +0000)] 
Update the test/fuzzdata8.db database with new interesting cases from
dbsqlfuzz.

FossilOrigin-Name: e467e4c8fa256ddd6c26c1f21bc26289a21f18b781737eaf706bc813ed8234fa

6 years agoFix problems with SAVEPOINT and related commands within transactions on a corrupt...
dan [Mon, 4 Feb 2019 16:25:40 +0000 (16:25 +0000)] 
Fix problems with SAVEPOINT and related commands within transactions on a corrupt database that include fts5 or some other virtual tables.

FossilOrigin-Name: b0da6e0dd1f9a9ba7646ee6bb3c14945e570303c9a42d20fa8a653570e12c3f9

6 years agoAdd the ".progress" command to the CLI.
drh [Mon, 4 Feb 2019 14:53:18 +0000 (14:53 +0000)] 
Add the ".progress" command to the CLI.

FossilOrigin-Name: ad84ca24ff760f7a2b128f2eeb4d799a97f84b8b8a8bb8d9657c4c555f6ccf47

6 years agoFix another potential buffer overread in fts5.
dan [Mon, 4 Feb 2019 14:00:20 +0000 (14:00 +0000)] 
Fix another potential buffer overread in fts5.

FossilOrigin-Name: 14fba4cc5db2bc206f024bfa5dd82fffdbc7577162da2c3b15a91cc1c91f3846

6 years agoFix another corruption case in fts5.
dan [Mon, 4 Feb 2019 11:54:22 +0000 (11:54 +0000)] 
Fix another corruption case in fts5.

FossilOrigin-Name: e608085d3f7e3cc0015fde626e205ee9842ef3cd06dc879fbbc7f2067c592965

6 years agoFix an assertion failure in fts3 triggered by a corrupt database.
dan [Sun, 3 Feb 2019 07:46:07 +0000 (07:46 +0000)] 
Fix an assertion failure in fts3 triggered by a corrupt database.

FossilOrigin-Name: 560ebd4269fad07b8e988d070454017123593eb6762597d08e8c32d7b4fb92ac

6 years agoTry new approach ensuring that each Schema object is only used by one connection...
dan [Sat, 2 Feb 2019 21:02:22 +0000 (21:02 +0000)] 
Try new approach ensuring that each Schema object is only used by one connection/database at any one time.

FossilOrigin-Name: 9e8e5f52cf90579c3071f04a3c6857bb76b4ca1b1900a7f865de789ed0bb8678

6 years agoNew testcase added to test/fuzzdata8.db.
drh [Sat, 2 Feb 2019 18:24:28 +0000 (18:24 +0000)] 
New testcase added to test/fuzzdata8.db.

FossilOrigin-Name: 2f5c1925b94d85489533549c58191feb1d803ad9d58b43f47fef42b72c531a38

6 years agoHonor key query parameters for SEE on the URI filename for ATTACH
drh [Sat, 2 Feb 2019 15:59:49 +0000 (15:59 +0000)] 
Honor key query parameters for SEE on the URI filename for ATTACH
and VACUUM INTO.

FossilOrigin-Name: 2e01096b8933a2315e3dffcd7d0de84c744c1b4be1d909388c61f0fd636ddb99

6 years agoGive a link to the URI Filename document in the documentation to the
drh [Sat, 2 Feb 2019 15:05:25 +0000 (15:05 +0000)] 
Give a link to the URI Filename document in the documentation to the
various sqlite3_uri_parameter() interfaces.

FossilOrigin-Name: 69b0b2ee536fda8975f60643f7f1891db4649958aca476822ea2a632ce731992

6 years agoFix a buffer overread in fts5 debugging scalar function fts5_decode().
dan [Sat, 2 Feb 2019 13:47:25 +0000 (13:47 +0000)] 
Fix a buffer overread in fts5 debugging scalar function fts5_decode().

FossilOrigin-Name: 54f2399fb2a626602d405c857297f2da833f9f048cbc478f9110bed2e9bda299

6 years agoFix harmless compiler warning.
mistachkin [Sat, 2 Feb 2019 01:27:45 +0000 (01:27 +0000)] 
Fix harmless compiler warning.

FossilOrigin-Name: dddda685f3443d8a38901f758543fcde73d7b8cfe72b0ad5f419cd7459343bf5

6 years agoSlight adjustment to the printf formatter large memory allocation detector
drh [Fri, 1 Feb 2019 21:08:27 +0000 (21:08 +0000)] 
Slight adjustment to the printf formatter large memory allocation detector
so that it does not overestimate the amount of space needed for
oversize %d conversions.

FossilOrigin-Name: 1aee70d6de8a9b17ebb74a7cb1dad65139cde1b615dcce4d15d3a476fda8676b

6 years agoPrevent the printf formatter from doing large memory allocations - larger
drh [Fri, 1 Feb 2019 20:29:04 +0000 (20:29 +0000)] 
Prevent the printf formatter from doing large memory allocations - larger
than either the size of the static buffer for interfaces like
sqlite3_snprintf(), or larger than SQLITE_LIMIT_LENGTH for interfaces that
are associated with a database connection.  This helps to prevent DOS
attacks on products that let hostile sources inject arbitrary SQL.  It also
helps fuzzers run faster and more effectively.

FossilOrigin-Name: 179e5d46054e5c86f53a79b7a0823d9a383da8391ad1d3c3b22645927a1e052b

6 years agoPerformance improvement in the parsing of options to %-formats in the
drh [Fri, 1 Feb 2019 18:46:41 +0000 (18:46 +0000)] 
Performance improvement in the parsing of options to %-formats in the
printf implementation.

FossilOrigin-Name: 40d8f8ae87abf928542c4e558a4c3a3eab18776a3e8db7ca1c5e5f744ca0bce3

6 years agoEnsure that the Walker.pParse structure is initialized when walking the
drh [Fri, 1 Feb 2019 15:06:27 +0000 (15:06 +0000)] 
Ensure that the Walker.pParse structure is initialized when walking the
source tree to gather the WINDOW clauses on a query with window functions.

FossilOrigin-Name: 4ca9d5d53d41d08fbce29f9da8cc0948df9c4c3136210af88b499cf889b5ccb8

6 years agoNew test cases added to test/fuzzdata8.db.
drh [Fri, 1 Feb 2019 14:54:18 +0000 (14:54 +0000)] 
New test cases added to test/fuzzdata8.db.

FossilOrigin-Name: e5924939c9c8f39367900360fa294cdb1220e9f68d183e32882e0926f775869d

6 years agoImprove the strict enforcement of cell sizes in balancing from
drh [Fri, 1 Feb 2019 14:50:43 +0000 (14:50 +0000)] 
Improve the strict enforcement of cell sizes in balancing from
check-in [12713f320b2c1def] so that it also works with table-btrees
in addition to index-btrees.

FossilOrigin-Name: ef27e7a08728aa7447ae19812803ac5c4a9d80c97541014bd292485792005a3e

6 years agoFix an assert() in fts5 that could fail if the database is corrupt.
dan [Fri, 1 Feb 2019 14:40:44 +0000 (14:40 +0000)] 
Fix an assert() in fts5 that could fail if the database is corrupt.

FossilOrigin-Name: 55f06aa3f890dc1dc5c2ed0e6777e46d609a6f9d223d1d4b5813097ce4f4e797

6 years agoFix another corrupt-database-handling problem in fts5.
dan [Fri, 1 Feb 2019 13:34:00 +0000 (13:34 +0000)] 
Fix another corrupt-database-handling problem in fts5.

FossilOrigin-Name: 9876ae1b802a449aacbbdd42778653edc19e29315dc627c23ab7493d6492c800

6 years agoRemove an incorrect assert() from the deserialize in-memory database VFS.
drh [Thu, 31 Jan 2019 16:09:48 +0000 (16:09 +0000)] 
Remove an incorrect assert() from the deserialize in-memory database VFS.

FossilOrigin-Name: 80151d7e3b9fd84086874a1cebed024b9e14005ea2d0108cf6efcd07373fcf51

6 years agoAdd the SQLITE_CONFIG_MEMDB_MAXSIZE configuration option for configuring
drh [Thu, 31 Jan 2019 15:38:53 +0000 (15:38 +0000)] 
Add the SQLITE_CONFIG_MEMDB_MAXSIZE configuration option for configuring
the default maximum size of an in-memory database created using
sqlite3_deserialize().  This is necessary to make the interface reasonably
testable.

FossilOrigin-Name: cb72ee0478ce98c48aae059fd5de4e36caf2b8c953e08fcb799bfd119ad46b73

6 years agoFix another buffer overrun that could occur when quering a corrupt database using...
dan [Thu, 31 Jan 2019 14:37:18 +0000 (14:37 +0000)] 
Fix another buffer overrun that could occur when quering a corrupt database using an fts5vocab table.

FossilOrigin-Name: b80119bd6044c0993210115732b6ae7b4b0b29c1471b0723bef24f2052c8e671

6 years agoIf the amalgamation file "sqlite3.c" is generated using the
drh [Thu, 31 Jan 2019 02:42:47 +0000 (02:42 +0000)] 
If the amalgamation file "sqlite3.c" is generated using the
SQLITE_ENABLE_UPDATE_DELETE_LIMIT option, but then subsequently (mis-)compiled
without that option, and then a particular syntax error could cause
a memory leak, but for this fix.

FossilOrigin-Name: 1bb17c863a269ab8b28df94b9fdaac3ee70777ccd0a30300131bf67df6722052

6 years agoImprovements to "PRAGMA parser_trace=ON": Make it a flag pragma, and then
drh [Thu, 31 Jan 2019 01:39:01 +0000 (01:39 +0000)] 
Improvements to "PRAGMA parser_trace=ON": Make it a flag pragma, and then
use the flag to show the complete SQL text at the beginning of the parse.

FossilOrigin-Name: 507c43537f00d089efb3c3020fb6e826e8f89f3efa2caaa12c5309d35dd0c22e

6 years agoChange the error message slightly for when two or more indexes have the
drh [Wed, 30 Jan 2019 19:50:07 +0000 (19:50 +0000)] 
Change the error message slightly for when two or more indexes have the
same rootpage.

FossilOrigin-Name: 916c52dad414b224695d455a42af36f85dff216504c2aa67d1d2c5818cdca8d6

6 years agoWhen parsing the schema, check for duplicate index root page numbers before adding...
dan [Wed, 30 Jan 2019 19:12:13 +0000 (19:12 +0000)] 
When parsing the schema, check for duplicate index root page numbers before adding the index to the schema hash table.

FossilOrigin-Name: 6b360bc0b9ad18ccda9d58d43a8388d19999432bfdf294abcf5beb44ef990cb4

6 years agoAdd test case for the previous commit.
dan [Wed, 30 Jan 2019 18:47:35 +0000 (18:47 +0000)] 
Add test case for the previous commit.

FossilOrigin-Name: 197edb235b785c68fda7be788efbc61137d9452886599415a927b959ade93c65

6 years agoDetect if two indexes of the same table share a common rootpage while
drh [Wed, 30 Jan 2019 18:33:33 +0000 (18:33 +0000)] 
Detect if two indexes of the same table share a common rootpage while
parsing the schema, and throw an error immediately.

FossilOrigin-Name: f21c6f1343edc4ba68f9f8e68caac34da0d1c651526ecaf61c0e2d66593a555e

6 years agoFix an off-by-one error when parsing the names of indexes that do not have
drh [Wed, 30 Jan 2019 16:58:04 +0000 (16:58 +0000)] 
Fix an off-by-one error when parsing the names of indexes that do not have
arguments in the index_usage utility.

FossilOrigin-Name: dc794d8f518ed46536928a77a560d46e4f9365c30a00cd108f000d8556a66c00

6 years agoAdd the --progress, --using, and -q options to the index_usage utility program.
drh [Wed, 30 Jan 2019 15:47:38 +0000 (15:47 +0000)] 
Add the --progress, --using, and -q options to the index_usage utility program.

FossilOrigin-Name: a5e6be7cbc5d931308ddcc073c9cd6275c9711cae055d72a7c4aa71c1d15914c

6 years agoEnhancements to the index_usage utility program.
drh [Wed, 30 Jan 2019 14:01:43 +0000 (14:01 +0000)] 
Enhancements to the index_usage utility program.

FossilOrigin-Name: 19c739b4a8a43d894e37a99fa34838f3e3fa1fe0d019aefbc33f1d38d76af1a4

6 years agoFix another buffer overread in fts5 that may occur when accessing a corrupt database.
dan [Wed, 30 Jan 2019 12:15:27 +0000 (12:15 +0000)] 
Fix another buffer overread in fts5 that may occur when accessing a corrupt database.

FossilOrigin-Name: 760d14374d40bcd9ce3a89771c18dc236c9728553c4747c9b7452ee7b24f4140

6 years agoFix harmless compiler warnings.
drh [Tue, 29 Jan 2019 16:54:31 +0000 (16:54 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: 9a93c68a7673bda2e6c308d3b2798d0fb12fde399996cae24b1f0d5864adf355

6 years agoLoad all the latest dbsqlfuzz finds into test/fuzzdata8.db.
drh [Tue, 29 Jan 2019 16:47:46 +0000 (16:47 +0000)] 
Load all the latest dbsqlfuzz finds into test/fuzzdata8.db.

FossilOrigin-Name: e744d2dd93a78235e6c1d938b08232183b5ce7e355d1b7daf2199e585b03c106

6 years agoMore robust handling of corrupt database file in the rebalance operation of
drh [Tue, 29 Jan 2019 16:41:13 +0000 (16:41 +0000)] 
More robust handling of corrupt database file in the rebalance operation of
the btree logic.

FossilOrigin-Name: 97704cb7d29fa7cc4ea9a6761a7844c1946d637ea2b22d287fc787ae0f63c407

6 years agoAvoid an integer overflow in the fts5 snippet() function triggered by a corrupt datab...
dan [Tue, 29 Jan 2019 16:34:45 +0000 (16:34 +0000)] 
Avoid an integer overflow in the fts5 snippet() function triggered by a corrupt database record.

FossilOrigin-Name: 7c862c4655841e1263cf548d01f5b4331685ab7d396494891cad0a5f50c63e16

6 years agoAvoid a crash when the fts5 snippet() function (or similar) is used with a special...
dan [Tue, 29 Jan 2019 15:30:03 +0000 (15:30 +0000)] 
Avoid a crash when the fts5 snippet() function (or similar) is used with a special query pattern, like '*id' or '*reads'.

FossilOrigin-Name: 9d58a15737f7379fed724749cfd5b4de5b44231870e99fc664683ad483c3e6ba

6 years agoFix a buffer overrun triggered by a merge operation on a corrupt fts5 database.
dan [Tue, 29 Jan 2019 11:42:43 +0000 (11:42 +0000)] 
Fix a buffer overrun triggered by a merge operation on a corrupt fts5 database.

FossilOrigin-Name: 7ee3cd5b2cdf8db35f70400b3df58f7c421c78ae77c50f22b0ee22d5a3039429

6 years agoSet a low limit on the length of strings and blobs in the OSSFuzz module,
drh [Tue, 29 Jan 2019 02:37:22 +0000 (02:37 +0000)] 
Set a low limit on the length of strings and blobs in the OSSFuzz module,
in an effort to avoid timeouts when the fuzzer does things like
"randomblob(1e12)".

FossilOrigin-Name: 119d1609fa415894fdd0aa19440ca1c658bd01910838a4cfadbe0e304b033bfd

6 years agoFix the query planner so that it is able to use an index on a CAST expression.
drh [Mon, 28 Jan 2019 19:06:17 +0000 (19:06 +0000)] 
Fix the query planner so that it is able to use an index on a CAST expression.

FossilOrigin-Name: 2c886f3d49c9569e9f6ee28b89b57e2d4004c8972d11da0c23f7b2d2e0c9900a

6 years agoFix a performance regression caused by the previous commit. index-on-cast
drh [Mon, 28 Jan 2019 18:58:54 +0000 (18:58 +0000)] 
Fix a performance regression caused by the previous commit.

FossilOrigin-Name: c4db0ad12d4f3d2800d36404f391b325cdc4aa7f8dcea93b2d63a489d9095ad4

6 years agoMake indexes on CAST(...) expressions work.
dan [Mon, 28 Jan 2019 18:08:59 +0000 (18:08 +0000)] 
Make indexes on CAST(...) expressions work.

FossilOrigin-Name: 3ef711d98fb239cf24472f124e7b36b0dde33355de5a2c9a3a978bbdd042a735

6 years agoFix a buffer overread in fts3 that could occur when accessing a corrupt database.
dan [Mon, 28 Jan 2019 16:50:42 +0000 (16:50 +0000)] 
Fix a buffer overread in fts3 that could occur when accessing a corrupt database.

FossilOrigin-Name: a9faf9033910927c74553e66c474d84ed3386f263cef3eec299e25d8306f410d

6 years agoDo not assume that text parameters passed to fts4aux queries do not contain embedded...
dan [Mon, 28 Jan 2019 13:27:25 +0000 (13:27 +0000)] 
Do not assume that text parameters passed to fts4aux queries do not contain embedded nul characters.

FossilOrigin-Name: df04859a995571cd6faf1abe088725708f35e81195760274df9e2ec9bd47f69f

6 years agoAdd a new test case to fuzzdata8.db.
drh [Mon, 28 Jan 2019 11:54:13 +0000 (11:54 +0000)] 
Add a new test case to fuzzdata8.db.

FossilOrigin-Name: ce8e279a7d37594e865c2d9197a5efe5d647e11f074dbaf4a4ee31c74c71dbc9

6 years agoChange the definition of the BtCursor.skipNext field so that it is undefined
drh [Mon, 28 Jan 2019 00:42:06 +0000 (00:42 +0000)] 
Change the definition of the BtCursor.skipNext field so that it is undefined
for states CURSOR_VALID and CURSOR_INVALID.

FossilOrigin-Name: 6089d5dba73437d787259033e94a38cf1b0c87cac4a89c27e69d8239c22f496e

6 years agoImprovements to the ".eqp trace" command in the CLI so that it ensures that
drh [Sun, 27 Jan 2019 19:50:56 +0000 (19:50 +0000)] 
Improvements to the ".eqp trace" command in the CLI so that it ensures that
the schema has been read prior to activing the tracing feature, to avoid
cluttering the output with a trace of the schema parse.

FossilOrigin-Name: 42687d45aa1a2b2a32ddfc5711b4ae9cf76b8cfbeb20b57d6705ecaf5824fcb6

6 years agoNew test cases form dbsqlfuzz
drh [Sun, 27 Jan 2019 02:45:32 +0000 (02:45 +0000)] 
New test cases form dbsqlfuzz

FossilOrigin-Name: 9cf8ebd141aa2eb661d457624c76433bd9e4abfdef04aa52e28bc169172c2c8f

6 years agoWindow functions that can abort should indicate this, so that if they are
drh [Sun, 27 Jan 2019 02:41:34 +0000 (02:41 +0000)] 
Window functions that can abort should indicate this, so that if they are
used in DML statement, a statement journal will be used.

FossilOrigin-Name: 0ea05a0eb96acb860d8af2e788e29a5ae3b161e7892ab62f1ff2f3e722c0dcb6

6 years agoUpdate fuzzcheck so that with the --load-dbsql options it screens its
drh [Sun, 27 Jan 2019 01:11:40 +0000 (01:11 +0000)] 
Update fuzzcheck so that with the --load-dbsql options it screens its
inputs to ensure that they are valid dbsqlfuzz cases.  Add new dbsqlfuzz
finds to the test/fuzzdata8.db database.

FossilOrigin-Name: 004f7d9bbeee049c22a7e1c82c6cc0ea79a237967de3ff57686acea3060d5f45

6 years agoEnsure that the btree cursor is correctly set up prior to backing it up
drh [Sat, 26 Jan 2019 23:34:50 +0000 (23:34 +0000)] 
Ensure that the btree cursor is correctly set up prior to backing it up
as part of a delete operation on a divider cell in an index.

FossilOrigin-Name: a3ea1a822d3a110f4f186f2fc8550f435c8c98635d058096b7be9d4df7066b8b

6 years agoFix a broken assert() in fts3. Also some test script issues causing failures with...
dan [Sat, 26 Jan 2019 21:05:54 +0000 (21:05 +0000)] 
Fix a broken assert() in fts3. Also some test script issues causing failures with builds that do not support fts3.

FossilOrigin-Name: d59567dda231e7ffec437d5e055676cf42d791196406cdc696cafa2583eb483b

6 years agoAdd the ".eqp trace" command to the CLI when using SQLITE_DEBUG, as a
drh [Sat, 26 Jan 2019 15:40:04 +0000 (15:40 +0000)] 
Add the ".eqp trace" command to the CLI when using SQLITE_DEBUG, as a
convenient shorthand for "PRAGMA vdbe_debug=ON" but with automatic indentation
feature for program listings provided by the CLI.

FossilOrigin-Name: 626502faa17b5b7a0fa36cabfd12e463eb09aec048d01c587a18d3977cf04662

6 years agoDo not accidently truncate zeroblob values when doing an arithmetic
drh [Fri, 25 Jan 2019 20:09:04 +0000 (20:09 +0000)] 
Do not accidently truncate zeroblob values when doing an arithmetic
operation.  Fix for ticket [bb4bdb9f7f654b0bb9f34cfba].

FossilOrigin-Name: 13f6942eb0da2d92a0830f18640ce64208bd0cd6ff6d0c97e4a4c57ac3d65ba6

6 years agoReinitialize debugging information on registers of a trigger prior to each
drh [Fri, 25 Jan 2019 19:29:01 +0000 (19:29 +0000)] 
Reinitialize debugging information on registers of a trigger prior to each
invocation of the trigger.  This prevents false-positives from the
sqlite3VdbeMemAboutToChange() test logic.

FossilOrigin-Name: 98b3b97573ccb3d986d1552f97f96e15088a598945923adcac77010c1e8b7fe4

6 years agoFix harmless compiler warnings.
drh [Fri, 25 Jan 2019 18:17:37 +0000 (18:17 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: 3ff220ad378d547538b4501e6b2201e835a2c66891e5e40856db377c101a50e5

6 years agoFix the assert_fts3_nc() macro so that it works for test builds that omit
drh [Fri, 25 Jan 2019 18:17:03 +0000 (18:17 +0000)] 
Fix the assert_fts3_nc() macro so that it works for test builds that omit
SQLITE_DEBUG.

FossilOrigin-Name: b10df2b569e356551cf51ca179f307e4f8827413ee9feb886db1f1e0650e6c5f

6 years agoFix harmless compiler warnings in fuzzcheck
drh [Fri, 25 Jan 2019 17:51:06 +0000 (17:51 +0000)] 
Fix harmless compiler warnings in fuzzcheck

FossilOrigin-Name: a82539665718c8183d9d0bb7bcb3adcb1a23294b8c30f364829a982dab89a332

6 years agoFix a segfault that could follow an OOM when querying a table that has one or more...
dan [Fri, 25 Jan 2019 17:26:59 +0000 (17:26 +0000)] 
Fix a segfault that could follow an OOM when querying a table that has one or more columns with default values "true" or "false".

FossilOrigin-Name: 202f9919c222ee933924c63c15ad36ec4481457b1e4d9179af14c9f284117c0c

6 years agoFix asan warnings in fts5 triggered by corrupt databases - passing NULL to memcmp...
dan [Fri, 25 Jan 2019 16:54:06 +0000 (16:54 +0000)] 
Fix asan warnings in fts5 triggered by corrupt databases - passing NULL to memcmp, out-of-range left-shift values and signed integer overflow.

FossilOrigin-Name: 93f8ec146d63af13f04e337ada4fa75e9254f72b1394df09701ae12e185f27e2

6 years agoAdd an assert_fts3_nc() macro to fts3 - for assert() conditions that are only true...
dan [Fri, 25 Jan 2019 14:48:18 +0000 (14:48 +0000)] 
Add an assert_fts3_nc() macro to fts3 - for assert() conditions that are only true when it is guaranteed that the fts3 database is not corrupt.

FossilOrigin-Name: 3498908cd7f3d0e35b70796537124e3da0bd99d48750ba51bcb9eba87e28ed4d

6 years agoExtend fuzzcheck so that it can process dbsqlfuzz cases. Add a collection
drh [Fri, 25 Jan 2019 14:23:36 +0000 (14:23 +0000)] 
Extend fuzzcheck so that it can process dbsqlfuzz cases. Add a collection
of interesting dbsqlfuzz cases to the standard test suite.

FossilOrigin-Name: e2991a7ecf5dd241c4bab7c7cadc4901043fb0c3ea1fac70b684f6d8332677f1

6 years agoFix the xFetch method of the "memdb" VFS (used by deserialize) so that it dbsqlfuzz-in-fuzzcheck
drh [Fri, 25 Jan 2019 14:16:01 +0000 (14:16 +0000)] 
Fix the xFetch method of the "memdb" VFS (used by deserialize) so that it
is robust against corrupt database file.

FossilOrigin-Name: 2c1ef40e787a6bc355b50168527a47eb09acd30d0d88cff8336a434ad554115d

6 years agoFix a couple of assert() statments in btree.c that could fail with corrupt databases.
dan [Fri, 25 Jan 2019 13:42:12 +0000 (13:42 +0000)] 
Fix a couple of assert() statments in btree.c that could fail with corrupt databases.

FossilOrigin-Name: 5eb5e8289fa71e5e29e081d33d4a59c64b463bf6b06d7070c05c46d77d808ad4

6 years agoIn fuzzcheck, activate vdbe_debug for dbsqlfuzz cases when using the -vvvvv
drh [Fri, 25 Jan 2019 13:03:38 +0000 (13:03 +0000)] 
In fuzzcheck, activate vdbe_debug for dbsqlfuzz cases when using the -vvvvv
verbosity level or above.

FossilOrigin-Name: 2e6f7c2aced49824a38b3494b796a8ec73aa7a90b51159f670596df15ed1c5ab

6 years agoImproved automatic detection of dbsqlfuzz cases in fuzzcheck.
drh [Fri, 25 Jan 2019 04:43:26 +0000 (04:43 +0000)] 
Improved automatic detection of dbsqlfuzz cases in fuzzcheck.

FossilOrigin-Name: 1ef24e89c9630fd383ba32f5aefcf9c27907f27f5072f3537a1cfd75a093a8d7

6 years agoAdd the ability to process dbsqlfuzz cases in fuzzcheck and add an initial
drh [Fri, 25 Jan 2019 04:00:14 +0000 (04:00 +0000)] 
Add the ability to process dbsqlfuzz cases in fuzzcheck and add an initial
set of interesting dbsqlfuzz cases.

FossilOrigin-Name: fb9074ff450a67feaa62ca61d19154de26d5c8a8d147409ee6d1fbd667b2914f

6 years agoFix a buffer overread in fts3 that could occur in a prefix query on a corrupted database.
dan [Thu, 24 Jan 2019 17:41:12 +0000 (17:41 +0000)] 
Fix a buffer overread in fts3 that could occur in a prefix query on a corrupted database.

FossilOrigin-Name: d0d5689371577b2861d4a9464443d055f3256f3f51d89e0388233a4cbe2601ee

6 years agoFix a problem with running ALTER TABLE on a schema that contains expressions of the...
dan [Thu, 24 Jan 2019 16:27:10 +0000 (16:27 +0000)] 
Fix a problem with running ALTER TABLE on a schema that contains expressions of the type "col IN ()" (empty set on RHS of IN operator).

FossilOrigin-Name: 2d9cd06715092c312c8c0ec392696a0e90ed090b074e2082e0b830f1399aa941

6 years agoOmit deprecated PRAGMAs when compiling with the -DSQLITE_OMIT_DEPRECATED option.
drh [Thu, 24 Jan 2019 16:07:18 +0000 (16:07 +0000)] 
Omit deprecated PRAGMAs when compiling with the -DSQLITE_OMIT_DEPRECATED option.

FossilOrigin-Name: 008112bcef561a8a3ebfb007cbef36cbc0071f547e6ebdba3d3bbb39e2c48c7a

6 years agoMake sure the column name flags are restored correctly after an error
drh [Thu, 24 Jan 2019 15:51:03 +0000 (15:51 +0000)] 
Make sure the column name flags are restored correctly after an error
inside of sqlite3ResultSetOfSelect().

FossilOrigin-Name: b1601db7adba2dccd4f90fbbe5099c801a2b0d97af087fbe82ed98d05496b38c

6 years agoFix a potential problem with "INSERT INTO ... SELECT * FROM" (or VACUUM) statements...
dan [Thu, 24 Jan 2019 15:16:17 +0000 (15:16 +0000)] 
Fix a potential problem with "INSERT INTO ... SELECT * FROM" (or VACUUM) statements on a corrupted database.

FossilOrigin-Name: db4b4c2c1e9f1adacfb1b2fedb717a4d8bb0a299c3b11835404a99fcd67bf24b

6 years agoChange a integer variable in sqlite3VdbeRecordUnpack() to unsigned in order
drh [Thu, 24 Jan 2019 14:16:20 +0000 (14:16 +0000)] 
Change a integer variable in sqlite3VdbeRecordUnpack() to unsigned in order
to avoid any possibility of an integer overflow.

FossilOrigin-Name: 1b536f6fd8d58800042f130842f0586aaa357841ee0d1b690a9815c865d50826

6 years agoUse memmove() instead of memcpy() in a place where buffers might overlap
drh [Thu, 24 Jan 2019 13:36:47 +0000 (13:36 +0000)] 
Use memmove() instead of memcpy() in a place where buffers might overlap
if the database file is badly corrupted, to prevent warnings
from ASAN and valgrind.

FossilOrigin-Name: 65ad6c55f1ba9bc2f75afffa3adaf19f145fad7ac9a00ccce6372e9a2cc4341b

6 years agoRemove an unreachable branch.
drh [Thu, 24 Jan 2019 04:44:54 +0000 (04:44 +0000)] 
Remove an unreachable branch.

FossilOrigin-Name: 4c976f171342ba2d39779279c28f3bc088572c440922e3e4421a3bf541263360

6 years agoFix an assert() in vdbemem.c that could fire if the database was corrupt.
dan [Wed, 23 Jan 2019 20:31:56 +0000 (20:31 +0000)] 
Fix an assert() in vdbemem.c that could fire if the database was corrupt.

FossilOrigin-Name: a70958cd7d5cf750c293537856918e5789013b70f6a827f724d83559b38629c8

6 years agoFix a problem with renaming a table within a schema that contains a composite query...
dan [Wed, 23 Jan 2019 19:50:46 +0000 (19:50 +0000)] 
Fix a problem with renaming a table within a schema that contains a composite query that uses a column alias as an ORDER BY term.

FossilOrigin-Name: 2ca6b8f84ec07e313aa4e1c0894827401b418dcc4221e9c54c384f1c3893952a

6 years agoStricter enforcement of cell sizes when doing balancing operations on the
drh [Wed, 23 Jan 2019 19:25:59 +0000 (19:25 +0000)] 
Stricter enforcement of cell sizes when doing balancing operations on the
btree, in order to catch file corruption sooner.

FossilOrigin-Name: 12713f320b2c1def273dd8b7833dddaaad5331aba779d4b1ec9aa949814f38fe

6 years agoFix another fts5 crash that can occur if the database is corrupted.
dan [Wed, 23 Jan 2019 19:17:05 +0000 (19:17 +0000)] 
Fix another fts5 crash that can occur if the database is corrupted.

FossilOrigin-Name: 44ce8baa47192be03c8f11777904c3c07fa5cc5c97b6d8e81572d380995ac688

6 years agoFix problems with sub-selects in WINDOW definitions. Also rename-column operations...
dan [Wed, 23 Jan 2019 16:59:24 +0000 (16:59 +0000)] 
Fix problems with sub-selects in WINDOW definitions. Also rename-column operations when the column being renamed appears in a WINDOW definition that is part of a VIEW or TRIGGER.

FossilOrigin-Name: 0387cb3add992b2028efe4f2100188d8f9fdfdcb233329857aa4b46a293cfc97

6 years agoFix a buffer overwrite triggered by a prefix query on a corrupt fts5 table.
dan [Wed, 23 Jan 2019 12:19:22 +0000 (12:19 +0000)] 
Fix a buffer overwrite triggered by a prefix query on a corrupt fts5 table.

FossilOrigin-Name: 1d8172a94bce2d067027685e5aa1dc8f5d5d55b5da0832ad2836f6939de68c8f

6 years agoFix a buffer overrun that could occur in fts5 if a prefix query is made on a corrupt...
dan [Tue, 22 Jan 2019 21:17:40 +0000 (21:17 +0000)] 
Fix a buffer overrun that could occur in fts5 if a prefix query is made on a corrupt database.

FossilOrigin-Name: 1abc4415648e69362061e9f9a4f2c1d419ba33801999b377650d8b9a4d2d3a7c

6 years agoDo not run shmlock.test as part of the journaltest permutation.
dan [Tue, 22 Jan 2019 20:18:29 +0000 (20:18 +0000)] 
Do not run shmlock.test as part of the journaltest permutation.

FossilOrigin-Name: 5b7d0c784e6467154d9549af0163d788b69d5e5a6478a735834cdea945e7dbb7