]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
6 years agoUse the IsReuseSchema() macro more consistently. Also, rename it to IsSharedSchema().
dan [Wed, 20 Mar 2019 20:02:03 +0000 (20:02 +0000)] 
Use the IsReuseSchema() macro more consistently. Also, rename it to IsSharedSchema().

FossilOrigin-Name: c1be211c0286a6ff3ef8ab6839136175efb000118ff8704d3cc01b2a23b841ab

6 years agoFix an error message.
dan [Wed, 20 Mar 2019 19:17:45 +0000 (19:17 +0000)] 
Fix an error message.

FossilOrigin-Name: a70fdaa3903835dca338d68e750716fd3ab9dedbdfb2be6d6e058fd5fcb415fa

6 years agoMerge latest trunk changes into this branch.
dan [Wed, 20 Mar 2019 16:03:02 +0000 (16:03 +0000)] 
Merge latest trunk changes into this branch.

FossilOrigin-Name: 4cd20ca6776ef1c2f041fe6d30f84a3cf5f8a634eb34db2dce3217ee781d5848

6 years agoFix harmless compiler warnings from MSVC.
drh [Wed, 20 Mar 2019 12:08:27 +0000 (12:08 +0000)] 
Fix harmless compiler warnings from MSVC.

FossilOrigin-Name: f0f02d46e40667d0fc31c57eb26d459ce2f3a3c222c767fa371100b36e5335d1

6 years agoEnhance the rtreenode() function of rtree (used for testing) so that it
drh [Wed, 20 Mar 2019 11:16:09 +0000 (11:16 +0000)] 
Enhance the rtreenode() function of rtree (used for testing) so that it
uses the newer sqlite3_str object for better performance and improved
error reporting.

FossilOrigin-Name: 90acdbfce9c088582d5165589f7eac462b00062bbfffacdcc786eb9cf3ea5377

6 years agoFix various harmless compiler warnings seen with MSVC. noWarnings
mistachkin [Wed, 20 Mar 2019 05:45:03 +0000 (05:45 +0000)] 
Fix various harmless compiler warnings seen with MSVC.

FossilOrigin-Name: 1c0fe5b5763fe5cbace9773dcdab742e126d0bd035ab13d61f9d134afa0afc0c

6 years agoEnhance the VACUUM INTO command so that it works on read-only databases.
drh [Tue, 19 Mar 2019 20:42:42 +0000 (20:42 +0000)] 
Enhance the VACUUM INTO command so that it works on read-only databases.

FossilOrigin-Name: 55be6d0a9fa8a64b9c9c5ed51a2b9144304f7f0870a13b92d5864ac4d54491b6

6 years agoFix a compiler warning in FTS5.
drh [Tue, 19 Mar 2019 20:13:41 +0000 (20:13 +0000)] 
Fix a compiler warning in FTS5.

FossilOrigin-Name: d5acf3af65f9608d4096b9b78289d84b21cd1ea463457f858ffeb20d5bd5d123

6 years agoWhen computing the amount of scratch memory needed during a rebalance operation,
drh [Tue, 19 Mar 2019 15:36:46 +0000 (15:36 +0000)] 
When computing the amount of scratch memory needed during a rebalance operation,
assume the worst case for the number of cells per page, rather than relying
on the BtPage.nCell value, which might be incorrect for a corrupt database.

FossilOrigin-Name: a420ebd08f5a96b9e61a37cb42e1b3f346c23505630d9c33fe30ce7882959b36

6 years agoTweak the tool/cg_anno.tcl script so that it can run on systems without /usr/bin...
dan [Tue, 19 Mar 2019 11:35:18 +0000 (11:35 +0000)] 
Tweak the tool/cg_anno.tcl script so that it can run on systems without /usr/bin/tclsh.

FossilOrigin-Name: a026189aa46114d2de4f1da5882aeef9cf446a5aa6ea068d51c27df0d7302ddb

6 years agoAdd a LICENSE.md, containing the text of the blessing.
drh [Tue, 19 Mar 2019 09:57:52 +0000 (09:57 +0000)] 
Add a LICENSE.md, containing the text of the blessing.

FossilOrigin-Name: cbb7e60272cda518fa1bd8d3e3cd02e031b657fef92a9d4d7ed8c2bfb97be7c8

6 years agoFix a buffer overread that could occur when running fts5 prefix queries inside a...
dan [Mon, 18 Mar 2019 15:49:07 +0000 (15:49 +0000)] 
Fix a buffer overread that could occur when running fts5 prefix queries inside a transaction.

FossilOrigin-Name: b3fa58dd7403dbd4d2e9f3ae23d7d1337830d6fef2aa2f137ac5174de0d5828e

6 years agoFix an fts5 problem with interleaving reads and writes in a single transaction.
dan [Mon, 18 Mar 2019 15:23:20 +0000 (15:23 +0000)] 
Fix an fts5 problem with interleaving reads and writes in a single transaction.

FossilOrigin-Name: 45c73deb440496e848cb24d4c1326d4105dacfee8bbafb115e567051855e6518

6 years agoFix a typo in a comment. No changes to code.
drh [Mon, 18 Mar 2019 10:30:00 +0000 (10:30 +0000)] 
Fix a typo in a comment.  No changes to code.

FossilOrigin-Name: c2f50aa4e7bad8821e91a7490283dd53e44047d10a8cfebc3e2da26c770a5218

6 years agoNew hyperlink on the README.md file.
drh [Sun, 17 Mar 2019 23:59:02 +0000 (23:59 +0000)] 
New hyperlink on the README.md file.

FossilOrigin-Name: cc5ab96715ebb1089b4e9aa647badd2510aaa056f26004718f921f4ac07e2f93

6 years agoUpdate the README.md file at the top level to talk about how to deal with
drh [Sun, 17 Mar 2019 23:44:16 +0000 (23:44 +0000)] 
Update the README.md file at the top level to talk about how to deal with
version names and how to verify the code in Git mirrors.

FossilOrigin-Name: e8c87a0ac1bf434c12a8ab602e7913a89a51898e818f30fa541a9b5708864212

6 years agoBack out the change to support Fuchsia, since it turns out fuchsia does not
drh [Fri, 15 Mar 2019 19:08:23 +0000 (19:08 +0000)] 
Back out the change to support Fuchsia, since it turns out fuchsia does not
like dot-file locks.

FossilOrigin-Name: 1d801a3b2c48dc8a918d6da047bc877acf033d5f5c4e1d4b412ba7678ed6f8b3

6 years agoRemove a debugging printf() left in test/sessionfuzz.c.
dan [Fri, 15 Mar 2019 18:57:49 +0000 (18:57 +0000)] 
Remove a debugging printf() left in test/sessionfuzz.c.

FossilOrigin-Name: 73c4abc90264355f3ea6e8c34e5aad6ed665b70fb136c4d416e2a98e46562bbd

6 years agoEnsure that ALTER TABLE commands open statement transactions. Fix for [596d059a].
dan [Fri, 15 Mar 2019 16:17:32 +0000 (16:17 +0000)] 
Ensure that ALTER TABLE commands open statement transactions. Fix for [596d059a].

FossilOrigin-Name: 0f2129f59f7df929106e2af876c2976dea6528c1dc1850d64cddb256f20e121a

6 years agoTechnical improvements to the documentation for sqlite3_bind_blob() and
drh [Thu, 14 Mar 2019 00:01:23 +0000 (00:01 +0000)] 
Technical improvements to the documentation for sqlite3_bind_blob() and
sqlite3_bind_text().  No changes to code.

FossilOrigin-Name: fb60150aeedc3898cb249c75c98a7cb48fcec090f94ded7896b634e436c7daa5

6 years agoImprovements to the sqlite3_db_filename() API documentation. No code changes.
drh [Wed, 13 Mar 2019 23:51:05 +0000 (23:51 +0000)] 
Improvements to the sqlite3_db_filename() API documentation.  No code changes.

FossilOrigin-Name: 711f5ec4dc2635e3102a607510cbbe0b468d9f0af935e09d3454e6e925c8dcb2

6 years agoNew test cases added to test/fuzzdata8.db
drh [Wed, 13 Mar 2019 13:19:05 +0000 (13:19 +0000)] 
New test cases added to test/fuzzdata8.db

FossilOrigin-Name: 049e9926202317f58c54b6351ff120fb69bf821f409909b1a1c5e335c0396707

6 years agoWhen deserializing a database (sqlite3_deserialize()), do not attempt to parse the...
dan [Wed, 13 Mar 2019 11:40:30 +0000 (11:40 +0000)] 
When deserializing a database (sqlite3_deserialize()), do not attempt to parse the schema before the data is loaded.

FossilOrigin-Name: 4e1b005e8b397a22161a6b89cbd3f17bda70a6e0a86d8abdc61856edf2a74da4

6 years agoDetect zero-length free slots on btree pages and report that as corruption.
drh [Wed, 13 Mar 2019 10:29:16 +0000 (10:29 +0000)] 
Detect zero-length free slots on btree pages and report that as corruption.

FossilOrigin-Name: c4f0568fde1d4070e7522ec36c0958be7426076002a7fa2da12a46411ab2e92d

6 years agoFix a crash that could occur if the RHS of an IN expression is a correlated sub-query...
dan [Tue, 12 Mar 2019 09:49:10 +0000 (09:49 +0000)] 
Fix a crash that could occur if the RHS of an IN expression is a correlated sub-query that refers to the outer query from within a window frame definition only.

FossilOrigin-Name: 0524aaaf45681437c2dca3d31ff26a65bee7bd2074730277c29136635ee0be0f

6 years agoFix a harmless bug in the Makefile.
drh [Fri, 8 Mar 2019 20:26:12 +0000 (20:26 +0000)] 
Fix a harmless bug in the Makefile.

FossilOrigin-Name: 62ac9cb07f5f2d14e716cd0f99f3f2fd34f6c9b4303619be8dfbca2eecf5b727

6 years agoAdd new test cases in test/fuzzdata8.db
drh [Fri, 8 Mar 2019 14:07:15 +0000 (14:07 +0000)] 
Add new test cases in test/fuzzdata8.db

FossilOrigin-Name: 97bdc090f30610cc5dd29101452d1647550387f9c6f742e50f1e07c3cf68a147

6 years agoPatch makes balance_nonroot() slightly smaller and faster and more robust
drh [Fri, 8 Mar 2019 14:02:11 +0000 (14:02 +0000)] 
Patch makes balance_nonroot() slightly smaller and faster and more robust
against corrupt databases.

FossilOrigin-Name: 174da3c32c9caebd642c31cb594597ccd5bb2a7fc501b1f49aef0b7b4765bfca

6 years agoFix another segfault in fts3 that could occur with corrupt records.
dan [Fri, 8 Mar 2019 13:27:27 +0000 (13:27 +0000)] 
Fix another segfault in fts3 that could occur with corrupt records.

FossilOrigin-Name: fcc24edde471c2214add2dbc3a27da8890a7148105c5ffa024faf72457964a5f

6 years agoDetect an attempt to drop a btree that is not within the bounds of the
drh [Fri, 8 Mar 2019 01:52:30 +0000 (01:52 +0000)] 
Detect an attempt to drop a btree that is not within the bounds of the
database file and abort early with an SQLITE_CORRUPT error, to avoid
problems later on in the process.

FossilOrigin-Name: 235a9698f5e9b3c21dc51c9c5042becfb82fc1762a7519a46b9f9fdafe9b0f13

6 years agoAdd the sqlite3_stmt_isexplain() interface.
drh [Wed, 6 Mar 2019 14:53:27 +0000 (14:53 +0000)] 
Add the sqlite3_stmt_isexplain() interface.

FossilOrigin-Name: ee642d3e2775ba4c73627ac71d0abf7a0f7a4ab3151d88e0076e9992f4814983

6 years agoAdd an "|| CORRUPT_DB" term to an assert() that might be false if the database
drh [Wed, 6 Mar 2019 14:08:41 +0000 (14:08 +0000)] 
Add an "|| CORRUPT_DB" term to an assert() that might be false if the database
is corrupt.  Also add a branch to have sqlite3PagerMovepage() return
SQLITE_CORRUPT in that case.

FossilOrigin-Name: b0d5cf40bba34e459caa7480bc84a1d75496c2ab52029f4bb0a31f2d9369a8ee

6 years agoFix a potential 32-bit integer overflow in the "showdb" utility program when
drh [Tue, 5 Mar 2019 23:49:17 +0000 (23:49 +0000)] 
Fix a potential 32-bit integer overflow in the "showdb" utility program when
it is trying to interpret a corrupt database file.

FossilOrigin-Name: 3803e750384ec37091b0a6c350f8ef67720e316fd6f74c95e3c5f231c4a01ceb

6 years agoAdd a script to tool/ that will extract the sqlite3.h header file from an
drh [Tue, 5 Mar 2019 16:53:16 +0000 (16:53 +0000)] 
Add a script to tool/ that will extract the sqlite3.h header file from an
sqlite3.c amalgamation.

FossilOrigin-Name: 38d2e510cdedf38153466b161c0842b1604aef7b5589c51f628ae7cbb6a8722a

6 years agoNew dbfuzz2 test cases added to test/fuzzdata7.db
drh [Tue, 5 Mar 2019 14:47:53 +0000 (14:47 +0000)] 
New dbfuzz2 test cases added to test/fuzzdata7.db

FossilOrigin-Name: 25975e1fb2be0c011542c0a6b001385cec8113662df93dc618f725f2a4692bc2

6 years agoIf the initial byte of a record is a large value, then always used the
drh [Tue, 5 Mar 2019 14:39:00 +0000 (14:39 +0000)] 
If the initial byte of a record is a large value, then always used the
generalized record comparison routine sqlite3VdbeRecordCompare() rather than
one of the specialized versions that are optimized for shorter records.

FossilOrigin-Name: c1ac00706bae45fe9735061ada025880606cdfb8ecfdaa36b4e2d04275820861

6 years agoMerge latest trunk changes into this branch.
dan [Mon, 4 Mar 2019 07:25:38 +0000 (07:25 +0000)] 
Merge latest trunk changes into this branch.

FossilOrigin-Name: 97a9604d85cf5044e8109e533d4682b25bfe6a110f403ebd0fdef03880059f37

6 years agoFix a problem preventing compilation with SQLITE_OMIT_UTF16.
dan [Mon, 4 Mar 2019 07:15:57 +0000 (07:15 +0000)] 
Fix a problem preventing compilation with SQLITE_OMIT_UTF16.

FossilOrigin-Name: 906d1fd8650874236e0bf5734d5347dcc45ec036164a56570fec37da4ffeaf8f

6 years agoImproved comments on the fossildelta.c extension.
drh [Sat, 2 Mar 2019 20:09:35 +0000 (20:09 +0000)] 
Improved comments on the fossildelta.c extension.

FossilOrigin-Name: d7d23f0450d659b2c7df34e4df8623ca7b6fe3bd19422e3e9234515214ae8510

6 years agoFix the SQLITE_DIRECT_OVERFLOW_READ compile-time option so that it works
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

6 years agoRemove a redundant parameter extraction call from the percentile.c extension.
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

6 years agoThe fts3_tokenizer() function returns NULL if the
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

6 years agoFix a minor comment typo. No code changes.
drh [Fri, 1 Mar 2019 21:12:40 +0000 (21:12 +0000)] 
Fix a minor comment typo.  No code changes.

FossilOrigin-Name: 9a0a93c89d3fdd0f9000a9226388e2e53f299165e043913f40b83bf597bfea04

6 years agoIn a query that uses a partial index, the expression that is the WHERE clause
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

6 years agoAdd the ".parameter" command to the CLI.
drh [Thu, 28 Feb 2019 20:10:52 +0000 (20:10 +0000)] 
Add the ".parameter" command to the CLI.

FossilOrigin-Name: 1f9fa58541dc974989eee9c9a5d453956f7dbcf42965ece2db2cb5dee3f3f5e2

6 years agoAdd the new "bind_fallback" method to the "sqlite3" object in the TCL
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

6 years agoNew test case loaded into test/fuzzdata8.db.
drh [Thu, 28 Feb 2019 14:09:14 +0000 (14:09 +0000)] 
New test case loaded into test/fuzzdata8.db.

FossilOrigin-Name: 00ae0c6c4815366bd2f36bc054b13bc7b568dd0a3caceddf0eba4db33f010ee4

6 years agoAvoid an assert() failure and an undefined left-shift operation in the fts3 snippet...
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

6 years agoAdd an "|| CORRUPT_DB" term to an assert() statement in the btree defragmenter.
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

6 years agoEnable the LIKE optimization when the ESCAPE keyword is present and the
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

6 years agoFix the readfile() UDF so that it returns an empty BLOB, not an OOM error,
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

6 years agoAdd the "-returntype" option to the "db function" Tcl method.
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

6 years agoVerify that fts5 auxiliary functions cannot be used in aggregate queries.
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

6 years agoReformat the white-space in a few test cases so that the tests work with Tcl 8.6.9.
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

6 years agoMinor change to dbfuzz2 that allows it to be compiled against older versions
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

6 years agoNew test cases added to test/fuzzdata8.db.
drh [Tue, 26 Feb 2019 17:52:44 +0000 (17:52 +0000)] 
New test cases added to test/fuzzdata8.db.

FossilOrigin-Name: 61fdfc57b9539cb6da5fc24653da2c8fb7c041a7409df911df11b987ed479a3a

6 years agoAllocate a few extra bytes for the pager temp page as an overrun buffer while
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

6 years agoUpdate doc/shared_schema.md to describe the shell tool ".shared-schema" dot-command.
dan [Tue, 26 Feb 2019 16:36:21 +0000 (16:36 +0000)] 
Update doc/shared_schema.md to describe the shell tool ".shared-schema" dot-command.

FossilOrigin-Name: 0ce2092a5968d75d014fdc238391c362a9600c28bf18cdc631e98259a5278712

6 years agoUse unsigned integers to count the number of pages in a freelist during
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

6 years agoAdd new test file reuse5.test. For testing the shell tool ".shared-schema" command.
dan [Tue, 26 Feb 2019 16:13:43 +0000 (16:13 +0000)] 
Add new test file reuse5.test. For testing the shell tool ".shared-schema" command.

FossilOrigin-Name: fa6008d547c6b24108a26e022f3f427fa19ffae006c88fee9de97d2244521de0

6 years agoFix a harmless compiler warning that only comes up during debug builds.
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

6 years agoAdd the ".shared-schema check|fix DB1 DB2..." command to the shell tool. For checking...
dan [Tue, 26 Feb 2019 15:43:45 +0000 (15:43 +0000)] 
Add the ".shared-schema check|fix DB1 DB2..." command to the shell tool. For checking if a database is eligible to share an in-memory with the main database, and for fixing small problems that prevent it from being so.

FossilOrigin-Name: 7d8e8a957235479fba568e1d3ff2cdfe4695184ee1a7ac64bce905a993725164

6 years agoUpdate the configure-generated makekfile to generate a portable pkgIndex.tcl.
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

6 years agoFix a comment in build.c.
dan [Mon, 25 Feb 2019 19:23:01 +0000 (19:23 +0000)] 
Fix a comment in build.c.

FossilOrigin-Name: d6a9bff6f5cc52957deffe47fdba1197db111cac110760dec7680f91499a99f1

6 years agoEnhance the command-line shell to accept bound parameters, using the
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

6 years agoMerge latest trunk changes into this branch.
dan [Mon, 25 Feb 2019 18:07:09 +0000 (18:07 +0000)] 
Merge latest trunk changes into this branch.

FossilOrigin-Name: 5c1cf30859ed734eb2d6bc52adb057ca62a6b5a7eef66d8da1fa833e84468dee

6 years agoWhere possible, avoid loading all schemas into memory for PRAGMA statements.
dan [Mon, 25 Feb 2019 17:54:23 +0000 (17:54 +0000)] 
Where possible, avoid loading all schemas into memory for PRAGMA statements.

FossilOrigin-Name: 64f97530ad387655767b5205fb9a9c723210cd4975176ab6fb71bca0cb585a74

6 years agoUpdate comments on the fossildelta extension. No changes to code.
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

6 years agoFix a typo in the documentation for sqlite3_total_changes().
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

6 years agoFix a couple of assert() statements in fts3 that can be false if the database is...
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

6 years agoCheck-in [fa792714ae62fa98] is incorrect. Add a test case to refute it and
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

6 years agoRemove a testcase() macro which is now unreachable due to the contraction of tkt-df46dfb631
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

6 years agoMake all ephemeral tables built to hold the RHS of an IN operator be
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

6 years agoCheck-in [fa792714ae62fa980] is not a valid fix for ticket
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

6 years agoInternally, remove all references to a Window object that belongs to an expression...
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

6 years agoMerge latest trunk changes into this branch.
dan [Fri, 22 Feb 2019 17:44:58 +0000 (17:44 +0000)] 
Merge latest trunk changes into this branch.

FossilOrigin-Name: 001771afd0567c04736a778fc78fd7144492ae7c830e7f55de61869ce988f0ed

6 years agoIn sqlite3NestedParse() be sure to detect all SQLITE_NOMEM and SQLITE_TOOBIG
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

6 years agoModify sqlite3_str_finish() and sqlite3VMPrintf() so that they always
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

6 years agoDetect oversized strings in the OP_String opcode even if the P4 argument
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

6 years agoChanges to the unix VFS that allegedly enable it to build of Fuchsia.
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

6 years agoDisable unix-specific features of dbfuzz2 when compiling on windows.
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

6 years agoFurther test cases and fixes for SQLITE_OPEN_SHARED_SCHEMA.
dan [Wed, 20 Feb 2019 18:44:28 +0000 (18:44 +0000)] 
Further test cases and fixes for SQLITE_OPEN_SHARED_SCHEMA.

FossilOrigin-Name: ba0ab042f401a9d3b81dc546573214bbe2ad712c932aafcf0c045f189bbf09ca

6 years agoAvoid the use of function pointers in columnName(), as function pointers
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

6 years agoAdd test and fixes for SQLITE_OPEN_SHARED_SCHEMA mode.
dan [Wed, 20 Feb 2019 17:36:10 +0000 (17:36 +0000)] 
Add test and fixes for SQLITE_OPEN_SHARED_SCHEMA mode.

FossilOrigin-Name: 9a78d89c8427ae737d4798cc146e41ada7cb83f4e39dcf3ac9469c510ed37673

6 years agoProgress handler improvements:
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

6 years agoWhen an IN operator drives a query loop, mark it as "CODED" so that it
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

6 years agoEnhance the xBestIndex method on delta_parse() to return SQLITE_CONSTRAINT if
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

6 years agoAdd the delta_parse(DELTA) table-valued function to the fossildelta
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

6 years agoAdd the fossildelta.c extension in ext/misc with implementations of the Fossil
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

6 years agoImprove error messages caused by corrupt database schemas in OPEN_SHARED_SCHEMA mode.
dan [Tue, 19 Feb 2019 18:00:28 +0000 (18:00 +0000)] 
Improve error messages caused by corrupt database schemas in OPEN_SHARED_SCHEMA mode.

FossilOrigin-Name: 8ac75b8a880447ea67cf7646fc5af1379ce35861f396634119d7381e1dde404a

6 years agoFix a potential memory leak in RBU if the rbu_fossil_delta() SQL function is
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

6 years agoFix an assert() that might not be true if the database file is corrupt.
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

6 years agoNew assert() to verify the TF_HasprimaryKey flag.
drh [Tue, 19 Feb 2019 13:51:58 +0000 (13:51 +0000)] 
New assert() to verify the TF_HasprimaryKey flag.

FossilOrigin-Name: 0abace8a7aecca01c8677d07f3ec1bafb289ceffe5bcd60284701a7bf813f415

6 years agoAlways use the symbolic name SQLITE_IDXTYPE_PRIMARYKEY rather than a hard-coded
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

6 years agoEnsure that creating temp schema items does not cause an OPEN_SHARABLE_SCHEMA connect...
dan [Mon, 18 Feb 2019 18:16:05 +0000 (18:16 +0000)] 
Ensure that creating temp schema items does not cause an OPEN_SHARABLE_SCHEMA connection to load all schemas into memory.

FossilOrigin-Name: 88cbf54eee7845f9e40e6879fc38eb98a80e81c987b7edeb39f3058590003347

6 years agoFix an assert() that might not be true if the %_segdir table of FTS3 contains
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

6 years agoFix an assert() that might be false for a corrupt database.
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

6 years agoEnhance the virtual table in test_schemapool.c so that it can be used to check that...
dan [Fri, 15 Feb 2019 19:36:47 +0000 (19:36 +0000)] 
Enhance the virtual table in test_schemapool.c so that it can be used to check that SHARED_SCHEMA connections are not allocating and freeing schemas when they should not be.

FossilOrigin-Name: cb236cb98564b870317ba3e481a3c7d7f9769b0294a01246bcb724f04e1e7b10

6 years agoFix a problem with eponymous virtual tables and SHARED_SCHEMA databases. Also, after...
dan [Fri, 15 Feb 2019 19:00:41 +0000 (19:00 +0000)] 
Fix a problem with eponymous virtual tables and SHARED_SCHEMA databases. Also, after preparing statements that require all database schemas (REINDEX, ANALYZE, CREATE, DROP and some PRAGMA statements), do not allow the database connection to return more than one schema to each schema-pool.

FossilOrigin-Name: ecf6251ec0bb745a4ef9bad9f9ecd3babb687a3806fd96554b265313625270c5

6 years agoRevert the rearrangement of VDBE code in [219b39e14] so that vdbe.c matches trunk...
dan [Fri, 15 Feb 2019 11:54:57 +0000 (11:54 +0000)] 
Revert the rearrangement of VDBE code in [219b39e14] so that vdbe.c matches trunk. Since the new call to sqlite3Init() in OP_ParseSchema was removed, the rearrangement no longer provides any performance advantage.

FossilOrigin-Name: 03c4f00317233a34f29e1218786166d17837d47206532a29d2713093f01adea5