drh
66a5167b47
Refactoring the VM. The P3 parameter is changed to P4. A P5 parameter is
...
added (though not currently used.) Add routines sqlite3VdbeAddOpX() where
X is one of 0, 1, 2, 3, or 4. (CVS 4660)
FossilOrigin-Name: 027875e4d4c4bd7686dc880c6917a968049b2fec
2008-01-03 00:01:23 +00:00
danielk1977
9ed1dfa802
Minor optimizations for sub-selects in EXISTS(...) expressions: Discard any DISTINCT or ORDER BY clauses and do not calculate any column values. (CVS 4658)
...
FossilOrigin-Name: fbd17a8976cc9b4dd7c7c903d8beade9a7ef095f
2008-01-02 17:11:14 +00:00
danielk1977
6c8c8ce0e2
Combine the eDest and iParm arguments to sqlite3Select() into a single type - "SelectDest". (CVS 4657)
...
FossilOrigin-Name: 86dcdfe6d7d629618ccb3c3ff0ca09f2da2d06c7
2008-01-02 16:27:09 +00:00
drh
a2a49dc9df
Add opcodes OP_ResultRow and OP_RegMakeRec which are register-based
...
equivalents to OP_Callback and OP_MakeRecord. Use the new opcodes. (CVS 4656)
FossilOrigin-Name: 4c7f35da7751c61a9b61b1d95adddcc37fff3266
2008-01-02 14:28:13 +00:00
drh
d4e70ebd6f
Begin setting a foundation on which to convert the VM from a stack-based
...
to a register-based machine. Everything is still mostly stack based with
this check-in. This change merely begins adding infrastructure to support
a register-based architecture. (CVS 4652)
FossilOrigin-Name: 051ec01f2799e095516015f2ef0180e50fac387c
2008-01-02 00:34:36 +00:00
danielk1977
8f2c54e6e2
Optimize trigger compilation to avoid populating the OLD.* and NEW.* pseudo-tables with data that will never be used. Some testing to come. (CVS 4651)
...
FossilOrigin-Name: e08a33ed7255c22ce2805363f44a1d7770acb2dd
2008-01-01 19:02:09 +00:00
drh
8f0ecaae78
Fix a C++-ism in recent changes to select.c. (CVS 4633)
...
FossilOrigin-Name: 4a00805014a5f4ad862bde0bb55fac934bab41dd
2007-12-14 17:24:39 +00:00
drh
ef0bea9220
Fix a typo in the previous check-in. Also simplify a line in select.c. (CVS 4631)
...
FossilOrigin-Name: 86f45d7bb6f7d9e5c177be76d8a7ace754d52bcd
2007-12-14 16:11:09 +00:00
drh
85b623f2f9
Change all instances of "it's" in comments to either "its" or "it is",
...
as appropriate, in case the comments are ever again read by a pedantic
grammarian. Ticket #2840 . (CVS 4629)
FossilOrigin-Name: 4e91a267febda572e7239f0f1cc66b3102558c36
2007-12-13 21:54:09 +00:00
danielk1977
31da1d796b
Fix a memory leak that can occur following a malloc() failure. (CVS 4628)
...
FossilOrigin-Name: 993a213024964f4411a9c25c10810543c8089d07
2007-12-13 19:15:02 +00:00
danielk1977
01874bfc51
Adjust the test suite to account for recent changes related to #2822 . Most changes are related to English language error messages only. (CVS 4622)
...
FossilOrigin-Name: 2f88b9b3e3c9abc3ae4a5dcef82707dd74f8aace
2007-12-13 07:58:50 +00:00
drh
1e281291fb
ORDER BY in a compound SELECT will first match against the left-most SELECT.
...
If there is no match there, it begins working its way to the right. (CVS 4621)
FossilOrigin-Name: 56063ec84b130bcdb0e90bc76fabca394d0d867f
2007-12-13 03:45:07 +00:00
drh
9a99334d54
Towards getting ORDER BY to match against the correctin columns.
...
This version only looks at the left-most column in a compound SELECT.
That is the correct thing to do, but not what SQLite has historically done. (CVS 4620)
FossilOrigin-Name: bbddf16ac9539c7d48adfc73c5a90eecb8df6865
2007-12-13 02:45:31 +00:00
danielk1977
70517ab9a1
Further modifications to do with ORDER BY and compound SELECT queries. Related to ticket #2822 . (CVS 4606)
...
FossilOrigin-Name: 0d9b0e6e3a8f8a66956878084085842e94c3cb2f
2007-12-10 18:51:47 +00:00
drh
4c77431448
Better resolution of ORDER BY terms in compound queries. Candidate
...
solution for ticket #2822 . Needs more testing and documentation
before going final. (CVS 4602)
FossilOrigin-Name: 62a78d212c53a9cb1759d03134653a75f3a086b6
2007-12-08 21:10:20 +00:00
drh
f4ce8ed048
Avoid a double-free in an out-of-memory situation with a USING
...
clause or NATURAL JOIN. Ticket #2789 . (CVS 4551)
FossilOrigin-Name: 596694752c5935ae50ad38d3b41bbda39ca999d8
2007-11-23 13:42:51 +00:00
drh
cfa063b377
Handle out-of-memory situations inside the query flattener.
...
Ticket #2784 . (CVS 4549)
FossilOrigin-Name: 2655a3f2d18fe16a36a6cf3776261ee0507e6912
2007-11-21 15:24:00 +00:00
danielk1977
0318d4414d
Fix a code comment in select.c. No code changes. (CVS 4539)
...
FossilOrigin-Name: cf41d6a00f658d2cd64ff9811a3b1270ad1a580b
2007-11-12 15:40:41 +00:00
danielk1977
3c4809a201
Where possible, transform the DISTINCT qualifier to a GROUP BY clause. GROUP BY clauses may be optimized by indices, DISTINCT qualifiers cannot. (CVS 4538)
...
FossilOrigin-Name: e56331234791cf3d830a30e4cfa66682bdf2eed1
2007-11-12 15:29:18 +00:00
danielk1977
e6a58a4e2a
Allow sqllimits1.test to be run from a regular build of testfixture. Add the 'amalgamation-testfixture' target to main.mk - to build testfixture via sqlite3.c. (CVS 4354)
...
FossilOrigin-Name: d119427314d27f291b605073d34826cdb89746c1
2007-08-31 17:42:48 +00:00
danielk1977
7751940d6e
Fixes for failures in fuzz_malloc.test. (CVS 4334)
...
FossilOrigin-Name: d3e502263808c1fe0487fda02f16adcbb1279183
2007-08-30 11:48:31 +00:00
danielk1977
a1644fd863
Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321)
...
FossilOrigin-Name: e38ef81b85feb5bff2ad8448f3438ff0ab36571e
2007-08-29 12:31:25 +00:00
danielk1977
1e5369531e
More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233)
...
FossilOrigin-Name: 77b1671351fe94b0ebc126a63140643deae2aa64
2007-08-16 10:09:01 +00:00
drh
174357527a
Half-way through a major refactoring of the memory allocation.
...
I have not even attempted to compile so I am certain there are
countless errors. (CVS 4231)
FossilOrigin-Name: deb7ecd65f7b83eaf0ba610eeef3b0ede61db1c3
2007-08-16 04:30:38 +00:00
drh
309be02483
Get the min/max optimization working with descending indices. Ticket #2514 . (CVS 4161)
...
FossilOrigin-Name: a80a3c9d0a5e0a8a3d67bd841e2076893fd5e9aa
2007-07-18 18:17:11 +00:00
danielk1977
034ca14f81
Allow virtual tables to mark columns as 'hidden'. Hidden columns do not show
...
up in "*" expansion, the implicit column list of an INSERT statement, or the results of a "PRAGMA table_info" statement. (CVS 4127)
FossilOrigin-Name: 7f887a6a00fdd6efc3740bd8a1731bb1abde087c
2007-06-26 10:38:54 +00:00
danielk1977
f3b863ed07
When expanding '*' in the result set of a SELECT, quote the expanded identifiers. Fix for #2450 . (CVS 4111)
...
FossilOrigin-Name: d5b7224f37db1729dd042d48765d7a79247e1bde
2007-06-24 06:32:17 +00:00
drh
5bd1bf2ebc
Fix a memory leak that was discovered by the tests that were added to
...
cover ticket #2339 . (CVS 4069)
FossilOrigin-Name: 1d10a489340718cc708e11e28e7bb31c67e00ad8
2007-06-15 15:31:49 +00:00
drh
0325d8731b
Add the SQLITE_MAX_COMPOUND_SELECT compile-time parameter for limiting
...
the number of terms in a compound select statement. Set the default limit
to 100. (CVS 4046)
FossilOrigin-Name: 0d71ad4591eae9de8749fb2da6455ac661587f7a
2007-06-07 10:55:35 +00:00
danielk1977
9afe689ea4
Extend out-of-memory testing with fuzzily generated sql some. One fix for a problem found by the same. (CVS 4044)
...
FossilOrigin-Name: d2282e64f1320913797dfb4dae4db0428a15a200
2007-05-31 08:20:43 +00:00
danielk1977
a670b22641
Fix a problem with ORDER BY and compound SELECT queries. (CVS 3995)
...
FossilOrigin-Name: af76928fc5891f9a222ac0c39f8b443a9707b9e3
2007-05-14 16:50:48 +00:00
danielk1977
fa2bb6da24
Fix a bug in "flattening" optimization. Occured if the parent of the flattened sub-query is also the parent of a sub-query that uses a compound op (i.e. UNION, INTERSECT etc.). (CVS 3994)
...
FossilOrigin-Name: 1c33829c9ebcf1ff1bd21b161c73a642471b613a
2007-05-14 15:49:43 +00:00
danielk1977
1e4eaeb515
Prevent sub-queries with "LIMIT 0" from leaving an extra value on the vdbe stack. Also updates to fuzz.test. (CVS 3993)
...
FossilOrigin-Name: b1d1b16e9857a1c05f60cf2ae15f5a534b0dd0ac
2007-05-14 14:04:59 +00:00
drh
4f07e5fbdf
Remove terms with operator TK_AS from the expression tree. Ticket #2356 . (CVS 3991)
...
FossilOrigin-Name: 5627ff74be9242418434a06fe5c104d1f9128cab
2007-05-14 11:34:46 +00:00
danielk1977
fc9760654a
Add code to enforce the MAX_EXPR_DEPTH limit. (CVS 3968)
...
FossilOrigin-Name: 2c9c94a24d52a1c9f5d1b32cbdff794a2dd74126
2007-05-10 10:46:56 +00:00
drh
e305f43f17
Make sure compound queries inside a subquery only return a single result
...
column. Ticket #2347 . (CVS 3967)
FossilOrigin-Name: 66954bdd81dabfb60306de8480b5477a4acb1d9e
2007-05-09 22:56:39 +00:00
drh
e5c941b83b
Add more code to enforce the limits specified in limits.h. (CVS 3946)
...
FossilOrigin-Name: c59d436095b5258d7132a432c0cb6cd5a7990d85
2007-05-08 13:58:26 +00:00
drh
ad91c6cd40
Do not flatten subqueries that are part of a compound SELECT and which
...
have both an ORDER BY and a LIMIT clause. Ticket #2339 . (CVS 3932)
FossilOrigin-Name: 9600a998043c6dd1d5ecb03d1ee9a9273910243d
2007-05-06 20:04:24 +00:00
drh
5bb3eb9b9a
Eliminate all uses of sprintf() and strcpy(). These were not being
...
misused. But getting rid of them removes a library dependency. And
it avoids warnings from the OpenBSD compiler. Ticket #2336 . (CVS 3916)
FossilOrigin-Name: ba4845b32bdf38e623c4f7246e6e327715bbba4b
2007-05-04 13:15:55 +00:00
drh
f68d7d17a1
Use memmove() instead of memcpy() when moving between memory regions that
...
might overlap. Ticket #2334 . (CVS 3905)
FossilOrigin-Name: 678d672b73cc7b7f563c15daee3831cb5bbd890e
2007-05-03 13:02:26 +00:00
drh
5ea2df9107
Fix a memory leak introduced by (3842) associated with ticket #2296 . (CVS 3848)
...
FossilOrigin-Name: cdc7608b8d590b2ca19be37f94f2cd17423ba8ac
2007-04-16 17:07:55 +00:00
danielk1977
a04a34ff1a
Ensure sqlite3_finalize() can be called from within the xDisconnect() method of virtual tables. (CVS 3845)
...
FossilOrigin-Name: 8d6c3bfc4dfdd380a2915d778e256d3e49d22d72
2007-04-16 15:06:25 +00:00
drh
94ccde58d0
Match ORDER BY terms to columns using names in compound queries. Make sure
...
this works for subqueries, especially in the right-hand side of an IN
operator. Ticket #2296 . (CVS 3842)
FossilOrigin-Name: cfc6f933dc60ca88ae848f7f0c402e820437c2ff
2007-04-13 16:06:32 +00:00
drh
994c80af27
Changes toward fixes for tickets #2296 and #2291 . (CVS 3838)
...
FossilOrigin-Name: 0dd3e2e47b09156838edfa4dea0d82f9cf22d94d
2007-04-12 21:25:01 +00:00
drh
6c1426fd14
Get the column affinities right when processing an IN operator where
...
the right-hand side is a subquery with an ORDER BY clause. Ticket #2295 .
This bug has likely been present since version 3.0.0 and it has just now
been noticed, so it seems to be a obscure case. (CVS 3837)
FossilOrigin-Name: 4062ddf3c7f4fd150292304fa33ca76dc35571a1
2007-04-12 03:54:38 +00:00
drh
77a2a5e73c
Changes to increase test coverage. (CVS 3819)
...
FossilOrigin-Name: fd4da6b13499af2397d52cb0f25f8ff6f2192431
2007-04-06 01:04:39 +00:00
drh
61fc595fdd
Fix some warnings about unused and uninitialized variables. (CVS 3788)
...
FossilOrigin-Name: 18aec1ddfb08b74f0ef9cf1215eac7af71449db3
2007-04-01 23:49:51 +00:00
drh
e4d9081307
Change BtreeMoveto so that it can be biased to the right or to the center.
...
Use a right bias when appending and a center bias when searching. This
gives about a 15% reduction in calls to sqlite3VdbeRecordCompare. (CVS 3741)
FossilOrigin-Name: ad4a6b1a91bcefd8a4c75e8dc99c1153c72c31a3
2007-03-29 05:51:49 +00:00
danielk1977
a41c7497e8
Disable the "SELECT max(rowid) ..." optimization for virtual tables. Ticket #2250 . (CVS 3669)
...
FossilOrigin-Name: ddb4d0af5770c7030fe6e92119972c9508724b9a
2007-03-02 07:27:00 +00:00
drh
8103b7d2b7
Make sure the INSERT xfer optimization does not trigger if the CHECK
...
constraints on the two tables are not identical. Ticket #2252 . (CVS 3660)
FossilOrigin-Name: 6fc18275230563437f2985eac3795e4dfe8eb9de
2007-02-24 13:23:51 +00:00