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
drh
8c6f666b26
Optimization: Convert an ORDER BY clause into a no-op if the query also
...
contains a GROUP BY clause that will force the same output order.
FossilOrigin-Name: ca9d86baf70f210d331ce93102177c8005c494cb
2010-04-26 19:17:26 +00:00
drh
f391327824
Disable query flattening when the outer query is a compound SELECT and
...
the inner query has a LIMIT clause. Ticket [02a8e81d44].
FossilOrigin-Name: f96782b389b5b97b488dc5814f7082e0393f64cd
2010-04-15 23:24:29 +00:00
dan
67a6a40cf9
Clear the column cache before populating aggregate accumulator registers. Fix fo
...
r [883034dcb5].
FossilOrigin-Name: ffc23409c7fb45dc5a8722fad26e26d207bb3213
2010-03-31 15:02:56 +00:00
drh
5a29d9cbc5
Fix an assertion fault that occurs when two different virtual tables are
...
used in a single UPDATE statement.
Ticket [d2f02d37f52b].
FossilOrigin-Name: ff61e0fd802c46c2d84c4b0c0bc8a0f34959bb25
2010-02-24 15:10:14 +00:00
drh
f49f352320
Adjustments to column cache handling in order to restore 100% branch
...
test coverage.
FossilOrigin-Name: cc6b959bc1f968e08eea1afd387201d70a0c1e80
2009-12-30 14:12:38 +00:00
drh
b6da74ebd5
Immediately purge entries from the column cache when the associated register
...
undergoes an affinity change. Ticket [eb5548a849]. Enhance the
SQLITE_TESTCTRL_OPTIMIZATIONS setting of sqlite3_test_control so that it
can disable the column cache for testing purposes, in an effort to prevent
future problems of a similar nature to this one.
FossilOrigin-Name: ea4e57e1c1b6663ceb12872e31a8503f6c14e3d8
2009-12-24 16:00:28 +00:00
drh
07096f68ae
Move the query flattener turn-off from a pragma to an sqlite3_test_control()
...
call. Make provisions (not yet implemented) to turn off other optimizers
using the same call.
FossilOrigin-Name: 4a97c623f4e190134de4b2ca406e311034a74797
2009-12-22 23:52:32 +00:00
drh
7b688ede64
Add a pragma to disable the query flattener - for use during testing.
...
FossilOrigin-Name: 1d8550e5c88db0ea76aea579c1a5bf99d48fbe43
2009-12-22 00:29:53 +00:00
drh
2179b43465
The USING clause and NATURAL JOIN look at all tables to the left when
...
searching for a match, not just the one table to the immediate left.
Tables further to the left are preferred.
Fix for ticket [f74beaabde]. Still need to add test cases to complete
the ticket.
FossilOrigin-Name: b558e96f0a3cd2cbbe86e44293246a4730960d52
2009-12-09 17:36:39 +00:00
drh
456e4e4fba
Fix a bug in LIMIT 0 for compound SELECT statement.
...
The problem was introduced by recent enhancements and has not appeared
in any release.
FossilOrigin-Name: c6ed7e2a73a7a65cfa914ffcad4f603b6b7a22a8
2009-11-20 16:13:15 +00:00
drh
91fc4a0c4d
Shift more OP_Found opcodes over to using the unpacked format, for improved
...
performance.
FossilOrigin-Name: 6705ab1ad12cbdbbcf1f3e5439a4e6cbdcc421b3
2009-11-12 20:39:03 +00:00
drh
8cff69df11
Enhance the OP_Found and OP_NotFound opcodes so that they can accept an
...
array of registers as an unpacked record in addition to a record built
using OP_MakeRecord. Use this to avoid OP_MakeRecord calls during IN
expression processing.
FossilOrigin-Name: b9eab885cd2ca1a1633329e7036c125e8dba62c5
2009-11-12 19:59:44 +00:00
drh
9b918ed1d8
Adjustments to the implementation of LIMIT so that it uses fewer opcodes.
...
FossilOrigin-Name: 39d5b292d27faf00ab58ff4074f91f7aea97cd99
2009-11-12 03:13:26 +00:00
drh
c81c11f62c
Remove the obsolete "$Id:$" RCS identifier strings from the source code.
...
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
dan
f7b0b0ad5f
When generating WHERE clause terms internally for NATURAL and USING joins, identify the table by its position in the FROM list, not by its name or alias. Fix for [b73fb0bd64].
...
FossilOrigin-Name: 6fe6371175482d38ac4aeea994c7b20c18b7de01
2009-10-19 15:52:32 +00:00
dan
43bc88bbe8
Remove an ALWAYS macro around an expression that is sometimes false.
...
FossilOrigin-Name: f2a9ee722c568e73f2a08fb6a2886719850f2923
2009-09-10 10:15:59 +00:00
drh
3e9ca09453
Code simplifications, especially to the pseudo-table logic, and comment
...
improvements.
FossilOrigin-Name: 52449a9569b7142095cc88ee208b31cc59a3cab4
2009-09-08 01:14:48 +00:00
drh
417168ade2
Add the SQLITE_LIMIT_TRIGGER_DEPTH option to sqlite3_limit().
...
FossilOrigin-Name: d7dc8b433691745b3842282569f1573d1e057963
2009-09-07 18:14:02 +00:00
dan
65a7cd1631
More fixes and comment updates.
...
FossilOrigin-Name: 38a9327bad1a01e3d7a47fad44ece2f6c7e88643
2009-09-01 12:16:01 +00:00
dan
165921a742
Changes to support recursive triggers.
...
FossilOrigin-Name: 9b9c19211593d5ff7b39254a29c284560a8bcedb
2009-08-28 18:53:45 +00:00
drh
38210ac500
Fix a segfault following OOM that was introduced by check-in (6949) which
...
was a fix for ticket #3997 . (CVS 6954)
FossilOrigin-Name: 359d78e144c2399791d341eda1760eb486f9740a
2009-08-01 15:09:58 +00:00
danielk1977
0a458e5e2f
When flattening a SELECT query, do not discard collation sequences explicitly attached to expressions in the parent query. Fix for #3997 . (CVS 6949)
...
FossilOrigin-Name: b2784cf5d8b520fb714efdb2d2746b2c88b56edf
2009-07-28 13:30:30 +00:00
drh
c3a8402a94
Make sure nested queries with USING clauses do not leak memory.
...
Preliminary fix for ticket #3911 . (CVS 6750)
FossilOrigin-Name: bd341a103c25395b1189d05edebfe4af8a943941
2009-06-12 03:27:26 +00:00
shane
cf6973963a
Fix compiler warnings with MSVC build. (CVS 6699)
...
FossilOrigin-Name: 0791588520603d106aa0b8ce24d68b740b7b80c8
2009-06-01 16:53:09 +00:00
drh
d6b8c43474
Code simplifications to facilitate coverage testing following the recent
...
changes to the Expr object. (CVS 6697)
FossilOrigin-Name: ee9a144d448a76f29c3ca03851c1aeef539068e2
2009-05-31 21:21:40 +00:00