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

265 Commits

Author SHA1 Message Date
drh
098d1684d7 Simplifications to the uniqueness constraint failure error message
generation code. (CVS 6595)

FossilOrigin-Name: 8f3cac7682a0c992f95f7453aaf9a29b1fe35d6f
2009-05-02 15:46:46 +00:00
drh
3f6e781d6a When checking indices for xfer compatibility, compare collating sequences
by string, not by pointer. (CVS 6590)

FossilOrigin-Name: 7d2b80c7addc2d03d49647da9c6df9113f01349d
2009-05-02 00:28:19 +00:00
drh
d51397a614 Fix an error message that is generated if the number of columns do not
match on an INSERT into a virtual table with hidden columns. (CVS 6588)

FossilOrigin-Name: 795b453c9a03c32d9d4cdf62823d2b9dd667cc44
2009-05-01 15:17:48 +00:00
drh
7fe45908cc Fix processing of BEFORE triggers on INSERT statements with RHS SELECTs
that insert a NULL into the INTEGER PRIMARY KEY.  Ticket #3832. (CVS 6583)

FossilOrigin-Name: 4a1f6a3a9ac8b476c86edac83b555adeef0be4e6
2009-05-01 02:08:04 +00:00
drh
bbb5e4e073 Remove an always-true test from delete.c. Move the sqlite3OpenTable()
routine from delete.c to insert.c since it is not used in delete.c. (CVS 6571)

FossilOrigin-Name: 71756dc870910665ef5fdbc7343bc3eedbe3ce65
2009-04-30 00:11:09 +00:00
danielk1977
2f886d1d53 Instead of linking temporary triggers on non-temporary tables into the Table.pTrigger list, search the temp schema for them on demand. Fix for #3688. (CVS 6329)
FossilOrigin-Name: 3befe1ef7e6ebddedfa69579553a1b85b411ee98
2009-02-28 10:47:41 +00:00
danielk1977
d336e222f4 Instead of using SetNumColumns, specify the number of columns in a table or index using the P4 argument. (CVS 6310)
FossilOrigin-Name: e43ed649630cbc49a6f2a25a26a4a6b5fce84c48
2009-02-20 10:58:41 +00:00
drh
5053a79b6c Add the OP_HaltIfNull opcode and use it to simplify prepared statements
for INSERTs and UPDATEs of tables with NOT NULL columns. (CVS 6308)

FossilOrigin-Name: feccad8d0d05925ce67856d40ffe1bc7054168a0
2009-02-20 03:02:23 +00:00
danielk1977
6ab3a2ec8a Changes to reduce the heap space consumed by triggers, views and tables in the in-memory representation of the schema. Also to reduce the space used by prepared statements slightly. (CVS 6305)
FossilOrigin-Name: d9f6ffbc5ea090ba0daac571fc9a6c68b9c864e4
2009-02-19 14:39:25 +00:00
drh
1bd10f8a00 Additional work at eliminating silly compiler warnings. (CVS 6010)
FossilOrigin-Name: ea01d43788a75e39c7f03c22681d1a338d52cf0e
2008-12-10 21:19:56 +00:00
drh
ea6788322e Never use strlen(). Use our own internal sqlite3Strlen30() which is
guaranteed to never overflow an integer.  Additional explicit casts to
avoid nuisance warning messages. (CVS 6007)

FossilOrigin-Name: c872d554930ecf221ac2be5f886d5d67bb35288c
2008-12-10 19:26:22 +00:00
drh
dc5ea5c785 Remove or rename local variables that shadow other variables or parameters. (CVS 6005)
FossilOrigin-Name: e7e9fa4fa1b7fc0668f4e3a51873ee5d11893f42
2008-12-10 17:19:59 +00:00
danielk1977
62c14b3487 Changes to avoid "unused parameter" compiler warnings. (CVS 5921)
FossilOrigin-Name: 88134322c36b41304aaeef99c39b4ef5b495ca3b
2008-11-19 09:05:26 +00:00
danielk1977
00e136135e Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914)
FossilOrigin-Name: 8009220c36635dd9b6efea7dc13281ca9625c40a
2008-11-17 19:18:54 +00:00
drh
dfe88ece74 Change the name of the Cursor object to VdbeCursor. (CVS 5857)
FossilOrigin-Name: fdb98fd8c1706085ebeef8e48ac6737839bed5e5
2008-11-03 20:55:06 +00:00
danielk1977
10fb749b37 Change the way sqlite3VdbeSetColName() is called so as to remove a few lines of code. This also fixes #3470. (CVS 5853)
FossilOrigin-Name: bfce91429b1dad6e0ca36929e41a7adfb30f8522
2008-10-31 10:53:22 +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
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
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
shane
1fc4129df7 Added macros to convert between 32-bit ints and 64-bit ptrs to avoid compiler warnings. (CVS 5378)
FossilOrigin-Name: 6cdb6841ff4683e424ef394733da9c24f5602570
2008-07-08 22:28:48 +00:00
drh
f089aa459e Completely rework the sqlite3SetString() primitive so that it honors the
SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374)

FossilOrigin-Name: 8ed04b1e26a55306e4baf3e93fb084514134d603
2008-07-08 19:34:06 +00:00
danielk1977
bb50e7ad76 Fix for explicitly inserting a NULL value into the rowid column of a virtual table. (CVS 5343)
FossilOrigin-Name: a7f3b431669f7392a6acba8cd8f3fa5297a916b5
2008-07-04 10:56:07 +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
e00ee6eb37 Change the SRT_Subroutine mode into SRT_Coroutine. Use co-routines in
the INSERT processing logic. (CVS 5255)

FossilOrigin-Name: 6b9d92fc3f265ef75c9182e537812490bb818950
2008-06-20 15:24:01 +00:00
drh
2eb95377ef Remove the subroutine return stack from the VDBE. Return addresses
for subroutines are now stored in registers. (CVS 5191)

FossilOrigin-Name: ef1956eebcaf5aca51af8c3b406b1fd4b1f391a7
2008-06-06 15:04:36 +00:00
drh
c9ded4c62e When initializing the sqlite_sequence entry for an AUTOINCREMENT table,
make sure the value is an reasonable integer even if the initial insert
failed.  Ticket #3148. (CVS 5175)

FossilOrigin-Name: 7e6847852d4517b1d14bebb8f0ae4d938b0b6f6d
2008-05-29 03:20:59 +00:00
drh
4f3dd1502e Make sure that transactions are started on all virtual tables that
changes in a single statement, not just the first.  Ticket #3083.
Need to add test cases. (CVS 5063)

FossilOrigin-Name: 133b7ee50ea6012739ebe0e334374c5d9b1fcc7f
2008-04-28 18:46:43 +00:00
drh
7209c697a1 Remove all references to sqlite3_intptr_t. (CVS 5051)
FossilOrigin-Name: 6a94d19747a05df2694d3720f76de3dab3836578
2008-04-27 18:40:11 +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
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
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
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
f39d958829 Undefine the "isView" macro when compiling with SQLITE_OMIT_VIEW so that
the macro does not interfer with subsequent modules in the amalgamation. (CVS 4888)

FossilOrigin-Name: a42caa8f83ce19af1e569c4545ea8b2449152430
2008-03-19 20:42:13 +00:00
mlcreech
a9e852b667 Handle non-autoconf build correctly with new changes (CVS 4832)
FossilOrigin-Name: e2a9f5f1054f077e4773dd3d2c8f2ce5be118a01
2008-03-06 09:58:50 +00:00
mlcreech
12d4082f26 Use intptr_t definition to silence warnings about ptr-int casts (CVS 4824)
FossilOrigin-Name: 54839a84e6ce080ea8a0f6ce32acaa053d20f311
2008-03-06 07:35:21 +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
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
drh
60a713c66b Miscellaneous test coverage improvements. (CVS 4734)
FossilOrigin-Name: 720bc20a11275ffe139df9203f23e0683b9b4db1
2008-01-21 16:22:45 +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
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