drh
5f61229504
Do away with the "multi-register pseudo-table" abstration. Instead, just
...
use an OP_SCopy to load results directory from the result registers of
the co-routine.
FossilOrigin-Name: 1e64dd782a126f48d78c43a664844a41d0e6334e
2014-02-08 23:20:32 +00:00
drh
aceb31b120
Change the OP_Trace opcode to OP_Init and give it the ability to jump to the
...
initialization code at the bottom of the program, thus avoiding the need for
an extra OP_Goto.
FossilOrigin-Name: 192dea97316144f15f6dd0eabff08a0bf9ef203e
2014-02-08 01:40:27 +00:00
drh
dddf6978d2
Fix redundant definitions of _LARGE_FILE and _LARGEFILE_SOURCE.
...
FossilOrigin-Name: 4043d879795bfad55af35e9cb48e0a42eb4087ae
2014-02-07 19:33:31 +00:00
drh
ee06c99b49
Remove the SF_Materialize flag from the SELECT object as it does not
...
accomplish anything useful.
FossilOrigin-Name: 65d5dcddbd34dfb2733a7a908c7c652ce2d610fe
2014-02-04 20:46:41 +00:00
drh
7df89c8c8a
Rearrange fields in the Parse object for a tighter packing, resulting in
...
an 8% size reduction on x64.
FossilOrigin-Name: 3e1a3f68d7457ff708222a3448404b593f018fc2
2014-02-04 15:55:25 +00:00
drh
19913f4419
Bring in the latest updates from trunk.
...
FossilOrigin-Name: 7b5f3773867ed0e4ed17bd473ba972d500035318
2014-01-28 18:06:17 +00:00
drh
693e671936
Fixes for various clang warnings.
...
FossilOrigin-Name: 87bf60637e5863c54c5e2d05aaaca0835b7aace8
2014-01-24 22:58:00 +00:00
drh
c187698614
Bring in all the latest trunk changes, including the Common Table
...
Expressions implementation.
FossilOrigin-Name: 9b43e559195680e558264c4c00d34dc9cf9d9146
2014-01-24 14:05:18 +00:00
drh
fe1c6bb9c2
Get ORDER BY working for recursive queries.
...
FossilOrigin-Name: 37b343b01841b338954ddfa9b76d92aa50037aec
2014-01-22 17:28:35 +00:00
drh
781def29c7
Add new SelectDest codes, SRT_Queue and SRT_DistQueue in anticipation of adding
...
ORDER BY support on recursive queries. Factor out the recursive query
code generator into a separate procedure.
FossilOrigin-Name: 3eb5f9f8d6ac1ee145cb4119087c516f66fe1456
2014-01-22 13:35:53 +00:00
drh
340309fd69
Remove an unnecessary parameter from selectInnerLoop(). Clean up comments.
...
FossilOrigin-Name: 5e6c4a55f6df30da9dbaa8170f3223613cc86f65
2014-01-22 00:23:49 +00:00
drh
c25e2ebc01
Remove an unused #define and add an assert(), both associated with WITH logic.
...
FossilOrigin-Name: a06235e0f6aa1e8fefa3f2873ee035eac9dac750
2014-01-20 14:58:55 +00:00
dan
b290f11775
Fix some problems to do with WITH clauses and name resolution.
...
FossilOrigin-Name: 6a549187ed8b5ed50daefa676ff666ae2ed43346
2014-01-17 14:59:27 +00:00
dan
f2655fe8b6
Improve the error messages used to report illegal recursive cte references.
...
FossilOrigin-Name: 54eee9fe99290e59469bd3e1a66bb749887d37ee
2014-01-16 21:02:02 +00:00
dan
eae73fbfb9
Allow only a single recursive reference in a recursive CTE. Also require that this reference is not part of a sub-query.
...
FossilOrigin-Name: a296b73360d34c9364eceb2cc09a9a92adc4abb8
2014-01-16 18:34:33 +00:00
dan
eede6a538d
Fixes so that SQLITE_OMIT_CTE builds work.
...
FossilOrigin-Name: 3908e2ea2e7e5f466cbbbffdc27e0fe8dc9751ac
2014-01-15 19:42:23 +00:00
drh
c49832c208
Further comments on WITH-clause processing routines in select.c.
...
FossilOrigin-Name: c948384dfdd9f68a832d5a452af44f35337f66e7
2014-01-15 18:35:52 +00:00
dan
f43fe6e9f6
When resolving names, consider a reference to a recursive CTE column as equivalent to a reference to the outermost name-context. This ensures that correlated sub-queries are correctly identified as such.
...
FossilOrigin-Name: 61be2da0ae623c1572819481508b044e9d32f294
2014-01-15 18:12:00 +00:00
dan
8ce7184bc2
Add code to handle recursive CTEs.
...
FossilOrigin-Name: a5c2a54a07d35166911abc792008c05dea897742
2014-01-14 20:14:09 +00:00
dan
4e9119d9e8
Add code to handle non-recursive CTEs in the same way as SQL views.
...
FossilOrigin-Name: a26f399ba485e8127c276c5f103ec6c555e11734
2014-01-13 15:12:23 +00:00
dan
7d562dbe02
Update the parser so that sub-queries and CTEs may have WITH clauses.
...
FossilOrigin-Name: 704d3931b855562a619769955969d439c42ca406
2014-01-11 19:19:36 +00:00
drh
8b4718636c
Parse common table expressions. But do not do anything with them (yet).
...
FossilOrigin-Name: da98b7205eb3d7ec2ddbf8a8e24eee0b2ff499a5
2014-01-11 13:22:17 +00:00
drh
75593d96be
Allow a VALUES clause to be used any place that a SELECT statement can be
...
used.
FossilOrigin-Name: c9ea7d199f06a7801ab639e7ac98ebeb98706f24
2014-01-10 20:46:55 +00:00
drh
1c2c0b776f
Avoid redundant register loads during index key generation when doing a
...
DELETE or INTEGRITY_CHECK on a table with multiple indices.
FossilOrigin-Name: 8f6e6149a165f516be6395fd753e163d52ffd52e
2014-01-04 19:27:05 +00:00
drh
61019c7883
Omit OP_Close operations that occur immediately prior to OP_Halt and which
...
cannot be jumped over.
FossilOrigin-Name: 874b7e9999811c288ad41d07709f88e458d2d497
2014-01-04 16:49:02 +00:00
drh
762c1c4071
Avoid unnecessary affinity transformations when building indices using
...
data from a table.
FossilOrigin-Name: 10d851353c2abeadbd2852c210a7ff9f7f513e5d
2014-01-02 19:35:30 +00:00
drh
fe98081e18
Enhance sqlite3_randomness(N,P) such that it resets the internal PRNG
...
if N is less than 1. Subsequent calls to sqlite3_randomness() will reinitialize
the internal PRNG by calling the xRandomness() method of the default VFS.
FossilOrigin-Name: a221aa82bb5496885fd0bf76e4601443799511de
2014-01-01 14:00:13 +00:00
drh
d9e3c267b4
Merge the latest trunk changes into the sessions branch.
...
FossilOrigin-Name: cfd110bf5db2c1993a5e2ca718648bd9c17ee22c
2013-12-24 12:09:42 +00:00
drh
73d5b8f550
Move elements of the Vdbe object that are only used during statement
...
preparation out into the Parse object.
FossilOrigin-Name: c289a253c0c053ac8fc344efe138262c327d8096
2013-12-23 19:09:07 +00:00
drh
685e3c481c
Avoid compiler warnings by only enabling sqlite3ErrName() when
...
SQLITE_TEST is defined.
FossilOrigin-Name: 862228e50534a6b89c9498c4db664610db11485e
2013-12-21 17:07:13 +00:00
drh
7e61d18eb4
Simplify the accumulator reset for aggregate query processing so that it
...
uses a single multi-register OP_Null rather than a separate OP_Null for each
register.
FossilOrigin-Name: 2c7fd9b043f5f3d9d8e22dbefa84a9770ca951d0
2013-12-20 13:11:45 +00:00
drh
a5c1416d64
Add the printf() SQL function.
...
FossilOrigin-Name: 6db7052eeefafdbf26b3153bc38600fecfb53ae6
2013-12-17 15:03:06 +00:00
drh
c8d985e09c
Merge in all recent preformance enhancements from trunk.
...
FossilOrigin-Name: 32477642d79615fb85680bdac812ad9655cf6902
2013-12-14 18:24:46 +00:00
drh
a3cc007df4
Simplication and optimization of error message handling.
...
FossilOrigin-Name: 9d347f547e7ba9590b0c68edf50a14ad94a2bb92
2013-12-13 16:23:55 +00:00
drh
a6353a3f64
Performance optimizations for sqlite3VXPrintf().
...
FossilOrigin-Name: 9227ad48e1612b32a3a3e9551c49890f93abc0a7
2013-12-09 19:03:26 +00:00
drh
5b88bc4bec
Do not allow cursor hints to use expressions containing subqueries. This
...
change fixes the problem seen in the previous check-in.
FossilOrigin-Name: bfefc57554853e467ee6aeaba8d08331406fa216
2013-12-07 23:35:21 +00:00
drh
28935364ef
If the SQLITE_ENABLE_CURSOR_HINTS macro is defined, then invoke the
...
sqlite3BtreeCursorHint() interface to provide hints to the storage engine
about rows that need not be returned. Hints can be disabled using
SQLITE_TESTCTRL_OPTIMIZATIONS with SQLITE_CursorHints (0x2000). Cursor
hints are not used by the built-in storage engine of SQLite but might
be useful to applications that provide their own storage engine. The
current code is work-in-progrss and contains bugs.
FossilOrigin-Name: 3a9bec524ef2de44028b4058e67dc962082888d3
2013-12-07 20:39:19 +00:00
drh
52208a6332
Merge all recent 3.8.2 beta changes from trunk.
...
FossilOrigin-Name: 67c34ccfa9596a923695dc4994ec87b331f8326c
2013-12-02 21:58:19 +00:00
drh
b202366509
Change the name of the CORRUPTIBLE macro to CORRUPT_DB.
...
FossilOrigin-Name: f865be10e85a4063394a21827db2d854fc25960c
2013-11-29 15:39:36 +00:00
drh
09fe614372
Add a new sqlite3_test_control() that indicates that database files are
...
always well-formed. Use this during testing to enable assert() statements
that prove conditions that are always true for well-formed databases.
FossilOrigin-Name: 15e4f63d1f3cbcd0aa789fd3e460cd6e4d3338f9
2013-11-29 15:06:27 +00:00
drh
1b2ee4fe1a
Merge in performance enhancements from trunk.
...
FossilOrigin-Name: fc9ae839569eb28eb734c52d95676c59b2e27494
2013-11-26 18:00:29 +00:00
drh
d673cddad6
Do not reuse factored constants that might have had their encodings changed.
...
FossilOrigin-Name: 487f20366ce77f0c90865d10d5aaedd95af98694
2013-11-21 21:23:31 +00:00
drh
d9f158e7b2
Fix the code generator to honor turning off constant expression factoring.
...
FossilOrigin-Name: 882622662dfadf49c65c7d80b7fd87533d079ce9
2013-11-21 20:48:42 +00:00
drh
d1a01edac9
When one or more arguments to a function are constants, try to factor
...
out just those arguments into initialization code.
FossilOrigin-Name: 50d350abbc9176cd6fc606bc45b8fc3020719500
2013-11-21 16:08:52 +00:00
drh
b1fba2868b
Add the ability to factor constant functions out of inner loops. But do
...
not factor out non-constant functions, like random().
FossilOrigin-Name: 1b0f779e19a5c0d51eddd2d88db50034d77d132c
2013-11-21 14:33:48 +00:00
drh
6a53499a20
Enhance the DELETE logic so that it can make use of WHERE_ONEPASS_DESIRED
...
for rowid tables.
FossilOrigin-Name: 8f479a72758ab6fedb171ada612b1963143c32fa
2013-11-16 20:13:39 +00:00
drh
c2acc4e466
Changes to make the new constant expression factoring logic more general
...
and more testable.
FossilOrigin-Name: d10fb49a92f5f6e93093ae83544e5aec7984361a
2013-11-15 18:15:19 +00:00
drh
10d1edf0b6
Improvements to the Expr comparison routine to make it more general.
...
Improvements to unary-minus code generation so that it can make use of
a global constant register with a zero value.
FossilOrigin-Name: 835be656bb0e83c8108104869166aa9dd850d265
2013-11-15 15:52:39 +00:00
drh
f30a969b80
Rework the logic that factors constant expressions out of inner loops, making
...
it both simpler and faster.
FossilOrigin-Name: 8dc5c76c766828d7c28090bec30ff48227e7b140
2013-11-15 01:10:18 +00:00
drh
212c6be141
Merge the skip-scan optimization into the sessions branch.
...
FossilOrigin-Name: 7596d1bf8040f7cefc7b22c5e609acc5d66820bf
2013-11-14 19:18:39 +00:00