]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
8 years agoSpeed this branch up a bit by filtering before the virtual table layer when schemalint-failure
dan [Thu, 20 Apr 2017 16:43:32 +0000 (16:43 +0000)] 
Speed this branch up a bit by filtering before the virtual table layer when
sampling user data.

FossilOrigin-Name: 8e57c31340dd9ffc457da63c5996fb1b573f8154f864ec2b52c15f399906ac8b

8 years agoAvoid creating a temp table in the user database in the sqlite3_expert code.
dan [Thu, 20 Apr 2017 16:08:33 +0000 (16:08 +0000)] 
Avoid creating a temp table in the user database in the sqlite3_expert code.
Trouble is, this makes sampling for stat1 data much slower.

FossilOrigin-Name: c62e358243d96cb38a7ce2aa679fc640b62bf46080eab4bd5fc2acf5997d6cd5

8 years agoAdd an option to generate stat1 data based on a subset of the user database
dan [Thu, 20 Apr 2017 09:54:04 +0000 (09:54 +0000)] 
Add an option to generate stat1 data based on a subset of the user database
table contents to sqlite3_expert.

FossilOrigin-Name: c69c3e21db6e141f7e24226c6432f2ed31fe5f177bd23781915871f8600ee56a

8 years agoHave sqlite3_expert_analyze() populate the sqlite_stat1 table before running
dan [Tue, 18 Apr 2017 20:10:16 +0000 (20:10 +0000)] 
Have sqlite3_expert_analyze() populate the sqlite_stat1 table before running
queries through the planner for the second time.

FossilOrigin-Name: a157fcfde5afc27ae38e7cf4669fcc8e60e23d9d301ffe2e541dd69f895b493b

8 years agoFix sqlite3_expert handling of triggers on views.
dan [Tue, 18 Apr 2017 09:04:48 +0000 (09:04 +0000)] 
Fix sqlite3_expert handling of triggers on views.

FossilOrigin-Name: ff4976da667872614331d88e68fb67d347874f164a1c7950dd738c7c2320b954

8 years agoAdd support for analyzing trigger programs to the sqlite3_expert code.
dan [Mon, 17 Apr 2017 17:03:08 +0000 (17:03 +0000)] 
Add support for analyzing trigger programs to the sqlite3_expert code.

FossilOrigin-Name: 159e8022a9d6701532b8b60e0c41154bc434c1bbdb107c8c97a78fb1140fa745

8 years agoFix problems with handling constraints on the rowid column in sqlite3expert.c.
dan [Sat, 15 Apr 2017 16:52:12 +0000 (16:52 +0000)] 
Fix problems with handling constraints on the rowid column in sqlite3expert.c.

FossilOrigin-Name: 2e6308798ae2db30564deb35ba3896597448edabbcac6efc4ff084552e42de30

8 years agoMerge latest trunk changes into this branch.
dan [Sat, 15 Apr 2017 15:47:19 +0000 (15:47 +0000)] 
Merge latest trunk changes into this branch.

FossilOrigin-Name: 2d0c458e013cb2d02fbeabed8dabd66f55141aac194611f0e599b3c95af1964f

8 years agoAdd header comment for sqlite3_vtab_collation().
dan [Sat, 15 Apr 2017 14:30:01 +0000 (14:30 +0000)] 
Add header comment for sqlite3_vtab_collation().

FossilOrigin-Name: d238694ca445ccb4eeb3e3269a5f872f998f795945d0f9dd95c11d0e42d4d538

8 years agoFix memory leaks in the code on this branch. Make use of the
dan [Sat, 15 Apr 2017 14:16:04 +0000 (14:16 +0000)] 
Fix memory leaks in the code on this branch. Make use of the
sqlite3_index_constraint.usage field. Do not try to handle ORDER BY terms with
explicit COLLATE clauses - they don't get passed to the vtab layer anyway.

FossilOrigin-Name: 0cd75a872c89958a7f418720a0e8c6f638f8284c488f666015c19136feae6be8

8 years agoIn the skip-ahead-distinct optimization, fix a bug in the logic that determines
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

8 years agoFix to the decision logic for when to use the skip-ahead-distinct optimization. skip-ahead-distinct
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

8 years agoRemove end-of-line whitespace from lemon.c.
drh [Fri, 14 Apr 2017 19:46:12 +0000 (19:46 +0000)] 
Remove end-of-line whitespace from lemon.c.

FossilOrigin-Name: d78355c85f49e139f1ac1a660563865350f0e442652b7bc50b684398f81cc602

8 years agoFix some left-over K&R-C constructs in lemon.c. No changes to the core.
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

8 years agoModify the code in ext/expert/ to use the vtab interface instead of
dan [Fri, 14 Apr 2017 19:41:37 +0000 (19:41 +0000)] 
Modify the code in ext/expert/ to use the vtab interface instead of
sqlite3_whereinfo_hook(). Remove sqlite3_whereinfo_hook().

FossilOrigin-Name: 3bb6585004090dbf92dd5e9abdf0fd2c921e64b5b3121c4fb7446db764ab59e5

8 years agoWhen doing a DISTINCT query using an index, try to use the index to skip ahead
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

8 years agoMake USE_FULLWARN=1 the default for MSVC and fix harmless compiler warnings.
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

8 years agoEnhance the sqlite3TreeView() display for Expr objects so that it shows
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

8 years agoSimplify the interface to the subst() routines that are part of the
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

8 years agoRemove an incorrect ALWAYS().
drh [Fri, 14 Apr 2017 12:27:45 +0000 (12:27 +0000)] 
Remove an incorrect ALWAYS().

FossilOrigin-Name: f956f6ae6b0863c70c4a2b227338d5c332e87f2ec6f3fcdf2233c14c5b78ca2b

8 years agoFix a couple of unreachable branches.
drh [Fri, 14 Apr 2017 00:45:51 +0000 (00:45 +0000)] 
Fix a couple of unreachable branches.

FossilOrigin-Name: 1aa0ea8db7580aff8bed2f78117ed50019e5545cef48cab782f512a2599fd0c5

8 years agoFix the skip-ahead-distinct optimization so that it works with indexes that
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

8 years agoSimplification of the skip-ahead-distinct logic. There is still an issue
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

8 years agoNew test cases and minor fixes for the optimization on this branch.
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

8 years agoUpdate this branch with latest changes from trunk.
dan [Thu, 13 Apr 2017 16:19:40 +0000 (16:19 +0000)] 
Update this branch with latest changes from trunk.

FossilOrigin-Name: 5fcd840cf9b6a5c3ee4ef1e8f92f6c30f96a7899a3d774ee9be8a816916f2c3b

8 years agoReinstate the SQLITE_API qualifier on the sqlite3_delete_database() method in
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

8 years agoUpdate the code in test_delete.c to use the "win32" VFS if SQLITE_OS_WIN is
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

8 years agoOnly use the skip-ahead-distinct optimization if the index has been analyzed
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

8 years agoAllow a user column name to be used on the LHS of a MATCH operator in FTS5.
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

8 years agoForward port the skip-ahead-distinct branch which was abandoned for some reason
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

8 years agoFix a regression caused by the fix for ticket [6c9b5514077fed34551f98e64c09a1] -
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

8 years agoUpdate fts5 to support "<colset> : ( <expr> )" for column filtering, as well
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

8 years agoImproved \n and \r escapes in the ext/misc/dbdump.c utility function. The
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

8 years agoAvoid updating unaffected indexes on a table as part of an UPDATE that
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

8 years agoAvoid updating unaffected indexes on a table as part of an UPDATE that requires fkey-optimization
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

8 years agoUpdate this branch with latest trunk changes.
dan [Tue, 11 Apr 2017 19:00:30 +0000 (19:00 +0000)] 
Update this  branch with latest trunk changes.

FossilOrigin-Name: 0f66a093935100efd731e14aa63b57360ddd517c1ac97edd1ea9a9de95e1f3cc

8 years agoLimit the depth of recursion for valid JSON in the JSON1 extension in order
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

8 years agoFix a formatting issue in the output of the sqlite3_expert program.
dan [Tue, 11 Apr 2017 18:29:14 +0000 (18:29 +0000)] 
Fix a formatting issue in the output of the sqlite3_expert program.

FossilOrigin-Name: cc8c3581060ffef02290b680183e6f6bc9837ba3550e74c8aaabdc7c45edc223

8 years agoSmaller and faster implementation of exprMightBeIndexed().
drh [Tue, 11 Apr 2017 18:06:48 +0000 (18:06 +0000)] 
Smaller and faster implementation of exprMightBeIndexed().

FossilOrigin-Name: 76cd611d41465fcec61c21520d55172cb236530f38386b7d4a5544ba87de2353

8 years agoAdd header comments to the API functions in sqlite3expert.h. Include a list of
dan [Tue, 11 Apr 2017 17:43:12 +0000 (17:43 +0000)] 
Add header comments to the API functions in sqlite3expert.h. Include a list of
all candidate indexes in the report output by the sqlite3_expert program.

FossilOrigin-Name: 0c45c5eb9f0f171b8d7c5f0d2973f9f59915467506cdff1450f3e4b2134a01ca

8 years agoVery slight smaller and faster sqlite3SelectNew()
drh [Tue, 11 Apr 2017 16:44:39 +0000 (16:44 +0000)] 
Very slight smaller and faster sqlite3SelectNew()

FossilOrigin-Name: 4143650c4ce32289d2301cdfc69bb10877246420f656bed122886f6803fc956a

8 years agoAdd an ALWAYS() around an unreachable condition in sqlite3VdbeMemGrow().
drh [Tue, 11 Apr 2017 12:20:54 +0000 (12:20 +0000)] 
Add an ALWAYS() around an unreachable condition in sqlite3VdbeMemGrow().

FossilOrigin-Name: 0f3eb61f44c94234ffc14c3a493a27ec62c0d1e2bb62798f36eafa98ddcdc58e

8 years agoFix a segfault that could occur if an indexed expression was used in a
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

8 years agoWhen using an index on an expression, try to use the columns of the index
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

8 years agoImproved comments. Fix a problem when an indexed expression is used in an covering-index-on-expr
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

8 years agoMerge changes from trunk.
drh [Mon, 10 Apr 2017 23:42:04 +0000 (23:42 +0000)] 
Merge changes from trunk.

FossilOrigin-Name: 8978465f335925378d3aa99df6190ce6a1ee6b130205ccc493f2399803844760

8 years agoSmaller and faster vdbeFreeOpArray()
drh [Mon, 10 Apr 2017 20:51:21 +0000 (20:51 +0000)] 
Smaller and faster vdbeFreeOpArray()

FossilOrigin-Name: e052436d9f54b785facd661adc648512356b831c0547aa8f347ebf4bd8ef1254

8 years agoSlightly smaller and faster sqlite3VdbeMemGrow().
drh [Mon, 10 Apr 2017 20:27:54 +0000 (20:27 +0000)] 
Slightly smaller and faster sqlite3VdbeMemGrow().

FossilOrigin-Name: efd1702ae8da8e0dd3d2ee7bd5a1bd8aeff2b370498e404041fcb406fdaf72e4

8 years agoAdd ext/expert/README.md.
dan [Mon, 10 Apr 2017 20:00:26 +0000 (20:00 +0000)] 
Add ext/expert/README.md.

FossilOrigin-Name: 9318f1b9ed2d8da3a82ea69179e2d56a99d326c7721642665f87f6a4534e7bf0

8 years agoChanges to allow the code in sqlite3expert.c to be tested directly (via the
dan [Mon, 10 Apr 2017 16:13:20 +0000 (16:13 +0000)] 
Changes to allow the code in sqlite3expert.c to be tested directly (via the
API in sqlite3expert.h) instead of by invoking the sqlite3_expert application.
Fix memory leaks and other problems.

FossilOrigin-Name: 5dd9831721b70a89a26728adcd49c7f6103ef8266891a79c2db34d913702709e

8 years agoAdd a new JSON test case to verify that all control characters are escaped
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

8 years agoChange the JSON extension so that it disallows control characters inside of
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

8 years agoDo not expose the name of the internal Mem object in the public interface
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

8 years agoFix the -file option on the sqlite3_expert program.
dan [Sun, 9 Apr 2017 08:38:37 +0000 (08:38 +0000)] 
Fix the -file option on the sqlite3_expert program.

FossilOrigin-Name: 0857c48e02a76490fc623364f77363165dea94ec254f93d8f0fd0bac2968c572

8 years agoMerge latest trunk with this branch.
dan [Sat, 8 Apr 2017 19:00:37 +0000 (19:00 +0000)] 
Merge latest trunk with this branch.

FossilOrigin-Name: e051e8f21b909c5e89a7203eef6501fecd64f82a634c4e10398b5ef7d716eb37

8 years agoRename shell6.test to expert1.test. Have it invoke the sqlite3_expert binary
dan [Sat, 8 Apr 2017 18:56:32 +0000 (18:56 +0000)] 
Rename shell6.test to expert1.test. Have it invoke the sqlite3_expert binary
if it is present.

FossilOrigin-Name: be0deff940bea4f653d644113f42529a32ff7039d1d168119233aaf000a22f40

8 years agoDisallow leading zeros on numeric constants in JSON.
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

8 years agoUse hash tables instead of in-memory database tables for a few purposes in
dan [Sat, 8 Apr 2017 17:41:24 +0000 (17:41 +0000)] 
Use hash tables instead of in-memory database tables for a few purposes in
sqlite3expert.c.

FossilOrigin-Name: bf10e68d9e4d5eae7ae6148a7ad64c9596f2ed8ccd36065adb09a1f9e7dae50b

8 years agoExpand on the comment above OP_Destroy to explain why it throws an error if
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

8 years agoHave the rtree module close any open blob-handle within the xSavepoint method.
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

8 years agoFix the quoting mechanism for ".dump" so that it is not applied for the
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

8 years agoHave fts5 close any open blob-handle when a new savepoint is opened. This
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

8 years agoMake sure the RTree sqlite3_blob handle is reset prior to renaming the table.
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

8 years agoFix the ".dump" command so that it works with ".headers on". Also fix the
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

8 years agoUse replace() instead of char() to quote newline and return characters in
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

8 years agoRefactor code to suggest indexes from the shell tool into an extension in
dan [Fri, 7 Apr 2017 20:14:22 +0000 (20:14 +0000)] 
Refactor code to suggest indexes from the shell tool into an extension in
ext/expert. Unfinished.

FossilOrigin-Name: 305e19f976ca064638a294e0817bf547ea745e1eb74746c5855514e6ced9c5fa

8 years agoRemove an unused token type.
drh [Fri, 7 Apr 2017 19:52:13 +0000 (19:52 +0000)] 
Remove an unused token type.

FossilOrigin-Name: 13a422230dcf4a8a80434af97434d57e456dcaa6bf0c41e6859f37ded6fa96ca

8 years agoProof of concept for the ability to use the expression columns in an index
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

8 years agoUse replace() instead of char() to quote newline and return characters in shell-fix
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

8 years agoChanges to allow indexes to be recommended for queries on SQL views.
dan [Thu, 6 Apr 2017 18:44:18 +0000 (18:44 +0000)] 
Changes to allow indexes to be recommended for queries on SQL views.

FossilOrigin-Name: 0884ff1da2e27b146c764b73cf299a1f2cfe213c4a79bde34dec02d1fc946e70

8 years agoFix the ".lint fkey" shell command for cases where the child key is also an
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

8 years agoFix the ".lint fkey" shell tool command so that it works for foreign keys that
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

8 years agoRemove a confusing and pointless sentence from the documentation for the
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

8 years agoSplit off sqlite3DbFreeNN() from sqlite3DbFree() and use it in cases where
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

8 years agoSave a few bytes and a few CPU cycles in sqlite3ExprListDelete() routine.
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

8 years agoRemove a conditional made unreachable by the previous ExprList enhancement.
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

8 years agoCombine the ExprList_item objects and the ExprList wrapper into a single
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

8 years agoAttempt to remove bash-isms from configure.ac. Use -O0 with --enable-debug.
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

8 years agoFix a problem causing "PRAGMA integrity_check" to disable the xfer
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

8 years agoAdd some support for OR terms to sqlite3_whereinfo_hook().
dan [Tue, 4 Apr 2017 17:50:31 +0000 (17:50 +0000)] 
Add some support for OR terms to sqlite3_whereinfo_hook().

FossilOrigin-Name: 5cd070000da1d9e399090677b4db75dc5639c33211385d6eb84f14a4d0b617cd

8 years agoAdd the sqlite3_whereinfo_hook() API - an experimental API replacing the
dan [Tue, 4 Apr 2017 04:23:06 +0000 (04:23 +0000)] 
Add the sqlite3_whereinfo_hook() API - an experimental API replacing the
DBCONFIG_WHEREINFO hack on this branch.

FossilOrigin-Name: a54aef35da11f7508a8888a159372036a362fc52afa1df752dc835db334c4330

8 years agoAvoid an unnecessary call to sqlite3WhereGetMask() inside of whereShortCut().
drh [Mon, 3 Apr 2017 14:07:08 +0000 (14:07 +0000)] 
Avoid an unnecessary call to sqlite3WhereGetMask() inside of whereShortCut().

FossilOrigin-Name: 5c11f4303f6a33d6358f451244551be63baf9afe5630332e60b349215e20a3af

8 years agoDo not attempt to run sync2.test with SQLITE_DISABLE_DIRSYNC builds.
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

8 years agoForce a schema load prior to "PRAGMA optimize".
drh [Mon, 3 Apr 2017 13:33:51 +0000 (13:33 +0000)] 
Force a schema load prior to "PRAGMA optimize".

FossilOrigin-Name: 86897c24c0b35ffea8df72d86a099addf67de210c6568aaba22ef92f1a60c3cf

8 years agoFix typos in the documentation for OP_Column.
drh [Mon, 3 Apr 2017 13:17:31 +0000 (13:17 +0000)] 
Fix typos in the documentation for OP_Column.

FossilOrigin-Name: 777b43e64ffb2fb80ba7b705c129c133bf9787993a66cde1759dc070b324b4b4

8 years agoSlightly smaller and faster implementation for vdbeSorterCompareInt().
drh [Mon, 3 Apr 2017 12:04:39 +0000 (12:04 +0000)] 
Slightly smaller and faster implementation for vdbeSorterCompareInt().

FossilOrigin-Name: 84fa069c5bdfe41d03d03875c9157cc6785150b677c04e40b8916ba5af073dc8

8 years agoRemove an unnecessary setting of the Mem.enc field for the output of the
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

8 years agoMinor performance enhancements to the OP_Affinity opcode.
drh [Sat, 1 Apr 2017 20:14:01 +0000 (20:14 +0000)] 
Minor performance enhancements to the OP_Affinity opcode.

FossilOrigin-Name: c45cd3b947c0f03a688f827fddb4629a986788f0dd98d5ef899f11e68ff1c202

8 years agoRemove an unnecessary clearing of the Vdbe.iCurrentTime value.
drh [Sat, 1 Apr 2017 19:45:20 +0000 (19:45 +0000)] 
Remove an unnecessary clearing of the Vdbe.iCurrentTime value.

FossilOrigin-Name: fcd2acdd6075aa9a7a66ce254eba77485f7b2804127e109c0309173488cd4b87

8 years agoFaster implementation for sqlite3VdbeIntValue() and sqlite3VdbeRealValue().
drh [Sat, 1 Apr 2017 11:59:36 +0000 (11:59 +0000)] 
Faster implementation for sqlite3VdbeIntValue() and sqlite3VdbeRealValue().

FossilOrigin-Name: 8698df60c23d4dcc80b58352c14ae80ec238cac496f8a87bd72a96fef61cc63f

8 years agoRemove unused fields from the BtCursor object.
drh [Sat, 1 Apr 2017 11:40:05 +0000 (11:40 +0000)] 
Remove unused fields from the BtCursor object.

FossilOrigin-Name: 1c0d82e0786ed22d07d774b8b166340fad97bcaab6016e395c469bcfcb7c77a3

8 years agoSave a 78 bytes of code space and a million CPU cycles in speedtest1 by
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

8 years agoMerge latest trunk into this branch.
dan [Fri, 31 Mar 2017 11:20:20 +0000 (11:20 +0000)] 
Merge latest trunk into this branch.

FossilOrigin-Name: cb721d0b36268a7b0ef493fa4d7f6bcbaa9ead8b1990e3c3fae015fa1d545226

8 years agoUpdate shell6.test to account for the fact that tests are now run in a
dan [Fri, 31 Mar 2017 08:00:03 +0000 (08:00 +0000)] 
Update shell6.test to account for the fact that tests are now run in a
separate directory.

FossilOrigin-Name: 1e3622de8b51fdb219eb1934533a95fe6dc5158f44d358bc2efdcb53a4a9fdab

8 years agoDeclare the Lemon-generated parser object as itself. (Duh)
drh [Thu, 30 Mar 2017 17:13:37 +0000 (17:13 +0000)] 
Declare the Lemon-generated parser object as itself.  (Duh)

FossilOrigin-Name: c8000e94cca59dabf83d6cb75b40441aaf793d29880582dc4baa17246449b5fe

8 years agoIncrease the version number for the next development cycle.
drh [Thu, 30 Mar 2017 16:51:35 +0000 (16:51 +0000)] 
Increase the version number for the next development cycle.

FossilOrigin-Name: 9e550ccc29f317422dae3a4bb89a78b839330825fecd40a01d1a2acc719cef79

8 years agoEnsure that the stack space used to hold the Lemon-generated parser object
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

8 years agoWhen compiling with MSVC, disable extra SELECT/WHERE tracing for dynamically built...
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

8 years agoAvoid unnecessary blob handle invalidation when changes are made to an
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

8 years agoSlightly smaller and faster implementation of pcache1InitBulk().
drh [Wed, 29 Mar 2017 17:06:14 +0000 (17:06 +0000)] 
Slightly smaller and faster implementation of pcache1InitBulk().

FossilOrigin-Name: 06c2b685e15b3ee045a3e7ea018701392771c7664e59a51c9aba87cdefeb37af