]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
7 years agoCombine the OP_CreateTable and OP_CreateIndex opcodes of the bytecode engine
drh [Fri, 18 Aug 2017 14:34:28 +0000 (14:34 +0000)] 
Combine the OP_CreateTable and OP_CreateIndex opcodes of the bytecode engine
into a single OP_CreateBtree opcode.  This simplifies the implementation and
makes the bytecode programs clearer.

FossilOrigin-Name: eb1202b5e43f1f029ad2bdf845509e7f31361e4dc189943e5e2bd4462e2ef3f3

7 years agoOnly use indexes on expressions to optimize ORDER BY and GROUP BY if the
dan [Fri, 18 Aug 2017 08:29:37 +0000 (08:29 +0000)] 
Only use indexes on expressions to optimize ORDER BY and GROUP BY if the
collation sequence matches. Possible fix for [e20dd54a].

FossilOrigin-Name: 37e1900880b70be6802eaf43b0e568fda709a1dd6083d8be11e5a7a7d1fda41a

7 years agoUse the __builtin_clzll() function of gcc to improve the performance and
drh [Thu, 17 Aug 2017 20:53:07 +0000 (20:53 +0000)] 
Use the __builtin_clzll() function of gcc to improve the performance and
reduce the size of the sqlite3LogEst() routine.

FossilOrigin-Name: a42a438cbbd721765ca55e71c464552dbaa494050cf472593599b8c7f0249516

7 years agoSmall optimization in the Expr tree walker.
drh [Thu, 17 Aug 2017 19:23:16 +0000 (19:23 +0000)] 
Small optimization in the Expr tree walker.

FossilOrigin-Name: 264a5e1b75ee073bd019483e289c3d8d79abcf5a765435be23ac3c21b1db8246

7 years agoSize optimization in the authorizer error message generation logic.
drh [Thu, 17 Aug 2017 18:54:27 +0000 (18:54 +0000)] 
Size optimization in the authorizer error message generation logic.

FossilOrigin-Name: 0367a4d58682a64d7ed4c5a4b4377899e22432851587c649d419efb6d7bac250

7 years agoIn sqlite3ViewGetColumnNames(), return the number of errors, not an error code.
drh [Thu, 17 Aug 2017 18:23:46 +0000 (18:23 +0000)] 
In sqlite3ViewGetColumnNames(), return the number of errors, not an error code.

FossilOrigin-Name: f13682ea2350ba366026a4a58e59591af378c496b92da60803c4c642c3bfc8de

7 years agoThe RTREE extension should return SQLITE_CORRUPT_VTAB, not just SQLITE_CORRUPT
drh [Thu, 17 Aug 2017 18:17:24 +0000 (18:17 +0000)] 
The RTREE extension should return SQLITE_CORRUPT_VTAB, not just SQLITE_CORRUPT
when it encounters incorrectly formatted shadow tables.

FossilOrigin-Name: 0712f057ef3dcd907984dda30f6d961a29b61c1d2b25627028c4e227ec85dbba

7 years agoRemove an unnecessary branch from the [be436a7f4587ce517ddc] fix.
drh [Thu, 17 Aug 2017 14:47:56 +0000 (14:47 +0000)] 
Remove an unnecessary branch from the [be436a7f4587ce517ddc] fix.

FossilOrigin-Name: fb6ca99b88c67414eab425e2b4ddb6a5e2fd48a6b2cd96a34627c86a5b568c9b

7 years agoAdd test cases for ticket [be436a7f4587ce517] using virtual table modules fts5
dan [Thu, 17 Aug 2017 14:12:16 +0000 (14:12 +0000)] 
Add test cases for ticket [be436a7f4587ce517] using virtual table modules fts5
and rtree.

FossilOrigin-Name: 2101b4208787d297788e05f2bd82d4a9aff26e2237a7016ac857a52fb5252ce0

7 years agoDefer schema resets when the query planner is running.
drh [Thu, 17 Aug 2017 02:26:35 +0000 (02:26 +0000)] 
Defer schema resets when the query planner is running.
Proposed fix for ticket [be436a7f4587ce517].

FossilOrigin-Name: a7bc7752ba0266684f5317e424a4ee9add4af002272082183519e708ab9ffc79

7 years agoAvoid a test for CURTYPE_BTREE in sqlite3VdbeCursorMoveto() in order to reduce
drh [Wed, 16 Aug 2017 19:20:20 +0000 (19:20 +0000)] 
Avoid a test for CURTYPE_BTREE in sqlite3VdbeCursorMoveto() in order to reduce
the size and improve the performance of OP_Column.

FossilOrigin-Name: f078deb25149b7b1881b7f3374b343d0677e82336d8fdd7f1cdd06d926b5dd57

7 years agoRemove an unnecessary local variable from OP_Column, for a small size
drh [Wed, 16 Aug 2017 14:16:19 +0000 (14:16 +0000)] 
Remove an unnecessary local variable from OP_Column, for a small size
reduction and performance increase.

FossilOrigin-Name: 39543903282409ad3f139f8a0bb376661e7595a33af4f647945b1513a028ccb4

7 years agoPerformance improvement in the OP_Column opcode.
drh [Wed, 16 Aug 2017 11:04:22 +0000 (11:04 +0000)] 
Performance improvement in the OP_Column opcode.

FossilOrigin-Name: dc98a92f32511ee322b0207bd286e967248a8e59b418f11168eb31e34b0fa0fa

7 years agoSmall size and performance in the OP_Column opcode.
drh [Tue, 15 Aug 2017 14:14:36 +0000 (14:14 +0000)] 
Small size and performance in the OP_Column opcode.

FossilOrigin-Name: 2cf3f3de8a48465bd6b0af7763bfe905f3bb0151488f63c9ecc3147bcb345094

7 years agoBtree optimization: New field BtCursor.pPage that points to the current page,
drh [Tue, 15 Aug 2017 03:46:47 +0000 (03:46 +0000)] 
Btree optimization:  New field BtCursor.pPage that points to the current page,
saving a single pointer dereference on each access.

FossilOrigin-Name: 373b71d19cad785922d5a80828f2fee0cbe7dff6594743e625bbdfa31b1ca131

7 years agoMinor size and performance optimization to sqlite3BtreeCloseCursor().
drh [Mon, 14 Aug 2017 23:53:02 +0000 (23:53 +0000)] 
Minor size and performance optimization to sqlite3BtreeCloseCursor().

FossilOrigin-Name: 16969338841734d00ab906a94b82480c7e1e426eb0ddf7b9e6aed722aee5d91f

7 years agoChange the internal btree routine moveToRoot() to return SQLITE_EMPTY if
drh [Mon, 14 Aug 2017 18:13:52 +0000 (18:13 +0000)] 
Change the internal btree routine moveToRoot() to return SQLITE_EMPTY if
the table is empty or if it has pgnoRoot==0.  This simplifies the callers,
making them smaller and faster.  The SQLITE_EMPTY result code is intercepted
and changed into SQLITE_OK before surfacing in an API.

FossilOrigin-Name: 240d57143d943eaddd5f7c2d473f47a1d29417e61d28142f70f3d960bb9b30df

7 years agoFix harmless indentation error.
drh [Mon, 14 Aug 2017 17:03:58 +0000 (17:03 +0000)] 
Fix harmless indentation error.

FossilOrigin-Name: 25e92baaaeb9e8a2650b3083d3febf3661ecf1e05d9d24b26fe9f87a03bdd8fa

7 years agoSometimes a TK_COLUMN Expr node can have Expr.pTab==0 if it is a reference
drh [Mon, 14 Aug 2017 14:53:24 +0000 (14:53 +0000)] 
Sometimes a TK_COLUMN Expr node can have Expr.pTab==0 if it is a reference
to an expression column in an index on and expression.  Fix for ticket
[aa98619ad08ddcab].

FossilOrigin-Name: d0da791ba0edfb65186459345e43500d8364a086a5a1651d828fecc1a1dd1edb

7 years agoProperly dequote column names in tables constructed by an aggregate SELECT.
drh [Mon, 14 Aug 2017 01:33:07 +0000 (01:33 +0000)] 
Properly dequote column names in tables constructed by an aggregate SELECT.

FossilOrigin-Name: 7e0d3e9cb071873564b7916c022aba5cd9f3b8ebab9dba787ecd7113c5b7816a

7 years agoAdd new test file fts5vocab2.test.
dan [Sat, 12 Aug 2017 18:31:31 +0000 (18:31 +0000)] 
Add new test file fts5vocab2.test.

FossilOrigin-Name: 02174842c353bfaa747019cb3dcdee5bca6551d0a06d83fc1ac6d4569e16bc34

7 years agoUpdate the speed-check.sh test script to append log output to the end of the
drh [Sat, 12 Aug 2017 02:16:34 +0000 (02:16 +0000)] 
Update the speed-check.sh test script to append log output to the end of the
cout-NAME.txt file.

FossilOrigin-Name: 14d262d6aa4e281dfe0490988f0c1965c4babf98038a1a96b9bb5772a61521a3

7 years agoRemove the zBase field from the StrAccum object. Resulting code is slightly
drh [Sat, 12 Aug 2017 02:01:55 +0000 (02:01 +0000)] 
Remove the zBase field from the StrAccum object.  Resulting code is slightly
smaller and faster.

FossilOrigin-Name: 6e52fa5fd79988a433bae0152ceae036edab4bb18d2b48ed04c1f53f141728b0

7 years agoSize and performance micro-optimization on sqlite3SrcListIndexedBy().
drh [Sat, 12 Aug 2017 01:09:06 +0000 (01:09 +0000)] 
Size and performance micro-optimization on sqlite3SrcListIndexedBy().

FossilOrigin-Name: 28a5aec118f9d078c9e7225f85cd48a91920b13908c540771e309557c3f15f84

7 years agoFix compiler warnings that arise if the PAGERTRACE macro is turned on.
drh [Fri, 11 Aug 2017 18:59:00 +0000 (18:59 +0000)] 
Fix compiler warnings that arise if the PAGERTRACE macro is turned on.
This changes does not affect production builds.

FossilOrigin-Name: 831156a4bd7c4408085f7c5584cdeebd1953c539972f80c5ef29bc147008630e

7 years agoImproved comments in the header of the LSM1 vtab module. No code changes.
drh [Fri, 11 Aug 2017 18:55:04 +0000 (18:55 +0000)] 
Improved comments in the header of the LSM1 vtab module.  No code changes.

FossilOrigin-Name: aa49926dbffaae4f7c486be72ad814f381cca65c549f9d2605f47540a5f4be84

7 years agoNew test cases for LSM1.
drh [Fri, 11 Aug 2017 13:51:41 +0000 (13:51 +0000)] 
New test cases for LSM1.

FossilOrigin-Name: cb0c49cbd1eede157c5bd60d1e28e02c642aefe1ff82553eac1117a4c73dd9db

7 years agoConvert the LSM1 virtual table to be WITHOUT ROWID and get UPDATE and DELETE
drh [Fri, 11 Aug 2017 12:49:59 +0000 (12:49 +0000)] 
Convert the LSM1 virtual table to be WITHOUT ROWID and get UPDATE and DELETE
operations working on it.

FossilOrigin-Name: 2164031b509dc6eae367ffb9d915f3e1d33d26210506b2de8b2bfca38c53465f

7 years agoSimplification to the like optimization logic. Remove unnecessary branches.
drh [Fri, 11 Aug 2017 03:47:21 +0000 (03:47 +0000)] 
Simplification to the like optimization logic.  Remove unnecessary branches.

FossilOrigin-Name: 9466d952e169a6a60f6e575e679a61f05887b51c693505764edaf10f62cd829f

7 years agoAllow WITHOUT ROWID virtual tables to be writable as long as they have
drh [Thu, 10 Aug 2017 20:43:07 +0000 (20:43 +0000)] 
Allow WITHOUT ROWID virtual tables to be writable as long as they have
exactly one column as their PRIMARY KEY.

FossilOrigin-Name: c601d128ff1f1dd6d221ee9f55595a95b58ba07d043e1d530743ea913731560e

7 years agoAdd the "instance" type to the fts5vocab virtual table module. For direct
dan [Thu, 10 Aug 2017 20:36:56 +0000 (20:36 +0000)] 
Add the "instance" type to the fts5vocab virtual table module. For direct
access to the contents of the fts5 term index.

FossilOrigin-Name: 34a7bd7121a478e14982d59be95ad891fab8050ad5e006638f826c57c392b93e

7 years agoFix a typo in csv01.test introduced by the previous commit. writable-vtab-without-rowid
dan [Thu, 10 Aug 2017 19:12:04 +0000 (19:12 +0000)] 
Fix a typo in csv01.test introduced by the previous commit.

FossilOrigin-Name: f38ff718278c8ff477d1c6379ced32167063de15f0666c8eac2e4dd30cbd975c

7 years agoAdd extra tests to this branch.
dan [Thu, 10 Aug 2017 19:10:23 +0000 (19:10 +0000)] 
Add extra tests to this branch.

FossilOrigin-Name: b0e3b88a792623f7761586d8bfac058ddf939f49944ff0c4376627ff920895db

7 years agoTest case for writing to a WITHOUT ROWID virtual table. The TCLVAR virtual
drh [Thu, 10 Aug 2017 17:53:11 +0000 (17:53 +0000)] 
Test case for writing to a WITHOUT ROWID virtual table.  The TCLVAR virtual
table is modified to add a "fullname" column which is the primary key, and
to accept update operations against the primary key.

FossilOrigin-Name: 6997e00c3221f266f4d9187501d8a9e5bafb85551e88a744cdc8ffe3b75ec2a4

7 years agoExperimental changes that allow a WITHOUT ROWID virtual table to be writable
drh [Thu, 10 Aug 2017 15:19:39 +0000 (15:19 +0000)] 
Experimental changes that allow a WITHOUT ROWID virtual table to be writable
as long as it has only a single-column PRIMARY KEY.

FossilOrigin-Name: ab9ee4c1e64c09c7130e385a23d043d78bad95dff5509c7adc9b992350a4a537

7 years agoAdd a first draft of the "vtablog" extensions that implements a generic
drh [Thu, 10 Aug 2017 03:27:27 +0000 (03:27 +0000)] 
Add a first draft of the "vtablog" extensions that implements a generic
virtual table useful for experimentation using the command-line shell.

FossilOrigin-Name: e49279e65169a939b6058a0960dc1fe09ce4ee2d78992a1969773cbc7ce1043b

7 years agoPreserve the error code from xConnect or xCreate methods in virtual table
drh [Wed, 9 Aug 2017 22:55:09 +0000 (22:55 +0000)] 
Preserve the error code from xConnect or xCreate methods in virtual table
implementations when they are encountered during parsing.

FossilOrigin-Name: dcdf091388251292ff9939bdff920708320bc64dacfe0fa1878c5ffd11b679c9

7 years agoVarious bug fixes for the new LSM1 virtual table design.
drh [Wed, 9 Aug 2017 19:27:24 +0000 (19:27 +0000)] 
Various bug fixes for the new LSM1 virtual table design.

FossilOrigin-Name: 94434a252f0f2b57f325fd8fb82534f20cc1340ff13076cd88deeb47740ef6a2

7 years agoWork toward redesigning the interface to the LSM1 virtual table.
drh [Wed, 9 Aug 2017 18:40:35 +0000 (18:40 +0000)] 
Work toward redesigning the interface to the LSM1 virtual table.

FossilOrigin-Name: 313df946668b943b0a9a9a91fd7bafa7212d05765c7714fa6c0de46aa9062a74

7 years agoThe identifier "vsnprintf" appears to be a reserved word in recent versions
drh [Tue, 8 Aug 2017 21:40:23 +0000 (21:40 +0000)] 
The identifier "vsnprintf" appears to be a reserved word in recent versions
of XCode, so avoid using it as a structure field.

FossilOrigin-Name: 795eede331b832a53e886318466dedc12504f7181c1d7295af7935864a04b72c

7 years agoFix a faulty signed/unsigned character comparison in the LIKE optimization
drh [Tue, 8 Aug 2017 21:30:43 +0000 (21:30 +0000)] 
Fix a faulty signed/unsigned character comparison in the LIKE optimization
logic.

FossilOrigin-Name: f4a4b1497355c1b27d3d0770550fffcc3b2d2d51ab284101f19e8fc4264ee675

7 years agoEnhance the CSV virtual table extension so that it accepts the last row of
drh [Tue, 8 Aug 2017 20:03:10 +0000 (20:03 +0000)] 
Enhance the CSV virtual table extension so that it accepts the last row of
the CSV file even if the last row omits the closing \n, as long as the last
row has a full set of columns.

FossilOrigin-Name: 537e3be2e9503183799afffcd91defc751fea2c779e9b77b77f9485f7de5d170

7 years agoAvoid casting a value larger than 2^31 to a (size_t) or (SIZE_T) on systems
dan [Mon, 7 Aug 2017 19:12:49 +0000 (19:12 +0000)] 
Avoid casting a value larger than 2^31 to a (size_t) or (SIZE_T) on systems
where it is a 32-bit type.

FossilOrigin-Name: b26d7a1c7b5d59a2ceabc3716ccea32e26de729eb164a9c0e47f2d8f6ad3df37

7 years agoOn Windows, avoid casting a value larger than 2^31 to a (SIZE_T) on systems where... mmap-size-limit
mistachkin [Mon, 7 Aug 2017 19:06:54 +0000 (19:06 +0000)] 
On Windows, avoid casting a value larger than 2^31 to a (SIZE_T) on systems where it is a 32-bit type.

FossilOrigin-Name: f08d63b413601b22726e8b96ff8eb779857321b9df30db0333f71e50ffb5077d

7 years agoFix a problem with handling SQLITE_FCNTL_MMAP_SIZE requests with a negative
dan [Mon, 7 Aug 2017 18:54:10 +0000 (18:54 +0000)] 
Fix a problem with handling SQLITE_FCNTL_MMAP_SIZE requests with a negative
parameter in os_unix.c.

FossilOrigin-Name: 4249fcf7b0c0233f9b3ba5139702738d5221c5309240e6e91dc139eff59471fe

7 years agoUpdate bigmmap.test to account for builds that use
dan [Mon, 7 Aug 2017 18:27:19 +0000 (18:27 +0000)] 
Update bigmmap.test to account for builds that use
"-DSQLITE_MAX_MMAP_SIZE=<integer-constant>LL".

FossilOrigin-Name: 7c8b6f1cace42ee1182c252c8e66e5679f523f4248c27d38c075ae21e7c25374

7 years agoAvoid casting a value larger than 2^31 to a (size_t) on systems where it
dan [Mon, 7 Aug 2017 18:13:28 +0000 (18:13 +0000)] 
Avoid casting a value larger than 2^31 to a (size_t) on systems where it
 is a 32-bit type.

FossilOrigin-Name: 46c3085dcad6372ac20eff499e17fe11680fdf4adb9186bf8b12221a5047e485

7 years agoFix an out-of-order test number.
mistachkin [Mon, 7 Aug 2017 17:28:18 +0000 (17:28 +0000)] 
Fix an out-of-order test number.

FossilOrigin-Name: 38f30091f9b1e2c393396da7257f3487fa374e1ee6d610577291909768ff9626

7 years agoAdd new test file "bigmmap.test". For testing builds with
dan [Mon, 7 Aug 2017 17:14:30 +0000 (17:14 +0000)] 
Add new test file "bigmmap.test". For testing builds with
-DSQLITE_MAX_MMAP_SIZE > 2GB.

FossilOrigin-Name: 17447062799239ee978bedbf7fcc67f4c7d2cad2e82dcf9349a966fc8f67d390

7 years agoFix a segfault in swarmvtab that could occur if there was an error in the SQL
dan [Sat, 5 Aug 2017 16:15:33 +0000 (16:15 +0000)] 
Fix a segfault in swarmvtab that could occur if there was an error in the SQL
statement passed to the constructor. Add other test cases.

FossilOrigin-Name: 6ce8b7ca62fcf97875395fc1a989179309e0abb48d4465658ef0d871434ea057

7 years agoMicrooptimization in pcache1.c makes the code slightly smaller and faster.
drh [Sat, 5 Aug 2017 15:49:03 +0000 (15:49 +0000)] 
Microoptimization in pcache1.c makes the code slightly smaller and faster.

FossilOrigin-Name: 422cd9f39403feeacd70133c7a147e23572c75d617ac564344f016ae6611162c

7 years agoFix memory leak in swarmvtab.
dan [Sat, 5 Aug 2017 15:30:46 +0000 (15:30 +0000)] 
Fix memory leak in swarmvtab.

FossilOrigin-Name: 002a9c7baccf3417c56ec7d16755ea32fdd70a654ffc75f2fc4624fd2b688aed

7 years agoAdd the swarm virtual table to the existing union virtual table module.
drh [Fri, 4 Aug 2017 20:27:13 +0000 (20:27 +0000)] 
Add the swarm virtual table to the existing union virtual table module.

FossilOrigin-Name: 0f6f6f03deaba2f4bdd168980647136e8ddff4907863b62b3056b8e4665599df

7 years agoAdd the optional non-found-callback to the swarm-vtab. union-vtab
drh [Fri, 4 Aug 2017 20:15:08 +0000 (20:15 +0000)] 
Add the optional non-found-callback to the swarm-vtab.

FossilOrigin-Name: a94e2f600bc766fb459418e674b842628ba21e27cf9942c00cd533507d7b35fe

7 years agoAdd further test cases for swarmvtab. And minor code changes.
dan [Fri, 4 Aug 2017 17:39:13 +0000 (17:39 +0000)] 
Add further test cases for swarmvtab. And minor code changes.

FossilOrigin-Name: 0f82d3b9dd5bd2e34a984c78e4a4a87921cf3e15b01b611133378c0ea9901010

7 years agoAdd test cases and associated fixes for swarmvtab.
dan [Fri, 4 Aug 2017 16:16:32 +0000 (16:16 +0000)] 
Add test cases and associated fixes for swarmvtab.

FossilOrigin-Name: 7ae20eac83fc053dc1bbc42501dd41f77445a6b9a33cfa42b899fc7a18c637ab

7 years agoAdd SQLITE_API qualifiers to public API functions in header file sqlite3rbu.h.
dan [Fri, 4 Aug 2017 08:24:52 +0000 (08:24 +0000)] 
Add SQLITE_API qualifiers to public API functions in header file sqlite3rbu.h.

FossilOrigin-Name: e11e6eb1d98518ba3f0361efa1c274084c5d6325b52e8470b6873e14e00c4eff

7 years agoUpdate script tool/mksqlite3c.tcl to avoid duplicating the SQLITE_API sqlite3rbu.h-fix
dan [Fri, 4 Aug 2017 08:23:33 +0000 (08:23 +0000)] 
Update script tool/mksqlite3c.tcl to avoid duplicating the SQLITE_API
qualifier when copying sqlite3rbu.h into the amalgamation.

FossilOrigin-Name: 61ab112f326a51d2d524a6371d8c93851ca2c6917414a802ac72d7cf5a2413fb

7 years agoModify swarmvtab to use a separate database connection for each database file.
dan [Thu, 3 Aug 2017 20:13:00 +0000 (20:13 +0000)] 
Modify swarmvtab to use a separate database connection for each database file.

FossilOrigin-Name: 1f05ad29c3a540408470da7f8111f1319f961539c1a96b1a81abf1423af90f15

7 years agoAdd SQLITE_API qualifiers to public API functions in header file sqlite3rbu.h.
dan [Thu, 3 Aug 2017 15:50:10 +0000 (15:50 +0000)] 
Add SQLITE_API qualifiers to public API functions in header file sqlite3rbu.h.

FossilOrigin-Name: d8637badf63b90b650e9d6dc970c7e1ce46669ce8272f46f01fac9bd97c1b0fc

7 years agoFix some problems in RBU test cases. Also update RBU source code to better
dan [Thu, 3 Aug 2017 15:43:55 +0000 (15:43 +0000)] 
Fix some problems in RBU test cases. Also update RBU source code to better
handle the trivial case where an RBU update is applied to a database zero
pages in size.

FossilOrigin-Name: 7676b39bc120ae23da0c6a14452eb99a58901ee45c3d43b8beae426f9e4dc0c3

7 years agoOptimization to the comparison opcodes in the byte-code engine.
drh [Thu, 3 Aug 2017 00:29:23 +0000 (00:29 +0000)] 
Optimization to the comparison opcodes in the byte-code engine.

FossilOrigin-Name: 654935c7737f1a9e08fde9b220c543e86ff6e05910e2f08973a2f93ab2b3e028

7 years agoIn the KeyInfo object, refactor the nField and nXField elements into
drh [Wed, 2 Aug 2017 22:43:14 +0000 (22:43 +0000)] 
In the KeyInfo object, refactor the nField and nXField elements into
nKeyField and nAllField, which are more useful and run a little faster.

FossilOrigin-Name: aea5990eab5e85f92df966aa641db2271c81052010ad2d80982475c4275a1284

8 years agoEnhance the code in unionvtab.c to also provide the "swarmvtab" virtual table
dan [Wed, 2 Aug 2017 19:59:56 +0000 (19:59 +0000)] 
Enhance the code in unionvtab.c to also provide the "swarmvtab" virtual table
module. There are still several problems on this branch.

FossilOrigin-Name: 03d94388d62fd0f1fae377d273bbd5561208adc34bd97f7ce27783b30a369fd7

8 years agoAvoid redundant calls to sqlite3ApiExit() in sqlite3_step().
drh [Wed, 2 Aug 2017 19:04:37 +0000 (19:04 +0000)] 
Avoid redundant calls to sqlite3ApiExit() in sqlite3_step().

FossilOrigin-Name: 527974d4caba8bce7c89a28ea04a573b14c558657c14d9ad3c64bf1e0884caf8

8 years agoOnly attempt to invoke WAL callbacks when a transaction has committed.
drh [Wed, 2 Aug 2017 18:28:26 +0000 (18:28 +0000)] 
Only attempt to invoke WAL callbacks when a transaction has committed.

FossilOrigin-Name: bcc6dacb9114df709ef1bde24264c2193d9e39fc7fab024d5ebfc6056033274c

8 years agoMinor optimization on clearCell()
drh [Wed, 2 Aug 2017 18:27:50 +0000 (18:27 +0000)] 
Minor optimization on clearCell()

FossilOrigin-Name: f3c39c2986be08683c2af4df610bc12e3c6bc6bec265c94ce01b94a950723524

8 years agoOptimizations associated with error handling in btree cursors.
drh [Wed, 2 Aug 2017 15:50:09 +0000 (15:50 +0000)] 
Optimizations associated with error handling in btree cursors.

FossilOrigin-Name: 49ba54e26731ed371745d4bdd9dd1dfeb73357b6d206c85a4252ec866be971d0

8 years agoRemove unused token codes.
drh [Wed, 2 Aug 2017 12:38:10 +0000 (12:38 +0000)] 
Remove unused token codes.

FossilOrigin-Name: c45078c062f41f43c71965b2e5a97932ff79123eeb017ba853314987bebc2bca

8 years agoRearrange some of the added token codes for a very slight size decrease and
drh [Wed, 2 Aug 2017 11:36:16 +0000 (11:36 +0000)] 
Rearrange some of the added token codes for a very slight size decrease and
performance increase.

FossilOrigin-Name: cb3742f51f4b3aa0fd8dc373af771e93ddb4100787115705955f2008aef92745

8 years agoRearrange integer token values in the parser and logic in the
drh [Wed, 2 Aug 2017 11:04:00 +0000 (11:04 +0000)] 
Rearrange integer token values in the parser and logic in the
resolveP2Values() routine for a small size reduction and performance increase.

FossilOrigin-Name: 1cad2926ad88b83becab1326bd189d7bac8ba6d470b36ba5d29af5c9fb016014

8 years agoShow which opcodes are jumps in the comments when generating
drh [Wed, 2 Aug 2017 03:21:52 +0000 (03:21 +0000)] 
Show which opcodes are jumps in the comments when generating
the opcodes.h header file.

FossilOrigin-Name: eef643a369250f1acac4c01a9b3d29068a510e5bf7fa843d565df5e2523e4dd9

8 years agoAdd the "%token" control to the lemon parser. Not currently used by SQLite.
drh [Wed, 2 Aug 2017 03:21:11 +0000 (03:21 +0000)] 
Add the "%token" control to the lemon parser.  Not currently used by SQLite.

FossilOrigin-Name: a6e4c5ae8f29bc2e7f2088426341254e9281d19db9dc9a14abc376d56dad4c4b

8 years agoFaster implementation of resolveP2Values().
drh [Wed, 2 Aug 2017 02:46:43 +0000 (02:46 +0000)] 
Faster implementation of resolveP2Values().

FossilOrigin-Name: 82e46fe0d497f871e652a579f25e77de7ef05d56484418961a1296f65f19415e

8 years agoSlightly smaller and faster by allocating Parser objects on the stack.
drh [Tue, 1 Aug 2017 20:59:41 +0000 (20:59 +0000)] 
Slightly smaller and faster by allocating Parser objects on the stack.

FossilOrigin-Name: 436a89b91901851ce21bf0cb997291b48888c52788b904822083d8dfac32b84b

8 years agoSplit the OP_Last opcode into OP_Last and OP_SeekEnd. Use OP_SeekEnd to
drh [Tue, 1 Aug 2017 19:53:43 +0000 (19:53 +0000)] 
Split the OP_Last opcode into OP_Last and OP_SeekEnd.  Use OP_SeekEnd to
position a cursor prior to appending.  Ticket [cb91bf4290c211d].

FossilOrigin-Name: 3e02474c7bbe16891a7cfc8771cf72f64cd2c0692779037982d7d307512a4f23

8 years agoTake advantage of atomic-write capabilities in the F2FS filesystem when the
drh [Tue, 1 Aug 2017 14:16:15 +0000 (14:16 +0000)] 
Take advantage of atomic-write capabilities in the F2FS filesystem when the
database is stored on such a filesystem.  This is a compile-time option
activated using SQLITE_ENABLE_BATCH_ATOMIC_WRITE.

FossilOrigin-Name: 24190b221f73472dafaead6de101b4debc2c91c1ca28d70b45a38df5bb61fb39

8 years agoAllow ATTACH and DETACH inside of a transaction.
drh [Tue, 1 Aug 2017 00:20:34 +0000 (00:20 +0000)] 
Allow ATTACH and DETACH inside of a transaction.

FossilOrigin-Name: 95e8f31658254dd2df3eeaae337aff0fe2125d170ae966c74f4fc70400e099b1

8 years agoRecognize 'AMD64' as 'x64' in the TclKit batch tool for MSVC.
mistachkin [Mon, 31 Jul 2017 19:39:34 +0000 (19:39 +0000)] 
Recognize 'AMD64' as 'x64' in the TclKit batch tool for MSVC.

FossilOrigin-Name: 0c77935cf9949099d834ec51384c1d4dcdaf7b4422c859c9fce6d3cb3bde2645

8 years agoSync up the MSVC autoconf makefile.
mistachkin [Mon, 31 Jul 2017 19:26:06 +0000 (19:26 +0000)] 
Sync up the MSVC autoconf makefile.

FossilOrigin-Name: b3b89f4ff92ee4b76f467d4e70fb42267470aef77af645f1ce71f9b1a675aabb

8 years agoFix a windows-compatibility issue in the recently added schema6.test script.
drh [Mon, 31 Jul 2017 17:51:49 +0000 (17:51 +0000)] 
Fix a windows-compatibility issue in the recently added schema6.test script.

FossilOrigin-Name: 14e6c302ec3bc0e012b3c01aabee2d32e81389e1a4d834d1c57dd60bfbc97f29

8 years agoPrevent OSSFuzz from using debugging pragmas that are disabled in default builds
drh [Mon, 31 Jul 2017 17:06:34 +0000 (17:06 +0000)] 
Prevent OSSFuzz from using debugging pragmas that are disabled in default builds
and which generate lots of excess output.

FossilOrigin-Name: cdc6494c050d821908087e6fd9b1e44ba92d81f363494a80b54647f19e5675f7

8 years agoMove the generation of output column names earlier, to right after
drh [Mon, 31 Jul 2017 16:42:46 +0000 (16:42 +0000)] 
Move the generation of output column names earlier, to right after
name resolution and before query transformations such as flattening.
This prevents the names from getting mangled by query transformations,
and obviates hacks in the query flattener that attempt to work around
the name mangling. The resulting code is smaller and faster and gives
more consistent output. Fix to ticket [de3403bf5ae5f72ed].

FossilOrigin-Name: ade7ddf1998190b2b630715774963150d86bed3211b7fd600cbf3068427e1531

8 years agoAdd the schema6.test module for demonstrating schemas that generate identical
drh [Sun, 30 Jul 2017 19:50:42 +0000 (19:50 +0000)] 
Add the schema6.test module for demonstrating schemas that generate identical
and different content.

FossilOrigin-Name: ac1da06a829051d393ccb8bb986e78f5bd35b060687688f6b3661913b13c9a5a

8 years agoCorrectly handle an "INTEGER PRIMARY KEY UNIQUE" column in a WITHOUT ROWID
drh [Sun, 30 Jul 2017 18:40:52 +0000 (18:40 +0000)] 
Correctly handle an "INTEGER PRIMARY KEY UNIQUE" column in a WITHOUT ROWID
table.  This is a fix for ticket [bc115541132dad136], a problem discovered
by OSSFuzz.

FossilOrigin-Name: 5216bfb73f1a49bdd879d470de139bf46a212474eaf6f38ad2390536d66a2afd

8 years agoNew test cases for column name generation interacting with the query flattener. early-column-names
drh [Sat, 29 Jul 2017 17:02:22 +0000 (17:02 +0000)] 
New test cases for column name generation interacting with the query flattener.

FossilOrigin-Name: 0c38dde4543d6183a6ab0b7b3b75819f56c47704756a2426d54d3f20468d78d8

8 years agoMove the generation of output column names earlier, to right after name
drh [Sat, 29 Jul 2017 16:01:55 +0000 (16:01 +0000)] 
Move the generation of output column names earlier, to right after name
resolution and before query transformations such as flattening.  This prevents
the names from getting mangled by query transformations, and obviates hacks
in the query flattener that attempt to work around the name mangling.
The resulting code is smaller and faster and gives more consistent output.
This is an alternative fix to ticket [de3403bf5ae5f72ed].

FossilOrigin-Name: 09834279aeca3bda63de684a369ed64f2cbf587b5f5df1454c0a3c009a1337ad

8 years agoUpdate Tcl version used by the TclKit batch tool for MSVC.
mistachkin [Fri, 28 Jul 2017 22:22:15 +0000 (22:22 +0000)] 
Update Tcl version used by the TclKit batch tool for MSVC.

FossilOrigin-Name: bcec155e0d6c6b17ae09d5a366c080723d01ff40dbc1a0ad0bb669a91db1b850

8 years agoFix harmless compiler warning.
mistachkin [Fri, 28 Jul 2017 22:13:26 +0000 (22:13 +0000)] 
Fix harmless compiler warning.

FossilOrigin-Name: 3286e1a07b0693049a07f0865bf93749c461ea8f6d1175ec2d1642886673d8ac

8 years agoDisable the writecrash.test module on Windows. batch-atomic-write
drh [Fri, 28 Jul 2017 20:49:02 +0000 (20:49 +0000)] 
Disable the writecrash.test module on Windows.

FossilOrigin-Name: 4c0520d4df7473eb4cc764774df7d99bb96cf067ac224755e09f0df47fb2a810

8 years agoMore precise determination of when an in-memory journal needs to be
drh [Fri, 28 Jul 2017 18:16:14 +0000 (18:16 +0000)] 
More precise determination of when an in-memory journal needs to be
spilled to disk.

FossilOrigin-Name: 6a505bdd9347783d3d8105cb8185aa787801bad0c855b623cfd780fb406f0e7b

8 years agoAdd new extended error codes for the atomic write file-controls.
drh [Fri, 28 Jul 2017 13:18:35 +0000 (13:18 +0000)] 
Add new extended error codes for the atomic write file-controls.

FossilOrigin-Name: 94a2004756ffe027b3495be91366750135c294a9c460edc9a1b4b9422dcc33bd

8 years agoAdd new test file test/atomic.test.
dan [Fri, 28 Jul 2017 11:05:33 +0000 (11:05 +0000)] 
Add new test file test/atomic.test.

FossilOrigin-Name: f9213e4864d0542be5489e03cf40c47d9127a86bbbbbabd963aa08525d5dc97b

8 years agoAdd the SQLITE_ENABLE_BATCH_ATOMIC_WRITE macro to ctime.c
drh [Fri, 28 Jul 2017 01:53:32 +0000 (01:53 +0000)] 
Add the SQLITE_ENABLE_BATCH_ATOMIC_WRITE macro to ctime.c

FossilOrigin-Name: 67bad7fb9b2fdb29b63308f22062444084dc28191a542e08076dc2e39caf6f62

8 years agoEnhance the like optimization so that it works with an ESCAPE clause.
drh [Thu, 27 Jul 2017 20:24:29 +0000 (20:24 +0000)] 
Enhance the like optimization so that it works with an ESCAPE clause.

FossilOrigin-Name: f5d330f495d07a704e115595bbdf5422ddb68fd8191114c5a12c9c873d983f7c

8 years agoIncrease the version number to 3.21.0 in anticipation for changes to go
drh [Thu, 27 Jul 2017 19:59:37 +0000 (19:59 +0000)] 
Increase the version number to 3.21.0 in anticipation for changes to go
into the next release.

FossilOrigin-Name: 0645f25c79c1b2af1fd3a02b44090329d456e373d91f6c284b8fbcb929e03a5d

8 years agoMerge the pointer-passing interface changes from the 3.20 branch.
drh [Thu, 27 Jul 2017 18:49:19 +0000 (18:49 +0000)] 
Merge the pointer-passing interface changes from the 3.20 branch.

FossilOrigin-Name: c63903a4c5d52a490e3f26707aa85fb54d4e2e8a3ce31ca26a9c615fe7a51e97

8 years agoSimplified documentation for the pointer passing interface.
drh [Thu, 27 Jul 2017 18:43:13 +0000 (18:43 +0000)] 
Simplified documentation for the pointer passing interface.

FossilOrigin-Name: 2dfcd9a8ecdf0ddd8e044d820639830c6171141c588cf0224255af85c64cf79c

8 years agoDo not set device-capabilities flags SEQUENTIAL or SAFE_APPEND for f2fs
dan [Thu, 27 Jul 2017 18:34:00 +0000 (18:34 +0000)] 
Do not set device-capabilities flags SEQUENTIAL or SAFE_APPEND for f2fs
file-systems.

FossilOrigin-Name: 4477e60cd801dab7a8aec12c5bc5e81e774bedbfed38abbc8eb8b37336141a44

8 years agoAdd destructor functions for the pointer argument (NB: not the type string)
drh [Thu, 27 Jul 2017 17:45:08 +0000 (17:45 +0000)] 
Add destructor functions for the pointer argument (NB: not the type string)
to the sqlite3_bind_pointer() and sqlite3_result_pointer() interfaces.  Use
this new capability to resolve a pointer leak in the custom geometry function
mechanism of the RTREE extension.

FossilOrigin-Name: 5a2340b81faf0a29deb5b7c9a2ba6a7697d646de6cc4e9b2e6e5e6463fa394bd