]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
6 years agoSupport Tcl libraries with a suffix. msvcTcl
mistachkin [Sat, 23 Mar 2019 00:38:52 +0000 (00:38 +0000)] 
Support Tcl libraries with a suffix.

FossilOrigin-Name: 8d0153996a3685a9b109a01fea0cba76e4296b010e96fc0db43fa6fde54d1965

6 years agoFurther enhancements and fixes.
mistachkin [Fri, 22 Mar 2019 22:34:16 +0000 (22:34 +0000)] 
Further enhancements and fixes.

FossilOrigin-Name: c9f1972e10b0cdb5e351a776a64c60acf404dcfbe2a8a28c0a273bbe851e677f

6 years agoAttempt to detect when the MSVC linker requires the /MACHINE argument.
mistachkin [Fri, 22 Mar 2019 16:52:17 +0000 (16:52 +0000)] 
Attempt to detect when the MSVC linker requires the /MACHINE argument.

FossilOrigin-Name: 3e355846217785c30f518d31a5541172c4213c0d8559c3f8638a047cd745c98e

6 years agoSync up the autoconf makefile for MSVC.
mistachkin [Fri, 22 Mar 2019 01:26:39 +0000 (01:26 +0000)] 
Sync up the autoconf makefile for MSVC.

FossilOrigin-Name: ecbae90aef63ed6d07d474416900db36ff6dd9c2ed1bbb5f4d883b6838156be1

6 years agoSupport building the Tcl bindings DLL using MSVC.
mistachkin [Fri, 22 Mar 2019 01:25:16 +0000 (01:25 +0000)] 
Support building the Tcl bindings DLL using MSVC.

FossilOrigin-Name: 908c4c891fa7472b43d232bde7d3789105c5f5b2cfaf6652bf6d5829236933cf

6 years agoAdd an extra test for database corruption to defragmentPage().
dan [Thu, 21 Mar 2019 21:18:36 +0000 (21:18 +0000)] 
Add an extra test for database corruption to defragmentPage().

FossilOrigin-Name: 80e951fce3e5aaa224c8dba6449832d2efabcdc24e86eb6b7833f85cf08ecc00

6 years agoIn the CLI, give better error messages if something goes wrong
drh [Wed, 20 Mar 2019 18:22:51 +0000 (18:22 +0000)] 
In the CLI, give better error messages if something goes wrong
with the ".dbinfo" command.

FossilOrigin-Name: 3649a77b79001ea6c5defe882f9934521b20b9d36aab26d03b5d42006c7fa228

6 years agoFix a potential dangling pointer deference in an ALTER TABLE run on a schema that...
dan [Wed, 20 Mar 2019 16:58:21 +0000 (16:58 +0000)] 
Fix a potential dangling pointer deference in an ALTER TABLE run on a schema that contains constructs of the form "PRIMARY KEY(column COLLATE collation)".

FossilOrigin-Name: b9e2393cf201e3fc24519c5ae65d0a5953147d78884e53d44a7958747b4a7e13

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 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 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 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 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 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 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 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 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 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 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 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 agoImproved oversized cell detection when updating ptrmap pages in
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

6 years agoEnsure that the nProgressLimit variable is always initialized in
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

6 years agoEnhancement the progress callback mechanism so that the progress callback
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

6 years agoFurther performance improvements to btreeInitPage().
drh [Tue, 12 Feb 2019 16:58:26 +0000 (16:58 +0000)] 
Further performance improvements to btreeInitPage().

FossilOrigin-Name: 93ae382e97c23c90312739481e47ef7f9bc475a8382c063a2de2986c950c0aec

6 years agoIncrease the version number to 3.28.0 for the next release cycle.
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

6 years agoRegister the "vfsstat" virtual table immediately when loading the vfsstat.c
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

6 years agoNew test cases in test/fuzzdata8.db.
drh [Tue, 12 Feb 2019 01:28:24 +0000 (01:28 +0000)] 
New test cases in test/fuzzdata8.db.

FossilOrigin-Name: ab2356f580384e4b40d128fc04fd6bc4dfcf50109df77d05d59adcc20f339066

6 years agoDefer computing the number of bytes of free space on a btree page until that
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

6 years agoChange an assert() into a NEVER(), since the condition is difficult to prove deferred-free-space
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

6 years agoDo not invoke btreeComputeFreeSpace() when not necessary.
drh [Mon, 11 Feb 2019 22:50:01 +0000 (22:50 +0000)] 
Do not invoke btreeComputeFreeSpace() when not necessary.

FossilOrigin-Name: f11b0ed47402034378ded2c60b82841b81cd1319cdb72d1ef052faef29a5294d