]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
7 years agoFix some comments in new code on this branch. No changes to code. fcntl_shm_read
dan [Fri, 3 Nov 2017 19:34:17 +0000 (19:34 +0000)] 
Fix some comments in new code on this branch. No changes to code.

FossilOrigin-Name: cbec1bfe4b9f0e9fc9849db623694902308ecc05f3898368201a9902c39a138f

7 years agoMerge latest trunk changes with this branch.
dan [Fri, 3 Nov 2017 17:51:37 +0000 (17:51 +0000)] 
Merge latest trunk changes with this branch.

FossilOrigin-Name: 585e0a09c5e1cd3d32e7b3fe228bd3eb674631f4074f517aad4c2600818a337a

7 years agoAllow readonly_shm connections to access the *-shm file using read() even if
dan [Fri, 3 Nov 2017 17:17:44 +0000 (17:17 +0000)] 
Allow readonly_shm connections to access the *-shm file using read() even if
it is unable to take a DMS lock.

FossilOrigin-Name: 9b0d5c4ff707f58b07ae28cfe0a7de62fbd22fa20678e446350d1472391bc0b9

7 years agoThe extensions functions in spellfix are all deterministic.
drh [Fri, 3 Nov 2017 08:46:48 +0000 (08:46 +0000)] 
The extensions functions in spellfix are all deterministic.

FossilOrigin-Name: 29ec855e13e0dcd675dcf12948b42f9e669d0a31c5d9efb95857888aba0beeee

7 years agoFix harmless compiler warnings.
mistachkin [Fri, 3 Nov 2017 06:45:37 +0000 (06:45 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: d088c5a3f1a803118cb67560fc35c11178e1b7e54c0e1511677559906b9da980

7 years agoFix test cases in wal2.test broken by the locking change in the previous
dan [Thu, 2 Nov 2017 18:57:46 +0000 (18:57 +0000)] 
Fix test cases in wal2.test broken by the locking change in the previous
commit.

FossilOrigin-Name: f569c3517234881f9425075aab65a32ffd0deb8e793f421a241d8cca881da33f

7 years agoAvoid locking shm-lock WAL_READ_LOCK(0) during recovery. Doing this allows
dan [Thu, 2 Nov 2017 11:12:03 +0000 (11:12 +0000)] 
Avoid locking shm-lock WAL_READ_LOCK(0) during recovery. Doing this allows
recovery to proceed while a readonly_shm connection in unlocked mode has an
ongoing read transaction.

FossilOrigin-Name: 5190d84a296b7cf716ef43bf7b6d4d351ef1a4d650de37dc01a5ab333da7c05d

7 years agoIf a readonly_shm connection cannot map the *-shm file because no other
dan [Wed, 1 Nov 2017 20:59:28 +0000 (20:59 +0000)] 
If a readonly_shm connection cannot map the *-shm file because no other
process is holding the DMS lock, have it read from the database file only,
ignoring any content in the wal file.

FossilOrigin-Name: ce5d13c2de69b73378637d4f7e109714f7cd17bf1d1ad995e0be442d517ed1b3

7 years agoFix harmless compiler warnings in sqlite3_checker.exe
drh [Wed, 1 Nov 2017 19:58:25 +0000 (19:58 +0000)] 
Fix harmless compiler warnings in sqlite3_checker.exe

FossilOrigin-Name: 491f867b377b3b9e00bd713fb07df00207673f9eca0e7d5b7af7974082c8e3f0

7 years agoMake sure the JSON1 extension is available to sqlite3_checker.exe
drh [Wed, 1 Nov 2017 19:50:11 +0000 (19:50 +0000)] 
Make sure the JSON1 extension is available to sqlite3_checker.exe

FossilOrigin-Name: a946a8ed46ba76b9a09bcbac58000d3d92db1f08a98f6cc12365be696d8921de

7 years agoAdd the checkindex.c extension and the sqlite3_checker utility program used
drh [Wed, 1 Nov 2017 19:44:19 +0000 (19:44 +0000)] 
Add the checkindex.c extension and the sqlite3_checker utility program used
for doing live validation of large databases.

FossilOrigin-Name: 0c5d18a01ec77f784d5434c5465ab8da9a0c365a58d4bd8551872ca90aaf42d6

7 years agoAdjust page numbers in the ext/repair/test/checkfreelist01.test module due to checkindex
drh [Wed, 1 Nov 2017 19:22:08 +0000 (19:22 +0000)] 
Adjust page numbers in the ext/repair/test/checkfreelist01.test module due to
the fact that the pending-byte page is no longer shifted down to a low-numbered
page but is in its rightful place.

FossilOrigin-Name: c1641affae31a4350727ce940c92499263880e672dc2c3f47e78e1c23ae99b78

7 years agoAdd the "sqlite3_imposter DB SCHEMA ROOT SQL" command to sqlite3_checker.
drh [Wed, 1 Nov 2017 18:31:34 +0000 (18:31 +0000)] 
Add the "sqlite3_imposter DB SCHEMA ROOT SQL" command to sqlite3_checker.
Use it to fix the checkindex01.test module.  There are still errors reported
by the checkfreelist01.test module.

FossilOrigin-Name: 0593a2ba74c886afe8a65cea1310025bb9777c320d093278044719210c9f6ba2

7 years agoMove the test scripts for checkfreelist and checkindex over into the
drh [Wed, 1 Nov 2017 18:05:32 +0000 (18:05 +0000)] 
Move the test scripts for checkfreelist and checkindex over into the
ext/repair/test directory.  Run them now using the sqlite3_checker utility
with the --test option.  Some tests are currently failing due to an
incomplete port.  This is an incremental check-in.

FossilOrigin-Name: 17f8d5e111a9fe5b074f946e23936ae5a2a7a8d8018bad4212660d8eb81c04b7

7 years agoMinor cleanup in checkindex.c. Add progress displays when checking a
drh [Wed, 1 Nov 2017 13:09:02 +0000 (13:09 +0000)] 
Minor cleanup in checkindex.c.  Add progress displays when checking a
single index in the top-level TCL script for sqlite3_checker.

FossilOrigin-Name: 3ca31cc3ffe1cce4a9961d29801eebd47f0093d1b53d0ea63386338a1d434fd3

7 years agoMerge latest trunk changes into this branch.
dan [Wed, 1 Nov 2017 07:06:41 +0000 (07:06 +0000)] 
Merge latest trunk changes into this branch.

FossilOrigin-Name: 985bfc992950625a45a7521bf4c8438cd0170de974dff976968be158ac5922a9

7 years agoFix a race condition in os_unix.c that might allow a client to use a *-shm
dan [Wed, 1 Nov 2017 06:59:19 +0000 (06:59 +0000)] 
Fix a race condition in os_unix.c that might allow a client to use a *-shm
file corrupted by a power failure if another client fails between locking the
*-shm file and truncating it to zero bytes.

FossilOrigin-Name: d655bfabd110999b6808073c334869c5b6a8334df56811df883e47e56d3f1cbb

7 years agoWhen sqlite3_checker finds a problem, show the row key as part of the error
drh [Wed, 1 Nov 2017 01:05:41 +0000 (01:05 +0000)] 
When sqlite3_checker finds a problem, show the row key as part of the error
message, not the row index number.

FossilOrigin-Name: 6ffe917d10e298cd80cd3a8c8c5116a2819145a176fb8cfccd5dbd88b10f39df

7 years agoActually perform index checks when running sqlite3_checker
drh [Wed, 1 Nov 2017 01:01:20 +0000 (01:01 +0000)] 
Actually perform index checks when running sqlite3_checker

FossilOrigin-Name: 54530020260ea9e4cfd021f5ffccb74d78c469b717dce377d3df6eaf84b63719

7 years agoBegin putting functionality into the sqlite3_checker binary.
drh [Wed, 1 Nov 2017 00:10:34 +0000 (00:10 +0000)] 
Begin putting functionality into the sqlite3_checker binary.

FossilOrigin-Name: e82e883b93128e4d1105a82abe8d1860c0a15505b6ca421e187b9bbbc2fdc659

7 years agoMerge all recent enhancements from trunk.
drh [Tue, 31 Oct 2017 18:15:36 +0000 (18:15 +0000)] 
Merge all recent enhancements from trunk.

FossilOrigin-Name: 24adf90ffb3ce9ff3c26efef0357f3a47312e8d11dc391ef2cc7e6873ef25895

7 years agoAdd the checkfreelist extension to the sqlite3_checker binary.
drh [Tue, 31 Oct 2017 18:09:40 +0000 (18:09 +0000)] 
Add the checkfreelist extension to the sqlite3_checker binary.

FossilOrigin-Name: 0c22f0d6d19e595c0577b0bad416522e71647f54d2eb5cda587e2ccc5f63dd6a

7 years agoFix an error in the Makefile.msc for the sqlite3_checker.exe target.
drh [Tue, 31 Oct 2017 15:55:48 +0000 (15:55 +0000)] 
Fix an error in the Makefile.msc for the sqlite3_checker.exe target.

FossilOrigin-Name: 49d0c6f1f62dccc3c4609760950f7b28bf94a9520996a80d10ff45096b0dd9a0

7 years agoAdd build infrastructure for the sqlite3_checker command-line utility.
drh [Tue, 31 Oct 2017 15:49:19 +0000 (15:49 +0000)] 
Add build infrastructure for the sqlite3_checker command-line utility.

FossilOrigin-Name: 429e3c3c85d6b677038be93567f93e69eb756442bb421bb02ee5d5d69290fa09

7 years agoUpdate the built procedures for the sqlite3_analyzer utility to allow it
drh [Tue, 31 Oct 2017 14:56:44 +0000 (14:56 +0000)] 
Update the built procedures for the sqlite3_analyzer utility to allow it
to be linked with an external sqlite3.o library.  Automatically detect a
missing dbstat extension and report the compile-time error.

FossilOrigin-Name: bb39744f4b2b25c10d293e85db7579e2a99c639fdab45e93d1de75952b68b2de

7 years agoFix redundancies in the makefiles that resulted from moving shell.c over
drh [Tue, 31 Oct 2017 12:20:43 +0000 (12:20 +0000)] 
Fix redundancies in the makefiles that resulted from moving shell.c over
to shell.c.in.

FossilOrigin-Name: bf09fa683ea42b7552bd2f29ab5371bd175f0055cf9a453e6f8c6f4408cd168f

7 years agoFix a minor comment typo. No changes to code.
drh [Tue, 31 Oct 2017 12:06:29 +0000 (12:06 +0000)] 
Fix a minor comment typo.  No changes to code.

FossilOrigin-Name: 5f79e6d9c3d44b0cc7cf805429006f7b29a69e8d863b58472172a56b29a7bb4e

7 years agoFix a couple of issues in incremental_index_check to do with CREATE INDEX
dan [Tue, 31 Oct 2017 12:01:01 +0000 (12:01 +0000)] 
Fix a couple of issues in incremental_index_check to do with CREATE INDEX
statements that contain embedded SQL comments.

FossilOrigin-Name: 2aef41815a9f1786ebdf09d8f6cfa59a8e7d733253eafeae24fa6e2a093bb1d8

7 years agoRemove unnecessary NEVER() and ALWAYS() conditionals.
drh [Tue, 31 Oct 2017 03:40:15 +0000 (03:40 +0000)] 
Remove unnecessary NEVER() and ALWAYS() conditionals.

FossilOrigin-Name: 1c80c75d4be2f3d44fb18bb4c07eccac2aba79b688215a741317dfc47dc7c2ce

7 years agoAdd the showshm utility program for printing out the shm header in a
drh [Mon, 30 Oct 2017 23:25:06 +0000 (23:25 +0000)] 
Add the showshm utility program for printing out the shm header in a
human-readable format.

FossilOrigin-Name: f6304fd142c998aba44f02c6018223af2630671b4791d750b70a59ab1adb8d6d

7 years agoClarify some comments describing the WAL index file. No changes to code.
drh [Mon, 30 Oct 2017 20:44:36 +0000 (20:44 +0000)] 
Clarify some comments describing the WAL index file.  No changes to code.

FossilOrigin-Name: 3be3aad9ecbe33060cfa9c6059b9206ed221d1fd72a69c355a9387f9f4e075e7

7 years agoAdd support for indexes on expressions to incremental_index_check.
dan [Mon, 30 Oct 2017 19:38:41 +0000 (19:38 +0000)] 
Add support for indexes on expressions to incremental_index_check.

FossilOrigin-Name: 8c1c701fdbe0d56ee7f6f7d7b583aafde9fa14acc93ee8ecaddc8bb311e2bf52

7 years agoImprove the performance of the LIKE operator by using strcspn() to aid
drh [Mon, 30 Oct 2017 18:49:11 +0000 (18:49 +0000)] 
Improve the performance of the LIKE operator by using strcspn() to aid
wildcard matching.

FossilOrigin-Name: 37284d4e8f501a37c582aa899419a3dfe0932e2a8e2ef2fdf59addd1d3cdacb4

7 years agoIn checkindex.c, use C code instead of SQL/group_concat() to compose various
dan [Mon, 30 Oct 2017 17:05:18 +0000 (17:05 +0000)] 
In checkindex.c, use C code instead of SQL/group_concat() to compose various
SQL clauses. This is to make it easier to support indexes on expressions.

FossilOrigin-Name: 940606b3af059eb3f79d71fec871ea88df8bce0349f5b33b79c147a85610e269

7 years agoFix an issue in incremental_index_check with indexes that use non-default
dan [Mon, 30 Oct 2017 08:04:38 +0000 (08:04 +0000)] 
Fix an issue in incremental_index_check with indexes that use non-default
collation sequences.

FossilOrigin-Name: 3ebb2351e2650d263029d2c0042683cba3529c9d3f76b5f994f2e737b84d3f67

7 years agoIncrease the version number for the next release - which is still months
drh [Sat, 28 Oct 2017 20:54:51 +0000 (20:54 +0000)] 
Increase the version number for the next release - which is still months
away but there have been significant query planner enhancements since the
previous release.

FossilOrigin-Name: 457eedfac0ff652912c4cfb89682acb3d2e372ef00745139adf8492a0b61fa09

7 years agoReactivate query flattening when the result set of the outer query has
drh [Sat, 28 Oct 2017 20:51:54 +0000 (20:51 +0000)] 
Reactivate query flattening when the result set of the outer query has
no function calls or subqueries.  This is a partial reversal of
check-in [c9104b59].  Co-routines are still preferred if the outer
query has a complex result set, but for simple results sets, query flattening
is used.  Check-in [4464f40ccd7] is completely backed
out due to this change.

FossilOrigin-Name: d17ef7d153058f7332b3fec421ade42c67e26b06f36fc1629e6799537a5afc5f

7 years agoFix "after" parameter handling in the incremental_index_check code.
dan [Sat, 28 Oct 2017 20:31:25 +0000 (20:31 +0000)] 
Fix "after" parameter handling in the incremental_index_check code.

FossilOrigin-Name: c40c3c62e996044f31ca49ffc2edb2cc0320e69956f7ee6fe3e9012200e0d9a0

7 years agoAdd test cases from OSSFuzz to prevent a regression in co-routine
drh [Sat, 28 Oct 2017 12:20:09 +0000 (12:20 +0000)] 
Add test cases from OSSFuzz to prevent a regression in co-routine
processing.

FossilOrigin-Name: 689743d8e3fa81e65dcb067bbf61bab09210b3b39586c865c00d9f1d6692daf2

7 years agoAdd the start of the "incremental_index_check" virtual table in
dan [Fri, 27 Oct 2017 20:53:16 +0000 (20:53 +0000)] 
Add the start of the "incremental_index_check" virtual table in
ext/repair/checkindex.c. For incremental verification of index contents.

FossilOrigin-Name: d5b9dada471358a2864727759648b763bf6890fc2521fac53c0d8216017d39b7

7 years agoFix a Pager ref-count leak in the sqlite_dbpage virtual table.
drh [Fri, 27 Oct 2017 18:24:11 +0000 (18:24 +0000)] 
Fix a Pager ref-count leak in the sqlite_dbpage virtual table.

FossilOrigin-Name: c063bb04da77d6847e4e254b6bb939c860e781382e34ddff8e0454d9db7552e2

7 years agoHandle the Ctrl-C event for the shell on Win32.
mistachkin [Fri, 27 Oct 2017 17:09:44 +0000 (17:09 +0000)] 
Handle the Ctrl-C event for the shell on Win32.

FossilOrigin-Name: c8aaf37117ed4a23bbd15dc481788735efcb77bff98be423eca3521c0a9270de

7 years agoAdditional test case demonstrating the ability to access structure elements
drh [Fri, 27 Oct 2017 12:27:25 +0000 (12:27 +0000)] 
Additional test case demonstrating the ability to access structure elements
using quoted names in the JSON1 extension.

FossilOrigin-Name: 8d3cc928a8f0c7b2616c5c75af9d3a50bd4f0fe8e4ccab545ab8648cbfbb4b7f

7 years agoEnhance the min/max optimization so that it works with indexes on
drh [Thu, 26 Oct 2017 20:04:28 +0000 (20:04 +0000)] 
Enhance the min/max optimization so that it works with indexes on
expressions.

FossilOrigin-Name: 6caec9082b3ad6d3f89f6291084a8f5c80f296630e2e94bc764389ac1a47a833

7 years agoExtra ".selecttrace" output following aggregate analysis. No changes to
drh [Thu, 26 Oct 2017 18:43:19 +0000 (18:43 +0000)] 
Extra ".selecttrace" output following aggregate analysis.  No changes to
production builds.

FossilOrigin-Name: 6fbf74ab3189b9cb20cf7cc8db0226eb935a8eab477cc83b8390492fcf2f1f76

7 years agoFix an error in the previous commit on this branch.
dan [Thu, 26 Oct 2017 17:34:50 +0000 (17:34 +0000)] 
Fix an error in the previous commit on this branch.

FossilOrigin-Name: f71dfee06ce1e0eee760cfca19482bdec7729d6c7d28f10f4cfd21e1f92a04b0

7 years agoInstead of extra locks, use F_GETLK to ensure that readonly_shm clients cannot
dan [Thu, 26 Oct 2017 17:05:22 +0000 (17:05 +0000)] 
Instead of extra locks, use F_GETLK to ensure that readonly_shm clients cannot
connect to a wal-mode database if there are no writers.

FossilOrigin-Name: 5492f457dc7cc5c416de4b4e61e84bd2f10b4e6ce54011b7a60feb47f629c923

7 years agoFix a bug causing "make amalgmation-autoconf" to create an invalid package if
dan [Thu, 26 Oct 2017 15:21:56 +0000 (15:21 +0000)] 
Fix a bug causing "make amalgmation-autoconf" to create an invalid package if
either the current or parent directory contains a file named install.sh or
install-sh.

FossilOrigin-Name: e1faa7859451ee969f0ce02d2d4e4c54d0e2e018b37b8faf690e6b87593cce7d

7 years agoUse extra locks to prevent a readonly_shm=1 process from connecting to a
drh [Wed, 25 Oct 2017 23:28:13 +0000 (23:28 +0000)] 
Use extra locks to prevent a readonly_shm=1 process from connecting to a
WAL-mode database if there are no writers.

FossilOrigin-Name: 35d979082b4ab36d6a8975f8f15a50e69f46b72a173164d2b353377b9f758bd8

7 years agoFix the sqlite3_dbpage virtual table so that it can read and write from
drh [Wed, 25 Oct 2017 19:18:33 +0000 (19:18 +0000)] 
Fix the sqlite3_dbpage virtual table so that it can read and write from
any attached database.

FossilOrigin-Name: d4f893e1ae53a0445939ea2920af87d21dd36270494381028b2eaebe5c188f18

7 years agoAdd tests cases and fix minor issues in the rtreecheck() function.
dan [Wed, 25 Oct 2017 18:17:24 +0000 (18:17 +0000)] 
Add tests cases and fix minor issues in the rtreecheck() function.

FossilOrigin-Name: d6130cd226c0ca95e02f0cbabfdc27071acdcf83e0d0cb0eaa47d992479ed9a1

7 years agoAdd SQL scalar function rtreecheck() to the rtree module. For running checks to ensur...
mistachkin [Wed, 25 Oct 2017 18:01:58 +0000 (18:01 +0000)] 
Add SQL scalar function rtreecheck() to the rtree module. For running checks to ensure the shadow tables used by an rtree virtual table are internally consistent.

FossilOrigin-Name: 7d26498063bbc4525976ace698fafcf161d939908f4ffb36d7a4df8fb1bce1fb

7 years agoFix compilation issue (C99-ism) seen with MSVC. rtree-integrity-check
mistachkin [Wed, 25 Oct 2017 18:00:58 +0000 (18:00 +0000)] 
Fix compilation issue (C99-ism) seen with MSVC.

FossilOrigin-Name: 61870b42b033189509b244c76d28932f7a447b887ffe04a3c81461148e54cfb5

7 years agoAdd SQL scalar function rtreecheck() to the rtree module. For running checks
dan [Wed, 25 Oct 2017 16:38:34 +0000 (16:38 +0000)] 
Add SQL scalar function rtreecheck() to the rtree module. For running checks
to ensure the shadow tables used by an rtree virtual table are internally
consistent.

FossilOrigin-Name: dde0bb3eab1316c3247b1755594527ca70955aab4ad4907190731f7ec092b327

7 years agoDo not reference the ioctl() system call in the unix backend unless it
drh [Wed, 25 Oct 2017 16:14:12 +0000 (16:14 +0000)] 
Do not reference the ioctl() system call in the unix backend unless it
is actually needed by the Batch Atomic Write extension.  This should allow
the build to work on VxWorks.

FossilOrigin-Name: adfa7ed2de3e833fff65935455e71236a59602aaf7b97ece667ab300dca9f673

7 years agoAdd the sqlite_btreeinfo eponymous-only table for introspecting the schema
drh [Wed, 25 Oct 2017 01:34:24 +0000 (01:34 +0000)] 
Add the sqlite_btreeinfo eponymous-only table for introspecting the schema
and estimating the sizes of various btrees.

FossilOrigin-Name: 1e30f4772db1e1086096f72d32e87c552923be8b264aa13cf822fae754eb083d

7 years agoForce the autoconf makefile for MSVC to always use the 'find.exe' included with Windows.
mistachkin [Tue, 24 Oct 2017 21:17:12 +0000 (21:17 +0000)] 
Force the autoconf makefile for MSVC to always use the 'find.exe' included with Windows.

FossilOrigin-Name: b76bffd332585e8412a0a994ae6dee79a83213d8b709d7f858c5c05678ab0887

7 years agoMerge all of the fixes from the 3.21.0 release.
drh [Tue, 24 Oct 2017 19:05:26 +0000 (19:05 +0000)] 
Merge all of the fixes from the 3.21.0 release.

FossilOrigin-Name: 5ab662b443df17c5ebdadc0bdac2f447c5c7e86f7a32a6943bb4ac8605879441

7 years agoVersion 3.21.0 branch-3.21 version-3.21.0
drh [Tue, 24 Oct 2017 18:55:49 +0000 (18:55 +0000)] 
Version 3.21.0

FossilOrigin-Name: 1a584e499906b5c87ec7d43d4abce641fdf017c42125b083109bc77c4de48827

7 years agoFix a problem in the incr-blob code causing a new cursor to be opened for
dan [Tue, 24 Oct 2017 17:28:25 +0000 (17:28 +0000)] 
Fix a problem in the incr-blob code causing a new cursor to be opened for
every sqlite3_blob_reopen() call.

FossilOrigin-Name: 41ef34a1f0650c50cacb203665cd9d57db53a49c979bf0d5a78937517f763a2c

7 years agoOn the amalgamation package, enable the sqlite_dbpage virtual table so that
drh [Mon, 23 Oct 2017 21:24:38 +0000 (21:24 +0000)] 
On the amalgamation package, enable the sqlite_dbpage virtual table so that
the .dbinfo command works in the CLI.

FossilOrigin-Name: 54b90b4f27f6f213825e881929fa04a6282e5b909a12e881366f9aef6872dcb6

7 years agoMerge trunk fixes to swarmvtabfault.test and the lsm extension into this
dan [Mon, 23 Oct 2017 20:20:42 +0000 (20:20 +0000)] 
Merge trunk fixes to swarmvtabfault.test and the lsm extension into this
branch. No changes to core SQLite code.

FossilOrigin-Name: f632b87002a7ee9be569aacb5ce85bb7e9c86b7d77bb8d1bf8b55eb5be4ecc77

7 years agoIn the 'swarmvtabfault' test module, make sure to close the database handle prior...
mistachkin [Mon, 23 Oct 2017 20:17:19 +0000 (20:17 +0000)] 
In the 'swarmvtabfault' test module, make sure to close the database handle prior to raising an error from the 'not found' callback script.

FossilOrigin-Name: f317037b31b19007e30bb41c54506d9d241a6d590c2b31e2ddda10d4f6e7605b

7 years agoCleanup a test database file prior to using it.
mistachkin [Mon, 23 Oct 2017 17:36:52 +0000 (17:36 +0000)] 
Cleanup a test database file prior to using it.

FossilOrigin-Name: e1bf5e1d06dbe573671c6b5472b45f5bfa3cf82374f70a76b4c80815bf15a29b

7 years agoUpdates to test procedures so that they all work with encryption. No changes
drh [Mon, 23 Oct 2017 16:34:07 +0000 (16:34 +0000)] 
Updates to test procedures so that they all work with encryption.  No changes
to the core SQLite code.

FossilOrigin-Name: 0481330756e861de8e1eb7136e7dca2f333b2a82377949d2e0eba401af7d73dd

7 years agoAvoid passing a NULL value as the second argument to memcpy().
dan [Mon, 23 Oct 2017 16:03:54 +0000 (16:03 +0000)] 
Avoid passing a NULL value as the second argument to memcpy().

FossilOrigin-Name: 58e5bb491bc0e28412ca188ba8fbe94adc67b5b1e9d7c112c36011400528d577

7 years agoIn lsm (not SQLite), avoid opening the *-shm file before the database file is
dan [Mon, 23 Oct 2017 11:48:00 +0000 (11:48 +0000)] 
In lsm (not SQLite), avoid opening the *-shm file before the database file is
locked. Otherwise, there is a race condition whereby a connection in another
process process may unlink() it while it is still in use.

FossilOrigin-Name: c8b8b9b573665c2b4d278bb679a48ac407374b8d860f0c3f4d50a303043464ad

7 years agoFix minor test script problems revealed by releasetest.tcl.
dan [Mon, 23 Oct 2017 07:53:00 +0000 (07:53 +0000)] 
Fix minor test script problems revealed by releasetest.tcl.

FossilOrigin-Name: c333ee7e9677bda1dad8e80cf94755350bfe20bc0754577442727b6f807ad831

7 years agoFix minor test script problems revealed by releasetest.tcl.
dan [Mon, 23 Oct 2017 07:52:07 +0000 (07:52 +0000)] 
Fix minor test script problems revealed by releasetest.tcl.

FossilOrigin-Name: 15e87d9bc81812fb9de86f9870389217dddb9f9c4d48e42acefce2d35ba293f1

7 years agoFix test cases in dbpage.test so that they work with
dan [Sun, 22 Oct 2017 08:03:39 +0000 (08:03 +0000)] 
Fix test cases in dbpage.test so that they work with
SQLITE_DEFAULT_AUTOVACUUM=1 builds.

FossilOrigin-Name: 9474f061d634721ca462bbad375270b8b39dea44011df3e1aac72021e8bf70fc

7 years agoFix test cases in dbpage.test so that they work with
dan [Sun, 22 Oct 2017 08:02:56 +0000 (08:02 +0000)] 
Fix test cases in dbpage.test so that they work with
SQLITE_DEFAULT_AUTOVACUUM=1 builds.

FossilOrigin-Name: 0fcf1e61ef2b6c1fb8f4846f973d2d427598ffbc80dbc49e56e71513b194bae7

7 years agoAvoid running tests that use sqlite_dbpage with SQLITE_OMIT_VIRTUAL_TABLE
dan [Sun, 22 Oct 2017 07:58:09 +0000 (07:58 +0000)] 
Avoid running tests that use sqlite_dbpage with SQLITE_OMIT_VIRTUAL_TABLE
builds.

FossilOrigin-Name: 6dde8d6154c5b4d36c7aad17d6eaafdb13c66a09d17d4c79f52b2417846ea0b5

7 years agoAvoid running tests that use sqlite_dbpage with SQLITE_OMIT_VIRTUAL_TABLE
dan [Sun, 22 Oct 2017 07:57:29 +0000 (07:57 +0000)] 
Avoid running tests that use sqlite_dbpage with SQLITE_OMIT_VIRTUAL_TABLE
builds.

FossilOrigin-Name: 7bd20a20a0f422765a6e469d1a1b67b95c4a441931688e04a2b1b491a5238528

7 years agoMerge all the enhancements and bug fixes from trunk, since none are
drh [Sat, 21 Oct 2017 17:17:17 +0000 (17:17 +0000)] 
Merge all the enhancements and bug fixes from trunk, since none are
destablizing.  Call this the second beta.

FossilOrigin-Name: fb3ee1b7cac09e4950e4f48b44c277e4f391cb6c8f069644732d2389ca653da4

7 years agoCatch and avoid a 16-bit integer overflow on the number of columns in a
drh [Sat, 21 Oct 2017 14:17:31 +0000 (14:17 +0000)] 
Catch and avoid a 16-bit integer overflow on the number of columns in a
common table expression.  This fixes a problem found by OSS-Fuzz.  The
test case is in TH3.

FossilOrigin-Name: 6ee8cb6ae5fd076ec226bb184b5690ba29f9df8cfaef47aaf13336873b4c1f6c

7 years agoRemove unnecessary "#if SQLITE_MAX_COLUMN". SQLITE_MAX_COLUMN is always
drh [Sat, 21 Oct 2017 13:29:26 +0000 (13:29 +0000)] 
Remove unnecessary "#if SQLITE_MAX_COLUMN".  SQLITE_MAX_COLUMN is always
defined.

FossilOrigin-Name: 6ec82acde81a46a75ed5931fc7dd813f2523753106ad7b8f0b544b9da9824d5a

7 years agoTake extra care to avoid an OOB read caused by a corrupt b-tree page.
dan [Thu, 19 Oct 2017 15:17:38 +0000 (15:17 +0000)] 
Take extra care to avoid an OOB read caused by a corrupt b-tree page.

FossilOrigin-Name: 04925dee41a21ffca9a9f9df27d8165431668c42c2b33d08b077fdb28011170b

7 years agoAvoid using snprintf as a member variable of a struct in sqlite3ext.h. This
dan [Wed, 18 Oct 2017 15:02:01 +0000 (15:02 +0000)] 
Avoid using snprintf as a member variable of a struct in sqlite3ext.h. This
causes problems on OSX. Similar to fix [a1fd3aa8].

FossilOrigin-Name: cd0471ca9f75e7c8be74536ff4ec85b5d70f0d7994b680ed5f45b9f12a46cf46

7 years agoAvoid using snprintf as a member variable of a struct in sqlite3ext.h. This sqlite3ext-fix
dan [Wed, 18 Oct 2017 14:29:36 +0000 (14:29 +0000)] 
Avoid using snprintf as a member variable of a struct in sqlite3ext.h. This
causes problems on OSX.

FossilOrigin-Name: b066d5a69f5391b2cef04b4e288f7d33e63a4ff54325b7e9fbd6aa42529c2f3c

7 years agoThe source code files generated for the 'sqlite3-all.c' target should not have Window...
mistachkin [Tue, 17 Oct 2017 18:33:22 +0000 (18:33 +0000)] 
The source code files generated for the 'sqlite3-all.c' target should not have Windows line-endings.

FossilOrigin-Name: 6a08c43431be18a08bdcbf33d327513f72fff72dac5d02103dab8399d8c3d668

7 years agoFix the ".check" command of the command-line shell to return 1 (error)
drh [Tue, 17 Oct 2017 13:44:46 +0000 (13:44 +0000)] 
Fix the ".check" command of the command-line shell to return 1 (error)
rather than 2 (exit) on a test failure.

FossilOrigin-Name: e2af0cc6ef5fafc785b8b73f51995901f50822972dcfb632494e22402596186d

7 years agoImproved comments, including a typo fix, on the whereLoopCheaperProperSubset()
drh [Mon, 16 Oct 2017 11:50:12 +0000 (11:50 +0000)] 
Improved comments, including a typo fix, on the whereLoopCheaperProperSubset()
function.

FossilOrigin-Name: 700a3c694438ca6cca185d0097f24799e82717ef38cb47bd83666c80f0e3cb2f

7 years agoIn the query planner, do not consider index X to be a proper subset of
drh [Sun, 15 Oct 2017 22:16:25 +0000 (22:16 +0000)] 
In the query planner, do not consider index X to be a proper subset of
index Y if X is a covering index but Y is not.

FossilOrigin-Name: ee31c04353cd75ea4bbadee2994c30d3808b696a4f680187502d104902988a5d

7 years agoUpdates to the Makefiles for MSVC. Cherrypick of [ac8786f3f9f35cb6].
mistachkin [Sat, 14 Oct 2017 19:58:37 +0000 (19:58 +0000)] 
Updates to the Makefiles for MSVC.  Cherrypick of [ac8786f3f9f35cb6].

FossilOrigin-Name: 92eb721faefcdd8396072722d3e4d7ca41b860b306e4bb0f0191dde8f30d0add

7 years agoUpdates to the Makefiles for MSVC.
mistachkin [Sat, 14 Oct 2017 19:54:06 +0000 (19:54 +0000)] 
Updates to the Makefiles for MSVC.

FossilOrigin-Name: ac8786f3f9f35cb6fa72c65f5ca41cc6659f4702cd29ab0c9dcf04d3d1189090

7 years agoImproved ability to generate stand-alone program using TCL and SQLite by
drh [Fri, 13 Oct 2017 20:14:06 +0000 (20:14 +0000)] 
Improved ability to generate stand-alone program using TCL and SQLite by
compiling with -DTCLSH_INIT_PROC=name to cause the TCL interpreter to be
initialized using procedure name().  Both sqlite3_analyzer and testfixture
are now built this way.

FossilOrigin-Name: d65d1f297ddb07b799ff5b2e560575fc59a6fa74c752269cc85ab84348fb7da4

7 years agoAdd the tcl/mkccode.tcl script used to construct a single C-language source
drh [Fri, 13 Oct 2017 18:58:55 +0000 (18:58 +0000)] 
Add the tcl/mkccode.tcl script used to construct a single C-language source
fiel for programs that combine C-code, SQLite, and TCL.  Use this script to
construct the sqlite3_analyzer program.

FossilOrigin-Name: 298a3fddec459c4fd2b840bd363239dc627f1dda90e2d5e478846cb895a8ad82

7 years agoMove a bunch of unrelated test code out of tclsqlite.c and into
drh [Fri, 13 Oct 2017 16:19:48 +0000 (16:19 +0000)] 
Move a bunch of unrelated test code out of tclsqlite.c and into
test_*.c files.  There is still some test code in tclsqlite.c, but the amount
is greatly reduced.

FossilOrigin-Name: a9c4bc88fcf985a0bea14ed5381239cfb697886287998da04a10230b6858ab5d

7 years agoThe db_use_legacy_prepare command no longer exists. Use the undocumented tclsqlite-cleanup
drh [Fri, 13 Oct 2017 16:01:36 +0000 (16:01 +0000)] 
The db_use_legacy_prepare command no longer exists.  Use the undocumented
-use-legacy-prepare option to DB version instead.

FossilOrigin-Name: ea2fa9ab9b3c97e001c1a2f3e24f3554b544070d5f915b9827eb07eb5ea8f00b

7 years agoWhen compiling with SQLITE_TEST, extra options are available on the
drh [Fri, 13 Oct 2017 15:56:26 +0000 (15:56 +0000)] 
When compiling with SQLITE_TEST, extra options are available on the
"DB version" command for controlling the internal state of the SqliteDb
object, for testing purposes.

FossilOrigin-Name: bf86478d9c6b899d6441e80cf9d17b58731e5d354e31b11f0d58a798f6fab896

7 years agoMove some test logic out of tclsqlite.c and into auxiliary test_*.c files.
drh [Fri, 13 Oct 2017 15:06:06 +0000 (15:06 +0000)] 
Move some test logic out of tclsqlite.c and into auxiliary test_*.c files.
This is a work in progress.

FossilOrigin-Name: 95b7687fed75b32a62a0c62d397f4f543bf40095e13c22e15938d5dcfd71fcdf

7 years agoAdd the sqlite_dbpage virtual table (enabled using SQLITE_ENABLE_DBPAGE_VTAB).
drh [Thu, 12 Oct 2017 20:37:20 +0000 (20:37 +0000)] 
Add the sqlite_dbpage virtual table (enabled using SQLITE_ENABLE_DBPAGE_VTAB).
Make that virtual table and dbstat available to the command-line shell.

FossilOrigin-Name: eaeeb09d4aa1dbccdd2488af8461e2a8c8a53d92c63fd56330be041ad72a9e4a

7 years agoCreate the new ext/repair folder and move checkfreelist.c there. Remove
drh [Thu, 12 Oct 2017 19:50:28 +0000 (19:50 +0000)] 
Create the new ext/repair folder and move checkfreelist.c there.  Remove
checkfreelist.c from the command-line shell (undoing check-in [48418f2e]).

FossilOrigin-Name: dfdebd12bfc80b91d234ab328cb6106d5d37ccb79b58e36e556c1a8af640a4ab

7 years agoFix a harmless compiler warning about an unused parameter.
drh [Thu, 12 Oct 2017 14:18:38 +0000 (14:18 +0000)] 
Fix a harmless compiler warning about an unused parameter.

FossilOrigin-Name: de20133d44773f0b3b8869db5c1cb2a90f0426a54c7f40d12a930003343ad8e0

7 years agoFix the "snapshot-tarball" makefile target, which was broken by the shell.c
drh [Thu, 12 Oct 2017 14:13:20 +0000 (14:13 +0000)] 
Fix the "snapshot-tarball" makefile target, which was broken by the shell.c
change of check-in [36acc0a9].

FossilOrigin-Name: c643ace24c1936f9d2b16bd6d1d13cf08070dfe5b094208b638924e904915339

7 years agoMerge fixes from trunk. All changes are on makefiles and test scripts.
drh [Thu, 12 Oct 2017 14:03:09 +0000 (14:03 +0000)] 
Merge fixes from trunk.  All changes are on makefiles and test scripts.
There are no core code changes.

FossilOrigin-Name: 1fb87a0c6e4db1f8bf51d552d9af1252544b7d7bd2dd80f78870f3b4fd347bad

7 years agoThe src/shell.c file is now generated from src/shell.c.in, so remove shell.c
drh [Thu, 12 Oct 2017 13:47:48 +0000 (13:47 +0000)] 
The src/shell.c file is now generated from src/shell.c.in, so remove shell.c
from version control and update the makefiles to build it automatically.

FossilOrigin-Name: 36acc0a97fdcc6f54f29c68c4e131702f69c3e59e58237ff4e5c647928699956

7 years agoMerge fixes from the 3.21 branch.
drh [Thu, 12 Oct 2017 13:21:56 +0000 (13:21 +0000)] 
Merge fixes from the 3.21 branch.

FossilOrigin-Name: 292921692c8919d29f0a67d03ca953d5c1c4900d8c8567cceab27513732be598

7 years agoFix a potential crash that may follow an OOM or other system error in the shell tool.
dan [Thu, 12 Oct 2017 11:33:13 +0000 (11:33 +0000)] 
Fix a potential crash that may follow an OOM or other system error in the shell tool.

FossilOrigin-Name: c36761e1a05c15c48468dd793faf06636f5dcfd3b4314074c4d9c9eac5c2695c

7 years agoUpdate some test cases to work with SQLITE_OMIT_VIRTUALTABLE and
dan [Thu, 12 Oct 2017 11:13:34 +0000 (11:13 +0000)] 
Update some test cases to work with SQLITE_OMIT_VIRTUALTABLE and
DEFAULT_AUTOVACUUM builds.

FossilOrigin-Name: 4b68f424ca9b5d4b0e77065a4e60ec0f70dcce0d01053fd7a6b2ecae9d3a5967