mistachkin
48864df97d
Many spelling fixes in comments. No changes to code.
...
FossilOrigin-Name: 6f6e2d50941e444ebc83604daddcc034137a05b7
2013-03-21 21:20:32 +00:00
drh
c8ac0d1649
Fix an unsafe VM register deallocation.
...
FossilOrigin-Name: cfba2c8dadbf1fa6f1602a327933570820a3b134
2013-02-16 02:41:01 +00:00
drh
785097da6b
A bug report coming from from Firefox
...
([https://bugzilla.mozilla.org/show_bug.cgi?id=840377 ])
describes an infinite recursion. We are unable to reproduce the problem.
Nevertheless, this check-in should prevent the problem from ever occurring
again.
FossilOrigin-Name: b7222a2bd035e7a32dc9416b25a488d9d017aad1
2013-02-12 22:09:48 +00:00
drh
547180baf0
Fix LIMIT and OFFSET so that they work and do not leak memory even on
...
complex queries involving deeply nested views of UNION ALL compounds.
Ticket [db4d96798da8]. Secondary to ticket [d58ccbb3f1b7].
FossilOrigin-Name: 497ee36cb8d07c936e6896135163c5cd7e94bdde
2013-01-29 23:55:50 +00:00
drh
47f2239fc1
Fix an issue with the SQLITE_TESTCTRL_EXPLAIN_STMT and compound queries with
...
multiple terms.
FossilOrigin-Name: a6499c2521637931661ed4d3afc4f96f91c69785
2013-01-28 22:52:34 +00:00
drh
d2a5623866
Issue an error message and quit (rather than overflowing a reference counter)
...
if the number of references to a table exceeds the maximum due to nested
UNION views. Fix for ticket [d58ccbb3f1].
FossilOrigin-Name: c2462a95ed8e1e69886681400d673207d906bf1b
2013-01-28 19:00:20 +00:00
drh
38b384a032
Further corner-case fixes to the name resolution logic.
...
FossilOrigin-Name: 20730bad7082b559a65e8cfedb31b6afca50df58
2013-01-03 17:34:28 +00:00
drh
c75e09c761
Remove an incorrect assert() statement (ticket [beba9cae6345a]). Fix other
...
minor problems in the name resolution logic.
FossilOrigin-Name: afe96a118c8a9627819ba5960aa83a607e734087
2013-01-03 16:54:20 +00:00
drh
3e3f1a5b49
Now supports result sets of the form "TABLE.*" with nested FROM clauses.
...
FossilOrigin-Name: 4cf5ed7ea198abc32f8118e79490e77f847f08c1
2013-01-03 00:45:56 +00:00
drh
fb7773276b
When resolving result-set name collisions, make them x:1, x:2, x:3, etc.
...
instead of x:1, x:1:1, x:1;1;1.
FossilOrigin-Name: ef01e30456670e6b1bc67fe41ec27e52c182efaf
2013-01-02 14:57:32 +00:00
drh
8f25d18b21
Better resolution of table and column names in joins where some of the
...
terms of the FROM clause are parenthesized.
FossilOrigin-Name: 7344e791b9456286ecdca6d45f2f5260fb3f10e2
2012-12-19 02:36:45 +00:00
drh
832ee3d4cc
Optimize the degenerate case of a FROM clause table name enclosed all by
...
itself inside parentheses. Generate code as if the parentheses did not
exist, rather than the old behavior of manifesting the parenthesized table
into a transient table. Also, tag every FROM-clause SELECT subquery that is
generated by a parenthesized FROM-clause expression using the SF_NestedFrom
flag. The new SF_NestedFrom flag is not yet used for anything.
FossilOrigin-Name: 7fecced466d86a66b0b751c5b5608141e134fe2d
2012-12-18 19:36:11 +00:00
dan
4ac391fc05
Attempt to further generalize the min/max optimization so that, if an appropriate index exists, it can be used by any aggregate query that contains only a single aggregate of the form max(colname) or min(colname) and does not contain a GROUP BY clause.
...
FossilOrigin-Name: 7280e14cd8f55896451847b432171e8750a07c81
2012-12-13 16:37:10 +00:00
drh
468ef9a87e
Refactor collating-sequence handling as a fix for ticket [71e333e7d2e642].
...
The Expr.pColl field is removed from the Expr object. The COLLATE operator
now becomes a separate instance of Expr in the expression tree. The code
generator looks up the correct collating function as needed, rather than
referring to Expr.pColl.
FossilOrigin-Name: 8542e6180d4321d45b34f33e481658908ce1430d
2012-12-08 21:51:24 +00:00
drh
580c8c1816
Veryquick passes all tests now.
...
FossilOrigin-Name: 7b96115e81deab0aa0472839cf787ba3f2fc64a7
2012-12-08 03:34:04 +00:00
drh
8e049633aa
For an ORDER BY on a compound SELECT, take the collating sequence from the
...
left-most term of the compound.
FossilOrigin-Name: 8e724b383da1314909c9a05e9d941a26a9f50b95
2012-12-07 23:10:40 +00:00
drh
62a66e7034
Do not report missing collating functions while parsing the schema.
...
Also remove a stray comment.
FossilOrigin-Name: e313edca0472f07e9b872b92120d80b4bc177328
2012-12-07 22:54:41 +00:00
drh
953f7611da
Fix a long-standing issue with the distinct-as-aggregate optimization that
...
only expressed when the new collating-sequence logic is turned on.
FossilOrigin-Name: 0aaf52a339808386984c30cca0c0c35ac2e70e7e
2012-12-07 22:18:54 +00:00
dan
4b2f358938
Ensure the VerifyCookie sub-routine has been run before the database is accessed in an obscure case. Fix for ticket [d6b36be38].
...
FossilOrigin-Name: 2d5f37c99a9e5377409697f5392a1ca55970964e
2012-12-07 19:28:26 +00:00
drh
4b17cf5855
Veryquick now row to completion without segfaulting or asserting. But there
...
are still lots of errors.
FossilOrigin-Name: 7fafab12e4c0c832c421975f8329c3214403d281
2012-12-07 14:02:14 +00:00
drh
ae80ddea9f
Remove the Expr.pColl field and compute the collating sequence as it is needed.
...
This fixes the test script "shared9.test", though there is still a memory leak.
And there are other problems. Consider this a work-in-progress.
FossilOrigin-Name: fd011cb22f2d899d94ec7ce22641d7a8f5e19972
2012-12-06 21:16:43 +00:00
drh
a575967793
Make it possible to disable the subquery-by-coroutine optimization using
...
sqlite3_test_control(). Remove an always-false conditional.
FossilOrigin-Name: 564631f3e45f8f8a8db69f1e0df0d1dadbad8a2c
2012-10-30 14:39:12 +00:00
drh
21172c4cc0
Add an optimization that attempts to run a subquery as a coroutine rather
...
than manifesting it into a temporary table.
FossilOrigin-Name: 7af3acbbd49a2114fcdada9ec907c68ba9b053bd
2012-10-30 00:29:07 +00:00
drh
42fbf32108
Dequote column names generated by the query flattener.
...
FossilOrigin-Name: 5526e0aa3ccb24988a4f351ac994907b6e89018a
2012-10-15 16:24:07 +00:00
dan
41fb5cd103
Shared-cache mode fixes for views and virtual tables.
...
FossilOrigin-Name: 2b370dea704b59262c604af0efcef5660b194454
2012-10-04 19:33:00 +00:00
drh
7e5418e4a4
Add more bits to the bit vector that is used to disable optimizations for
...
built-in test. Add specific bit patterns to disable ORDER BY using an
index in general and for joins. Use macros to test for bits in the
disabled-optimization bit vector, in order to make the code clearer.
FossilOrigin-Name: d2fcba1e143beca8c45724d2108870657c269e17
2012-09-27 15:05:54 +00:00
drh
46c35f9b20
Further refactoring of the ORDER BY related query-planning logic in order
...
to make it easier to extend to support optimizing out ORDER BY on joins.
No actual behavior changes, yet.
FossilOrigin-Name: 96496ddae12a239b30a1fc997fbea43e3a75bfe7
2012-09-26 23:17:01 +00:00
drh
46ec5b63e2
Change the internal sqlite3WhereBegin() to report that the ORDER BY clause
...
is satisfied by indices using the WhereInfo.nOBSat field of the returned
structure.
FossilOrigin-Name: 22989f3588531efd555cc29d6c576e7a34b7edc4
2012-09-24 15:30:54 +00:00
drh
e8e4af7697
Consolidate more of the DISTINCT processing logic into a single spot in the
...
code. Reduce the number of OP_Column operations needed to perform a
WHERE_DISTINCT_ORDERED.
FossilOrigin-Name: 79e922f7ae29bbe06d639d648fbd72523cf9a28e
2012-09-21 00:04:28 +00:00
drh
634d81dee0
Continuing incremental enhancements of SELECT code generation:
...
Remove the Select.affinity field. Use SelectDest.affSdst instead.
FossilOrigin-Name: cf40b7b5ebdacc3215d769aadacce8c9e7e9dfbb
2012-09-20 15:41:31 +00:00
drh
2c79733f3c
Refactoring of DISTINCT code. Change the name of the local variable
...
"distinct" to "distinctTab". Generate cleaner code w/o unnecessary P4
and P5 values on the OP_Null for WHERE_DISTINCT_ORDERED.
FossilOrigin-Name: 0cda241a2bcb3c6f2ae6c48f522780bc4eddfc02
2012-09-20 14:26:22 +00:00
drh
053a128f55
Tighter VDBE code for the WHERE_DISTINCT_ORDERED case of DISTINCT keyword
...
handling.
FossilOrigin-Name: 94b48064db3cbb43e911fdf7183218b08146ec10
2012-09-19 21:15:46 +00:00
drh
e1a022e48b
Make sure the KeyInfo.aSortOrder array is always allocated so that we never
...
have to test for KeyInfo.aSortOrder==0 in performance-critical loops.
FossilOrigin-Name: 45793f0b844fee7445bc9269b403f89a58f77150
2012-09-17 17:16:53 +00:00
drh
d815f17dab
Reduce the size of the Table object by 16 bytes on 64-bit machines, mostly
...
by avoiding intermixing pointer fields with integer fields.
FossilOrigin-Name: 1cb9aedfcf81f0086fa741cb29a062ee87724a5e
2012-09-13 14:42:43 +00:00
dan
67c70142d9
Fix a case where SQLite was failing to detect a syntax error in queries like "SELECT ... FROM (<select-1> UNION ALL <select-2>)" when <select-1> and <select-2> return different numbers of result columns.
...
FossilOrigin-Name: 200a81358c3117401d2258dd06bb8d2ea4f0ef51
2012-08-28 14:45:50 +00:00
mistachkin
d5578433ff
Fix all known instances of 'repeated the' style typos in comments. No changes to code.
...
FossilOrigin-Name: 9b19b847533f944f289d93dcdba29c0d67bf251c
2012-08-25 10:01:29 +00:00
dan
0efb72c969
Fix a problem to do with multi-or queries and automatic indexes.
...
FossilOrigin-Name: a3e26038a1d9f3331239f777c67d1920d904aab0
2012-08-24 18:44:56 +00:00
drh
fb0a60819b
Merge the nested aggregate query enhancements into trunk.
...
FossilOrigin-Name: d4cd6017c9875947a05b1dc36538d4272fb18739
2012-08-24 01:07:52 +00:00
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