drh
f0c9145a36
If a table column name begins with "__hidden__" then do not include that
...
column in "*" expansions in SELECT statements, nor fill in that column in
an INSERT INTO that omits the column list. <b>This branch is a
proof-of-concept only and is not intended to ever be merged into trunk.</b>
FossilOrigin-Name: 2dbffb3a3b20dba7d7d86c8ad2e34633f616c78a
2015-11-18 18:43:15 +00:00
drh
f7ee8965a5
Fix the column name uniquifier so that it works with zero-length column names.
...
FossilOrigin-Name: 791761ebac26c82ab67bdf867117ec5b5d8b20b0
2015-11-15 11:13:49 +00:00
drh
96ceaf8680
Code simplification in sqlite3ColumnsFromExprList(). Update the %z format
...
code so that it works with buffers obtained from sqlite3DbMalloc(). Add a
testcase for the slow column name uniquifier.
FossilOrigin-Name: 9272426057b6cb2d913519ff4c97aa6e211f7d51
2015-11-14 22:04:22 +00:00
drh
0315e3cc14
Use a hash table to improve the preformance of column name uniqueness checking.
...
FossilOrigin-Name: 5b08f29f458c600401860c7d70d8174cf61e69f8
2015-11-14 20:52:43 +00:00
drh
ebed3fa3e1
Use randomness to prevent showness in the generated-column-name uniqueness
...
checking.
FossilOrigin-Name: 6266712968a2cdcd6f5a3007d60c2cf1b3faf912
2015-11-14 16:47:23 +00:00
drh
6e7722669e
Proposed fix for an infinite loop bug in the WITH clause semantic analysis
...
logic.
FossilOrigin-Name: 028475cb17a4b50baf0e9aba9bd3403d0a5d03b0
2015-11-07 17:48:21 +00:00
drh
2476a6f2cb
Enhance TreeView to show WITH clauses. Add an assert to detect the
...
infinite loop behavior when certain kinds of errors occur on a nested
WITH clause.
FossilOrigin-Name: 2040d88e877bdb69de125a047cefb4a1558e89e8
2015-11-07 15:19:59 +00:00
drh
0030aaad67
Merge recent enhancements from trunk. Version now 3.9.1.
...
FossilOrigin-Name: 26fa091d68e89a0b6af61ba706d23a9f37e8025a
2015-10-16 20:53:57 +00:00
drh
ce78bc6e7e
Enhance the use of the column cache for UPDATE statements, making them
...
more efficient for the case where a column is modified to be an expression
of other unmodified columns.
FossilOrigin-Name: 871e091df651b2275a672c35ff938bd4b6db0d7f
2015-10-15 19:21:51 +00:00
drh
99f4647ef5
Merge in all the 3.9.0 updates from trunk.
...
FossilOrigin-Name: 29444149342fc6b1ea8cd34c2c8e1fcb06eaa7ed
2015-10-14 20:09:54 +00:00
drh
bfad7be78a
Detect and report circularly defined views even if the views have the
...
columns defined in the CREATE VIEW statement.
FossilOrigin-Name: 9ab9c8c6d747647f8ade58c2c4812fc69a813368
2015-10-11 20:39:46 +00:00
drh
2906490b71
Remove an unreachable branch in the query flattener substitution logic.
...
FossilOrigin-Name: 46ee3453a31b5e793d5aaad471cec1b1a11ab2cf
2015-10-11 20:08:31 +00:00
drh
d12b636330
Improved substitution logic in the query flattener. Saves code space, and
...
(more importantly) works correctly with table-valued functions.
FossilOrigin-Name: 3d0bd95e977db50c314d33ec292f99e0539d7b4a
2015-10-11 19:46:59 +00:00
drh
728e0f91bb
Compiler warning fixes: Rename some local variables from "j1" to avoid a
...
name collision with the j1() bessel function in the math library. Omit a
dummy initializer that gcc 4.6.3 does not like.
FossilOrigin-Name: 9ddef84d432813f3ece8012047d08441caa3315d
2015-10-10 14:41:28 +00:00
drh
8b0cf38a12
Simplifications to the VDBE bytecode that handles LIMIT and OFFSET.
...
FossilOrigin-Name: 041df7c2f14b95868a08090354ebb3308050790e
2015-10-06 21:07:06 +00:00
drh
9f1ef45f6a
Fix the LIMIT and OFFSET handling for UNION ALL queries that contain a
...
subquery with ORDER BY on the right-hand side. Fix for ticket
[b65cb2c8d91f668584].
FossilOrigin-Name: 4b631364354068af95a01630469cb6fbfe8b52fd
2015-10-06 17:27:18 +00:00
drh
e2b7d7a0a1
Remove dead code, replacing with assert() statements that make sure the
...
code really was dead.
FossilOrigin-Name: 0e317dda5dfd35b742afd70dacb5bfb39aa3fc4a
2015-09-29 15:50:04 +00:00
drh
2679f14fd9
Report an error if the number of named columns in a VIEW is different
...
from the number of result columns in the SELECT statement that implements
the VIEW.
FossilOrigin-Name: 6e4ac0be2de1a16fcbb2a314504122ad95aa257e
2015-09-25 13:42:55 +00:00
drh
ae1a015c87
Merge trunk changes into the cursor-hints branch.
...
FossilOrigin-Name: fbe637620fb7f2c9395c9ddac77d26746d6d4178
2015-09-24 15:06:30 +00:00
drh
6230212f4a
Do not allow table-valued function syntax to be used on a view.
...
FossilOrigin-Name: 97cfe346e140e42a604375551f8168276bdbea11
2015-09-19 20:27:08 +00:00
drh
163c29c5f3
Merge enhancements from trunk.
...
FossilOrigin-Name: 25ee3000e94d60d8c1d7b980f416dcc33eb11105
2015-09-03 14:39:33 +00:00
drh
076e85f59c
Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help
...
with code generation, especially on PRAGMAs. Rename sqlite3VdbeAddGoto()
to just sqlite3VdbeGoto().
FossilOrigin-Name: 847387ec8e6fef283899578fb232b2c23b00ee5b
2015-09-03 13:46:12 +00:00
drh
0ff287fb01
Add and use the sqlite3VdbeChangeOpcode() routine. Simplify the implementation
...
of the other sqlite3VdbeChange*() routines.
FossilOrigin-Name: 0a5b00e493efae58252f9fc7bde5a469645942d5
2015-09-02 18:40:33 +00:00
drh
2991ba050b
Add the sqlite3VdbeAddGoto(v,i) routine as a shorthand for
...
sqlite3VdbeAddOp2(v,OP_Goto,0,i).
FossilOrigin-Name: be78f413df1b0d874b44a866ef6bf17543d7e8a2
2015-09-02 18:19:00 +00:00
drh
4970d4032e
Merge enhancements from trunk.
...
FossilOrigin-Name: 29570a604806e2a60a8eef7eaf1dce022d2a7004
2015-09-01 18:31:19 +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
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
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
c1bd84124b
Merge recent enhancements from trunk, including table-valued expressions.
...
FossilOrigin-Name: b9927c876c1d4e146cb6a603d82cd2489594084d
2015-08-20 23:45:59 +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
bec2476afc
Merge in all the trunk changes from the previous year. This breaks the
...
cursor-hint mechanism, but provides a baseline for trouble-shooting.
FossilOrigin-Name: 82a7a61bc0883b1e7432548e4890791717aa1bb3
2015-08-13 20:07:13 +00:00
mistachkin
89b31d73a6
Fix compilation issues with SQLITE_OMIT_COMPOUND_SELECT defined.
...
FossilOrigin-Name: 9c39d4644530ccc532f4ff26464106c6da43269a
2015-07-16 17:29:27 +00:00
drh
b63ce02f57
Do not allow recursive CTEs that use aggregate queries in the recursive part.
...
FossilOrigin-Name: 6d2999afbc25b9c238e4028f637c10eaaf0ec75e
2015-07-05 22:15:10 +00:00
mistachkin
c29cbb0bec
Fix harmless compiler warnings and one macro VVA_ONLY macro usage issue.
...
FossilOrigin-Name: bcc8a75509aafda61feb6dcc074668c79611a662
2015-07-02 16:52:01 +00:00
drh
9c7c913cd6
Cache the sqlite3_context structure in the P4 operand of VDBE programs
...
for faster SQL function dispatch.
FossilOrigin-Name: 2abc44eb3b9d489321baa50bc25e17dafbda3687
2015-06-26 18:16:52 +00:00
drh
2ec18a3cce
Mark some branches as unreachable after the recent change that recognizes
...
mismatch result set sizes on compound SELECT statements sooner.
FossilOrigin-Name: c8d1f305b6e9dfc36b8e3f4ab92de4457884d903
2015-06-23 23:31:52 +00:00
dan
923cadb1ae
Test that the left and right sides of a compound SELECT operator have the same number of expressions in the expanded expression list before beginning to generate code.
...
FossilOrigin-Name: 4df852ce26c95d5d23c83dbe9c59d2c3435acddf
2015-06-23 12:19:55 +00:00
drh
606f2344e9
Pervent the likelihood() function from moving ON clause terms of a LEFT JOIN
...
into the WHERE clause.
Fix for ticket [5f60b11fc8e23490e2]
FossilOrigin-Name: ed96e14adce4a4f94cc6838c46bc97937c4cb72a
2015-06-18 14:32:51 +00:00
drh
38b4149ca1
Factor out the TreeView parse tree printing module into a separate file.
...
FossilOrigin-Name: c32ce54ca46a4be4373983be6fd44b1f3a0250d1
2015-06-08 15:08:15 +00:00
drh
b121dd14ac
Code simplifications in select.c and where.c.
...
FossilOrigin-Name: 4f20ac90bce8bd7ba43ef59af5cc4ef7aa282fe8
2015-06-06 18:30:17 +00:00
drh
adc57f6834
Minor cleanup of the sqlite3Select() procedure.
...
FossilOrigin-Name: f4c90d06bb941453d8110680c7b279e471e8f034
2015-06-06 00:18:01 +00:00
drh
4490c40b90
Split FROM-clause subquery flattening and code generation into separate loops.
...
FossilOrigin-Name: be8e3fc70e4c13b28b07985df3457960f58ffddd
2015-06-05 22:33:39 +00:00
drh
bc8edba10a
Provide one final Select tree dump prior to WHERE clause analysis
...
when ".selecttrace 0x400" tracing bit is set with SELECTTRACE_ENABLED.
Analysis and debug changes only - normal builds are unaffected.
FossilOrigin-Name: 283bf0b64da7acc5aa5812fc659954965002d409
2015-06-05 20:27:26 +00:00
drh
d62fbb50e6
Change the name of SrcList.a[].zIndex to the more descriptive
...
SrcList.a[0].zIndexedBy.
FossilOrigin-Name: 6a9cf063379118dbb95c6cdc6d60af50e9867177
2015-06-04 12:08:53 +00:00
drh
4c393a82df
For FROM-clause subqueries that cannot be flattened, try to push relevant
...
WHERE clause terms of the outer query down into the subquery in order to help
the subquery run faster and/or use less memory.
FossilOrigin-Name: 6df18e949d3676290785143993513ea1b917d729
2015-06-02 18:09:18 +00:00
drh
05883a3409
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB.
...
FossilOrigin-Name: bce3f04186cd2d69414a5a98b5b77dc8f060554a
2015-06-02 15:32:08 +00:00
drh
69b72d5a29
For FROM-clause subqueries that cannot be flattened, try to push WHERE clause
...
terms of the outer query down into the subquery in order to help the subquery
run faster and/or use less memory.
FossilOrigin-Name: 297fae7551a2af9e600d833801ff79fca0602ad5
2015-06-01 20:28:03 +00:00
drh
7cea7f95c7
Using "SELECT ALL" instead of just "SELECT" on a query that uses a single
...
unflattenable subquery or view in its FROM clause will force the subquery to
be manifested into a temporary table rather than run incrementally using a
co-routine. This is a stop-gap means of controlling the decision to manifest
while we try to work out a better to make that decision automatically.
FossilOrigin-Name: a29e117d7ecec05da949348689dbfb0d3acb1280
2015-05-29 01:35:19 +00:00
drh
fccda8a162
CTEs have never add working rowids. So disallow the use of the "rowid" column
...
within CTEs.
FossilOrigin-Name: 0055df0445932a43e42b318ef88672dcbe312c3a
2015-05-27 13:06:55 +00:00