]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
9 years agoMerge trunk enhancements, and espeically the fix for allowing strings index-expr
drh [Fri, 4 Sep 2015 13:02:21 +0000 (13:02 +0000)] 
Merge trunk enhancements, and espeically the fix for allowing strings
as column identifers in CREATE INDEX statements.

FossilOrigin-Name: 5ff855293865c244ac632c630e8e7e8d7c05a5f6

9 years agoContinue to support the (broken) legacy syntax of allowing strings for
drh [Fri, 4 Sep 2015 12:54:01 +0000 (12:54 +0000)] 
Continue to support the (broken) legacy syntax of allowing strings for
column names in CREATE INDEX statements and in UNIQUE and PRIMARY KEY
constraints.

FossilOrigin-Name: 3d3df79bfaf9dbc7aa711c08a19d2f6dbe744b32

9 years agoEnhance showfts5.tcl so that it can optionally display the number of terms in each...
dan [Fri, 4 Sep 2015 11:13:00 +0000 (11:13 +0000)] 
Enhance showfts5.tcl so that it can optionally display the number of terms in each segment.

FossilOrigin-Name: d648ddd93de039820f5abe064c7bc1318cd9d6b1

9 years agoModify the fts5 custom tokenizer interface to permit synonym support. The fts5_api...
dan [Fri, 4 Sep 2015 10:31:51 +0000 (10:31 +0000)] 
Modify the fts5 custom tokenizer interface to permit synonym support. The fts5_api.iVersion value is now set to 2. Existing fts5 custom tokenizers (if there are such things) will need to be updated to use the new api version.

FossilOrigin-Name: 0b7e4ab8abde3ae32459233df115c433dd58d2c1

9 years agoMerge latest trunk changes.
dan [Fri, 4 Sep 2015 10:24:05 +0000 (10:24 +0000)] 
Merge latest trunk changes.

FossilOrigin-Name: 443a5eb8e17fd4f0b83ecc5bba74848e2c8a968c

9 years agoSimplification of the LRU list handling in pcache1.
drh [Fri, 4 Sep 2015 04:31:56 +0000 (04:31 +0000)] 
Simplification of the LRU list handling in pcache1.

FossilOrigin-Name: 05a3a2cd140587265b5427d23c93c5be1f39e199

9 years agoChange the pcache module to keep track of the total number of references to
drh [Thu, 3 Sep 2015 20:43:55 +0000 (20:43 +0000)] 
Change the pcache module to keep track of the total number of references to
all pages rather than the number of pages references, for a performance
improvement and size reduction.

FossilOrigin-Name: f00a9e1e998c4bd249a45444dc2d71a7e4903b8b

9 years agoRearrange code in fts5_expr.c so that synonym support does not slow down the common...
dan [Thu, 3 Sep 2015 19:48:02 +0000 (19:48 +0000)] 
Rearrange code in fts5_expr.c so that synonym support does not slow down the common case.

FossilOrigin-Name: 801882817f1d895aef1426f9a7196bd140b807c3

9 years agoMerge enhancements from trunk.
dan [Thu, 3 Sep 2015 18:57:52 +0000 (18:57 +0000)] 
Merge enhancements from trunk.

FossilOrigin-Name: 4b49fe996989fe42d2bb1c24e7193fef09c5fc50

9 years agoA simple optimization and size reduction in sqlite3PagerAcquire().
drh [Thu, 3 Sep 2015 18:20:10 +0000 (18:20 +0000)] 
A simple optimization and size reduction in sqlite3PagerAcquire().

FossilOrigin-Name: 618d8dd4ff44cce10cc4688a2134715ff66cc562

9 years agoAdd documentation for fts5 synonym support.
dan [Thu, 3 Sep 2015 18:05:09 +0000 (18:05 +0000)] 
Add documentation for fts5 synonym support.

FossilOrigin-Name: 58aa1f435959852df74f1bca8e0bdbc4f47c256a

9 years agoChange the Pager.hasBeenUsed flag into Pager.hasHeldSharedLock in order to
drh [Thu, 3 Sep 2015 17:54:32 +0000 (17:54 +0000)] 
Change the Pager.hasBeenUsed flag into Pager.hasHeldSharedLock in order to
take it off the critical path in sqlite3PagerAcquire().

FossilOrigin-Name: b79096be7cb02aae2f303db33a8bf19e69204374

9 years agoAdd tests to improve coverage of fts5_varint.c.
dan [Thu, 3 Sep 2015 15:37:26 +0000 (15:37 +0000)] 
Add tests to improve coverage of fts5_varint.c.

FossilOrigin-Name: 89f24f31a8f7d7cb0a66ee53523881f566dcb035

9 years agoRemove some more code from fts5_index.c by consolidating similar functions.
dan [Thu, 3 Sep 2015 14:22:27 +0000 (14:22 +0000)] 
Remove some more code from fts5_index.c by consolidating similar functions.

FossilOrigin-Name: 59ae30b97b40faa363c55aa2664dead9eaeeddc0

9 years agoMerge enhancements from trunk.
drh [Thu, 3 Sep 2015 14:18:12 +0000 (14:18 +0000)] 
Merge enhancements from trunk.

FossilOrigin-Name: 1ab10cbf27245961b40eda1ce70f35646f0a9966

9 years agoAdd the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help
drh [Thu, 3 Sep 2015 13:46:12 +0000 (13:46 +0000)] 
Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help
with code generation, especially on PRAGMAs.  Rename sqlite3VdbeAddGoto()
to just sqlite3VdbeGoto().

FossilOrigin-Name: 847387ec8e6fef283899578fb232b2c23b00ee5b

9 years agoRemove dead code from fts5_index.c.
dan [Thu, 3 Sep 2015 11:17:52 +0000 (11:17 +0000)] 
Remove dead code from fts5_index.c.

FossilOrigin-Name: 8a0a9b01e74072ee52fe393311ad591208fbbf7c

9 years agoFix the fts5 integrity-check so that it works with columnsize=0 tables.
dan [Thu, 3 Sep 2015 11:00:50 +0000 (11:00 +0000)] 
Fix the fts5 integrity-check so that it works with columnsize=0 tables.

FossilOrigin-Name: 11b887b15eaee57ea2577c763e70494f1e251275

9 years agoFix a memory leak in fts5_expr.c.
dan [Thu, 3 Sep 2015 10:27:02 +0000 (10:27 +0000)] 
Fix a memory leak in fts5_expr.c.

FossilOrigin-Name: 399932a181437d84cd57234e76c4b65da1e4ac5f

9 years agoFactor out and simplify code in pragma.c for pragmas that return a single
drh [Thu, 3 Sep 2015 04:28:25 +0000 (04:28 +0000)] 
Factor out and simplify code in pragma.c for pragmas that return a single
row with a single column that is an integer or text value.

FossilOrigin-Name: d7f4bdf594e93c848f46901637861c8eed4c34df

9 years agoFor PRAGMAs, factor out the code that sets the result set column names into
drh [Thu, 3 Sep 2015 03:29:51 +0000 (03:29 +0000)] 
For PRAGMAs, factor out the code that sets the result set column names into
a subroutine.

FossilOrigin-Name: 0ea6e5c9fc6b1dd1174c09097be5bf291da4e6c7

9 years agoOptimizations to the printf formatter.
drh [Wed, 2 Sep 2015 21:00:48 +0000 (21:00 +0000)] 
Optimizations to the printf formatter.

FossilOrigin-Name: a3b35ddeca8f459e81105ab6477f3c5afb9b96d5

9 years agoFurther tests to raise coverage of fts5 synonym code to 100%. Fix a dropped error...
dan [Wed, 2 Sep 2015 19:48:55 +0000 (19:48 +0000)] 
Further tests to raise coverage of fts5 synonym code to 100%. Fix a dropped error code in the same.

FossilOrigin-Name: bdedd838bb3028c586bcc9f643852ce1364adb49

9 years agoFix an issue with fts5 synonyms and NEAR(...) queries.
dan [Wed, 2 Sep 2015 18:56:01 +0000 (18:56 +0000)] 
Fix an issue with fts5 synonyms and NEAR(...) queries.

FossilOrigin-Name: f2e590700d8eb30da8ac3a92f6ca92a2bbe9c1fe

9 years agoAdd and use the sqlite3VdbeChangeOpcode() routine. Simplify the implementation
drh [Wed, 2 Sep 2015 18:40:33 +0000 (18:40 +0000)] 
Add and use the sqlite3VdbeChangeOpcode() routine.  Simplify the implementation
of the other sqlite3VdbeChange*() routines.

FossilOrigin-Name: 0a5b00e493efae58252f9fc7bde5a469645942d5

9 years agoAdd the sqlite3VdbeAddGoto(v,i) routine as a shorthand for
drh [Wed, 2 Sep 2015 18:19:00 +0000 (18:19 +0000)] 
Add the sqlite3VdbeAddGoto(v,i) routine as a shorthand for
sqlite3VdbeAddOp2(v,OP_Goto,0,i).

FossilOrigin-Name: be78f413df1b0d874b44a866ef6bf17543d7e8a2

9 years agoChange sqlite3_sql() so that it always returns the SQL text of the prepared
drh [Wed, 2 Sep 2015 17:55:12 +0000 (17:55 +0000)] 
Change sqlite3_sql() so that it always returns the SQL text of the prepared
statement, if the text is available, even if the the prepared statement was
generated using sqlite3_prepare() instead of sqlite3_prepare_v2().  Also
include some minor comment fixes and code simplifications.

FossilOrigin-Name: 2f5472cfda6c72e75b9cf7b7481612465c1a5e6a

9 years agoFix a problem with fts5 synonyms and phrase queries. Also fix an OOM handling bug...
dan [Wed, 2 Sep 2015 17:34:22 +0000 (17:34 +0000)] 
Fix a problem with fts5 synonyms and phrase queries. Also fix an OOM handling bug in fts5.

FossilOrigin-Name: a4c35fa2c94fe34b376670244fe72303c99868c1

9 years agoSmall simplification to the EXPLAIN QUERY PLAN logic.
drh [Wed, 2 Sep 2015 16:51:37 +0000 (16:51 +0000)] 
Small simplification to the EXPLAIN QUERY PLAN logic.

FossilOrigin-Name: d1592d201afea20cb2ca94fe2bf5ae031bd29ede

9 years agoUse sqlite3XPrintf() instead of sqlite3StrAccumAppend() in a few places
drh [Wed, 2 Sep 2015 15:37:50 +0000 (15:37 +0000)] 
Use sqlite3XPrintf() instead of sqlite3StrAccumAppend() in a few places
for better performance and a smaller footprint.

FossilOrigin-Name: 82355e41084387fa11b7b531e4d660dd3b4cd984

9 years agoThe sqlite3_memory_alarm() interface has been deprecated and undocumented
drh [Wed, 2 Sep 2015 14:56:56 +0000 (14:56 +0000)] 
The sqlite3_memory_alarm() interface has been deprecated and undocumented
for almost 8 years (since version 3.5.3).  Change it into a no-op.

FossilOrigin-Name: 5d3f5df4da9f40d5897b5c23b2ea9333fc18ac2c

9 years agoFix a problem handling OOM conditions within fts5 queries that feature synonyms.
dan [Wed, 2 Sep 2015 14:17:38 +0000 (14:17 +0000)] 
Fix a problem handling OOM conditions within fts5 queries that feature synonyms.

FossilOrigin-Name: 11fa980897c6c7be218bbd9c4cd8253272d2c300

9 years agoFix a problem with fts5 synonyms and the xQueryPhrase() auxiliary function API.
dan [Wed, 2 Sep 2015 08:22:41 +0000 (08:22 +0000)] 
Fix a problem with fts5 synonyms and the xQueryPhrase() auxiliary function API.

FossilOrigin-Name: cf3e45e76d23e10ee06296c3561a341591597a04

9 years agoVery minor optimizations in the unix VFS.
drh [Tue, 1 Sep 2015 23:51:53 +0000 (23:51 +0000)] 
Very minor optimizations in the unix VFS.

FossilOrigin-Name: 6db3ff45bc15ece29cb2c7a736e5c6d005dde200

9 years agoPerformance improvement in sqlite3VarintLen().
drh [Tue, 1 Sep 2015 22:29:07 +0000 (22:29 +0000)] 
Performance improvement in sqlite3VarintLen().

FossilOrigin-Name: adf9fefb00ae1dbb07a921c6796cb0a9505c6d19

9 years agoSmall size reduction and performance increase in sqlite3DbMallocSize().
drh [Tue, 1 Sep 2015 20:09:33 +0000 (20:09 +0000)] 
Small size reduction and performance increase in sqlite3DbMallocSize().

FossilOrigin-Name: 8a80967f849eed002a701235ed7fb406099d566e

9 years agoReduce the number of calls to sqlite3BeginBenignMalloc().
drh [Tue, 1 Sep 2015 19:51:37 +0000 (19:51 +0000)] 
Reduce the number of calls to sqlite3BeginBenignMalloc().

FossilOrigin-Name: 0bee6583665782fac5d9e82bdf19b6f07e7bd03f

9 years agoFix a problem that occurs when more than 4 synonyms for a term appear within a single...
dan [Tue, 1 Sep 2015 18:44:33 +0000 (18:44 +0000)] 
Fix a problem that occurs when more than 4 synonyms for a term appear within a single row.

FossilOrigin-Name: cd359550bdc2bf7be4c294b60130c9fc3f583902

9 years agoAdd tests for fts5 synonyms implemented by adding extra terms to queries. And fixes...
dan [Tue, 1 Sep 2015 18:08:36 +0000 (18:08 +0000)] 
Add tests for fts5 synonyms implemented by adding extra terms to queries. And fixes for the same.

FossilOrigin-Name: dbcb73802b88f76be17f09f3eb83ffac542de633

9 years agoRename SQLITE_FUNC_VARYING to SQLITE_FUNC_SLOCHNG - a more descriptive name
drh [Tue, 1 Sep 2015 13:17:17 +0000 (13:17 +0000)] 
Rename SQLITE_FUNC_VARYING to SQLITE_FUNC_SLOCHNG - a more descriptive name
for what that bit means.

FossilOrigin-Name: ff5137a6dd8cb2a9b629b3a244f52665e9c9ebce

9 years agoRemove unreachable branches.
drh [Tue, 1 Sep 2015 00:42:52 +0000 (00:42 +0000)] 
Remove unreachable branches.

FossilOrigin-Name: fd4da2318cc032d7c355376e440d4a05d7ab8793

9 years agoFix a bug in error reporting when a UNIQUE index on expressions fails its
drh [Mon, 31 Aug 2015 23:09:42 +0000 (23:09 +0000)] 
Fix a bug in error reporting when a UNIQUE index on expressions fails its
uniqueness test.

FossilOrigin-Name: 5a2c0e90a1933545b4768d91d8f7c42c8f391019

9 years agoNot only date/time functions, but also functions like sqlite_version() and
drh [Mon, 31 Aug 2015 21:16:36 +0000 (21:16 +0000)] 
Not only date/time functions, but also functions like sqlite_version() and
changes() need to be prohibited from use inside of indexes.

FossilOrigin-Name: 487131303980f15dd5e1b6695b4f29efda229eb8

9 years agoBegin changes to allow synonym support by adding multiple terms to a query (an altern...
dan [Mon, 31 Aug 2015 20:06:06 +0000 (20:06 +0000)] 
Begin changes to allow synonym support by adding multiple terms to a query (an alternative to adding multiple terms to the FTS index).

FossilOrigin-Name: ad7feaed4cd6b1d6e6376bb82d1f5664ddd083f3

9 years agoAlways assume that indexed expressions can generate a NULL. Get
drh [Mon, 31 Aug 2015 19:38:42 +0000 (19:38 +0000)] 
Always assume that indexed expressions can generate a NULL.  Get
indexed expressions working for the case of two or more expressions in
the same index.

FossilOrigin-Name: cc60321a67bf9f169c090b47afb505f589a6925e

9 years agoCase should not be significant when comparing function names.
drh [Mon, 31 Aug 2015 18:13:01 +0000 (18:13 +0000)] 
Case should not be significant when comparing function names.

FossilOrigin-Name: e2f1caf117b0a9632d52246717ab202852982339

9 years agoMake the distinction between truly deterministic functions and date/time
drh [Mon, 31 Aug 2015 17:34:41 +0000 (17:34 +0000)] 
Make the distinction between truly deterministic functions and date/time
functions which only return the same answer for a single query.  Only truly
deterministic functions are allowed in indexes.  Add new expression index
test cases.

FossilOrigin-Name: c77554b5c42327106a7b90334e9cc3c07b007c76

9 years agoImproved analysis and usage of indexed expressions in the query planner.
drh [Mon, 31 Aug 2015 15:58:06 +0000 (15:58 +0000)] 
Improved analysis and usage of indexed expressions in the query planner.

FossilOrigin-Name: f8893696387cba9d293a05a68dc38228077b3dc5

9 years agoMerge the latest enhancements from trunk.
drh [Mon, 31 Aug 2015 14:27:29 +0000 (14:27 +0000)] 
Merge the latest enhancements from trunk.

FossilOrigin-Name: 7bde6d4d8cf05e1beb9bdf20b85760dc3e7a76c9

9 years agoEnhance the json_extract() function so that if given multiple PATH arguments
drh [Sat, 29 Aug 2015 19:41:45 +0000 (19:41 +0000)] 
Enhance the json_extract() function so that if given multiple PATH arguments
it will return a JSON array with all of the answers.  Also update comments
within the json1 extension to reflect stricter interpretation of JSON and PATH
arguments.

FossilOrigin-Name: 1da60c3dda4254620052a83c853c2d2b6dd5009f

9 years agoLink the json1 extension into the command-line shell by default.
drh [Sat, 29 Aug 2015 19:03:33 +0000 (19:03 +0000)] 
Link the json1 extension into the command-line shell by default.

FossilOrigin-Name: 2e8e239cec5a12ac81cf62c0fbe94fb5713c31b1

9 years agoAdd a test for an fts5 tokenizer that supports synonyms by adding multiple entries...
dan [Sat, 29 Aug 2015 18:46:12 +0000 (18:46 +0000)] 
Add a test for an fts5 tokenizer that supports synonyms by adding multiple entries to the fts index.

FossilOrigin-Name: 98d07d16cab92f1e7001afbe370df3ec6343fc1f

9 years agoNew test cases for the json1 extension.
drh [Sat, 29 Aug 2015 18:30:30 +0000 (18:30 +0000)] 
New test cases for the json1 extension.

FossilOrigin-Name: daff4832af963f98bcc1d2c2f84bd815d384f850

9 years agoFix the build with -DSQLITE_OMIT_VIRTUALTABLE.
drh [Sat, 29 Aug 2015 17:22:33 +0000 (17:22 +0000)] 
Fix the build with -DSQLITE_OMIT_VIRTUALTABLE.

FossilOrigin-Name: 752918def7231f7846b3e985c9953a1cc825ab6b

9 years agoDo not consider an empty string to be valid JSON. Add some additional
drh [Sat, 29 Aug 2015 16:02:37 +0000 (16:02 +0000)] 
Do not consider an empty string to be valid JSON.  Add some additional
JSON test cases.

FossilOrigin-Name: fd19ff029f128f478f69910352a6f8b84262ce1d

9 years agoAnother change to the fts5 tokenizer API.
dan [Sat, 29 Aug 2015 15:44:27 +0000 (15:44 +0000)] 
Another change to the fts5 tokenizer API.

FossilOrigin-Name: fc71868496f45f9c7a79ed2bf2d164a7c4718ce1

9 years agoChange the json1.c module so that it throws an error if any of the
drh [Sat, 29 Aug 2015 00:54:49 +0000 (00:54 +0000)] 
Change the json1.c module so that it throws an error if any of the
JSON selector paths are malformed.

FossilOrigin-Name: 3aa0855fd463076fc3277f1d9fe00d2f30e6b449

9 years agoBack out the json_check() routine. Instead, throw an error if the input to
drh [Fri, 28 Aug 2015 20:07:40 +0000 (20:07 +0000)] 
Back out the json_check() routine.  Instead, throw an error if the input to
a json function (other than json_valid()) is not valid JSON.

FossilOrigin-Name: dc9ce7b18cbe23d065317757234ef9fb8792da7a

9 years agoChange the fts5 tokenizer API to allow more than one token to occupy a single positio...
dan [Fri, 28 Aug 2015 19:56:47 +0000 (19:56 +0000)] 
Change the fts5 tokenizer API to allow more than one token to occupy a single position within a document.

FossilOrigin-Name: 90b85b42f2b2dd3e939b129b7df2b822a05e243d

9 years agoFix compiler warnings in rbu code.
dan [Fri, 28 Aug 2015 16:41:45 +0000 (16:41 +0000)] 
Fix compiler warnings in rbu code.

FossilOrigin-Name: 0fdc36fe35ae2fc8e9688fe6c53437f4d47502d9

9 years agoWhen searching the wal file for a frame, do not search that part that was already...
dan [Fri, 28 Aug 2015 16:18:45 +0000 (16:18 +0000)] 
When searching the wal file for a frame, do not search that part that was already checkpointed when the transaction was opened.

FossilOrigin-Name: a84cf4f5d326270a61faf4ff867260f2dd1e68a6

9 years agoMerge latest trunk into this branch. wal-read-change
dan [Fri, 28 Aug 2015 15:50:24 +0000 (15:50 +0000)] 
Merge latest trunk into this branch.

FossilOrigin-Name: ab93024da7bd577d8850b417aff8597a8b3807fc

9 years agoAdd the json_check() function, which returns its argument if the argument
drh [Fri, 28 Aug 2015 03:48:04 +0000 (03:48 +0000)] 
Add the json_check() function, which returns its argument if the argument
is well-formed JSON or which throws an error otherwise.

FossilOrigin-Name: 64abb65d4df11e5b3bcc4afc8e7c18e907c6080a

9 years agoEnhance the json_insert(), json_replace(), and json_set() functions with the
drh [Fri, 28 Aug 2015 03:33:50 +0000 (03:33 +0000)] 
Enhance the json_insert(), json_replace(), and json_set() functions with the
ability to add JSON instead of text if the argument is text and if the PATH
begins with '$$' instead of just '$'.

FossilOrigin-Name: 44f103d8862abc2d5613bac04dc2ea8e625b1f40

9 years agoFix the OR-optimization so that it always ignores subplans that do not use an index.
drh [Thu, 27 Aug 2015 23:42:43 +0000 (23:42 +0000)] 
Fix the OR-optimization so that it always ignores subplans that do not use an index.

FossilOrigin-Name: cf452028d1be2c5578a07f6e21b4d8b613373eb8

9 years agoFix the OR-optimization so that it always ignores subplans that do not
drh [Thu, 27 Aug 2015 23:18:55 +0000 (23:18 +0000)] 
Fix the OR-optimization so that it always ignores subplans that do not
use an index.

FossilOrigin-Name: 66f92a16866e5825363636b9cc4b8f9b29d9e84d

9 years agoFix EXPLAIN QUERY PLAN output for indexed-expressions. Fix another
drh [Thu, 27 Aug 2015 20:33:38 +0000 (20:33 +0000)] 
Fix EXPLAIN QUERY PLAN output for indexed-expressions.  Fix another
obscure fault in the WHERE term scanner.

FossilOrigin-Name: 73d361ce9e4d72c943def8b0b3caa227f9199aed

9 years agoFix problems in the indexed-expression handling in the optimizer.
drh [Thu, 27 Aug 2015 19:56:49 +0000 (19:56 +0000)] 
Fix problems in the indexed-expression handling in the optimizer.

FossilOrigin-Name: 03375017691d5b480e73d712c4318632e835060c

9 years agoActivate the ability to use expressions in indexes in a query. There are some
drh [Thu, 27 Aug 2015 18:24:02 +0000 (18:24 +0000)] 
Activate the ability to use expressions in indexes in a query.  There are some
test failures, but mostly this seems to work.

FossilOrigin-Name: 42f93f582eccd8a778189aa6c113874f995ab751

9 years agoMerge changes from trunk.
drh [Thu, 27 Aug 2015 16:07:02 +0000 (16:07 +0000)] 
Merge changes from trunk.

FossilOrigin-Name: c80e9e8e8cc1e7676d7c782ee0827726875db79e

9 years agoAdjustments to the WHERE term scanning, to better handle scanning terms of
drh [Thu, 27 Aug 2015 15:58:51 +0000 (15:58 +0000)] 
Adjustments to the WHERE term scanning, to better handle scanning terms of
an index.

FossilOrigin-Name: 5611130a595e7f0b6d5f21d76f2755e9c09c7810

9 years agoReduce the size of the WhereScan object by 24 bytes while also clarifying its
drh [Wed, 26 Aug 2015 21:08:04 +0000 (21:08 +0000)] 
Reduce the size of the WhereScan object by 24 bytes while also clarifying its
operation.

FossilOrigin-Name: cbc3c9a8bf169ae0b21f26855038502c6cc25cfe

9 years agoMerge enhancements from trunk.
drh [Wed, 26 Aug 2015 18:04:23 +0000 (18:04 +0000)] 
Merge enhancements from trunk.

FossilOrigin-Name: ec6ddb3d481d005c304a26c948c9c808586750e9

9 years agoEvaluate expressions only once when the same expression is used in both the
drh [Wed, 26 Aug 2015 14:01:41 +0000 (14:01 +0000)] 
Evaluate expressions only once when the same expression is used in both the
result set and in the ORDER BY clause.

FossilOrigin-Name: c2f3bbad778504681b39ab9399a1eb3c1a35ab3f

9 years agoRefactor With.a.zErr into With.a.zCteErr. No logic changes.
drh [Wed, 26 Aug 2015 11:40:11 +0000 (11:40 +0000)] 
Refactor With.a.zErr into With.a.zCteErr.  No logic changes.

FossilOrigin-Name: 58ba73630ecc4bc58b03a7962dd45b305ef605ef

9 years agoUpdate the TreeView output for compound SELECT statements so that all entries
drh [Wed, 26 Aug 2015 11:34:31 +0000 (11:34 +0000)] 
Update the TreeView output for compound SELECT statements so that all entries
are shown vertically aligned rather than each successive entry being indented.

FossilOrigin-Name: 65a8918776aa395009a690fa86bfc7d99eb973f9

10 years agoMove sqlite3IndexColumnAffinity() inside of SQLITE_ENABLE_STAT3_OR_STAT4.
drh [Tue, 25 Aug 2015 19:42:28 +0000 (19:42 +0000)] 
Move sqlite3IndexColumnAffinity() inside of SQLITE_ENABLE_STAT3_OR_STAT4.

FossilOrigin-Name: b3732a4e1b42a86675d89766cb8089914e2fab9a

10 years agoMerge trunk enhancements.
drh [Tue, 25 Aug 2015 19:24:11 +0000 (19:24 +0000)] 
Merge trunk enhancements.

FossilOrigin-Name: e8b02902c48f3668dcff7b1767347ac7ef3c971e

10 years agoUse the sqlite3IndexColumnAffinity() routine to quickly and correctly find the
drh [Tue, 25 Aug 2015 19:20:04 +0000 (19:20 +0000)] 
Use the sqlite3IndexColumnAffinity() routine to quickly and correctly find the
affinity of an index column.

FossilOrigin-Name: 1ee089a72d789002a0a377347fc51e08ab32fb14

10 years agoAdd code to maintain indexes with expression arguments across DELETE, INSERT,
drh [Tue, 25 Aug 2015 16:57:52 +0000 (16:57 +0000)] 
Add code to maintain indexes with expression arguments across DELETE, INSERT,
and UPDATE statements.  Legacy tests pass, but the new code paths are still
largely untested.  The query planner currently makes no effort to use
expression indexes.

FossilOrigin-Name: efaabdb71626bdc03768e87e186c72f6f3da75b2

10 years agoFix a memory leak that might occur when compiling with SQLITE_OMIT_CHECK.
drh [Tue, 25 Aug 2015 00:34:54 +0000 (00:34 +0000)] 
Fix a memory leak that might occur when compiling with SQLITE_OMIT_CHECK.

FossilOrigin-Name: 8f1d9f1f308518522ebb1eaebb9b184b4ac30924

10 years agoChanges toward being abld to process indexes on expressions. Not there yet -
drh [Tue, 25 Aug 2015 00:27:06 +0000 (00:27 +0000)] 
Changes toward being abld to process indexes on expressions.  Not there yet -
this check-in is just movement in that direction.  Some tests are failing.

FossilOrigin-Name: 0ad0f8d77d8f95ca2ffb7745d18219f5e87dc89c

10 years agoRemove some redundant code: Call sqlite3ResolveExprListNames() rather than
drh [Mon, 24 Aug 2015 20:54:06 +0000 (20:54 +0000)] 
Remove some redundant code:  Call sqlite3ResolveExprListNames() rather than
calling sqlite3ResolveExprNames() in a loop - in two places.

FossilOrigin-Name: bdaf66465b6b1bdad10c08d9527b98e7000a41e4

10 years agoEnhances the parser so that it accepts arbitrary expressions for the arguments
drh [Mon, 24 Aug 2015 20:21:20 +0000 (20:21 +0000)] 
Enhances the parser so that it accepts arbitrary expressions for the arguments
of an index, though the code generator still rejects everything other than
simple column names.  The sqlite3RestrictColumnListSyntax() routine is removed
since that feature is now handled by the parser.

FossilOrigin-Name: bed42116addabcf3dfdc2e2d51ae183965704988

10 years agoEnhance the CREATE VIEW syntax so that the names of columns of the view can
drh [Mon, 24 Aug 2015 17:42:49 +0000 (17:42 +0000)] 
Enhance the CREATE VIEW syntax so that the names of columns of the view can
be specified after the view name.

FossilOrigin-Name: d794b34da6f9c77dfe17773b0b17b22de72cce7f

10 years agoEnhancements to the batch build tool for MSVC.
mistachkin [Mon, 24 Aug 2015 17:18:43 +0000 (17:18 +0000)] 
Enhancements to the batch build tool for MSVC.

FossilOrigin-Name: a1ae20cd97456a1126cfa1a9bedce0bac0940ad6

10 years agoDisallow the use of COLLATE clauses and the ASC and DESC keywords within
drh [Mon, 24 Aug 2015 15:39:42 +0000 (15:39 +0000)] 
Disallow the use of COLLATE clauses and the ASC and DESC keywords within
foreign key constraints and in the argument list to common table expressions.

FossilOrigin-Name: 83cbc4d8761498647794affffa961a4fca311be7

10 years agoImprovements to JSON string dequoting.
drh [Mon, 24 Aug 2015 12:42:41 +0000 (12:42 +0000)] 
Improvements to JSON string dequoting.

FossilOrigin-Name: 196d66d34d9783622e6f2f79eafea1488fc6f5cf

10 years agoFix corner-case problems in the type and atom columns of json_each() and
drh [Mon, 24 Aug 2015 02:32:04 +0000 (02:32 +0000)] 
Fix corner-case problems in the type and atom columns of json_each() and
json_tree().

FossilOrigin-Name: f0aba0e120074430cd7ad93291fcc97b8a25a054

10 years agoFix a comment typo on sqlite3ExprAlloc(). No code changes.
drh [Sun, 23 Aug 2015 20:48:29 +0000 (20:48 +0000)] 
Fix a comment typo on sqlite3ExprAlloc().  No code changes.

FossilOrigin-Name: 518d6220a12fb1289f699ef0821e6adfcd286ed0

10 years agoFix minor glitches in the json1.c extension, mostly having to do with OOM
drh [Sun, 23 Aug 2015 20:44:59 +0000 (20:44 +0000)] 
Fix minor glitches in the json1.c extension, mostly having to do with OOM
behavior.

FossilOrigin-Name: cc5204149c4053b9e529a72102d8df0925ad1ea1

10 years agoFixes to json_each() and json_tree(). Improved json_parse() debugging output.
drh [Sun, 23 Aug 2015 02:42:30 +0000 (02:42 +0000)] 
Fixes to json_each() and json_tree().  Improved json_parse() debugging output.

FossilOrigin-Name: fc1b24f316af07a64672f6edc14ebcff487dffbb

10 years agoAdd the json_valid() function to the json1.c extension. Fix various minor
drh [Sat, 22 Aug 2015 19:39:04 +0000 (19:39 +0000)] 
Add the json_valid() function to the json1.c extension.  Fix various minor
problems in the json1.c extension.

FossilOrigin-Name: 380a97345b446214843a63ccc017d49a52d884da

10 years agoFix a couple instances of OOM handling in the json extension.
drh [Sat, 22 Aug 2015 03:05:54 +0000 (03:05 +0000)] 
Fix a couple instances of OOM handling in the json extension.

FossilOrigin-Name: 213a6c5ccbcfe4495d45e3608e99a6398751aeed

10 years agoDo not apply the WHERE-clause pushdown optimization to terms that originate
drh [Sat, 22 Aug 2015 01:32:29 +0000 (01:32 +0000)] 
Do not apply the WHERE-clause pushdown optimization to terms that originate
in the ON or USING clause of a LEFT JOIN.  Fix for ticket
[6df18e949d3676290].

FossilOrigin-Name: 351bc22fa9b5a2e50da3583a882c5aa390bda19f

10 years agoAdd extension functions for processing JSON.
drh [Fri, 21 Aug 2015 20:43:32 +0000 (20:43 +0000)] 
Add extension functions for processing JSON.

FossilOrigin-Name: 178f9a352c6c9e15e809e1a47530c6592d18578d

10 years agoFixes for compiler warnings and errors in the makefiles. Rename the json
drh [Fri, 21 Aug 2015 20:37:12 +0000 (20:37 +0000)] 
Fixes for compiler warnings and errors in the makefiles.  Rename the
one test script to json101.test.

FossilOrigin-Name: 9ff6ccde5f26f18073587c320290570854ffc833

10 years agoChange the name of the json loadable extension to "json1.c", in anticipation
drh [Fri, 21 Aug 2015 20:12:43 +0000 (20:12 +0000)] 
Change the name of the json loadable extension to "json1.c", in anticipation
of having future major changes to the interface.

FossilOrigin-Name: d0d4bec9e3d8829a2d488f2742f1650214fa716a

10 years agoAdd the fullkey column to both json_each() and json_tree().
drh [Fri, 21 Aug 2015 20:02:48 +0000 (20:02 +0000)] 
Add the fullkey column to both json_each() and json_tree().

FossilOrigin-Name: 15dd99431e9ddd0fbdbb8dcc921687b0c6d26a29

10 years agoMerge header file fixes from trunk.
drh [Fri, 21 Aug 2015 19:56:45 +0000 (19:56 +0000)] 
Merge header file fixes from trunk.

FossilOrigin-Name: 7c2713e98ffb5f0d96eb7de9514eab43f0712011