drh
995ae279b3
Comment change on the previous check-in. No changes to code. (CVS 4918)
...
FossilOrigin-Name: 72ae456239eb9f75b744f6733c4441b380bd1be1
2008-03-26 12:50:14 +00:00
drh
ad27e76110
Make sure an imbalance in the number of columns on a compound SELECT is
...
detected and reported as an error before it can cause an assertion fault
or array-bounds overflow in the code generator.
Oops: part of the fix for ticket #3015 got included with this
check-in by mistake. (CVS 4917)
FossilOrigin-Name: 50de87dc808820a70d3a99277f532e418a2f97e2
2008-03-26 12:46:23 +00:00
drh
e14006d0de
Modify the {quote: IdxDelete} opcode so that it takes an array of registers rather
...
than a record formed using {quote: MakeRecord.} This avoids a needless packing
and unpacking of the record to be deleted. (CVS 4916)
FossilOrigin-Name: ee381b43563e1b0637ee74389d076dff77deddf9
2008-03-25 17:23:32 +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
3f913576e5
Add the SQLITE_OMIT_DECLTYPE compile-time option. Remove more code when
...
SQLITE_ENABLE_COLUMN_METADATA is not defined. (CVS 4906)
FossilOrigin-Name: 8ef26646cff9be75c584a9abfcfffcfdb49b3969
2008-03-22 01:07: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
mlcreech
3a00f907a9
Various renames & cleanups to limit exported symbols on amalgamation build (CVS 4819)
...
FossilOrigin-Name: 9c6694bb61a8ecdbfb2d05e5e05a8cc97b792240
2008-03-04 17:45:01 +00:00
drh
c52e355de1
Do not apply the query flattening optimization when the outer query is an
...
aggregate and the inner query contains an ORDER BY clause. Ticket #2943 . (CVS 4791)
FossilOrigin-Name: 6d33cbd99cb0db680767ceb31ec6345e90a805bc
2008-02-15 14:33:03 +00:00
danielk1977
a7a8e14bf2
Where possible, avoid freeing buffers allocated for vdbe memory cells in case they can be reused. (CVS 4783)
...
FossilOrigin-Name: 990237e27e417aff3dbf05784b716c21f3761a3a
2008-02-13 18:25:27 +00:00
drh
1ece7325bb
Do not release registers used to hold the results of a compound select
...
after just the first select has run. Ticket #2927 . For now, we will
never release the registers used to hold the result set, since the same
register set will be used for each select. This is not an unacceptable
register leak and it is the safest approach. (CVS 4778)
FossilOrigin-Name: e9fcb793998be07eaea01404407087b71c29853d
2008-02-06 23:52:36 +00:00
drh
ca4241140c
Error messages says "no such view" instead of "no such table" when
...
trying to DROP a VIEW that does not exist. (CVS 4750)
FossilOrigin-Name: 50815a82e0ec9a5c1399f5fe6ef416434b55a821
2008-01-25 15:04:48 +00:00
danielk1977
cdf3020ca3
Fix a segfault that may follow a malloc failure during compilation of an INSTEAD OF trigger. (CVS 4749)
...
FossilOrigin-Name: c6635a71dbb2a06d56a0cfce7f0383325e12dc01
2008-01-24 14:27:44 +00:00
danielk1977
ac559264e3
Fix another segfault that can occur following a malloc failure in the SQL compiler. (CVS 4748)
...
FossilOrigin-Name: 9d98a3f0dded4ee7ed53872f48ee8592ff077f92
2008-01-23 17:13:40 +00:00
danielk1977
15cdbebe08
Fix a couple of segfaults that could occur after a malloc() failure in the SQL compiler. (CVS 4747)
...
FossilOrigin-Name: 6bd8db3839d57a738cae2196679819186968b40e
2008-01-23 15:44:51 +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
a05a722f23
Cleanup and simplification of constraint processing. Simplifications
...
to the VM for better test coverage. (CVS 4729)
FossilOrigin-Name: d9ebe9d78c558af050c44ac4437ce0ef8193a4a8
2008-01-19 03:35:58 +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
8cc7432280
Fix for a couple of minor memory leaks. (CVS 4712)
...
FossilOrigin-Name: a13d3e953f1a3e451e8708a8ef064aa1d72cb4e9
2008-01-15 02:22:24 +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
949f9cd565
The sqlite3_trace() callback now prints a message as each trigger fires
...
within a statement. (CVS 4709)
FossilOrigin-Name: 110c000d86bd4a0b4b946c62d11a435426b02d16
2008-01-12 21:35:57 +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
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
danielk1977
738bdcfbf8
Comment changes in select.c. (CVS 4691)
...
FossilOrigin-Name: 38020592f15c072e0d221ae2e0df13508ac4bd49
2008-01-07 10:16:40 +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
477df4b3ac
Modify OP_RegMakeRec to take a base register and count and optionally
...
store results in the register specified by P3. (CVS 4689)
FossilOrigin-Name: 6bb1b1bc1858028b743a4f660d42d5e9595dc022
2008-01-05 18:48:24 +00:00
danielk1977
dba0137e1e
Fix a memory leak introduced with #4687 . (CVS 4688)
...
FossilOrigin-Name: 2b98b0fca82e285ae6b38384587aafa27985fa34
2008-01-05 18:44:29 +00:00
danielk1977
a9d1ccb9b0
First pass at optimizing max()/min() as described in #2853 . Some refinements to come. (CVS 4687)
...
FossilOrigin-Name: c449e04f1870b1ff726c95c0bf1c6c6a22ca588a
2008-01-05 17:39:29 +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
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
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