1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-08 03:22:21 +03:00
Commit Graph

394 Commits

Author SHA1 Message Date
drh
d176611b44 Fix for tickets #3378 and #3381 that preserves the aliasing optimization.
And yet, this fix feels uncomfortable.  Seeking an alternative... (CVS 5712)

FossilOrigin-Name: f8b759f1977915c314be874840ebf18e6bc69b57
2008-09-17 00:13:12 +00:00
drh
f44ed02790 Add test cases for ticket #3378 and #3381. Add a temporary hack to get those
to problems fixed.  The hack causes failures in alias.test, but those are much
less serious than the aforementioned tickets.  This is a stop-gap until we can
figure out a proper fix. (CVS 5711)

FossilOrigin-Name: a67da9dd2ff6acc163de4ce2b836b03e3f159a88
2008-09-16 18:02:47 +00:00
drh
8b213899e8 Avoid reevaluating WHERE and ORDER BY expressions that alias terms in the
result set.  Ticket #3343.  Note that aliased GROUP BY expressions are still
evaluated twice. (CVS 5637)

FossilOrigin-Name: ab0292caa5887cc1bdc0e8c9d3f3502b83975440
2008-08-29 02:14:02 +00:00
drh
ee76c61657 Remove dead code. (CVS 5601)
FossilOrigin-Name: 6de9c084fc533fbb22af6a4cd3e4e9a461b13876
2008-08-22 17:34:45 +00:00
drh
9d8b3072ce Enhanced test coverage. (CVS 5598)
FossilOrigin-Name: cc36b4e016a1f519ca81d591de3a551ee8aa6813
2008-08-22 16:29:51 +00:00
drh
7d10d5a6e1 Refactor the name resolution procedures in the code generator. (CVS 5569)
FossilOrigin-Name: daf730d1defa78fb8b80a78f9108ac35a13e09f6
2008-08-20 16:35:10 +00:00
drh
a33cb5f776 Improved clarity of presentation in the tokenizer. (CVS 5545)
FossilOrigin-Name: 732657c6a639bdf71a3341f6747d19298d442ddb
2008-08-07 13:05:34 +00:00
drh
633e6d57d9 Implement the "lookaside" memory allocation cache. Use of this cache makes
the speed1.test script run about 15% faster.  Added new interfaces to
control the cache. (CVS 5488)

FossilOrigin-Name: e48f9697e9fea339e150ddc32940760027dd07d9
2008-07-28 19:34:53 +00:00
drh
e54a62ad85 Make sure expression spans are set correctly for "x.*" expressions in
the result set of a SELECT.  Ticket #3229. (CVS 5438)

FossilOrigin-Name: 17a9984e7668be388c4042c070718a02b284a336
2008-07-18 17:03:52 +00:00
drh
e49b146f30 Additional test coverage in select.c and expr.c. (CVS 5381)
FossilOrigin-Name: c6cf08477cc4d622a05ad6706cb9418cf7eea432
2008-07-09 01:39:44 +00:00
drh
a9671a22b3 Remove obsolete code from select.c, including the "affinity" parameter
to the sqlite3Select() module. (CVS 5380)

FossilOrigin-Name: cbd3c1585b7a8f8042aa1448fe1be87de056c41a
2008-07-08 23:40:20 +00:00
danielk1977
2f425f6b64 Remove redundant code from sqlite3GetTempReg(). (CVS 5342)
FossilOrigin-Name: 212d05d38c8126f99c028c5ab021b219487fa01e
2008-07-04 09:41:39 +00:00
danielk1977
a7d8b85980 Remove references to temporary registers from the compiler column-cache when such registers are released. Fix for #3201. (CVS 5341)
FossilOrigin-Name: f099d6773a837dbe4ba85a8fda818e2d9466e743
2008-07-04 09:15:11 +00:00
drh
6fccc35a91 Remove unused variable. Fix a compiler warning. (CVS 5319)
FossilOrigin-Name: 0b01ec5cf7725a02d4c12167df125cef578f6219
2008-06-27 00:52:45 +00:00
drh
66ba23ce86 Tweaks to the IN expression code generator. Fix an an unrelated bug
in the compound SELECT code generator. (CVS 5318)

FossilOrigin-Name: a4005782690f022e982df4873779a029b28b9306
2008-06-27 00:47:28 +00:00
drh
3c31fc23b1 Fix a bug introduced by check-in (5316). Add some VDBE comments to
the IN expression code generator. (CVS 5317)

FossilOrigin-Name: 1043a605e2dcad4b5222674efe392ee9915dc57d
2008-06-26 21:45:26 +00:00
drh
ecc31805da Avoid generating unnecessary SCopy instructions with the RHS of an IN
operator is a list of values. (CVS 5316)

FossilOrigin-Name: ec80474b1c157a29fb6978dd5575c396c57973b3
2008-06-26 20:06:06 +00:00
danielk1977
0cdc022e88 Fix handling of "x IN (...)" and "x NOT IN (...)" expressions when the set contains an SQL NULL value. (CVS 5314)
FossilOrigin-Name: d45a97be71fa61ab4a692bd807ab762130f7f5b9
2008-06-26 18:04:03 +00:00
drh
f6e369a119 Fix a problem in sqlite3ExprIsInteger() causing failures on select1-4.9.2.
Other bug fixes in compound-merge.  The compound-merge is still disabled
in this check-in using "#if 0" due to additional bugs. (CVS 5295)

FossilOrigin-Name: 95037e6dbf4ed0ffd38790f3270dcaa4c1ae64ed
2008-06-24 12:46:30 +00:00
drh
92b01d53c2 The compound-select merge optimization is mostly working with this check-in.
But there are still a few problems and so the optimization is disabled by
and "#if 0".  This check-in is to synchronize with the other changes happening
in parallel. (CVS 5291)

FossilOrigin-Name: e2ba324cbcac0ba35bbde50048677e085abb092b
2008-06-24 00:32:35 +00:00
drh
b21e7c70f7 Fix a bug in the KEYINFO handling within select.c. Change the OP_Move
opcode to take a count and to move multiple registers.  Initial code for
the compound-select merge optimization is added but is incomplete
and is commented out. (CVS 5272)

FossilOrigin-Name: 663a590e3086145a57af7569d8f798b6b6a8b76c
2008-06-22 12:37:57 +00:00
danielk1977
4b5255ac31 Reorganize some of the code that detects expression trees with a depth greater than EXPR_MAX_DEPTH so that they are detected earlier. This further reduces the opportunities for stack overflow. (CVS 5189)
FossilOrigin-Name: 16d4c53a8e4d3cfc1abac3b8bb44d8bfd9471e32
2008-06-05 16:47:39 +00:00
drh
0224d26d37 Allow the SQLITE_MAX_EXPR_DEPTH compile-time parameter to be set to 0 in
order to disable expression depth checking.  Ticket #3143. (CVS 5166)

FossilOrigin-Name: 5ceef40e397fc535173996404345b93f695e8cac
2008-05-28 13:49:34 +00:00
drh
26e4a8b11d Fix more compiler warnings. (CVS 5074)
FossilOrigin-Name: 59568844e774dbe89fd20bbc8f49a3665cc54717
2008-05-01 17:16:52 +00:00
drh
2eaf93d34f Always convert IEEE NaN into NULL. Ticket #3060. Add test cases to verify
that this is happening. (CVS 5066)

FossilOrigin-Name: 9b07e59e510e2de39c2081653662fbc654ca6fbb
2008-04-29 00:15:20 +00:00
drh
b287f4b646 Candidate fix for ticket #3082. Test cases needed. (CVS 5047)
FossilOrigin-Name: f6313311ddfb1ee2d6660b9be99afe721a8a9aff
2008-04-25 00:08:38 +00:00
danielk1977
d7eb2ed5cd Fix a crash that can follow a malloc() failure in malloc7.test. (CVS 5042)
FossilOrigin-Name: 85eedad186327a1f0b0983413b833efd41640d0e
2008-04-24 12:36:35 +00:00
drh
191b54cb5d Fix a code generator bug caused by the new CSE optimization. Add test cases
to prevent a recurrence. (CVS 5011)

FossilOrigin-Name: d04246a46399e839e70b1bd57e209f80143f0d5b
2008-04-15 12:14:21 +00:00
drh
5c070538f1 Additional reductions in the use of memset(). (CVS 4988)
FossilOrigin-Name: 38746c54385e3cb456cda660ea50769b5424db30
2008-04-11 15:36:03 +00:00
drh
47de955ea9 Avoid factoring single-instruction constants that end up getting replaced
by an SCopy instruction. (CVS 4952)

FossilOrigin-Name: e84ff57b6217afa84d60547dcc3a270b5e116818
2008-04-01 18:04:11 +00:00
drh
c5499bef4b Add the testcase() macro. Additional CSE test coverage. (CVS 4951)
FossilOrigin-Name: 492490f9c86e52c7a706d9e1bf0ba216d5bb8aba
2008-04-01 15:06:33 +00:00
drh
b3843a82ea Fix a problem with CASTs and the new CSE mechanism. (CVS 4950)
FossilOrigin-Name: e25939fb25ec8bde8500a672ca5be3cbb514ac3a
2008-04-01 12:24:11 +00:00
drh
da250ea599 Fix the CSE mechanism so that it takes into account column affinity
changes that might be imposed by comparison operators. (CVS 4949)

FossilOrigin-Name: 91cc646e2b0c1d62a1989405cc9384a2c22d98d0
2008-04-01 05:07:14 +00:00
drh
2f7794c111 More test cases and bug fixes with CSE. (CVS 4948)
FossilOrigin-Name: 7e8156129d6d240fe046bbc4ea269ebe1657e2a1
2008-04-01 03:27:39 +00:00
drh
652fbf55c5 Initial test cases and bug fixes in the CSE logic. (CVS 4946)
FossilOrigin-Name: e5aff09ac693946dc7ebb2f245b6434995b12155
2008-04-01 01:42:41 +00:00
drh
e55cbd7228 Avoid duplicate OP_Column opcodes by remembering prior results.
This is similar to CSE, but only applies to columns. (CVS 4943)

FossilOrigin-Name: c29ee0fed23dcdbd9dde6b1e42b603100ea2389c
2008-03-31 23:48:03 +00:00
drh
678ccce8b3 Factor constant subexpressions out of loops. (CVS 4942)
FossilOrigin-Name: 2126db39854c751aea6c95c67894ed9b9dfc0763
2008-03-31 18:19:54 +00:00
danielk1977
cd3e8f7ce9 Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912)
FossilOrigin-Name: 047153648155654b0cd70b811935209d2e21776c
2008-03-25 09:47:35 +00:00
drh
b1a6c3c1cc Reinstate test cases for the limit tests. The sqlite3_limit() API is now
tested and working. (CVS 4899)

FossilOrigin-Name: 4c4be4c3c8aae97f1d85442b25afba9f0b02c8b3
2008-03-20 16:30:17 +00:00
drh
bb4957f858 Initial implementation of per-connection limits and the sqlite3_limit() API.
The sqllimits1.test script crashes.  SQLITE_LIMIT_PAGE_COUNT and
SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897)

FossilOrigin-Name: 60c77882b2de9f6a45f8bd87c9c6a0cc613f8373
2008-03-20 14:03:29 +00:00
danielk1977
b2b95d41a1 Do not segfault after a parse error in a sub-select in a statement of the form "DELETE WHERE ... IN(sub-select)". Ticket #2991. (CVS 4854)
FossilOrigin-Name: 3f9f81e908aad6cdc0a16ec52f4ec46d89fd78bc
2008-03-12 10:39:00 +00:00
drh
c81945e41f Add explicit !=0 tests in order to suppress warning messages in
Borland-C.  Ticket #2985 (CVS 4850)

FossilOrigin-Name: d4ab14b974f2249d9d9e5a78ae47f3764a88b657
2008-03-10 14:12:53 +00:00
drh
d2b3e23bc3 Testing coverage enhancements to sqlite3_get_table() and to the SELECT
code generator. (CVS 4746)

FossilOrigin-Name: 45c59802f6d35c7745b96c578ab43d5a336fe822
2008-01-23 14:51:49 +00:00
drh
de4fcfdd7a Additional test coverage improvements. Test coverage now stands at 98.73%. (CVS 4731)
FossilOrigin-Name: 010f7b780cb9c8f21af9ce810494fbd2be98a13f
2008-01-19 23:50:26 +00:00
drh
ca48c90f60 Remove the OP_HexBlob instruction and code OP_Blob directly. Reduce
the amount of memory allocation required to encode blob literals.
Remove the "out2" instruction type.  Other minor optimizations. (CVS 4726)

FossilOrigin-Name: 0e50c0200a3c1c04e63cbb55a7255cdbbd225347
2008-01-18 14:08:24 +00:00
drh
c5531beb56 Fix a bug in the test scripts that was preventing many scripts from
running with all.test.  Lots of hidden failures now come to light. (CVS 4723)

FossilOrigin-Name: 251c78a982a33194a052897c37a2a79ae9654452
2008-01-18 02:31:56 +00:00
drh
d847eaad91 Reuse registers better in the inner loop of a SELECT statement. (CVS 4719)
FossilOrigin-Name: 5ba4e5adf638c6812a2813961ea30a11a670409c
2008-01-17 17:15:56 +00:00
drh
9cbf3425fb Registerification of the VDBE is complete. The operand stack has been
removed from the code.  All instructions operate out of registers only. (CVS 4718)

FossilOrigin-Name: 706b41b70bd1e2030e6fa44358c38a26c5cf0985
2008-01-17 16:22:13 +00:00
drh
1db639cef3 Registerification of the WHERE clause logic. (CVS 4716)
FossilOrigin-Name: b3a141b2b0c09bf3c7704deeade290d71b7c9b77
2008-01-17 02:36:28 +00:00
drh
0e359b30a9 Fix some issues with out-of-memory recovery. (CVS 4710)
FossilOrigin-Name: 23181f86896e7c9e993e00032e735e67ee6b2e71
2008-01-13 19:02:11 +00:00