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
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