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
dan
2ce224535f
Experimental changes to EXPLAIN QUERY PLAN.
...
FossilOrigin-Name: f4747eb83dacce6430ad6e5eb20155ffad975514
2010-11-08 19:01:16 +00:00
drh
1ea870125c
Make sure the estimated row count for ephemeral tables is initialized so that
...
automatic indices can be used on those tables.
FossilOrigin-Name: d30f7b2deffdba373a2e0988f433c631c790a7b5
2010-10-21 22:58:25 +00:00
drh
5e87be8705
Fix long-standing bugs with the handling of LIMIT clausing in
...
compound SELECT statements with FROM clause subqueries.
Ticket [38cb5df375078d3f9].
FossilOrigin-Name: b0450120eabfe5455cea1ed04cec587a5540b6b7
2010-10-06 18:55:37 +00:00
drh
7153d1fb6e
Use OP_Copy rather than OP_SCopy at one point in aggregate processing where
...
it is needed to avoid shallow-copy misuse.
FossilOrigin-Name: a5eefd5239bf5b4f9d0bdfb312f5b33c0a196178
2010-09-28 03:55:02 +00:00
drh
bb7dd68320
Remove a redundant test for multiple output columns in a scalar subquery.
...
FossilOrigin-Name: 657472bce2b2fe6f3d4bbead5301f658812b937d
2010-09-07 12:17:36 +00:00
dan
74b617b22a
Move the test for an (illegal) scalar sub-query that returns more than one column to earlier in SELECT processing in order to avoid an assert() that can happen later on.
...
FossilOrigin-Name: a55842cfb56b659c88832dce9ce7bafb50258211
2010-09-02 19:01:16 +00:00
drh
d4187c716c
Provide hints to the btree layer during the creation of transient tables
...
when it is possible for those tables to use a hash rather than a binary tree.
No use is current made of those hints, though assert() statement verify
their accuracy.
FossilOrigin-Name: 4fead8e714c7e50a9d246467e62bc846ef6180a0
2010-08-30 22:15:45 +00:00
dan
49ad330d67
Do not apply the flattening optimization if the sub-query is DISTINCT. Fix for [e4b8a2ba6e].
...
FossilOrigin-Name: 497aafd8ed6a636a8bd5fa2cad265a20593ee34f
2010-08-13 16:38:48 +00:00
drh
f053d5b6c7
Fix two comment typos that were reported on the mailing list.
...
FossilOrigin-Name: 88bf9016277c133dfbf4f4b2be0c35c9fe9fabd6
2010-08-09 14:26:32 +00:00
drh
b2468954c2
Remove additional traces (mostly in comments) of the Table.dbMem field.
...
FossilOrigin-Name: 5c58f44aeb224e106497368d9290d75a08807761
2010-07-23 17:06:32 +00:00
dan
1feeaed291
Remove the Table.dbMem variable, as it is no longer being used for its original purpose.
...
FossilOrigin-Name: 6eddc6e601cf8f585c6c2cf79f36fcbfe98a307e
2010-07-23 15:41:47 +00:00
dan
1db95106ee
Currently, if SQLite cannot find a table or index referred to by a query, it reloads the database schema from disk to see if the table or index has been added since the schema was cached in memory. Extend this behaviour to columns (which may have been added using ALTER TABLE) and fix some obscure cases related to tables and indexes (INDEXED BY, DROP TABLE etc.).
...
FossilOrigin-Name: 4932f22848b3d15a2b6dc5fa2cd69ce19182e2a4
2010-06-28 10:15:19 +00:00