]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Sat, 29 Apr 2017 14:56:55 +0000 (14:56 +0000)]
Minor size and performance improvements to the push-down optimization.
FossilOrigin-Name:
91dfb61a1a25763bb0b5c1e353a9d584bc6de3f6eb445f54202ffe7f6fee6e8d
dan [Fri, 28 Apr 2017 19:59:55 +0000 (19:59 +0000)]
Within a loop that uses a non-covering index test, test non-indexed terms that
can be tested without seeking the main table cursor before those that cannot.
FossilOrigin-Name:
afe68f0a8060dc5c92cb1fb32a9f22bd36140cd2c0bb5b6cea853e169c5ed444
dan [Wed, 26 Apr 2017 17:21:33 +0000 (17:21 +0000)]
dan [Wed, 26 Apr 2017 14:34:04 +0000 (14:34 +0000)]
Replace <fts5.h> with "fts5.h" in test file fts5_test_tok.c.
FossilOrigin-Name:
63d9ca5c7392e1efe3330689fe750310a952287e843b3242178724e8561fae0e
drh [Wed, 26 Apr 2017 04:32:17 +0000 (04:32 +0000)]
Fix a subtle bug in Lemon discovered and reported on the mailing list
by Kelvin Sherlock, who also suggested the correct fix.
FossilOrigin-Name:
304689f8acb53d68e1afed6e6c4332e78132e3d57071b8f94df0d13515b3b3d8
dan [Mon, 24 Apr 2017 14:16:55 +0000 (14:16 +0000)]
When building an ephemeral table of integers, do not assume that the table
does not already contain N if the insert cursor points to N-1. Fix for ticket
[
61fe9745 ].
FossilOrigin-Name:
1c1b0862236f564283be08338790d6494e705f1198547a59499e3f8c07f2cd99
drh [Sat, 22 Apr 2017 00:20:49 +0000 (00:20 +0000)]
dan [Fri, 21 Apr 2017 17:03:32 +0000 (17:03 +0000)]
Remove a NEVER macro for a condition that may be true as of [
a47efb7c ].
Problem reported by OSSFuzz.
FossilOrigin-Name:
bdc50d8d127266d02b291f6bfcd4e35eb07994ce23987d6e3921124cd881929a
dan [Fri, 21 Apr 2017 16:04:18 +0000 (16:04 +0000)]
Fix an FTS5 bug that could cause a prefix-query without a prefix-index on a
database that contains delete-markers to return extra, non-matching, rows.
FossilOrigin-Name:
840042cb2bed2924e2263f21887317f661e5a585c4466c3af25b91ed57a6b49b
dan [Wed, 19 Apr 2017 13:25:45 +0000 (13:25 +0000)]
Further improvements to coverage of fts3 module.
FossilOrigin-Name:
6b21d0fdebdccfaf63590d9ca9a279c22b8baec07c1a669b9f617f25bd857384
dan [Wed, 19 Apr 2017 07:33:52 +0000 (07:33 +0000)]
Further modifications and test cases to improve test coverage of fts3.
FossilOrigin-Name:
ea8a0d2ce0cb1ca3f4f18c72fb780d1c26792799acc87e6726f9eaccf2f178bf
dan [Tue, 18 Apr 2017 13:50:00 +0000 (13:50 +0000)]
Use sqlite3_table_column_metadata() instead of a SELECT statement to check for
the existence of a %_stat table in fts3. This leads to smaller and easier to
test code.
FossilOrigin-Name:
dc2a48020a3c856a8b4cfa2309c290f0508b991e92cc0e4de680d19aae7872fc
drh [Tue, 18 Apr 2017 11:20:19 +0000 (11:20 +0000)]
Improved optimizations of views as the right operand of a LEFT JOIN.
FossilOrigin-Name:
41c27bc0ff1d3135cdb6273ede4595f5bb0c0e1e1d470ea1633cb525674cf431
dan [Tue, 18 Apr 2017 05:49:23 +0000 (05:49 +0000)]
Refactor the fts3ColumnMethod() function so that all branches can be covered.
FossilOrigin-Name:
e47fdb493bd76d85f6f05771ee7a0b3ee31b1eb05839a60d2bdb47149ac692d8
drh [Mon, 17 Apr 2017 23:23:17 +0000 (23:23 +0000)]
Defer checking for null in the comparison operators, since that is an
uncommon case.
FossilOrigin-Name:
5684525613961fed9db6a4d10dbe25521201b24f08e011df3a20ac895316957d
drh [Mon, 17 Apr 2017 20:50:34 +0000 (20:50 +0000)]
Do not allow a Mem object to be both NULL and some other type at the same time.
FossilOrigin-Name:
e698db1956bb3aba32cd3ec633ec20f5d19b1a10bc68d3772903bca3c87ee158
dan [Mon, 17 Apr 2017 18:42:33 +0000 (18:42 +0000)]
Consolidate two branches of code in the "PRAGMA foreign_key_check"
implementation.
FossilOrigin-Name:
69f51f838abcf57b35e41f7a10fbb45f56536f93825aac865debc3c8315930be
dan [Mon, 17 Apr 2017 18:02:41 +0000 (18:02 +0000)]
Fix a problem in "PRAGMA foreign_key_check" in handling a WITHOUT ROWID child
table with an INTEGER PRIMARY KEY parent key. Also, if an FK violation is
detected in a WITHOUT ROWID child table, do not try to read and return the
rowid. The third column returned by "PRAGMA foreign_key_check" in this case
(WITHOUT ROWID child table) is now always set to NULL.
FossilOrigin-Name:
690870bd7b2e607b7992c4496c9f08c29eb72a36af002c606fd7aa3dcf94a2a4
dan [Mon, 17 Apr 2017 16:07:25 +0000 (16:07 +0000)]
Further improvements to test coverage in fts3.
FossilOrigin-Name:
352413eed469802665e7d2c17b7fe6e3a0b0b2209ce45bdc85fd4243cec50ea6
dan [Mon, 17 Apr 2017 13:38:09 +0000 (13:38 +0000)]
drh [Mon, 17 Apr 2017 13:18:42 +0000 (13:18 +0000)]
Fix the ".column" output mode in the command-line shell so that it correctly
counts and formats multi-byte UTF characters.
FossilOrigin-Name:
f508aff8d1782abdff4d03726ae098607a0ee6cfd2e35b130097ee5043e98960
drh [Sun, 16 Apr 2017 22:41:49 +0000 (22:41 +0000)]
In the showwal command-line tool, for unix builds, if the
auxiliary argument is of
the form "Ntruncate" where "N" is a frame number, then truncate the WAL
file after the N-th frame.
FossilOrigin-Name:
90015df30655d884ecf7ae61e588824696954252dc6b1a5f78cf2de8cb236104
drh [Sun, 16 Apr 2017 22:08:31 +0000 (22:08 +0000)]
Add the anycollseq.c loadable extension in etc/misc
FossilOrigin-Name:
d7b9813cb17615c3d00afd6994a4309d6d48c8e924b6cd813c543e1fa65c7719
drh [Sat, 15 Apr 2017 11:53:47 +0000 (11:53 +0000)]
In the skip-ahead-distinct optimization, fix a bug in the logic that determines
when to invoke the optimization based on sqlite_stat1 statistics.
FossilOrigin-Name:
89f9e4363aa19f306e55f749c442eae2f8994f6a47c65e645a79b308b450d5e5
drh [Fri, 14 Apr 2017 22:41:27 +0000 (22:41 +0000)]
Fix to the decision logic for when to use the skip-ahead-distinct optimization.
FossilOrigin-Name:
e50fd48969f99bc988389c53ff46714603b1d11de12c71b55c00cbee037f073c
drh [Fri, 14 Apr 2017 19:46:12 +0000 (19:46 +0000)]
drh [Fri, 14 Apr 2017 19:44:15 +0000 (19:44 +0000)]
Fix some left-over K&R-C constructs in lemon.c. No changes to the core.
FossilOrigin-Name:
a53799059d4ece246610b6c877ab7088ded3548cbca7149a03deea8ac0e27e68
drh [Fri, 14 Apr 2017 19:03:10 +0000 (19:03 +0000)]
Add the TK_IF_NULL_ROW opcode to deal with non-NULL result columns in the
result set of a view or subquery on the RHS of a LEFT JOIN that gets flattened.
FossilOrigin-Name:
3a5860d86fadcf924316707918bf283d26c53b1473e5e67f5cff59d18c2a7742
drh [Fri, 14 Apr 2017 17:30:43 +0000 (17:30 +0000)]
When doing a DISTINCT query using an index, try to use the index to skip ahead
to the next distinct element, rather than doing a full scan of the index.
(This is the "skip-ahead-distinct" optimization.)
FossilOrigin-Name:
f489b5bb6b35665befdd411c2c55df5258e83cba265d8c4427ba22529cf882a4
drh [Fri, 14 Apr 2017 17:18:45 +0000 (17:18 +0000)]
An initial attempt to optimize VIEWs that occur as the right operand of a
LEFT JOIN. This particular check-in does not work correctly because it does
not deal with the case of columns in the VIEW that return non-NULL even when
all columns in the table of the VIEW are NULL because of the LEFT JOIN.
FossilOrigin-Name:
1838a59c8a1c151bd6fc822b0ffef661803cf0e4704c917e74a04567b81740b9
mistachkin [Fri, 14 Apr 2017 14:50:34 +0000 (14:50 +0000)]
Make USE_FULLWARN=1 the default for MSVC and fix harmless compiler warnings.
FossilOrigin-Name:
6bf673767b8e5cedef1acff795cbe524fab8db2525c06424db4e038934a33936
drh [Fri, 14 Apr 2017 14:02:14 +0000 (14:02 +0000)]
Enhance the sqlite3TreeView() display for Expr objects so that it shows
the iRightJoinTable value for Expr nodes that have the EP_FromJoin property.
FossilOrigin-Name:
5159cb8f2bcfb1f7114786ba23082d2b91a26e3a7ddfae75f8bd362792949d5e
drh [Fri, 14 Apr 2017 12:39:37 +0000 (12:39 +0000)]
Simplify the interface to the subst() routines that are part of the
query flattener by collecting common parameters into the SubstContext object
and passing around a pointer to that object.
FossilOrigin-Name:
e651074be28b2077b8a298f513e2e699ceca99164ace9869ea50873c0637fd2e
drh [Fri, 14 Apr 2017 12:27:45 +0000 (12:27 +0000)]
drh [Fri, 14 Apr 2017 00:45:51 +0000 (00:45 +0000)]
drh [Thu, 13 Apr 2017 21:29:02 +0000 (21:29 +0000)]
Fix the skip-ahead-distinct optimization so that it works with indexes that
have repeated columns with different collating sequences.
FossilOrigin-Name:
ce1e2b88777e00a82c04abe5ba35eec81b5f324e462f099cd00b21054f369688
drh [Thu, 13 Apr 2017 19:48:29 +0000 (19:48 +0000)]
Simplification of the skip-ahead-distinct logic. There is still an issue
with handling COLLATE.
FossilOrigin-Name:
57c5173b6376a76013b0611ce9770100bd8c04e80402e35d821d8614709f4795
dan [Thu, 13 Apr 2017 18:33:33 +0000 (18:33 +0000)]
New test cases and minor fixes for the optimization on this branch.
FossilOrigin-Name:
70ac9ea1a6cb2f4906f00f1a04f668e5ba5eeed8d4d0fa4be57a9c9eb0683697
dan [Thu, 13 Apr 2017 15:51:27 +0000 (15:51 +0000)]
Reinstate the SQLITE_API qualifier on the sqlite3_delete_database() method in
test_delete.c. Accidentally removed by the previous commit.
FossilOrigin-Name:
59c70108fd179932ccdd860f93e1cd68b77476d3b1af1af00cf6e378c9984862
dan [Thu, 13 Apr 2017 15:36:47 +0000 (15:36 +0000)]
Update the code in test_delete.c to use the "win32" VFS if SQLITE_OS_WIN is
defined.
FossilOrigin-Name:
fa9bb7b768027677f7e7d5a196ba5b245dfc8d8986ccd101c8dab671bd15719d
drh [Thu, 13 Apr 2017 13:01:59 +0000 (13:01 +0000)]
Only use the skip-ahead-distinct optimization if the index has been analyzed
and we know that a skip-head is likely to skip over at least 11 rows. The
magic number 11 was determined by experimentation.
FossilOrigin-Name:
0cf16decd534bf2d66620c293f8c8987f356305f2d97f8fd12d260bda1571385
dan [Thu, 13 Apr 2017 09:45:21 +0000 (09:45 +0000)]
Allow a user column name to be used on the LHS of a MATCH operator in FTS5.
FossilOrigin-Name:
6f54ffd151b0eca6f9ef57ac54802584a839cfc7373f10c100fc18c855edcc0a
drh [Thu, 13 Apr 2017 01:19:30 +0000 (01:19 +0000)]
Forward port the skip-ahead-distinct branch which was abandoned for some reason
that I do not recall. This port should have been achived by a merge of trunk
into the previous head of skip-ahead-distinct, but that did not work. So I had
to manually "rebase" the changes.
FossilOrigin-Name:
132339a1fb0b9664df4d3eefbed6e77ef100ba95a91dcc622da7bd3fcdfcd6af
drh [Thu, 13 Apr 2017 00:12:32 +0000 (00:12 +0000)]
Fix a regression caused by the fix for ticket [
6c9b5514077fed34551f98e64c09a1 ] -
control characters allowed in JSON.
FossilOrigin-Name:
8e7b611863247a3bf46a96ec4b47d24c0ae0d60c9cee968a1cfd1da157e7c9bb
dan [Wed, 12 Apr 2017 17:50:12 +0000 (17:50 +0000)]
Update fts5 to support "<colset> : ( <expr> )" for column filtering, as well
as "<colset> : NEAR(...)" and "<colset> : <phrase>".
FossilOrigin-Name:
c847543f8bb1376fef52bca72b4191162a32eb7e6c5f0cd1aa0ab116b3183396
drh [Wed, 12 Apr 2017 17:38:24 +0000 (17:38 +0000)]
Improved \n and \r escapes in the ext/misc/dbdump.c utility function. The
implementation of dbdump.c now matches the implementation in the CLI.
FossilOrigin-Name:
f2643315bb41a71eebd79f5d671f9163187e299a52ff8a481186f1e8fa7e5262
dan [Tue, 11 Apr 2017 20:48:30 +0000 (20:48 +0000)]
Avoid updating unaffected indexes on a table as part of an UPDATE that
requires foreign key processing in some cases.
FossilOrigin-Name:
7aae5c0f99aa2fda85654242cfc9e23a0f981d9ce4ab17610d619cd208540b3d
dan [Tue, 11 Apr 2017 19:58:55 +0000 (19:58 +0000)]
Avoid updating unaffected indexes on a table as part of an UPDATE that requires
foreign key processing in some cases.
FossilOrigin-Name:
477bea9ed0dd0fa69896bfd16d9b1d22170cbab784e3279ce65c29c47e032f34
drh [Tue, 11 Apr 2017 18:55:05 +0000 (18:55 +0000)]
Limit the depth of recursion for valid JSON in the JSON1 extension in order
to avoid using excess stack space in the recursive descent parser.
Fix for ticket [
981329adeef51011052667a9 ].
FossilOrigin-Name:
1f68c184596912d742b50b1ca38252a9e783aacf121619a27b17a7ae9f6df041
drh [Tue, 11 Apr 2017 18:06:48 +0000 (18:06 +0000)]
Smaller and faster implementation of exprMightBeIndexed().
FossilOrigin-Name:
76cd611d41465fcec61c21520d55172cb236530f38386b7d4a5544ba87de2353
drh [Tue, 11 Apr 2017 16:44:39 +0000 (16:44 +0000)]
Very slight smaller and faster sqlite3SelectNew()
FossilOrigin-Name:
4143650c4ce32289d2301cdfc69bb10877246420f656bed122886f6803fc956a
drh [Tue, 11 Apr 2017 12:20:54 +0000 (12:20 +0000)]
Add an ALWAYS() around an unreachable condition in sqlite3VdbeMemGrow().
FossilOrigin-Name:
0f3eb61f44c94234ffc14c3a493a27ec62c0d1e2bb62798f36eafa98ddcdc58e
dan [Tue, 11 Apr 2017 11:52:25 +0000 (11:52 +0000)]
Fix a segfault that could occur if an indexed expression was used in a
comparison operation within the result-set of a SELECT statement.
FossilOrigin-Name:
d6bb7c42ff6309ce168ccdcf03b4cdabfccfc9e2a911d254ac7dc4fea4aa2bc1
drh [Tue, 11 Apr 2017 01:30:42 +0000 (01:30 +0000)]
When using an index on an expression, try to use the columns of the index
rather than pulling columns from the table and reevaluating the expression.
FossilOrigin-Name:
a47efb7c8520a01110ce3b3531ebe1bab6720780d67fba001992c44c5807d332
drh [Tue, 11 Apr 2017 01:01:27 +0000 (01:01 +0000)]
Improved comments. Fix a problem when an indexed expression is used in an
ORDER BY clause.
FossilOrigin-Name:
c59eaf2b7cd2596733f349fc0fe979f71fd29bd73152a0c57066e0b69d5b7a4a
drh [Mon, 10 Apr 2017 23:42:04 +0000 (23:42 +0000)]
drh [Mon, 10 Apr 2017 20:51:21 +0000 (20:51 +0000)]
drh [Mon, 10 Apr 2017 20:27:54 +0000 (20:27 +0000)]
Slightly smaller and faster sqlite3VdbeMemGrow().
FossilOrigin-Name:
efd1702ae8da8e0dd3d2ee7bd5a1bd8aeff2b370498e404041fcb406fdaf72e4
drh [Mon, 10 Apr 2017 12:31:15 +0000 (12:31 +0000)]
Add a new JSON test case to verify that all control characters are escaped
in the json_quote() function.
FossilOrigin-Name:
6ee12221fa252784c897a24ae8cff64dfe6149cbc9020abe14539df33202d892
drh [Mon, 10 Apr 2017 12:25:05 +0000 (12:25 +0000)]
Change the JSON extension so that it disallows control characters inside of
strings. Fix for ticket [
6c9b5514077fed34551f98e64c09a10dc2fc8e16 ].
FossilOrigin-Name:
475d8f82ec61a4ff3e6a7650731230ccecb6cc580d1397d189d0ba479d9bad4d
drh [Sun, 9 Apr 2017 19:23:55 +0000 (19:23 +0000)]
Do not expose the name of the internal Mem object in the public interface
defined by sqlite3.h.
FossilOrigin-Name:
19dd753f9e50fee247b1ab141669817c7e88bc3f6d6065dba6c731db9f7a2409
drh [Sat, 8 Apr 2017 18:18:22 +0000 (18:18 +0000)]
Disallow leading zeros on numeric constants in JSON.
Fix for ticket [
b93be8729a895a528e2 ]
FossilOrigin-Name:
204e72f0080e8f08f99978870bd3cb9d59b068ecffee82192d707c650548b43b
dan [Sat, 8 Apr 2017 14:11:47 +0000 (14:11 +0000)]
Expand on the comment above OP_Destroy to explain why it throws an error if
there are any active reader VMs.
FossilOrigin-Name:
b9a8c2b9bec9f537b2d5aff6659a5748b1f70b53519a1f9dfceb5209154eca8e
dan [Sat, 8 Apr 2017 13:52:41 +0000 (13:52 +0000)]
Have the rtree module close any open blob-handle within the xSavepoint method.
This prevents such an open blob handle from interfering with DROP TABLE
operations.
FossilOrigin-Name:
fa4416adc2a9a3a80db1d5befc0b95c3d0fc41affe38f7f2f45cdfae3f1b49eb
drh [Sat, 8 Apr 2017 13:42:55 +0000 (13:42 +0000)]
Fix the quoting mechanism for ".dump" so that it is not applied for the
".mode quote" output.
FossilOrigin-Name:
78c1e90305d48917d9423d8e50a7dfd15ec27aa93cb421610062229c7ede13a6
dan [Sat, 8 Apr 2017 09:12:20 +0000 (09:12 +0000)]
Have fts5 close any open blob-handle when a new savepoint is opened. This
ensures that fts5 does not prevent DROP TABLE statements (which always open a
savepoint) from succeeding.
FossilOrigin-Name:
a921ada89050ce1d162fd1b0056939573635e2cec7ac0c2a99ae924b3ae593f7
drh [Sat, 8 Apr 2017 01:09:14 +0000 (01:09 +0000)]
Make sure the RTree sqlite3_blob handle is reset prior to renaming the table.
FossilOrigin-Name:
1cdae2db3c54970a1811e597065724578408c84d49d75b8fe25d56281ddc2e94
drh [Sat, 8 Apr 2017 00:55:13 +0000 (00:55 +0000)]
Fix the ".dump" command so that it works with ".headers on". Also fix the
display of ".mode insert" with ".headers on".
FossilOrigin-Name:
a6ce57ee3c7f3527554a75cc1dd5ebcd33c944d4dca07b134d103596a2ae5b32
drh [Fri, 7 Apr 2017 20:20:08 +0000 (20:20 +0000)]
Use replace() instead of char() to quote newline and return characters in
strings in the output of .dump, to avoid excess expression complexity.
FossilOrigin-Name:
7307352988174a6c2756dbbe200bf62a45fb4cc1da7faa2c6b0f75e229eab703
drh [Fri, 7 Apr 2017 19:52:13 +0000 (19:52 +0000)]
drh [Fri, 7 Apr 2017 19:41:31 +0000 (19:41 +0000)]
Proof of concept for the ability to use the expression columns in an index
on expressions in place of equivalent expressions in the result set or in
the WHERE clause. This check-in compiles but is mostly untested.
FossilOrigin-Name:
a52ef2ad7c0e14b78b801f16a1f6ea8d8fa9ae5d7d810e18dd24c600b662a312
drh [Fri, 7 Apr 2017 11:45:58 +0000 (11:45 +0000)]
Use replace() instead of char() to quote newline and return characters in
strings in the output of .dump, to avoid excess expression complexity.
FossilOrigin-Name:
4c2b572969ea2ed2a925444ecfa356aa877018cbb9c4f57d081ab4b535cd1dd0
dan [Thu, 6 Apr 2017 14:56:26 +0000 (14:56 +0000)]
Fix the ".lint fkey" shell command for cases where the child key is also an
INTEGER PRIMARY KEY.
FossilOrigin-Name:
48826b222c110a90996a84605318ea6b1e502b8c5129f4d561f8350dbdbcd264
dan [Thu, 6 Apr 2017 12:06:56 +0000 (12:06 +0000)]
Fix the ".lint fkey" shell tool command so that it works for foreign keys that
refer implicitly to primary key columns with non-BINARY default collation
sequences.
FossilOrigin-Name:
327eff25ba2420267cc8dc49dd3c3aab45f4bf9e060d1ad480e25d016d21f3ba
drh [Wed, 5 Apr 2017 13:44:40 +0000 (13:44 +0000)]
Remove a confusing and pointless sentence from the documentation for the
sqlite3_interrupt() interface.
FossilOrigin-Name:
c5f1a2b6eb3df879d247a22b3f92f4f74fcf4f0d219450abc420ae6d02481324
drh [Wed, 5 Apr 2017 12:39:49 +0000 (12:39 +0000)]
Split off sqlite3DbFreeNN() from sqlite3DbFree() and use it in cases where
we know that the argument to be freed is never NULL.
FossilOrigin-Name:
ad90e8bb5e47945607c8fb47b6ade8cfc52a9b684805cc40132629be0ecc14cc
drh [Wed, 5 Apr 2017 11:57:56 +0000 (11:57 +0000)]
Save a few bytes and a few CPU cycles in sqlite3ExprListDelete() routine.
FossilOrigin-Name:
9e6c939144a129b36bb119120442a4a021e00187783da211315d4bb13acd7c3a
drh [Wed, 5 Apr 2017 11:49:06 +0000 (11:49 +0000)]
Remove a conditional made unreachable by the previous ExprList enhancement.
FossilOrigin-Name:
a1cf44763277b6c745b5b5509ca9129b6c3231608b4d1c8aec2815b64b5a2a07
drh [Wed, 5 Apr 2017 11:32:13 +0000 (11:32 +0000)]
Combine the ExprList_item objects and the ExprList wrapper into a single
memory allocation, for improved performance and reduced footprint.
FossilOrigin-Name:
2b6560ad88b92820c383bcdc1e30c06f8b081ef7c6d9b1af71d2bb76c83e35cd
drh [Wed, 5 Apr 2017 10:54:14 +0000 (10:54 +0000)]
Attempt to remove bash-isms from configure.ac. Use -O0 with --enable-debug.
FossilOrigin-Name:
71ed35ccf7c0f6c49118a44cf6621f46b9ea883e4a74d51b8b1ade6d9a95413a
dan [Tue, 4 Apr 2017 19:58:54 +0000 (19:58 +0000)]
Fix a problem causing "PRAGMA integrity_check" to disable the xfer
optimization for subsequent VACUUM operations on tables with one or more CHECK
constraints. This could result in VACUUM producing slightly larger database
files.
FossilOrigin-Name:
e5bb7db51cdfd8124c60329782798cea398733545594dab55cb892b2a08c4d29
drh [Mon, 3 Apr 2017 14:07:08 +0000 (14:07 +0000)]
Avoid an unnecessary call to sqlite3WhereGetMask() inside of whereShortCut().
FossilOrigin-Name:
5c11f4303f6a33d6358f451244551be63baf9afe5630332e60b349215e20a3af
dan [Mon, 3 Apr 2017 13:59:22 +0000 (13:59 +0000)]
Do not attempt to run sync2.test with SQLITE_DISABLE_DIRSYNC builds.
FossilOrigin-Name:
658f08ce84b45f057843263961f6c47a322f841764134ec38f35719f0f2042d7
drh [Mon, 3 Apr 2017 13:33:51 +0000 (13:33 +0000)]
Force a schema load prior to "PRAGMA optimize".
FossilOrigin-Name:
86897c24c0b35ffea8df72d86a099addf67de210c6568aaba22ef92f1a60c3cf
drh [Mon, 3 Apr 2017 13:17:31 +0000 (13:17 +0000)]
Fix typos in the documentation for OP_Column.
FossilOrigin-Name:
777b43e64ffb2fb80ba7b705c129c133bf9787993a66cde1759dc070b324b4b4
drh [Mon, 3 Apr 2017 12:04:39 +0000 (12:04 +0000)]
Slightly smaller and faster implementation for vdbeSorterCompareInt().
FossilOrigin-Name:
84fa069c5bdfe41d03d03875c9157cc6785150b677c04e40b8916ba5af073dc8
drh [Sat, 1 Apr 2017 20:44:26 +0000 (20:44 +0000)]
Remove an unnecessary setting of the Mem.enc field for the output of the
OP_Record opcode, for a performance improvement and size reduction.
FossilOrigin-Name:
e6e36b288fdf21b7ff7f0bf85d2225b6505f54367b183c302c93c34a4a40b8b5
drh [Sat, 1 Apr 2017 20:14:01 +0000 (20:14 +0000)]
Minor performance enhancements to the OP_Affinity opcode.
FossilOrigin-Name:
c45cd3b947c0f03a688f827fddb4629a986788f0dd98d5ef899f11e68ff1c202
drh [Sat, 1 Apr 2017 19:45:20 +0000 (19:45 +0000)]
Remove an unnecessary clearing of the Vdbe.iCurrentTime value.
FossilOrigin-Name:
fcd2acdd6075aa9a7a66ce254eba77485f7b2804127e109c0309173488cd4b87
drh [Sat, 1 Apr 2017 11:59:36 +0000 (11:59 +0000)]
Faster implementation for sqlite3VdbeIntValue() and sqlite3VdbeRealValue().
FossilOrigin-Name:
8698df60c23d4dcc80b58352c14ae80ec238cac496f8a87bd72a96fef61cc63f
drh [Sat, 1 Apr 2017 11:40:05 +0000 (11:40 +0000)]
Remove unused fields from the BtCursor object.
FossilOrigin-Name:
1c0d82e0786ed22d07d774b8b166340fad97bcaab6016e395c469bcfcb7c77a3
drh [Sat, 1 Apr 2017 00:20:06 +0000 (00:20 +0000)]
Save a 78 bytes of code space and a million CPU cycles in speedtest1 by
storing the cell index for the leaf page in the BtCursor object in its own
field (BtCursor.ix), rather than as an entry in the BtCursor.aiIdx array.
FossilOrigin-Name:
2452f0617d1085689264b5f66681788cfe9e3b1a7b318307c93942b702a443df
drh [Thu, 30 Mar 2017 17:13:37 +0000 (17:13 +0000)]
Declare the Lemon-generated parser object as itself. (Duh)
FossilOrigin-Name:
c8000e94cca59dabf83d6cb75b40441aaf793d29880582dc4baa17246449b5fe
drh [Thu, 30 Mar 2017 16:51:35 +0000 (16:51 +0000)]
Increase the version number for the next development cycle.
FossilOrigin-Name:
9e550ccc29f317422dae3a4bb89a78b839330825fecd40a01d1a2acc719cef79
drh [Thu, 30 Mar 2017 16:37:05 +0000 (16:37 +0000)]
Ensure that the stack space used to hold the Lemon-generated parser object
is always 8-byte aligned.
FossilOrigin-Name:
1279de0b70cabf39899d92ece8852a780fd800bf3154971537b3427e5bd3ca50
mistachkin [Wed, 29 Mar 2017 23:22:18 +0000 (23:22 +0000)]
When compiling with MSVC, disable extra SELECT/WHERE tracing for dynamically built shells.
FossilOrigin-Name:
a68919425c528b887e66b588a73a619f0506cb06855350e0ec8f844acf64d8f7
drh [Wed, 29 Mar 2017 18:03:50 +0000 (18:03 +0000)]
Avoid unnecessary blob handle invalidation when changes are made to an
unrelated table.
FossilOrigin-Name:
4a01880b62706c12d6f16f7c2b5c8b0dc67a9a8a0a48c5b42451e1a133e85611
drh [Wed, 29 Mar 2017 17:06:14 +0000 (17:06 +0000)]
Slightly smaller and faster implementation of pcache1InitBulk().
FossilOrigin-Name:
06c2b685e15b3ee045a3e7ea018701392771c7664e59a51c9aba87cdefeb37af
dan [Wed, 29 Mar 2017 16:55:23 +0000 (16:55 +0000)]
Fix some tests in malloc5.test to account for the sqlite3_release_memory()
change in the previous commit.
FossilOrigin-Name:
d336858dfcfb9539c43582b1443911df825f9af7146957734bc6f01c8f4d98e3
drh [Wed, 29 Mar 2017 15:18:40 +0000 (15:18 +0000)]
Fix the sqlite3_release_memory() interface so that it works even if
SQLITE_DEFAULT_PCACHE_INITSZ is non-zero.
FossilOrigin-Name:
5d902b7fea3144bf57f02aca87b9795fdcec4774310ade6ef01f37d206c3d74f