drh
4ef7efad5e
Fix harmless compiler warnings.
...
FossilOrigin-Name: b1435f26b07b2208cfcca557f96342a5bd0d5328
2014-03-20 15:14:08 +00:00
drh
079a307259
First attempt at getting block-sort to work. This is an incremental check-in.
...
There are many problems still to be worked out.
FossilOrigin-Name: 59742dd4c5259883850044d0938248b009ebd045
2014-03-19 14:10:55 +00:00
dan
c625ba7f4f
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: d17231b63d48c1f9c4dee109c90cec112e2f0fd4
2014-03-13 15:41:09 +00:00
mistachkin
0d71d121ae
Better support for MinGW 4.x.
...
FossilOrigin-Name: 170e0585202eec6882e9513eba05e6d5767bfc5b
2014-03-06 00:28:57 +00:00
drh
6d1626eb7c
Count the number of elements in a SrcList object using an "int" rather than
...
a "u8", to avoid overflows and to work around an issue in the C compiler on
AIX.
FossilOrigin-Name: eee2a13f2caa48b7b8a693680edc2bbc9275292c
2014-03-05 15:52:43 +00:00
drh
a9e0aeb552
Do not assume that 'char' is signed. Make it explicit.
...
FossilOrigin-Name: 979da752e6f8767a61a8efed824ffad9605d0f4c
2014-03-04 00:15:16 +00:00
dan
3833e934d3
Remove the vdbeRecordCompareLargeHeader function. Fix some other details.
...
FossilOrigin-Name: 3861e853105cb8da344c7eebd2e455622b26395e
2014-03-01 19:44:56 +00:00
dan
a6efad8a97
Merge in latest trunk changes.
...
FossilOrigin-Name: 8f30b09518d23c3f6cecd244a66ef918fdb55323
2014-02-27 20:52:26 +00:00
dan
3b9330f83c
Further changes to sqlite3VdbeRecordCompare().
...
FossilOrigin-Name: 570893740067a7caa952f259fa078cdf67017d71
2014-02-27 20:44:18 +00:00
drh
0baa035a1e
Do not allow temporary registers to be in use across an OP_Yield within a
...
co-routine. Fix for ticket [8c63ff0eca81a9132d8].
FossilOrigin-Name: 97a8c9733cba97c78e979dfd5c66610c23e90288
2014-02-25 21:55:16 +00:00
dan
1fed5dab0d
Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state.
...
FossilOrigin-Name: 85206e0bbac29adab52bef795f6d1479f2ae2c0e
2014-02-25 21:01:25 +00:00
drh
5e990bea51
QNX requires that _FILE_OFFSET_BITS be set prior to any system #include.
...
FossilOrigin-Name: 953cdd6adadfd46b51ad61d7939cecca154a02cb
2014-02-25 14:52:01 +00:00
drh
3d77dee935
Add the SQLITE_NOTNULL P5 code for comparison operations - really a composite
...
of SQLITE_NULLEQ and SQLITE_JUMPIFNULL. This flag indicates that NULL operands
are not possible and raises and assert() if NULL operands are seen.
Also omit an unnecessary scan of the sqlite_sequence table when writing
into an AUTOINCREMENT table.
FossilOrigin-Name: d2c047f304848e49864ed8c216b48fd671fa3916
2014-02-19 14:20:49 +00:00
drh
7d1761059b
Add VdbeCoverage() and VdbeCoverageIf() macros for improved VDBE coverage
...
testing.
FossilOrigin-Name: b92d31a97d5fe4606d9ae1393c7f3e052f46bf5a
2014-02-18 03:07:12 +00:00
drh
688852ab15
Add logic to do test coverage measurements on the VDBE code.
...
FossilOrigin-Name: ce184c7bb16988641d37c908d9b3042456d4be3d
2014-02-17 22:40:43 +00:00
drh
57bf4a8eeb
Avoid unnecessary calls to applyAffinity() during INSERT and UPDATE
...
operations, especially for table that have indices and tables for which
all columns have affinity "NONE".
FossilOrigin-Name: 35b4d6e938164fabaf30b504c54cfd9a69060cee
2014-02-17 14:59:22 +00:00
mistachkin
65acf373c9
Use the modern MinGW major version macro, not the deprecated one.
...
FossilOrigin-Name: 057c16ee9786efcad6372a29b02d743ff3d628ff
2014-02-16 19:20:00 +00:00
drh
05a86c5c0f
Enhance the code generator for INSERT INTO ... SELECT so that the SELECT
...
generates output directly in the registers that INSERT INTO will be using,
in many cases, and OP_SCopy operations can thus be avoided.
FossilOrigin-Name: aa2d8b0e8154dd2f5e2c837dc11ab362b083495b
2014-02-16 01:55:49 +00:00
mistachkin
a7b3b63524
Better support for MinGW 4.x.
...
FossilOrigin-Name: e147230767383ed9f64085b613fd18508f74be21
2014-02-14 23:35:49 +00:00
drh
d227a291b2
Use the WITH clause to help resolve names for SELECT statements on the left
...
of a compound query. Proposed fix for ticket [31a19d11b97088296a].
FossilOrigin-Name: 67bfd59d9087a987f15f6148efa1ff104983e1fb
2014-02-09 18:02:09 +00:00
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
693e671936
Fixes for various clang warnings.
...
FossilOrigin-Name: 87bf60637e5863c54c5e2d05aaaca0835b7aace8
2014-01-24 22:58:00 +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
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
a3cc007df4
Simplication and optimization of error message handling.
...
FossilOrigin-Name: 9d347f547e7ba9590b0c68edf50a14ad94a2bb92
2013-12-13 16:23:55 +00:00