]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Mon, 7 Sep 2015 20:02:39 +0000 (20:02 +0000)]
Fix an unreachable branch in the new parse automaton.
FossilOrigin-Name:
e9d604b4306a86faae315ac3cba59bf07d1b665c
drh [Mon, 7 Sep 2015 19:52:55 +0000 (19:52 +0000)]
Change the parser engine so that it (once again) waits for a lookahead token
before reducing, even in a SHIFTREDUCE action.
FossilOrigin-Name:
2c17a1358353a0845b039283be79353f033e2491
drh [Mon, 7 Sep 2015 18:23:37 +0000 (18:23 +0000)]
For the Lemon-generated parser, add a new action type SHIFTREDUCE and use it
to further compress the parser tables and improve parser performance.
FossilOrigin-Name:
531c3974b3d586c1989cde905b2fb4681239a570
drh [Mon, 7 Sep 2015 14:22:24 +0000 (14:22 +0000)]
In the "parse.out" output file from Lemon, show addition the complete text
of rules on reduce actions.
FossilOrigin-Name:
b6ffb7e471e51ff69668154ad2c8790e466c9d37
drh [Mon, 7 Sep 2015 02:23:02 +0000 (02:23 +0000)]
Improved "Parser Statistics" output (the -s option) for the Lemon parser
generator.
FossilOrigin-Name:
809503e4efcdb498d176e8c0794a5ba0882adef2
drh [Sun, 6 Sep 2015 10:31:37 +0000 (10:31 +0000)]
Improved memory barrier that should work with MinGW on older versions of
Windows.
FossilOrigin-Name:
47dc24bd1e8f76eb17ba53a883b8984b3e1b2934
drh [Sun, 6 Sep 2015 02:51:04 +0000 (02:51 +0000)]
Add a memory barrier to the mutex initialization logic, try to work around
an issue reported by WebKit.
FossilOrigin-Name:
11a9a786ec06403addb47f5c6fb142b382fae522
drh [Sat, 5 Sep 2015 22:36:07 +0000 (22:36 +0000)]
Omit all use of Expr nodes for TK_AS, as those nodes no longer served a useful
purpose and in fact interferred with the query planner.
FossilOrigin-Name:
7ab0b258eabfcfb7f1b0bd1b12e166d2f267823d
drh [Sat, 5 Sep 2015 19:21:00 +0000 (19:21 +0000)]
Fix an unreachable conditional in the WHERE clause analysis logic.
FossilOrigin-Name:
24924a58197e558a9e8800cc5c91dc8fb32f3557
drh [Sat, 5 Sep 2015 19:07:08 +0000 (19:07 +0000)]
Get STAT4 range scan estimates work again when the bounds are determined
by date/time functions.
FossilOrigin-Name:
d2761357a0496ec1e590c7c9e397c5b5c904f91a
drh [Fri, 4 Sep 2015 18:03:45 +0000 (18:03 +0000)]
Fix over-length source code lines in Lemon.
FossilOrigin-Name:
1efece95ff8777b89558be59277732ba2a68d5ab
drh [Fri, 4 Sep 2015 17:32:19 +0000 (17:32 +0000)]
Add support for CREATE INDEX statements that use deterministic expressions
rather than only column names.
FossilOrigin-Name:
2131a5ca53f0e9b0b98a9dd9a20e495d54d146a7
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
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
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
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
dan [Fri, 4 Sep 2015 10:24:05 +0000 (10:24 +0000)]
Merge latest trunk changes.
FossilOrigin-Name:
443a5eb8e17fd4f0b83ecc5bba74848e2c8a968c
drh [Fri, 4 Sep 2015 04:31:56 +0000 (04:31 +0000)]
Simplification of the LRU list handling in pcache1.
FossilOrigin-Name:
05a3a2cd140587265b5427d23c93c5be1f39e199
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
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
dan [Thu, 3 Sep 2015 18:57:52 +0000 (18:57 +0000)]
Merge enhancements from trunk.
FossilOrigin-Name:
4b49fe996989fe42d2bb1c24e7193fef09c5fc50
drh [Thu, 3 Sep 2015 18:20:10 +0000 (18:20 +0000)]
A simple optimization and size reduction in sqlite3PagerAcquire().
FossilOrigin-Name:
618d8dd4ff44cce10cc4688a2134715ff66cc562
dan [Thu, 3 Sep 2015 18:05:09 +0000 (18:05 +0000)]
Add documentation for fts5 synonym support.
FossilOrigin-Name:
58aa1f435959852df74f1bca8e0bdbc4f47c256a
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
dan [Thu, 3 Sep 2015 15:37:26 +0000 (15:37 +0000)]
Add tests to improve coverage of fts5_varint.c.
FossilOrigin-Name:
89f24f31a8f7d7cb0a66ee53523881f566dcb035
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
drh [Thu, 3 Sep 2015 14:18:12 +0000 (14:18 +0000)]
Merge enhancements from trunk.
FossilOrigin-Name:
1ab10cbf27245961b40eda1ce70f35646f0a9966
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
dan [Thu, 3 Sep 2015 11:17:52 +0000 (11:17 +0000)]
Remove dead code from fts5_index.c.
FossilOrigin-Name:
8a0a9b01e74072ee52fe393311ad591208fbbf7c
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
dan [Thu, 3 Sep 2015 10:27:02 +0000 (10:27 +0000)]
Fix a memory leak in fts5_expr.c.
FossilOrigin-Name:
399932a181437d84cd57234e76c4b65da1e4ac5f
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
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
drh [Wed, 2 Sep 2015 21:00:48 +0000 (21:00 +0000)]
Optimizations to the printf formatter.
FossilOrigin-Name:
a3b35ddeca8f459e81105ab6477f3c5afb9b96d5
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
dan [Wed, 2 Sep 2015 18:56:01 +0000 (18:56 +0000)]
Fix an issue with fts5 synonyms and NEAR(...) queries.
FossilOrigin-Name:
f2e590700d8eb30da8ac3a92f6ca92a2bbe9c1fe
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
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
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
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
drh [Wed, 2 Sep 2015 16:51:37 +0000 (16:51 +0000)]
Small simplification to the EXPLAIN QUERY PLAN logic.
FossilOrigin-Name:
d1592d201afea20cb2ca94fe2bf5ae031bd29ede
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
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
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
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
drh [Tue, 1 Sep 2015 23:51:53 +0000 (23:51 +0000)]
Very minor optimizations in the unix VFS.
FossilOrigin-Name:
6db3ff45bc15ece29cb2c7a736e5c6d005dde200
drh [Tue, 1 Sep 2015 22:29:07 +0000 (22:29 +0000)]
Performance improvement in sqlite3VarintLen().
FossilOrigin-Name:
adf9fefb00ae1dbb07a921c6796cb0a9505c6d19
drh [Tue, 1 Sep 2015 20:09:33 +0000 (20:09 +0000)]
Small size reduction and performance increase in sqlite3DbMallocSize().
FossilOrigin-Name:
8a80967f849eed002a701235ed7fb406099d566e
drh [Tue, 1 Sep 2015 19:51:37 +0000 (19:51 +0000)]
Reduce the number of calls to sqlite3BeginBenignMalloc().
FossilOrigin-Name:
0bee6583665782fac5d9e82bdf19b6f07e7bd03f
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
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
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
drh [Tue, 1 Sep 2015 00:42:52 +0000 (00:42 +0000)]
Remove unreachable branches.
FossilOrigin-Name:
fd4da2318cc032d7c355376e440d4a05d7ab8793
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
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
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
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
drh [Mon, 31 Aug 2015 18:13:01 +0000 (18:13 +0000)]
Case should not be significant when comparing function names.
FossilOrigin-Name:
e2f1caf117b0a9632d52246717ab202852982339
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
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
drh [Mon, 31 Aug 2015 14:27:29 +0000 (14:27 +0000)]
Merge the latest enhancements from trunk.
FossilOrigin-Name:
7bde6d4d8cf05e1beb9bdf20b85760dc3e7a76c9
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
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
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
drh [Sat, 29 Aug 2015 18:30:30 +0000 (18:30 +0000)]
New test cases for the json1 extension.
FossilOrigin-Name:
daff4832af963f98bcc1d2c2f84bd815d384f850
drh [Sat, 29 Aug 2015 17:22:33 +0000 (17:22 +0000)]
Fix the build with -DSQLITE_OMIT_VIRTUALTABLE.
FossilOrigin-Name:
752918def7231f7846b3e985c9953a1cc825ab6b
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
dan [Sat, 29 Aug 2015 15:44:27 +0000 (15:44 +0000)]
Another change to the fts5 tokenizer API.
FossilOrigin-Name:
fc71868496f45f9c7a79ed2bf2d164a7c4718ce1
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
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
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
dan [Fri, 28 Aug 2015 16:41:45 +0000 (16:41 +0000)]
Fix compiler warnings in rbu code.
FossilOrigin-Name:
0fdc36fe35ae2fc8e9688fe6c53437f4d47502d9
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
dan [Fri, 28 Aug 2015 15:50:24 +0000 (15:50 +0000)]
Merge latest trunk into this branch.
FossilOrigin-Name:
ab93024da7bd577d8850b417aff8597a8b3807fc
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
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
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
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
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
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
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
drh [Thu, 27 Aug 2015 16:07:02 +0000 (16:07 +0000)]
Merge changes from trunk.
FossilOrigin-Name:
c80e9e8e8cc1e7676d7c782ee0827726875db79e
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
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
drh [Wed, 26 Aug 2015 18:04:23 +0000 (18:04 +0000)]
Merge enhancements from trunk.
FossilOrigin-Name:
ec6ddb3d481d005c304a26c948c9c808586750e9
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
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
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
drh [Tue, 25 Aug 2015 19:42:28 +0000 (19:42 +0000)]
Move sqlite3IndexColumnAffinity() inside of SQLITE_ENABLE_STAT3_OR_STAT4.
FossilOrigin-Name:
b3732a4e1b42a86675d89766cb8089914e2fab9a
drh [Tue, 25 Aug 2015 19:24:11 +0000 (19:24 +0000)]
Merge trunk enhancements.
FossilOrigin-Name:
e8b02902c48f3668dcff7b1767347ac7ef3c971e
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
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
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
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
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
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
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
mistachkin [Mon, 24 Aug 2015 17:18:43 +0000 (17:18 +0000)]
Enhancements to the batch build tool for MSVC.
FossilOrigin-Name:
a1ae20cd97456a1126cfa1a9bedce0bac0940ad6
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
drh [Mon, 24 Aug 2015 12:42:41 +0000 (12:42 +0000)]
Improvements to JSON string dequoting.
FossilOrigin-Name:
196d66d34d9783622e6f2f79eafea1488fc6f5cf