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
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
04adf4161d
Finish registerizing the core logic of INSERT and UPDATE. (CVS 4696)
...
FossilOrigin-Name: 5fd1036788dbbc48ff1c746d2e1ba12b04a7e58c
2008-01-08 18:57:50 +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
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
danielk1977
287fb61c6b
Some modifications to insert.c to work without using the stack. (CVS 4678)
...
FossilOrigin-Name: d9ac6beef538376d0ea0a1daa95cf1dfe36143cf
2008-01-04 19:10:28 +00:00
danielk1977
96cb76fc7a
Modify the code generated for a DELETE to use registers instead of the vdbe stack. (CVS 4675)
...
FossilOrigin-Name: 173f281334d340290e1978abea5d1ea804141910
2008-01-04 13:24:28 +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
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
2a339ff677
Modify OP_VUpdate to read arguments from a range of memory cells instead of from the stack. (CVS 4668)
...
FossilOrigin-Name: 955b15a020e9ea6401fe03a36f5139a03ea80b8a
2008-01-03 17:31:44 +00:00
danielk1977
2dca4ac1d3
Change the VdbeOp.p4 union to include specific pointer types for the various values of VdbeOp.p4type. (CVS 4667)
...
FossilOrigin-Name: 7e8330c8044dc7718e720dbd33f6e2fe970ead77
2008-01-03 11:50:29 +00:00
danielk1977
1f4aa337cd
Change the OP_Insert opcode to read the key and data to insert from memory cells, not the stack. (CVS 4666)
...
FossilOrigin-Name: 46501f490a5f5577ea31c758df749e02c7c65f39
2008-01-03 09:51:55 +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
danielk1977
e448dc4abf
Take advantage of the fact that b-tree cursors need not be closed while other cursors modify their tables to simplify trigger program generation code. (CVS 4654)
...
FossilOrigin-Name: f1966a8a47fca85f7862c0797a527ab01ac8b0c1
2008-01-02 11:50:51 +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
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
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
danielk1977
997a904016
Try to find some more stack leaks by adding OP_StackDepth to loops in DML statements. None were found. (CVS 4617)
...
FossilOrigin-Name: 12c3029b1edcff4435177c709fb2584323f8c515
2007-12-12 17:42:53 +00:00
drh
543165ef97
Update the version number to 3.5.3. Fix some minor testing problems. (CVS 4563)
...
FossilOrigin-Name: f4c8f2d1918f24514f02cae9172c77f6957d32c1
2007-11-27 14:46:41 +00:00
drh
48d1178ad8
Make sure that INSERT INTO ... SELECT ... always uses an ephemeral
...
intermediate table if the SELECT clause refers to the destination table,
even if the SELECT clause is compound or uses the destination table
in a subquery. This fixes a long-standing bug that can cause an
infinite loop for some SQL statements. (CVS 4552)
FossilOrigin-Name: 492b39b6a8bf4ad8792d7a7949f77827a5047fd8
2007-11-23 15:02:19 +00:00
danielk1977
5ce240a618
Remove an unreachable case from xferOptimization(). Also other minor test coverage improvements. (CVS 4383)
...
FossilOrigin-Name: 75af7189c0ed1b24a32cff6960af7f17326cbc17
2007-09-03 17:30:06 +00:00
drh
f53e9b5ad5
Be careful to verify the schema cookie when running the xfer optimization
...
on INSERT statements. (CVS 4322)
FossilOrigin-Name: d8ef7024172fffee049cfda6707220af2577e9a1
2007-08-29 13:45:58 +00:00
drh
abb6fcabcb
Combine sqlite3DbOfVdbe() and sqlite3VdbeDb() into a single function. (CVS 4236)
...
FossilOrigin-Name: ba80ee59a72afe36817997de705ef81d876b6f35
2007-08-16 12:24: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
2e06c67c08
The REPLACE conflict resolution falls back to FAIL when on a
...
CHECK constraint violation. Ticket #2525 . (CVS 4178)
FossilOrigin-Name: b213614abff90c65cc7228c87f4973150e8a9679
2007-07-23 19:39:46 +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
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
danielk1977
0125683288
Minor changes (mainly to assert() macros) to handle malloc failure in vtab operations. (CVS 3851)
...
FossilOrigin-Name: 175156d1fcaadab3b955597abb27f6b9043bbb5b
2007-04-18 14:24:32 +00:00
drh
f33c9fad35
Preliminary fix for ticket #2291 . This fixes the immediate problem. But
...
we really need to write more tests for the xfer optimization in order to
look for other related problems before closing this ticket. (CVS 3835)
FossilOrigin-Name: 34fec312fd1aeabb04e07d6aa061991775c7b8a1
2007-04-10 18:17:55 +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
bd36ba69b0
The XFER optimization works if the target table lacks an integer primary
...
key and is not empty as long as it has no indices. It always has and
continues to work if the target table was empty. (CVS 3779)
FossilOrigin-Name: 2c62ffcb865655e8b91aaf81601548ea540c6088
2007-03-31 13:00:26 +00:00
drh
42242ded5e
Fix a bug in XFER optimization introduced by check-in (3736). (CVS 3744)
...
FossilOrigin-Name: 3714ac173289e580a0302a5a3beac05823d92c5b
2007-03-29 13:35:35 +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
drh
7fc2f41bef
Patch so the the code compiles with -DSQLITE_OMIT_CHECK=1. (CVS 3737)
...
FossilOrigin-Name: 72cea358da4bd38af322f18f2a753171f7decaf8
2007-03-29 00:08:24 +00:00
drh
95bad4c751
Improvements to the XFER Optimization of the INSERT statement. (CVS 3736)
...
FossilOrigin-Name: 53fff7d1f2f829010a2641c7738538b3155da4b2
2007-03-28 18:04:10 +00:00
drh
91c58e23b2
Get the -DSQLITE_OMIT_XFER_OPT option working. Run speed tests on a full
...
regression. Add the script for generating sqlite3.c. (CVS 3723)
FossilOrigin-Name: 42c038518c4ba0ef827a5717d450f95165b3c729
2007-03-27 12:04:04 +00:00
drh
fb658dedce
Additional test cases added. Improvements to the INSERT transfer
...
optimization. (CVS 3662)
FossilOrigin-Name: 2bf5475bde763f73f7f4dd9cac7d13a631a7d2aa
2007-02-24 15:18:49 +00:00