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
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
49df6b749c
Fix an out-of-memory NULL pointer defer in the code generator. Ticket #2843 . (CVS 4630)
...
FossilOrigin-Name: b821b6ed176b4259e1d4b56c8eb548933b6f530a
2007-12-14 15:12:21 +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
284f4aca32
Fix compilation/testing with OMIT_SUBQUERY defined. Ticket #2828 . (CVS 4603)
...
FossilOrigin-Name: 0b34a18651764e650faba983be8593992ab2f4a9
2007-12-10 05:03:46 +00:00
danielk1977
9a96b66810
Optimisations for expressions of the form "<value> IN (SELECT <column> FROM <table>)". (CVS 4579)
...
FossilOrigin-Name: 56d0e32677744df8570b519fae1c04da4ea4984d
2007-11-29 17:05:18 +00:00
danielk1977
390025053e
Allow collation sequence names to be quoted. Ticket #2744 . (CVS 4537)
...
FossilOrigin-Name: 06749ac7afeea4adbdeb9315f3819d5224534c66
2007-11-12 09:50:26 +00:00