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
drh
2dcef11bb9
Continuing work toward converting the VM to a register machine. (CVS 4708)
...
FossilOrigin-Name: 426f31ecdd05d1179a2e49c2ca1666011cede9c6
2008-01-12 19:03:48 +00:00
drh
b765411161
Continuing work toward converting the VM into a register machine. (CVS 4707)
...
FossilOrigin-Name: a6dddebcc5ccbbf3009c9d06163a8b59036331de
2008-01-12 12:48:07 +00:00
drh
2d401ab8f9
More work toward converting the VM into a register-based machine. (CVS 4704)
...
FossilOrigin-Name: 8cbd46517f407b3b1ce187b623db10f00aa415ea
2008-01-10 23:50:11 +00:00
drh
892d317990
Continuing work toward registerizing the code generator. (CVS 4703)
...
FossilOrigin-Name: 173698c963473ab1b9db88b23a2de82e4097b96d
2008-01-10 03:46:36 +00:00
drh
98757157ee
All essential opcodes can now operate out of registers and completely
...
avoid the stack. Many still optionally use the stack to support legacy
code generation, but the stack is not required. The next step is to
update all code generation to avoid using the stack. (CVS 4700)
FossilOrigin-Name: e3cf1c1c114bcda8fe577beb5ee55b4a651b96db
2008-01-09 23:04:12 +00:00
drh
3c84ddff3e
Continued work toward converting to a register-based VM. (CVS 4698)
...
FossilOrigin-Name: 92deff07bba2089bbe011f44defb3a0ac1362d56
2008-01-09 02:15:38 +00:00
drh
3557335658
Registerify the comparison opcodes. (CVS 4697)
...
FossilOrigin-Name: 8862ce9ceefba4f5d1ffbd51d824c05f42a58c22
2008-01-08 23:54:25 +00:00
drh
aa9b8963b5
Progress toward registerification of the constraint checking logic for
...
INSERT and UPDATE. (CVS 4693)
FossilOrigin-Name: b9bf509e39f5ac38c2149d2a648f68e5df5ae9e3
2008-01-08 02:57:55 +00:00
drh
6a288a33f9
Registerify the AUTOINCREMENT processing and the OP_IsNull and OP_NotNull
...
operators. (CVS 4692)
FossilOrigin-Name: aa48867cfa04da265b906e5b583bc7ac6b6a1157
2008-01-07 19:20:24 +00:00
drh
1013c9320d
Registerify the SRT_Subroutine destination for SELECT results. (CVS 4690)
...
FossilOrigin-Name: 8201f71729c3afbb41764cea3cda65b03150cb0c
2008-01-06 00:25:21 +00:00
drh
5b6afba924
Registerify binary operators. Add register tracing to debugging output. (CVS 4686)
...
FossilOrigin-Name: 66396d2f0289e36b5fc0af5078c08d1b17f342ae
2008-01-05 16:29:28 +00:00
drh
9de221dff5
Expression code generator takes advantage of recent opcode changes. (CVS 4685)
...
FossilOrigin-Name: 6c78d2a49a3e6ee8bc31f16488a430cba9eda59d
2008-01-05 06:51:30 +00:00
drh
8558cde1ab
Register-ify the OP_AddImm and all casting opcodes. Omit the
...
OP_MemIncr opcode. (CVS 4683)
FossilOrigin-Name: 3e8a07dd3cc9921ad39e379576abb0b485a42202
2008-01-05 05:20:10 +00:00
drh
b1fdb2adea
Get rid of OP_Dup, OP_MemStore, OP_MemLoad, and OP_MemMove. Replace
...
with OP_Copy, OP_SCopy, and OP_Move. Add the infrastructure for
operation properties in1, in2, in3, out2, and out3 but do not yet
use any of these. (CVS 4682)
FossilOrigin-Name: cc149eb9ca3c672cc6fea3528353234ac2ed5745
2008-01-05 04:06:03 +00:00
drh
4c583128bd
Implement the out2-prerelease opcode design pattern. (CVS 4681)
...
FossilOrigin-Name: fe057a88d0038ac349ea41883b979ceba6ae410a
2008-01-04 22:01:03 +00:00
drh
389a1adbd7
Change the sqlite3ExprCode() function so that callers can request that
...
the result of the expression be left on the stack or in a register. (CVS 4673)
FossilOrigin-Name: 61bfb77c4267b99ac8a8ef49355bcbc395a1a37b
2008-01-03 23:44:53 +00:00
drh
2133d82287
Update OP_Rowid, OP_Column and related opcodes to use registers. (CVS 4671)
...
FossilOrigin-Name: 4f3967073d2df9eae5a61b9770d5de2e1af47b4c
2008-01-03 18:44:59 +00:00
drh
0a07c107a6
Registers (aka memory cells) in the VM are now numbered starting with 1
...
instead of 0. A register number of 0 means "no such register". (CVS 4669)
FossilOrigin-Name: 0b849805c3a0f562d50623f406279b400d335639
2008-01-03 18:03:08 +00:00
danielk1977
207872a488
Change OP_OpenRead and OP_OpenWrite so that the database number is read from the P3 operand, not the stack. (CVS 4663)
...
FossilOrigin-Name: 35da261daf602b1e938f05bbad1ff99213d9f4b9
2008-01-03 07:54:23 +00:00
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