]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
9 years agoOmit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface. dev
drh [Mon, 9 May 2016 19:58:56 +0000 (19:58 +0000)] 
Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface.

FossilOrigin-Name: da94a6e0ebacad8f235dcd653a25474327f26137

9 years agoUpdate a comment in fts5.h. No changes to code.
dan [Mon, 9 May 2016 19:03:42 +0000 (19:03 +0000)] 
Update a comment in fts5.h. No changes to code.

FossilOrigin-Name: 14e53d0e2f62d82ae1d64a72fd9711548e3bf5ea

9 years agoFix the FTS5 xQueryPhrase() API function so that it recognizes column filters.
dan [Mon, 9 May 2016 18:05:44 +0000 (18:05 +0000)] 
Fix the FTS5 xQueryPhrase() API function so that it recognizes column filters.

FossilOrigin-Name: 48505cde05d74748454dc135d4ec25954ecf020e

9 years agoMake the sqlite3DeleteTable() routine smaller and faster.
drh [Sat, 7 May 2016 12:15:34 +0000 (12:15 +0000)] 
Make the sqlite3DeleteTable() routine smaller and faster.

FossilOrigin-Name: d75140b851a34a5eb66041e294e421628efbc5ba

9 years agoFix typo in the intpkey-17.2 test.
drh [Sat, 7 May 2016 12:15:15 +0000 (12:15 +0000)] 
Fix typo in the intpkey-17.2 test.

FossilOrigin-Name: a45fda657d987f5c923d141584841a6c62dfb504

9 years agoSimplification to the logic used to decide between OP_Seek and OP_NotExists.
drh [Fri, 6 May 2016 20:23:12 +0000 (20:23 +0000)] 
Simplification to the logic used to decide between OP_Seek and OP_NotExists.
Use OP_NotExists for both DELETE and UPDATE.

FossilOrigin-Name: 3a695263183303e3f64eb2320752d0fdef53eaf2

9 years agoCorrections to comments on the whereScanInit() interface.
drh [Fri, 6 May 2016 18:47:23 +0000 (18:47 +0000)] 
Corrections to comments on the whereScanInit() interface.

FossilOrigin-Name: ab7ab415d19524f6c3901e474d3a154f55d28530

9 years agoFor DELETE operations, make sure that seeks on the main table are not
drh [Fri, 6 May 2016 16:49:54 +0000 (16:49 +0000)] 
For DELETE operations, make sure that seeks on the main table are not
deferred, since if they are and none of the indexes reference columns of
the table, the seek might never occur until the OP_Delete opcode, which is
too late.  Fix for ticket [16c9801ceba49].

FossilOrigin-Name: 93a2bace5704f7ecad56541a6b3e06a88f7f393f

9 years agoFix an error in main.mk causing testfixture to use individual fts5 source code files...
dan [Fri, 6 May 2016 16:30:34 +0000 (16:30 +0000)] 
Fix an error in main.mk causing testfixture to use individual fts5 source code files instead of fts5.c.

FossilOrigin-Name: 933a1c818c1d1ccec8680e1ba87f2cbe37cc9f7d

9 years agoIn the WHERE generator, when building code for a DELETE operation, make sure ticket-16c9801ce
drh [Fri, 6 May 2016 16:06:59 +0000 (16:06 +0000)] 
In the WHERE generator, when building code for a DELETE operation, make sure
that seeks to the main table are not deferred.
This is a better fix for the [16c9801ceba49] bug than the previous.

FossilOrigin-Name: 150dd09ebd7b17234a79e1811a0fae8b0a7a40d5

9 years agoFix a bug in sqlite_analyzer causing it report (slightly) incorrect values for the...
dan [Fri, 6 May 2016 15:16:02 +0000 (15:16 +0000)] 
Fix a bug in sqlite_analyzer causing it report (slightly) incorrect values for the number of entries in indexes or WITHOUT ROWID tables.

FossilOrigin-Name: dc37750d4e87d0c529785adceeebd838b8f8591d

9 years agoDo not scan indexes that have the integer primary key as their left-most
drh [Fri, 6 May 2016 11:31:10 +0000 (11:31 +0000)] 
Do not scan indexes that have the integer primary key as their left-most
column.  This fixes the crash of ticket [16c9801ceba] but it seems like
the wrong fix.  More investigation needed.

FossilOrigin-Name: 50312273ffaf1bd4bfdc73865fa0b19166968429

9 years agoRenumber internal constants in the printf() implemention for a small
drh [Thu, 5 May 2016 11:53:12 +0000 (11:53 +0000)] 
Renumber internal constants in the printf() implemention for a small
performance improvement.

FossilOrigin-Name: 69d11447f4b1a8c536c3b6573d2a3419da870412

9 years agoDisable the session extension API if SQLITE_ENABLE_SESSION is not defined.
drh [Wed, 4 May 2016 21:06:21 +0000 (21:06 +0000)] 
Disable the session extension API if SQLITE_ENABLE_SESSION is not defined.

FossilOrigin-Name: 71af9ac165ac02272f4886f69bd9ab4770fd7bb6

9 years agoFix typo in comment. No changes to code.
mistachkin [Wed, 4 May 2016 19:04:20 +0000 (19:04 +0000)] 
Fix typo in comment.  No changes to code.

FossilOrigin-Name: 6c43ba1c8753a4029e127078652f265c408a01c0

9 years agoOnly disable the one-pass DELETE optimization if the WHERE clause contains
drh [Wed, 4 May 2016 14:45:30 +0000 (14:45 +0000)] 
Only disable the one-pass DELETE optimization if the WHERE clause contains
a correlated subquery.  Uncorrelated subqueries are allowed.  This is a
refinement of check-in [3f221f592a9a1] that is the fix for
ticket [dc6ebeda9396087].

FossilOrigin-Name: aae389692a2ed2cc92151d51fb2cd5a16921c469

9 years agoPortability enhancements to the configure script on the amalgamation tarball.
drh [Wed, 4 May 2016 14:20:15 +0000 (14:20 +0000)] 
Portability enhancements to the configure script on the amalgamation tarball.

FossilOrigin-Name: 7184c4b8869ffc00944abdd8d2c521cb11ea5824

9 years agoDisable the PagerDontWrite() optimization for temp tables. It can cause database...
dan [Wed, 4 May 2016 11:28:03 +0000 (11:28 +0000)] 
Disable the PagerDontWrite() optimization for temp tables. It can cause database corruption if a page passed to PagerDontWrite() is dirty at the start of a transaction that is subsequently rolled back.

FossilOrigin-Name: 6341ab2ffef298ca16b323358afbea4a4c1fb0e1

9 years agoMinor style tweaks in the MSVC makefile.
mistachkin [Tue, 3 May 2016 19:40:54 +0000 (19:40 +0000)] 
Minor style tweaks in the MSVC makefile.

FossilOrigin-Name: 1b43358f8979c4f18519e824e0d5f6ef2250107c

9 years agoThe session extension is disabled by default. To enable it using
drh [Tue, 3 May 2016 14:57:07 +0000 (14:57 +0000)] 
The session extension is disabled by default.  To enable it using
--enable-session on ./configure on unix and add SESSION=1 to the nmake
on Windows.  Or add -DSQLITE_ENABLE_SESSION and
-DSQLITE_ENABLE_PREUPDATE_HOOK to build manually.

FossilOrigin-Name: bcaa650e8796984b275eceba0ed477f360295d01

9 years agoTurn the session extension off by default. Enable using --enable-session on session-make
drh [Tue, 3 May 2016 13:14:18 +0000 (13:14 +0000)] 
Turn the session extension off by default.  Enable using --enable-session on
configure scripts, or using the SESSION=1 argument to nmake on Windows.

FossilOrigin-Name: e462cde2a50c39cc2f8d8624aada19280b8226eb

9 years agoAvoid left-shifts of signed integers.
drh [Tue, 3 May 2016 00:04:55 +0000 (00:04 +0000)] 
Avoid left-shifts of signed integers.

FossilOrigin-Name: 0715ce164333e27671efbec8796f238df98cc287

9 years agoRemove some randomness from test script temptable2.test.
dan [Mon, 2 May 2016 19:05:05 +0000 (19:05 +0000)] 
Remove some randomness from test script temptable2.test.

FossilOrigin-Name: 5830cf72e9e870830d088399f1ccb03ed6522582

9 years agoFix a test case in temptable2.test so that it works on systems that
drh [Mon, 2 May 2016 16:59:49 +0000 (16:59 +0000)] 
Fix a test case in temptable2.test so that it works on systems that
lack a coherient cache (ex: OpenBSD) and thus do not support the
"PRAGMA mmap_size" command.

FossilOrigin-Name: 088cf83872f6477c3b297c58d6f8a5def7025daf

9 years agoFix harmless LLVM compiler warnings in the srcck1.c utility program used
drh [Mon, 2 May 2016 13:57:19 +0000 (13:57 +0000)] 
Fix harmless LLVM compiler warnings in the srcck1.c utility program used
during the build process.

FossilOrigin-Name: e4af967533f290862dfba1d9ef44d4c9ddd8a01b

9 years agoDisable the multi-row one-pass DELETE optimization when the WHERE clause
drh [Mon, 2 May 2016 12:18:56 +0000 (12:18 +0000)] 
Disable the multi-row one-pass DELETE optimization when the WHERE clause
contains a subquery.  Fix for ticket [dc6ebeda9396087].

FossilOrigin-Name: 3f221f592a9a19009076e568566c59801cd3fc32

9 years agoImprovements to the way the LIKE optimization is implemented, resulting in
drh [Mon, 2 May 2016 10:25:42 +0000 (10:25 +0000)] 
Improvements to the way the LIKE optimization is implemented, resulting in
slightly smaller and faster code that is easier to test.

FossilOrigin-Name: 54c63b329288729031f45b7778752552cd90e226

9 years agoChange the way tester.tcl handes $argv so that in "permutations.test <permutation...
dan [Sat, 30 Apr 2016 19:23:10 +0000 (19:23 +0000)] 
Change the way tester.tcl handes $argv so that in "permutations.test <permutation> <filename>" <filename> may be the name of any file in the test/ directory.

FossilOrigin-Name: 820c57bb24ad3d8663ca512e4022268b940bb2ee

10 years agoRemove an unnecessary branch from the OP_String8 opcode.
drh [Sat, 30 Apr 2016 18:10:34 +0000 (18:10 +0000)] 
Remove an unnecessary branch from the OP_String8 opcode.

FossilOrigin-Name: 459a0b456da69112605b37adc9af27d79e35a4d7

10 years agoMore bug fixes to Lemon identified by Kelvin Sherlock. None of these
drh [Sat, 30 Apr 2016 17:19:30 +0000 (17:19 +0000)] 
More bug fixes to Lemon identified by Kelvin Sherlock.  None of these
have any impact on SQLite.

FossilOrigin-Name: 762bdc55f8878ee2ef65af2165a8e7fdbddf0160

10 years agoSimplifications to the OP_Halt opcode implementation.
drh [Sat, 30 Apr 2016 02:59:15 +0000 (02:59 +0000)] 
Simplifications to the OP_Halt opcode implementation.

FossilOrigin-Name: daf4630f96f13133664908045e279da9d5a40bb5

10 years agoFix the temporary directory search algorithm for unix so that it fails
drh [Fri, 29 Apr 2016 20:30:56 +0000 (20:30 +0000)] 
Fix the temporary directory search algorithm for unix so that it fails
gracefully even if all candidate directories are inaccessible.  This fixes
a bug that was introduced by check-in [9b8fec60d8e].

FossilOrigin-Name: 614bb709d34e11488da88861243023cc5de4b409

10 years agoPostpone I/O associated with TEMP files for as long as possible, with the
drh [Fri, 29 Apr 2016 15:39:48 +0000 (15:39 +0000)] 
Postpone I/O associated with TEMP files for as long as possible, with the
hope that the I/O can ultimately be avoided completely.

FossilOrigin-Name: 9d0a5ae00273686ea35b43bc2ffaa8775c176363

10 years agoFix test script temptable2.test so that it works with the "inmemory_journal" and... tempfiles-25
dan [Fri, 29 Apr 2016 14:12:48 +0000 (14:12 +0000)] 
Fix test script temptable2.test so that it works with the "inmemory_journal" and "journaltest" permutations.

FossilOrigin-Name: b7bec7f2d3d08d0c14f77654be2c5cedf1619e58

10 years agoMerge latest trunk changes, including test case fixes, with this branch.
dan [Fri, 29 Apr 2016 11:35:28 +0000 (11:35 +0000)] 
Merge latest trunk changes, including test case fixes, with this branch.

FossilOrigin-Name: 99794aca7b6cb40f08ce4db9889a989fc597eac9

10 years agoModify the permutations.test script so as to set any permutation specific configurati...
dan [Fri, 29 Apr 2016 11:33:58 +0000 (11:33 +0000)] 
Modify the permutations.test script so as to set any permutation specific configuration values before running each individual test script. Fix a mostly harmless buffer overread in the sessions module.

FossilOrigin-Name: 4cbd50245440e714935399a5c285cf32d8bfc424

10 years agoLemon bug fix: Do not merge action routines unless their destructors are
drh [Fri, 29 Apr 2016 11:28:35 +0000 (11:28 +0000)] 
Lemon bug fix:  Do not merge action routines unless their destructors are
also identical.  Problem and suggested fix reported on the mailing list
by Kelvin Sherlock.

FossilOrigin-Name: 4792d6dbba6857f74d27332dcc1468e39c767c71

10 years agoFix an almost entirely harmless buffer overread in the sessions module. permutations-fix
dan [Fri, 29 Apr 2016 10:13:22 +0000 (10:13 +0000)] 
Fix an almost entirely harmless buffer overread in the sessions module.

FossilOrigin-Name: 89b0ee3351381f7bc666cb206f77a56f2e0d4a0e

10 years agoSome optimization comments added to vdbe.c. No functional changes to code.
drh [Fri, 29 Apr 2016 02:55:05 +0000 (02:55 +0000)] 
Some optimization comments added to vdbe.c.  No functional changes to code.

FossilOrigin-Name: e7c22e3bffce63f3b47fa3683be8c00c42b2a7d3

10 years agoFurther simplifications and improved commentting on the rowset.c module,
drh [Thu, 28 Apr 2016 22:29:31 +0000 (22:29 +0000)] 
Further simplifications and improved commentting on the rowset.c module,
including several optimization comments.

FossilOrigin-Name: 9f15a520deb9f1d4ecaa3bfff82bd57ef122aadb

10 years agoComment changes only: Add several optimization marks in rowset.c. Add
drh [Thu, 28 Apr 2016 20:11:12 +0000 (20:11 +0000)] 
Comment changes only:  Add several optimization marks in rowset.c.  Add
a header comment that explains what the various special comments mean.

FossilOrigin-Name: 8cdbe89ac6c22d632f677eb293111b3dbae7d6c1

10 years agoFix typo in comment. No changes to code.
mistachkin [Thu, 28 Apr 2016 19:23:10 +0000 (19:23 +0000)] 
Fix typo in comment.  No changes to code.

FossilOrigin-Name: 9f6f17b5c97c9576c340173d068485fdbfd53253

10 years agoRearrange some code in the RowSet logic for clarity of presentation, while
drh [Thu, 28 Apr 2016 18:53:08 +0000 (18:53 +0000)] 
Rearrange some code in the RowSet logic for clarity of presentation, while
adding an /*OPTIMIZATION-IF-TRUE*/ comment.  It should operate identically.

FossilOrigin-Name: 5748e64376c1c2be5154a632d1527cfebbb9ec74

10 years agoMerge latest changes from trunk with this branch.
dan [Thu, 28 Apr 2016 14:59:05 +0000 (14:59 +0000)] 
Merge latest changes from trunk with this branch.

FossilOrigin-Name: 45467ee49872f495d5276cf830f10c3cf4ac8e3c

10 years agoAvoid running sessionfault.test and sessionfault2.test as part of the "inmemory_journ...
dan [Thu, 28 Apr 2016 14:54:54 +0000 (14:54 +0000)] 
Avoid running sessionfault.test and sessionfault2.test as part of the "inmemory_journal" permutation.

FossilOrigin-Name: 5973d3bf2e5aa979ccc9a4a3a0eb08b67098b499

10 years agoUse comments to mark several branches as optimizations. No changes to code.
drh [Thu, 28 Apr 2016 14:15:12 +0000 (14:15 +0000)] 
Use comments to mark several branches as optimizations.  No changes to code.

FossilOrigin-Name: 33e627472780b872716c504f2d585cc057c390a5

10 years agoEnsure that quota.test deletes the directory named "test.db" that it creates.
dan [Thu, 28 Apr 2016 09:53:14 +0000 (09:53 +0000)] 
Ensure that quota.test deletes the directory named "test.db" that it creates.

FossilOrigin-Name: 045edd4b17c6b76079ac90773c035d8c1f8d525d

10 years agoRemove an unnecessary conditional from the sqlite3DecOrHexToI64() routine.
drh [Thu, 28 Apr 2016 03:52:18 +0000 (03:52 +0000)] 
Remove an unnecessary conditional from the sqlite3DecOrHexToI64() routine.

FossilOrigin-Name: fcf85bfe50b254e825ee63a4cd0aa0b333b06eed

10 years agoChange the sqlite3Atoi64() routine so that it returns failure if not all of
drh [Thu, 28 Apr 2016 00:32:16 +0000 (00:32 +0000)] 
Change the sqlite3Atoi64() routine so that it returns failure if not all of
the input characters are consumed, even if it consumed all characters up to
the first 0x00.  This has no impact on external APIs as far as I can tell.

FossilOrigin-Name: 46d4ffff3bd33d7e901e76cfac1cbde38d4f61d0

10 years agoModify the permutations.test script so as to set any permutation specific configurati...
dan [Wed, 27 Apr 2016 18:54:49 +0000 (18:54 +0000)] 
Modify the permutations.test script so as to set any permutation specific configuration values before running each individual test script.

FossilOrigin-Name: 2662d8fef791f7b8b3b14f9c27dfedec84620dee

10 years agoMore simplification of the sqlite3AtoF() routine. Add special comments
drh [Wed, 27 Apr 2016 15:24:13 +0000 (15:24 +0000)] 
More simplification of the sqlite3AtoF() routine.  Add special comments
to indicate branches that are for optimization purposes only and that give
the correct answer even if always or never taken.

FossilOrigin-Name: 0065fe97cb8e5076acae1bf1560fd2f69dab9014

10 years agoFix a couple of test script problems on this branch. Both related to the fact that...
dan [Wed, 27 Apr 2016 11:24:42 +0000 (11:24 +0000)] 
Fix a couple of test script problems on this branch. Both related to the fact that temp database page sizes can no longer be changed by VACUUM or the backup API after the temp db is populated.

FossilOrigin-Name: 6bb5aa2be2a6c5ca66a98a9387b2845507a6bdd2

10 years agoRemove still more unnecessary branches from sqlite3AtoF().
drh [Wed, 27 Apr 2016 02:35:03 +0000 (02:35 +0000)] 
Remove still more unnecessary branches from sqlite3AtoF().

FossilOrigin-Name: 3adfe9f3e6ce7cc09fcb570d9b65e830a96cac15

10 years agoFurther simplifications to sqlite3AtoF() to remove unneeded branches.
drh [Tue, 26 Apr 2016 23:14:45 +0000 (23:14 +0000)] 
Further simplifications to sqlite3AtoF() to remove unneeded branches.

FossilOrigin-Name: dd69e53cb077873171af5312c633ca185595bf31

10 years agoRemove an unnecessary line from the sqlite3AtoF() routine.
drh [Tue, 26 Apr 2016 21:02:53 +0000 (21:02 +0000)] 
Remove an unnecessary line from the sqlite3AtoF() routine.

FossilOrigin-Name: a9d007494cfe30a26dca5352655dc7702351476e

10 years agoThe pcache and the built-in VFSes should not use mutexes when
drh [Tue, 26 Apr 2016 18:58:54 +0000 (18:58 +0000)] 
The pcache and the built-in VFSes should not use mutexes when
SQLITE_CONFIG_SINGLETHREAD is set.

FossilOrigin-Name: 12418b100196abbfbfb85e0ab4bb6b1cbf335df7

10 years agoFix an issue in temptable2.test preventing it from working with SQLITE_DEFAULT_AUTOVA...
dan [Tue, 26 Apr 2016 17:10:03 +0000 (17:10 +0000)] 
Fix an issue in temptable2.test preventing it from working with SQLITE_DEFAULT_AUTOVACUUM=1 builds.

FossilOrigin-Name: e790aac02e4b427b4891b514a050699d159b03b1

10 years agoMerge the checksymbols fix from trunk into this branch.
dan [Tue, 26 Apr 2016 16:03:58 +0000 (16:03 +0000)] 
Merge the checksymbols fix from trunk into this branch.

FossilOrigin-Name: 04911cee0cd5467ee99744b774d692219e5e1425

10 years agoFix the "checksymbols" target in Makefile.in to be able to deal with the
drh [Tue, 26 Apr 2016 13:13:53 +0000 (13:13 +0000)] 
Fix the "checksymbols" target in Makefile.in to be able to deal with the
sqlite3changegroup family of interfaces.

FossilOrigin-Name: d819bfbd46dc7f065d2a3ab0ef9f8322d8394e11

10 years agoAdd an sqlite3FaultSim() all to make it easier to simulate IO errors in
drh [Mon, 25 Apr 2016 22:39:42 +0000 (22:39 +0000)] 
Add an sqlite3FaultSim() all to make it easier to simulate IO errors in
a VACUUM commit.

FossilOrigin-Name: 8bfde416c51f4e087275aebf652a73985515e810

10 years agoRemove an obsolete comment from the pager. No code changes.
drh [Mon, 25 Apr 2016 19:28:34 +0000 (19:28 +0000)] 
Remove an obsolete comment from the pager.  No code changes.

FossilOrigin-Name: 36f97ca8874a03ac8699f44fe0da95b0be507cc7

10 years agoUpdate the RBU vacuum code so that databases that use custom collation sequences...
dan [Mon, 25 Apr 2016 19:25:12 +0000 (19:25 +0000)] 
Update the RBU vacuum code so that databases that use custom collation sequences can be vacuumed.

FossilOrigin-Name: 7dd48c10790a7b9c4165214399c261a0aa701297

10 years agoFix some unreachable branches in the pager.
drh [Mon, 25 Apr 2016 19:20:56 +0000 (19:20 +0000)] 
Fix some unreachable branches in the pager.

FossilOrigin-Name: 3ae44770fdecc40c8097f1de0b504f36585a2232

10 years agoMerge bug fix from trunk.
drh [Mon, 25 Apr 2016 15:03:49 +0000 (15:03 +0000)] 
Merge bug fix from trunk.

FossilOrigin-Name: a905d5e08de3f3c60b667d840b5995911372647d

10 years agoWhen checking for the WHERE-clause push-down optimization, verify that
drh [Mon, 25 Apr 2016 02:20:10 +0000 (02:20 +0000)] 
When checking for the WHERE-clause push-down optimization, verify that
all terms of the compound inner SELECT are non-aggregate, not just the
last term.  Fix for ticket [f7f8c97e97597].

FossilOrigin-Name: ec215f94ac9748c0acd82af0cc9e7a92249462f9

10 years agoFix a typo in the Makefile.
mistachkin [Mon, 25 Apr 2016 01:43:24 +0000 (01:43 +0000)] 
Fix a typo in the Makefile.

FossilOrigin-Name: d0a579b35105810821bbfec6b50ecfebac7a17ee

10 years agoMerge the temporary directory search algorithm fix from trunk.
drh [Sat, 23 Apr 2016 21:16:55 +0000 (21:16 +0000)] 
Merge the temporary directory search algorithm fix from trunk.

FossilOrigin-Name: 9b8fec60d8e576cd09e1d075a59bfad1c6169d7a

10 years agoFix the fix to the temporary directory search algorithm so that it continues
drh [Sat, 23 Apr 2016 20:59:23 +0000 (20:59 +0000)] 
Fix the fix to the temporary directory search algorithm so that it continues
to return "." as a fallback if that directory has the correct permissions.

FossilOrigin-Name: b38fe522cfc971b37ca04e7b63a92bbb6e0b01e1

10 years agoMerge the latest trunk changes.
drh [Sat, 23 Apr 2016 19:55:59 +0000 (19:55 +0000)] 
Merge the latest trunk changes.

FossilOrigin-Name: 84da122dd6e70ed603fea781dca204ae2f668c53

10 years agoFix a problem with mixing temp-files and mmap-mode.
dan [Sat, 23 Apr 2016 17:24:16 +0000 (17:24 +0000)] 
Fix a problem with mixing temp-files and mmap-mode.

FossilOrigin-Name: c80c5c62b2e2c5e47e0839f8e2d5b6341ca4a249

10 years agoFix some problems to do with temp-file databases and recovering from IO and SQLITE_FU...
dan [Sat, 23 Apr 2016 14:55:28 +0000 (14:55 +0000)] 
Fix some problems to do with temp-file databases and recovering from IO and SQLITE_FULL errors.

FossilOrigin-Name: 3d61da4a76af8c9c2a293df085f3ed5a7bb447df

10 years agoChange the temporary directory search algorithm on unix so that directories
drh [Thu, 21 Apr 2016 23:37:24 +0000 (23:37 +0000)] 
Change the temporary directory search algorithm on unix so that directories
with only -wx permission are allowed.  And do not allow "." to be returned if
it lacks -wx permission.

FossilOrigin-Name: 67985761aa93fb613b87d340e75371fa55b0f778

10 years agoAdd the sqlite3rbu_vacuum() API, to create an RBU handle that can be used to rebuild...
dan [Thu, 21 Apr 2016 18:13:37 +0000 (18:13 +0000)] 
Add the sqlite3rbu_vacuum() API, to create an RBU handle that can be used to rebuild a database in the same way as the VACUUM command.

FossilOrigin-Name: bd4a6f8313eb71399a7141ebf7f2617d7b1464c3

10 years agoIf a call to sqlite3rbu_close() on an rbu handle opened by sqlite3rbu_vacuum() return... rbu-vacuum
dan [Thu, 21 Apr 2016 16:44:38 +0000 (16:44 +0000)] 
If a call to sqlite3rbu_close() on an rbu handle opened by sqlite3rbu_vacuum() returns other than SQLITE_OK, delete the contents of the rbu_state table. This ensures that if an RBU vacuum operation either completes successfully or encounters an error, the next call to sqlite3rbu_vacuum() with the same parameters starts a new RBU vacuum operation.

FossilOrigin-Name: 6e4ac704f51bdd1e0b16814f6a45ab29f26400ee

10 years agoFix a problem in rbu vacuum on tables with a large sqlite_master table.
dan [Thu, 21 Apr 2016 15:26:26 +0000 (15:26 +0000)] 
Fix a problem in rbu vacuum on tables with a large sqlite_master table.

FossilOrigin-Name: 23eac52e987996afe8db847921aef434cebd25b5

10 years agoAdd a function prototype in order to fix a compiler warning.
drh [Thu, 21 Apr 2016 15:24:46 +0000 (15:24 +0000)] 
Add a function prototype in order to fix a compiler warning.

FossilOrigin-Name: 49aec9718d61c9f12aed96f530128666c3b01c81

10 years agoMerge updates from trunk.
drh [Thu, 21 Apr 2016 15:03:37 +0000 (15:03 +0000)] 
Merge updates from trunk.

FossilOrigin-Name: cc28106e5c196c0a9678fbbd06f6afd49271a8e8

10 years agoAdd the SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION method for enabling
drh [Thu, 21 Apr 2016 02:27:56 +0000 (02:27 +0000)] 
Add the SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION method for enabling
sqlite3_load_extension() while leaving the load_extension() SQL function
disabled.

FossilOrigin-Name: c4f165c460c4244ed434107feac005efa3c386cf

10 years agoTest cases for SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION. load-ext-security
drh [Thu, 21 Apr 2016 01:58:21 +0000 (01:58 +0000)] 
Test cases for SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION.

FossilOrigin-Name: debafa5efd37ac60e030d0963ce8e7c4f51a0f10

10 years agoRevert sqlite3_enable_load_extension() to its original long-standing behavior.
drh [Thu, 21 Apr 2016 01:30:09 +0000 (01:30 +0000)] 
Revert sqlite3_enable_load_extension() to its original long-standing behavior.
Add SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION which will enable only the C-API and
leave the SQL function disabled.

FossilOrigin-Name: b2ae5bfa32e608625bd177907596df3dbc2212e1

10 years agoAdd a documentation comment for sqlite3rbu_vacuum() to sqlite3rbu.h.
dan [Wed, 20 Apr 2016 20:08:58 +0000 (20:08 +0000)] 
Add a documentation comment for sqlite3rbu_vacuum() to sqlite3rbu.h.

FossilOrigin-Name: da5c753ddac3cbfdf03710a82f5fd9fa2e29e819

10 years agoWhen an error occurs while transitioning out of WAL mode, make sure the
drh [Wed, 20 Apr 2016 19:30:47 +0000 (19:30 +0000)] 
When an error occurs while transitioning out of WAL mode, make sure the
locking state is not left at EXCLUSIVE.

FossilOrigin-Name: 3340f086510b08ce5b42a8781f1df51bf7c27701

10 years agoFix a locking race condition in Windows 10 that can occur when two or more
drh [Wed, 20 Apr 2016 18:31:27 +0000 (18:31 +0000)] 
Fix a locking race condition in Windows 10 that can occur when two or more
processes attempt to recover the same hot journal at the same time.

FossilOrigin-Name: 38a4e9d92887898b779493c71e4500f777a4e2e7

10 years agoAdd fault injection tests for rbu vacuum. Fix some problems revealed by the same.
dan [Wed, 20 Apr 2016 17:47:52 +0000 (17:47 +0000)] 
Add fault injection tests for rbu vacuum. Fix some problems revealed by the same.

FossilOrigin-Name: f042fdd1ea7febec7228e51efc2b0281805e196a

10 years ago<b>API Change:</b> Modify sqlite3_enable_load_extension() so that it only
drh [Wed, 20 Apr 2016 00:30:05 +0000 (00:30 +0000)] 
<b>API Change:</b> Modify sqlite3_enable_load_extension() so that it only
enables/disables the load_extension() SQL function, and leaves the C-APIs
enabled at all times.  In this way, applications can enable extension loading
for the C interface without having to expose that capability to the SQL.

FossilOrigin-Name: edb454e45ae008e051e2f48d704a855b0c3e4be9

10 years agoUpdates to ensure the values of PRAGMA settings like "page_size", "auto_vacuum",...
dan [Tue, 19 Apr 2016 19:27:09 +0000 (19:27 +0000)] 
Updates to ensure the values of PRAGMA settings like "page_size", "auto_vacuum", "user_version" and "application_id" are not lost when a database is RBU vacuumed.

FossilOrigin-Name: 74ffea76b8c9ddd7699ce6ca77dce005bd7922ac

10 years agoWhen an RBU vacuum is started on a db identified using a URI filename, pass the same...
dan [Tue, 19 Apr 2016 17:11:05 +0000 (17:11 +0000)] 
When an RBU vacuum is started on a db identified using a URI filename, pass the same URI parameters when creating the new version of the db. This ensures that RBU vacuum works with password protected databases.

FossilOrigin-Name: ca021ba88106500f347ed65199a4832bc9eb5ef8

10 years agoDetect attempts to use rbu vacuum on a wal mode database (not allowed). And attempts...
dan [Tue, 19 Apr 2016 16:20:24 +0000 (16:20 +0000)] 
Detect attempts to use rbu vacuum on a wal mode database (not allowed). And attempts to write to a database in the middle of an rbu vacuum (which prevents the vacuum from resuming).

FossilOrigin-Name: 00b2f4b09ffca5156e43c4db2bfe0b2c979c49b0

10 years agoAnother fix to rbu vacuum for a zipvfs case.
dan [Mon, 18 Apr 2016 21:00:01 +0000 (21:00 +0000)] 
Another fix to rbu vacuum for a zipvfs case.

FossilOrigin-Name: 29407d70e44ad9ea5ddaf1011d0e212b602a3ddf

10 years agoFix some zipvfs related problems in RBU vacuum.
dan [Mon, 18 Apr 2016 18:18:18 +0000 (18:18 +0000)] 
Fix some zipvfs related problems in RBU vacuum.

FossilOrigin-Name: d76f4aaa4caab713460421bd27365a82ac986c20

10 years agoRemove quotes from identifiers used as datatype names in a CREATE TABLE
drh [Mon, 18 Apr 2016 15:46:14 +0000 (15:46 +0000)] 
Remove quotes from identifiers used as datatype names in a CREATE TABLE
statement.  Fix for ticket [7d7525cb01b68]

FossilOrigin-Name: eba27d4d17a76884292667d570d542e580ee3e77

10 years agoMerge recent trunk changes.
drh [Mon, 18 Apr 2016 13:36:17 +0000 (13:36 +0000)] 
Merge recent trunk changes.

FossilOrigin-Name: d9768de502e34da42f3ad955947c23da50f57bce

10 years agosqlite3PCachePerecentDirty() should return 0 if the pcache is empty.
drh [Mon, 18 Apr 2016 13:30:50 +0000 (13:30 +0000)] 
sqlite3PCachePerecentDirty() should return 0 if the pcache is empty.

FossilOrigin-Name: 85f3d80eb7319754792eef76996b2c740a2b0073

10 years agoThe last parameter to pread64() and pwrite64() should be off64_t, not off_t.
drh [Mon, 18 Apr 2016 13:09:55 +0000 (13:09 +0000)] 
The last parameter to pread64() and pwrite64() should be off64_t, not off_t.

FossilOrigin-Name: 3a7d72986fabe9434ff5bd02c93169314f072b23

10 years agoAdd the -vacuum switch to the "rbu" demonstration program.
dan [Mon, 18 Apr 2016 09:17:05 +0000 (09:17 +0000)] 
Add the -vacuum switch to the "rbu" demonstration program.

FossilOrigin-Name: 9a0078a538c7e73a009960347b8953c5af99fefd

10 years agoChanges so that rbu vacuum works with zipvfs databases.
dan [Sat, 16 Apr 2016 19:02:53 +0000 (19:02 +0000)] 
Changes so that rbu vacuum works with zipvfs databases.

FossilOrigin-Name: bae7f875f476f6e01112751cb404fef42ba0a01c

10 years agoAvoid creating any extra files ("<target>-vacuum") when running an RBU vacuum. Ensure...
dan [Sat, 16 Apr 2016 17:53:14 +0000 (17:53 +0000)] 
Avoid creating any extra files ("<target>-vacuum") when running an RBU vacuum. Ensure that the OAL file created is "<target>-oal", not "<target>-vacuum-oal".

FossilOrigin-Name: dc19aacc7e99213edca9bb57b5c11a8a1ac99113

10 years agoFix a couple of assert() statements that were failing with OOM error tests.
dan [Sat, 16 Apr 2016 15:03:20 +0000 (15:03 +0000)] 
Fix a couple of assert() statements that were failing with OOM error tests.

FossilOrigin-Name: 8eb3d7d8360530f364bbbebac53e1f0e6753d924

10 years agoAdd the experimental sqlite3rbu_vacuum() API function. For opening an RBU handle...
dan [Fri, 15 Apr 2016 20:46:41 +0000 (20:46 +0000)] 
Add the experimental sqlite3rbu_vacuum() API function. For opening an RBU handle that rebuilds a database from scratch.

FossilOrigin-Name: 0216b48f28042ad86711e00802c2da8ce9be3044

10 years agoCLI enhancement: Add the ".eqp full" option, that shows both the EXPLAIN
drh [Fri, 15 Apr 2016 15:03:27 +0000 (15:03 +0000)] 
CLI enhancement:  Add the ".eqp full" option, that shows both the EXPLAIN
QUERY PLAN and the EXPLAIN output for each command run.  Also disable
any ".wheretrace" and ".selecttrace" when showing EQP output.

FossilOrigin-Name: 3e217d6265ecd16db783bed7ce1d9d0f9c4828bb