drh
030796df8d
Further improvements to the processing of nested aggregate queries.
...
FossilOrigin-Name: 3c3ffa901f5ce8a523028ff15563ce3e0f55a641
2012-08-23 16:18:10 +00:00
drh
c041c16ce1
Mark parameters to sorter interfaces as const where appropriate.
...
FossilOrigin-Name: d8da26f1f43610ac83af2a5d0e170be5abaf7aaa
2012-07-24 19:46:38 +00:00
drh
2b596da8b7
Refactor field names in the SelectDest object to make them distinct and easier
...
to grep for.
FossilOrigin-Name: b589f1efb3907a68058bf2ee981dca126d083e83
2012-07-23 21:43:19 +00:00
drh
3a8c4be7d4
Candidate fix for the nested aggregate query problem of ticket
...
[c2ad16f997ee9c8e].
FossilOrigin-Name: f3dd1fafd4718558de1f06139419a8c560d727f5
2012-05-21 20:13:39 +00:00
drh
a51009b251
Convert the NameContext object from using u8 booleans to using individual
...
bits in a single u8 as its booleans. This change might become a basis for
a fix for [c2ad16f997ee9c].
FossilOrigin-Name: 722260969306778029b738402f22e3c154dd77a1
2012-05-21 19:11:25 +00:00
drh
a2acb0d769
Add a testcase() macro to ensure that the sqlite3AuthCheck() call inside
...
the query flattener really is effective.
FossilOrigin-Name: a134e6e739cbb27701b092b33033244feb164cdf
2012-04-11 23:22:37 +00:00
dan
8c2e0f02ba
Modify selectColumnsFromExprList() to avoid ever incorrectly returning SQLITE_NOMEM.
...
FossilOrigin-Name: e7cb6b73ac079d0751b3f9429d0f6a35ca8ec853
2012-03-31 15:08:56 +00:00
drh
a748fdcc43
Evaluate typeof(X) and length(Y) where X is any column and Y is a blob column
...
without actually loading X and Y from disk.
FossilOrigin-Name: b899dbeb60752843287e2c6ad3577e1d00f0d587
2012-03-28 01:34:47 +00:00
drh
63296052a1
Fix an obscure bug that causes a crash when parsing certain invalid SQL
...
statements.
FossilOrigin-Name: c8c7846fb990199dcc0774a69e8257510bc36f2d
2012-02-23 17:35:28 +00:00
drh
7a95789c0c
For queries of the form "SELECT p, max(q) FROM t1", the value of column p
...
returned is the one on the same row that holds the maximum value of q.
FossilOrigin-Name: adb29232b659c5332b6841776372407fcc350b08
2012-02-02 17:35:43 +00:00
drh
a3cc3c9616
Fix a possible segfault after an OOM fault. This has been in the code for ages
...
but only expressed itself following the previous check-in.
FossilOrigin-Name: a3553b8a035b70e76a5a325b9e9f379f84de3955
2012-02-02 03:11:40 +00:00
drh
7b113bab79
Add support for multiple rows of VALUES in an INSERT statement.
...
FossilOrigin-Name: eb3b6a0ceb8bfb9fd59ff5fec420f863a9b5c4e4
2012-01-28 15:22:22 +00:00
mistachkin
14a55b7122
Fix typo in comment.
...
FossilOrigin-Name: 199edb6869977ccd7abf886af5cf9b344c857d1e
2012-01-18 01:09:57 +00:00
drh
630d296c57
Update comments describing the flattening optimization in select.c.
...
FossilOrigin-Name: dab4c137a852222f11179fa2ade52d17a4206dd2
2011-12-11 21:51:04 +00:00
drh
4b3ac73c2f
Minor cleanups of the compound-subquery flattening logic. New test cases
...
added for joins the compound subquery.
FossilOrigin-Name: 5061d85ff934db3c217c97acbbbed3286d9e02aa
2011-12-10 23:18:32 +00:00
drh
1acc6cbe00
Allow UNION ALL compounds to be promoted up to replace a simple wrapper
...
SELECT even if the compounds are joins.
FossilOrigin-Name: 3d4b4f4fb7c1d9f1c742fef884383e9f50f8630e
2011-12-10 17:17:17 +00:00
drh
678a9aa7bd
Import the experimental parse-tree explainer, with fixes, from the
...
tree-explain branch.
FossilOrigin-Name: bcbc7152d49107afa926c8950360c61a6cf3d244
2011-12-10 15:55:01 +00:00
drh
a5eec8c8c3
Merge the latest trunk changes into tree-explain branch.
...
FossilOrigin-Name: 1a360da0f8314f232c224c71829646bc7558892b
2011-12-10 14:44:31 +00:00
drh
ec86c724ac
Take out the OP_JumpOnce opcode. Revert compound SELECT to use OP_IfNot,
...
which is the correct behavior. Mark trigger registers as initially
invalid.
FossilOrigin-Name: 6a9fb47d5060fe641915f5f99cc9265409a4583b
2011-12-09 17:27:51 +00:00
drh
b8475df809
Make no assumptions about the initial state of VDBE registers.
...
FossilOrigin-Name: 521d72bdf67b4b1972331307345a18c231a6e1d6
2011-12-09 16:21:19 +00:00
dan
1d8cb21fdb
Modify the OP_Once opcode so that it works correctly in trigger sub-programs. This is a candidate fix for [7bbfb7d442].
...
FossilOrigin-Name: 557c69055a300b4082830b5f4803091dca1c3140
2011-12-09 13:24:16 +00:00
drh
4e2a9c3272
Additional detail added to the tree-explain output for SELECT statements.
...
FossilOrigin-Name: 7b457ea4551ba411a4747d74fb78b795cc8d9ee6
2011-12-07 22:49:42 +00:00
drh
04b8342b83
More compact notation for the parse-tree view.
...
FossilOrigin-Name: 0eb3f8b1e3a196811fb54a5e2645debe6119610a
2011-12-07 15:33:14 +00:00
drh
a84203a074
Improvements to the data-structure explain subsystem. Most queries now
...
give a reasonably detailed graph of their parse tree.
FossilOrigin-Name: 0aa7d3d2346bdddcc4e1e25ee26d13c8594885e5
2011-12-07 01:23:51 +00:00
drh
7e02e5e6b5
Begin adding the data-structure explaining subsystem. All is contained within
...
FossilOrigin-Name: 79ae51c5b1b20ed0a425a87e65a32a096a80b7e1
2011-12-06 19:44:51 +00:00
drh
cdc6955716
Do not reuse temp registers originally allocated to a subroutine within
...
the main body of the program logic, since if the subroutine is called
while the reused temp registers are in use, their values will get clobbered.
Candidate fix for ticket [3a77c9714e63330]
FossilOrigin-Name: 092d53315e50be42b51ef7b3069c82c32a129b6a
2011-12-06 13:24:59 +00:00
drh
b07028f71c
Add assert() statements and eliminate needless variable assignments in order
...
to get the clang scan-build utility to report zero problems against the
SQLite core. Clang's static analysis did find one real problem - but it was
in the command-line shell, not in the SQLite core.
FossilOrigin-Name: 60fee9574b0125705787e33c16f116cf188c8323
2011-10-14 21:49:18 +00:00
drh
338ec3e18e
Add a couple of asserts trying to make the operation of
...
sqlite3SelectNew() clearer.
FossilOrigin-Name: b21b1c7bc490b193da8d8a277489eb875a507e30
2011-10-11 20:14:41 +00:00
drh
a464c23429
Remove unreachable branches from the previous change. Add additional
...
test cases.
FossilOrigin-Name: cf51ef8ab8a610ddf64f66970dd689fe1df405b8
2011-09-16 19:04:03 +00:00
drh
7157e8eac1
Further streamlining of the subquery materializer. New test cases for
...
ticket [002caede898a]
FossilOrigin-Name: ff8b76b25b42497a7374de56c6a8f34cbe70cd6a
2011-09-16 16:00:51 +00:00
drh
48f2d3b10a
Add the new OP_Once opcode. Use it to clean up and simplify various
...
one-time initialization sections in the code, including the fix for
ticket [002caede898ae].
FossilOrigin-Name: 7f00552b739fad79517b042a6ed61abe743a917b
2011-09-16 01:34:43 +00:00
drh
5b6a9ed495
Materialize subqueries using a subroutine and invoke that subroutine
...
prior to each use of the subqueries manifestation. Fix for
ticket [002caede898aee4]
FossilOrigin-Name: 4b8357ee3c4ccdbd34e0cd077efd84cca677f496
2011-09-15 23:58:14 +00:00
drh
c2bb3282f1
Improve the testability of the merge-sort logic.
...
FossilOrigin-Name: b5179baf87aa00ed5cecbdcaa65bee10e112a9e9
2011-09-04 01:11:46 +00:00
dan
5134d1357e
Instead of a temporary b-tree, use a linked-list and merge-sort to sort records in main memory in vdbesort.c.
...
FossilOrigin-Name: 7769fb988d9be0f2d8129aaac19620ac88f9b4a6
2011-09-02 10:31:11 +00:00
drh
1c9d835d49
Use OP_SorterOpen instead of OP_OpenEphemeral to implement GROUP BY.
...
FossilOrigin-Name: ebf819aaa555bd79fddfc0a6f9827a2539095d6c
2011-09-01 16:01:27 +00:00
drh
c6aff30ca4
Experimental code-generator changes to utilize new opcodes for sorting.
...
FossilOrigin-Name: bab2e560f6cb989c83a96aad60f666960ede7abe
2011-09-01 15:32:47 +00:00
dan
54bbe7f15e
Fix a broken assert() statement in select.c.
...
FossilOrigin-Name: ad78ef2b3a20e3c3191fba232cbae70656210cf5
2011-08-29 18:24:27 +00:00
drh
ec661058dd
Fix harmless compiler warnings on unix.
...
FossilOrigin-Name: 90b1aea17400bbda5ebc8ae4eb4e12127519e42e
2011-07-09 16:17:18 +00:00
dan
50118cdfdb
Improvements and tests for detection of redundant DISTINCT qualifiers.
...
FossilOrigin-Name: 7337293c87fb563604dd6ad284f2d1e30c938b4c
2011-07-01 14:21:38 +00:00
dan
38cc40c216
Experimental changes to improve optimization of DISTINCT queries.
...
FossilOrigin-Name: f7ba0219ef2f235543c258be736955d91ca5ecce
2011-06-30 20:17:15 +00:00
drh
3e9548b30d
Do not do full table scans of unordered indices.
...
FossilOrigin-Name: a8761a9128de945aa4b6196df5ffe64115d66b61
2011-04-15 14:46:27 +00:00
dan
bb2b441867
Changes to support building with various SQLITE_OMIT_XXX options defined.
...
FossilOrigin-Name: 2039ed952a02bdcd4fc6d2e20572c4632084dcdb
2011-04-06 17:54:31 +00:00
dan
ef7075de1f
Fix a problem with "EXPLAIN QUERY PLAN SELECT count(*) FROM tbl".
...
FossilOrigin-Name: 9f9f32882501ac9b6e60f81195a64bdbf6e4497b
2011-02-21 17:49:49 +00:00
shaneh
a91491e5c7
Skip flattening if subquery has LIMIT and outer query is DISTINCT. Fix for ticket 752e1646fc.
...
FossilOrigin-Name: 559739998833643f589fa76d8360080691f83c18
2011-02-11 20:52:20 +00:00
dan
ce7e189d24
Change the type of a variable in struct SrcList so that it fits in a 100 byte lookaside buffer on a 64-bit architecture.
...
FossilOrigin-Name: 7df43f4892e628ecb8a83c5ed2dce5e24f6dd529
2010-12-01 19:00:48 +00:00
drh
95aa47b10a
Use the estimated number of rows computed for subqueries in the cost
...
computations for outer queries.
FossilOrigin-Name: 56bbc539246a6dc9f1ae1edb898db7a4f6f6d322
2010-11-16 02:49:15 +00:00
dan
30969d3f26
Use "COMPOUND" instead of "COMPOSITE" in the EXPLAIN QUERY PLAN output to describe UNION, UNION ALL, EXCEPT and INTERSECT operations.
...
FossilOrigin-Name: 28643b85d93d27a44b9370e4087efa8fa2af7f8e
2010-11-11 17:48:51 +00:00
dan
7f61e92c3a
Add a row of EXPLAIN QUERY PLAN output for each composite select operation (UNION, EXCEPT etc.) in the query.
...
FossilOrigin-Name: 00fb8468b5f2c48a3c91b86803bf306a0331496f
2010-11-11 16:46:40 +00:00
dan
17c0bc0c4a
Add missing comments and fix other issues with routines used by new EQP features.
...
FossilOrigin-Name: 925f35c535396603e13bb12e9a361072e2c2c223
2010-11-09 17:35:19 +00:00
dan
4a07e3db27
Further enhancements and fixes for explain query plan.
...
FossilOrigin-Name: 73c93f5a2a32ee8c5d07c9ba33b2641e72626627
2010-11-09 14:48:59 +00:00