drh
c7c4680ffd
Fix EXPLAIN QUERY PLAN output for indexed-expressions. Fix another
...
obscure fault in the WHERE term scanner.
FossilOrigin-Name: 73d361ce9e4d72c943def8b0b3caa227f9199aed
2015-08-27 20:33:38 +00:00
drh
29d03f6517
Fix problems in the indexed-expression handling in the optimizer.
...
FossilOrigin-Name: 03375017691d5b480e73d712c4318632e835060c
2015-08-27 19:56:49 +00:00
drh
6860e6fa6f
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
2015-08-27 18:24:02 +00:00
drh
b377020ca9
Merge changes from trunk.
...
FossilOrigin-Name: c80e9e8e8cc1e7676d7c782ee0827726875db79e
2015-08-27 16:07:02 +00:00
drh
bb52308f3d
Adjustments to the WHERE term scanning, to better handle scanning terms of
...
an index.
FossilOrigin-Name: 5611130a595e7f0b6d5f21d76f2755e9c09c7810
2015-08-27 15:58:51 +00:00
drh
a3f108e93d
Reduce the size of the WhereScan object by 24 bytes while also clarifying its
...
operation.
FossilOrigin-Name: cbc3c9a8bf169ae0b21f26855038502c6cc25cfe
2015-08-26 21:08:04 +00:00
drh
e14796085a
Merge enhancements from trunk.
...
FossilOrigin-Name: ec6ddb3d481d005c304a26c948c9c808586750e9
2015-08-26 18:04:23 +00:00
drh
5579d59fb3
Evaluate expressions only once when the same expression is used in both the
...
result set and in the ORDER BY clause.
FossilOrigin-Name: c2f3bbad778504681b39ab9399a1eb3c1a35ab3f
2015-08-26 14:01:41 +00:00
drh
0576bc59a7
Refactor With.a.zErr into With.a.zCteErr. No logic changes.
...
FossilOrigin-Name: 58ba73630ecc4bc58b03a7962dd45b305ef605ef
2015-08-26 11:40:11 +00:00
drh
1c4505de91
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
2015-08-26 11:34:31 +00:00
drh
567cc1e407
Move sqlite3IndexColumnAffinity() inside of SQLITE_ENABLE_STAT3_OR_STAT4.
...
FossilOrigin-Name: b3732a4e1b42a86675d89766cb8089914e2fab9a
2015-08-25 19:42:28 +00:00
drh
760b32dff2
Merge trunk enhancements.
...
FossilOrigin-Name: e8b02902c48f3668dcff7b1767347ac7ef3c971e
2015-08-25 19:24:11 +00:00
drh
e910769817
Use the sqlite3IndexColumnAffinity() routine to quickly and correctly find the
...
affinity of an index column.
FossilOrigin-Name: 1ee089a72d789002a0a377347fc51e08ab32fb14
2015-08-25 19:20:04 +00:00
drh
1f9ca2c84c
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
2015-08-25 16:57:52 +00:00
drh
f8febc1b05
Fix a memory leak that might occur when compiling with SQLITE_OMIT_CHECK.
...
FossilOrigin-Name: 8f1d9f1f308518522ebb1eaebb9b184b4ac30924
2015-08-25 00:34:54 +00:00
drh
a514b8eb0c
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
2015-08-25 00:27:06 +00:00
drh
fea870be38
Remove some redundant code: Call sqlite3ResolveExprListNames() rather than
...
calling sqlite3ResolveExprNames() in a loop - in two places.
FossilOrigin-Name: bdaf66465b6b1bdad10c08d9527b98e7000a41e4
2015-08-24 20:54:06 +00:00
drh
108aa00a87
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
2015-08-24 20:21:20 +00:00
drh
8981b904b5
Enhance the CREATE VIEW syntax so that the names of columns of the view can
...
be specified after the view name.
FossilOrigin-Name: d794b34da6f9c77dfe17773b0b17b22de72cce7f
2015-08-24 17:42:49 +00:00
drh
bc622bc045
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
2015-08-24 15:39:42 +00:00
drh
e792b5b420
Fix a comment typo on sqlite3ExprAlloc(). No code changes.
...
FossilOrigin-Name: 518d6220a12fb1289f699ef0821e6adfcd286ed0
2015-08-23 20:48:29 +00:00
drh
38978dd4ed
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
2015-08-22 01:32:29 +00:00
drh
b1b124d482
Merge header file fixes from trunk.
...
FossilOrigin-Name: 7c2713e98ffb5f0d96eb7de9514eab43f0712011
2015-08-21 19:56:45 +00:00
drh
cfe05d882f
Add a missing #define for sqlite3_vsnprintf to sqlite3ext.h.
...
FossilOrigin-Name: da3c9df09c46564353218d0163e378b880a3ce62
2015-08-21 19:53:06 +00:00
drh
180872fef9
Reserve the SQLITE_IOERR_VNODE error code name.
...
FossilOrigin-Name: 53b593fcae178f2e08f758ae6fd100869f771bfd
2015-08-21 17:39:35 +00:00
drh
a7781dc0bb
Merge in trunk fixes for table-valued functions.
...
FossilOrigin-Name: 67375f32d931351964d75d20671c4a6d8a294d7d
2015-08-21 17:16:22 +00:00
drh
1f2fc28134
Fix a corner-case bug in table-valued functions. Update the generate_series()
...
virtual table to increase the performance estimate penalty for being
underspecified.
FossilOrigin-Name: 552bc9cb88bbe54b4cf5fdf66d1217e7a2047110
2015-08-21 17:14:48 +00:00
drh
0dfbe064de
Fix typo in comment. No changes to code.
...
FossilOrigin-Name: 7b8d17dd840f64dac9a018a4547a97de799e94ab
2015-08-21 12:37:49 +00:00
drh
89a10b2d53
Merge recent trunk enhancements, include table-valued functions.
...
FossilOrigin-Name: e9196d566690de0e9815f8cd85be7844322b5a79
2015-08-20 23:54:25 +00:00
drh
c1bd84124b
Merge recent enhancements from trunk, including table-valued expressions.
...
FossilOrigin-Name: b9927c876c1d4e146cb6a603d82cd2489594084d
2015-08-20 23:45:59 +00:00
drh
6842952429
Merge the latest changes from trunk, including the table-valued function
...
implementation.
FossilOrigin-Name: 10c444322f05ea8b83247f96a140bf3dbc4e9448
2015-08-20 23:39:38 +00:00
drh
c743579e59
Fix a couple C99-isms that cause compile errors on MSVC.
...
FossilOrigin-Name: bc577fe6cbbe5385d81d6fa0f3c34bb1c833f0d6
2015-08-20 23:28:18 +00:00
drh
d8b1bfc6bf
Fix corner-case memory management issues in table-valued functions. Change
...
virtual table handling so that if xDestroy is missing the table is
eponymous only even if xCreate is present.
FossilOrigin-Name: 774e6a14b124bbae4da0e188b62aee9ffb8c3745
2015-08-20 23:21:34 +00:00
mistachkin
197d59ffc4
Skip calling the virtual table xDestroy method when it is null.
...
FossilOrigin-Name: b73ad305a6b7cb84fe0a1efb334b8e4592e21c40
2015-08-20 21:14:31 +00:00
mistachkin
bc63ec1d62
Fix stray variable declaration for C89.
...
FossilOrigin-Name: 17eb7f18cb76170e109977a94b259b763cd86c47
2015-08-20 20:21:06 +00:00
drh
d10dbad5e1
Correctly handle empty function argument lists on table-valued functions.
...
FossilOrigin-Name: a7acc7878b8bb8e27a0da67b2dbb7bd51df4859b
2015-08-20 20:13:37 +00:00
drh
7fcdd06949
Add support for table-valued functions in the FROM clause implemented as
...
virtual tables.
FossilOrigin-Name: 9b718b06b156163ae34115b6c5f6d163a7ee7cc3
2015-08-20 19:55:58 +00:00
drh
cbd8db35f5
Make SQLITE_BUSY_SNAPSHOT and SQLITE_BUSY_RECOVERY retryable, just as a plain
...
SQLITE_BUSY is.
FossilOrigin-Name: fd13dd950d99fd1996860f7a5f220fdc89180194
2015-08-20 17:18:32 +00:00
drh
222cd5bee2
Merge the table-valued-function rowid fix.
...
FossilOrigin-Name: a06a6392bd48baa8b9bac2624869c0cc7da7e779
2015-08-19 19:26:13 +00:00
drh
509c3fc004
Fix eponymous virtual tables so that they do not automatically make the first
...
column the rowid. Enhance the generate_series virtual table to support rowid.
FossilOrigin-Name: a325a08599759471047e234ef9cfcc3cb110aafd
2015-08-19 19:01:28 +00:00
drh
03726aaf7f
Merge support for table-valued functions.
...
FossilOrigin-Name: 96a5d44d9fcb7b159c04630ad2d956fe27df5a43
2015-08-19 18:31:11 +00:00
drh
01d230ce05
A list of arguments following a table name translates into equality
...
constraints against hidden columns in that table.
FossilOrigin-Name: 40e12cfe4c29475417ba89fb637b4c763cf74016
2015-08-19 17:11:37 +00:00
drh
8a48b9c0b1
Minor refactor of the SrcList object so that it is able to hold the argument
...
list to a table-valued-function in the FROM clause.
FossilOrigin-Name: b919376147597c4b73421abe5788f893baf1560b
2015-08-19 15:20:00 +00:00
drh
398f872d1f
Virtual table modules with a null xCreate method act as eponymous-only modules -
...
they cannot be used in a CREATE VIRTUAL TABLE statement. Add the series.c
extension that implements a postgres-like generate_series virtual table to
demonstrate this capability.
FossilOrigin-Name: c58426dbd5ea8b8440ebcc1214f79fa63d658216
2015-08-19 13:54:20 +00:00
drh
b89c92a615
Merge changes from trunk.
...
FossilOrigin-Name: dddd792dedf0c73ebe74b4ff8d303e6216c16b6a
2015-08-19 12:52:51 +00:00
drh
0e07f6ae40
Simplification to error handling in addModuleArgument() in the virtual table
...
processing.
FossilOrigin-Name: c573b0a1aa3ba509234f07520fa94d008bcbb330
2015-08-19 12:45:57 +00:00
drh
51be3873c0
Initial implementation of eponymous virtual table instances.
...
FossilOrigin-Name: c1f43a7799a9298abea01b2f8531fc7cdadc4594
2015-08-19 02:32:25 +00:00
drh
bcf40a7f12
Provide hints for all terms in a range constraint if there are any equality
...
terms anywhere in the constraint. Range constraint terms are only omitted
for a pure range constraint with no equality prefix.
FossilOrigin-Name: b5897bc0f003c470eeb2a75e0a2b2bb202681531
2015-08-18 15:58:05 +00:00
drh
b413a5467a
Avoid generating hints using constraints that are also used to initialize the
...
cursor, since presumably the cursor already knows about those constraints.
FossilOrigin-Name: 142b048ac778620dd4e448c2e969982eb8188501
2015-08-17 17:19:28 +00:00
drh
d5a74c8e19
Minor fix to the display of oversized KeyInfo structures in the P4 operand
...
of Open opcodes in EXPLAIN output.
FossilOrigin-Name: f65a9b4ab2c6f0b7028e16e2a0f83fd6d58ae1cd
2015-08-15 16:32:50 +00:00