Commit Graph

16177 Commits

Author SHA1 Message Date
drh 2f55511dfa Remove an unnecessary branch from the OP_String8 opcode.
FossilOrigin-Name: 459a0b456da69112605b37adc9af27d79e35a4d7
2016-04-30 18:10:34 +00:00
drh 2e55b04da4 More bug fixes to Lemon identified by Kelvin Sherlock. None of these
have any impact on SQLite.

FossilOrigin-Name: 762bdc55f8878ee2ef65af2165a8e7fdbddf0160
2016-04-30 17:19:30 +00:00
drh 99f5de771f Simplifications to the OP_Halt opcode implementation.
FossilOrigin-Name: daf4630f96f13133664908045e279da9d5a40bb5
2016-04-30 02:59:15 +00:00
drh 2aab11fa5a 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
2016-04-29 20:30:56 +00:00
drh 54606bbc14 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
2016-04-29 15:39:48 +00:00
dan 4a030c6430 Fix test script temptable2.test so that it works with the "inmemory_journal" and "journaltest" permutations.
FossilOrigin-Name: b7bec7f2d3d08d0c14f77654be2c5cedf1619e58
2016-04-29 14:12:48 +00:00
dan 20ae3264b8 Merge latest trunk changes, including test case fixes, with this branch.
FossilOrigin-Name: 99794aca7b6cb40f08ce4db9889a989fc597eac9
2016-04-29 11:35:28 +00:00
dan 288327ed81 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
2016-04-29 11:33:58 +00:00
drh afb8cd977d 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
2016-04-29 11:28:35 +00:00
dan 14faa061fd Fix an almost entirely harmless buffer overread in the sessions module.
FossilOrigin-Name: 89b0ee3351381f7bc666cb206f77a56f2e0d4a0e
2016-04-29 10:13:22 +00:00
drh a3fa140fb4 Some optimization comments added to vdbe.c. No functional changes to code.
FossilOrigin-Name: e7c22e3bffce63f3b47fa3683be8c00c42b2a7d3
2016-04-29 02:55:05 +00:00
drh aa50271a24 Further simplifications and improved commentting on the rowset.c module,
including several optimization comments.

FossilOrigin-Name: 9f15a520deb9f1d4ecaa3bfff82bd57ef122aadb
2016-04-28 22:29:31 +00:00
drh 396794f0ee 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
2016-04-28 20:11:12 +00:00
mistachkin 2075fb08e6 Fix typo in comment. No changes to code.
FossilOrigin-Name: 9f6f17b5c97c9576c340173d068485fdbfd53253
2016-04-28 19:23:10 +00:00
drh cb6d66becc 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
2016-04-28 18:53:08 +00:00
dan 8443533178 Merge latest changes from trunk with this branch.
FossilOrigin-Name: 45467ee49872f495d5276cf830f10c3cf4ac8e3c
2016-04-28 14:59:05 +00:00
dan 14cee38be8 Avoid running sessionfault.test and sessionfault2.test as part of the "inmemory_journal" permutation.
FossilOrigin-Name: 5973d3bf2e5aa979ccc9a4a3a0eb08b67098b499
2016-04-28 14:54:54 +00:00
drh 75ab50ce8f Use comments to mark several branches as optimizations. No changes to code.
FossilOrigin-Name: 33e627472780b872716c504f2d585cc057c390a5
2016-04-28 14:15:12 +00:00
dan 3104c4d6f4 Ensure that quota.test deletes the directory named "test.db" that it creates.
FossilOrigin-Name: 045edd4b17c6b76079ac90773c035d8c1f8d525d
2016-04-28 09:53:14 +00:00
drh 10c0a2a7c9 Remove an unnecessary conditional from the sqlite3DecOrHexToI64() routine.
FossilOrigin-Name: fcf85bfe50b254e825ee63a4cd0aa0b333b06eed
2016-04-28 03:52:18 +00:00
drh 609d5846ba 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
2016-04-28 00:32:16 +00:00
dan 05accd2216 Modify the permutations.test script so as to set any permutation specific configuration values before running each individual test script.
FossilOrigin-Name: 2662d8fef791f7b8b3b14f9c27dfedec84620dee
2016-04-27 18:54:49 +00:00
drh ad975d539e 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
2016-04-27 15:24:13 +00:00
dan 9bf0136384 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
2016-04-27 11:24:42 +00:00
drh c6daa01c05 Remove still more unnecessary branches from sqlite3AtoF().
FossilOrigin-Name: 3adfe9f3e6ce7cc09fcb570d9b65e830a96cac15
2016-04-27 02:35:03 +00:00
drh 15af62acff Further simplifications to sqlite3AtoF() to remove unneeded branches.
FossilOrigin-Name: dd69e53cb077873171af5312c633ca185595bf31
2016-04-26 23:14:45 +00:00
drh e5f06fdc87 Remove an unnecessary line from the sqlite3AtoF() routine.
FossilOrigin-Name: a9d007494cfe30a26dca5352655dc7702351476e
2016-04-26 21:02:53 +00:00
drh 97a7e5e68c The pcache and the built-in VFSes should not use mutexes when
SQLITE_CONFIG_SINGLETHREAD is set.

FossilOrigin-Name: 12418b100196abbfbfb85e0ab4bb6b1cbf335df7
2016-04-26 18:58:54 +00:00
dan 45164826b7 Fix an issue in temptable2.test preventing it from working with SQLITE_DEFAULT_AUTOVACUUM=1 builds.
FossilOrigin-Name: e790aac02e4b427b4891b514a050699d159b03b1
2016-04-26 17:10:03 +00:00
dan 0a5ced4c1e Merge the checksymbols fix from trunk into this branch.
FossilOrigin-Name: 04911cee0cd5467ee99744b774d692219e5e1425
2016-04-26 16:03:58 +00:00
drh b283a0cde9 Fix the "checksymbols" target in Makefile.in to be able to deal with the
sqlite3changegroup family of interfaces.

FossilOrigin-Name: d819bfbd46dc7f065d2a3ab0ef9f8322d8394e11
2016-04-26 13:13:53 +00:00
drh ead01fd272 Add an sqlite3FaultSim() all to make it easier to simulate IO errors in
a VACUUM commit.

FossilOrigin-Name: 8bfde416c51f4e087275aebf652a73985515e810
2016-04-25 22:39:42 +00:00
drh 6c96358601 Remove an obsolete comment from the pager. No code changes.
FossilOrigin-Name: 36f97ca8874a03ac8699f44fe0da95b0be507cc7
2016-04-25 19:28:34 +00:00
dan ae20690e2c Update the RBU vacuum code so that databases that use custom collation sequences can be vacuumed.
FossilOrigin-Name: 7dd48c10790a7b9c4165214399c261a0aa701297
2016-04-25 19:25:12 +00:00
drh 835f22deda Fix some unreachable branches in the pager.
FossilOrigin-Name: 3ae44770fdecc40c8097f1de0b504f36585a2232
2016-04-25 19:20:56 +00:00
drh dc7adf20bb Merge bug fix from trunk.
FossilOrigin-Name: a905d5e08de3f3c60b667d840b5995911372647d
2016-04-25 15:03:49 +00:00
drh b1ec87afdb 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
2016-04-25 02:20:10 +00:00
mistachkin 1de86ca17f Fix a typo in the Makefile.
FossilOrigin-Name: d0a579b35105810821bbfec6b50ecfebac7a17ee
2016-04-25 01:43:24 +00:00
drh d456e92ce0 Merge the temporary directory search algorithm fix from trunk.
FossilOrigin-Name: 9b8fec60d8e576cd09e1d075a59bfad1c6169d7a
2016-04-23 21:16:55 +00:00
drh 23ee893752 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
2016-04-23 20:59:23 +00:00
drh 7ff5d522bf Merge the latest trunk changes.
FossilOrigin-Name: 84da122dd6e70ed603fea781dca204ae2f668c53
2016-04-23 19:55:59 +00:00
dan 2d36f065e2 Fix a problem with mixing temp-files and mmap-mode.
FossilOrigin-Name: c80c5c62b2e2c5e47e0839f8e2d5b6341ca4a249
2016-04-23 17:24:16 +00:00
dan 6572c16ae1 Fix some problems to do with temp-file databases and recovering from IO and SQLITE_FULL errors.
FossilOrigin-Name: 3d61da4a76af8c9c2a293df085f3ed5a7bb447df
2016-04-23 14:55:28 +00:00
drh 7694e06461 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
2016-04-21 23:37:24 +00:00
dan 83b74f29c5 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
2016-04-21 18:13:37 +00:00
dan b7a208686a 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
2016-04-21 16:44:38 +00:00
dan 2e8bfb67d4 Fix a problem in rbu vacuum on tables with a large sqlite_master table.
FossilOrigin-Name: 23eac52e987996afe8db847921aef434cebd25b5
2016-04-21 15:26:26 +00:00
drh 6bcfe8b61f Add a function prototype in order to fix a compiler warning.
FossilOrigin-Name: 49aec9718d61c9f12aed96f530128666c3b01c81
2016-04-21 15:24:46 +00:00
drh 518aca114f Merge updates from trunk.
FossilOrigin-Name: cc28106e5c196c0a9678fbbd06f6afd49271a8e8
2016-04-21 15:03:37 +00:00
drh 26f7977c53 Add the SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION method for enabling
sqlite3_load_extension() while leaving the load_extension() SQL function
disabled.

FossilOrigin-Name: c4f165c460c4244ed434107feac005efa3c386cf
2016-04-21 02:27:56 +00:00