drh
5c092e8a4f
Make sure the value of an INTEGER PRIMARY KEY column supplied to triggers
...
and especially to FK constraints really contains the ROWID and not the
NULL that is stored in the column itself. Ticket [dd08e5a988d00dec].
FossilOrigin-Name: 636f86095eb1f4bdcfb0c9ed846c4c6b3589c10b
2010-05-14 19:24:02 +00:00
drh
fd7c9912b4
Add testcase() macros to make sure boundary cases in BEFORE UPDATE triggers
...
are well tested.
FossilOrigin-Name: 27175caa28919fe145d369f27f52346b8bbadb1e
2009-12-01 22:09:25 +00:00
dan
bb5f168f2e
Move [7d30880114] to the trunk. Add optimizations to reduce the number of opcodes used for BEFORE UPDATE triggers.
...
FossilOrigin-Name: 1b7c5250ccb63182324bfc3f1ea28f17b6db357a
2009-11-27 12:12:34 +00:00
drh
c81c11f62c
Remove the obsolete "$Id:$" RCS identifier strings from the source code.
...
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
dan
f7b0b0ad5f
When generating WHERE clause terms internally for NATURAL and USING joins, identify the table by its position in the FROM list, not by its name or alias. Fix for [b73fb0bd64].
...
FossilOrigin-Name: 6fe6371175482d38ac4aeea994c7b20c18b7de01
2009-10-19 15:52:32 +00:00
dan
e7a94d8128
If an update does not modify any child or parent key columns, omit foreign key processing for the statement.
...
FossilOrigin-Name: edff3500058eb8ad2381f855ef7a09ecb680f7b8
2009-10-01 16:09:04 +00:00
dan
9277efa3d5
Fix some foreign key constraint related problems that occur when a row refers to itself.
...
FossilOrigin-Name: 9e503e2d0428c9e8df878c7c6594790232cca4e0
2009-09-28 11:54:21 +00:00
dan
94d7f50a0f
Remove unused parameter from sqlite3CodeRowTrigger(). Fix header comments for this function and CodeRowTriggerDirect().
...
FossilOrigin-Name: 0443f7c9112ca91aa45c78a3d6287e5fcf5c3b73
2009-09-24 09:05:49 +00:00
dan
75cbd984f7
Fix compilation with OMIT_TRIGGER defined. Ticket [1ff6d29030e9757d052af0f394e56bea96b8b59b|1ff6d29030].
...
FossilOrigin-Name: fb6ceed388f6d75bdc2ac2f43e5c98da74e2a448
2009-09-21 16:06:03 +00:00
dan
1da40a381f
Check in implementation of foreign key constraints.
...
FossilOrigin-Name: d5d399811876391642937edeb9e8434dd9e356f5
2009-09-19 17:00:31 +00:00
dan
ae0931edae
Add some tests that involve BEFORE UPDATE or BEFORE DELETE triggers messing with the row being updated or deleted. SQLite behaviour in this scenario is undefined, so the tests just check that the behaviour is relatively sane and there are no crashes.
...
FossilOrigin-Name: 9a4c59a2ddd0df2d9425097004b450a6685f2147
2009-09-09 15:06:10 +00:00
dan
e0af83aca6
Combine the OP_Statement and OP_Transaction opcodes.
...
FossilOrigin-Name: aec9dbd8d21c55c3945287a3dfa55d3ed168f977
2009-09-08 19:15:01 +00:00
shane
cea72b2dc2
Warning cleanup from the MSVC compile.
...
FossilOrigin-Name: 26cd015c0ee1c18dd37f11b47ce35cfa320b3514
2009-09-07 04:38:36 +00:00
dan
2832ad4221
More fixes for test cases.
...
FossilOrigin-Name: 85d9f23be1e8673dbda42e43b9b23332ada9225f
2009-08-31 15:27:27 +00:00
dan
76d462ee78
Fixes for new triggers scheme.
...
FossilOrigin-Name: 9eb91efda5241609ff18ff15ef5eaa0e86788eab
2009-08-30 11:42:51 +00:00
dan
165921a742
Changes to support recursive triggers.
...
FossilOrigin-Name: 9b9c19211593d5ff7b39254a29c284560a8bcedb
2009-08-28 18:53:45 +00:00
drh
eeb844a7f1
Suppress various compiler warnings. (CVS 6963)
...
FossilOrigin-Name: 257e9b575029f63277ed602d1402f87cfa15d22e
2009-08-08 18:01:07 +00:00
danielk1977
c7538b5f63
When extracting values from a record to use in an UPDATEd version of that record, apply OP_RealAffinity if required. Fix for #3992 . (CVS 6945)
...
FossilOrigin-Name: 3616766a6f5c8179cc55444c29ecf29cc69f88ce
2009-07-27 10:05:04 +00:00
danielk1977
595a523a10
Allow virtual tables to be used in shared-cache mode. (CVS 6928)
...
FossilOrigin-Name: 5d9e767a05e381235e064061043e30cc03a11a07
2009-07-24 17:58:53 +00:00
drh
bdfb6b5ab2
Fix an instance where sqlite3JumpHere() might be called with a negative
...
address following an OOM fault. (CVS 6828)
FossilOrigin-Name: 49f22e55d69d0b5a34400b36332a2eb861362eb2
2009-06-27 11:17:35 +00:00
drh
0b9f50d8aa
Enhance autoincrement so that it works with triggers that also do
...
autoincrement inserts, even multiple inserts into the same table.
Ticket #3928 (CVS 6807)
FossilOrigin-Name: 1330993de8eae7baeec24100216158063c9bdc19
2009-06-23 20:28:53 +00:00
drh
33e619fc1c
Additional refinements to Expr handling. Restore compression of trigger
...
expressions. Change Expr.zToken to Expr.u.zToken and added Expr.u.iValue.
Remove an unnecessary ExprDup from CHECK constraint processing. And so forth. (CVS 6682)
FossilOrigin-Name: 4ac2bdfbb4230b6ceaae87e738fa61036bbe03cb
2009-05-28 01:00:55 +00:00
drh
b7916a78ff
Simplifications to the Expr object: Remove Expr.span completely and convert
...
Expr.token into a char* Expr.zToken. Also simplify the Token object by
removing the Token.dyn and Token.quoted fields. (CVS 6681)
FossilOrigin-Name: 7cb1c3ba0759539cb035978fdaff6316775986f3
2009-05-27 10:31:29 +00:00
drh
e289d6069a
Changes to update.c to facilitate full coverage testing. (CVS 6604)
...
FossilOrigin-Name: 25a11b9ecae1befd3f58958d68f6346f1e1e47ad
2009-05-05 15:46:09 +00:00
danielk1977
de630353d8
Speed up INSERT operations that add data to UNIQUE or PRIMARY KEY indexes by rationalizing duplicate seek operations. (CVS 6599)
...
FossilOrigin-Name: cac4f3d812f0a02ca5c1fa78d366f694403929a8
2009-05-04 11:42:29 +00:00
drh
336a5300de
Get rid of the special RowSet processing in where.c and move that into
...
clients. Added the WHERE_DUPLICATES_OK option to eliminate an unnecessary
RowSet during DELETE with a WHERE clause containing ORs. (CVS 6546)
FossilOrigin-Name: 98606bee9e41b8969fb639fc43864e230185ca43
2009-04-24 15:46:21 +00:00
drh
044925be0b
Eliminate the OP_VRowid opcode. The regular OP_Rowid now work for both
...
regular and virtual tables. (CVS 6537)
FossilOrigin-Name: ecbef45011f1f98d940b2d3492941213d9f04172
2009-04-22 17:15:02 +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
2d2e7bd32e
Reverse commit (6315) for now. (CVS 6317)
...
FossilOrigin-Name: 0e7c369c23a8767b4d3e5cdd47c14716992fb71a
2009-02-24 10:14:40 +00:00
danielk1977
e2d7b24d08
Scan an index instead of a table for "SELECT count(*) FROM <tbl>" queries. Because an index is usually smaller than a table on disk, this saves some IO. (CVS 6315)
...
FossilOrigin-Name: 294ba6f743c9132dce0e73da480bd3c2071e7239
2009-02-23 17:33:49 +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
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
23d04d5a20
Continuing improvements to the multi-index OR-clause optimizer. Added a
...
few simple test cases. (CVS 6062)
FossilOrigin-Name: 55d4f493e7df8515574a75caec9967d6c71b6012
2008-12-23 23:56:22 +00:00
drh
4f21c4af30
Fix an issue with the new sqlite3Strlen30() introduced by
...
check-in (6007). Additional casts for compiler warnings. (CVS 6011)
FossilOrigin-Name: 258722b6178f60eaccef1675aab3edc456d413a5
2008-12-10 22:15:00 +00:00
drh
b27b7f5d3b
More explicit type casting to silence VC++. (CVS 6006)
...
FossilOrigin-Name: 14e6d19c3157ccdce170e769d678c7f472dd3db2
2008-12-10 18:03:45 +00:00
drh
3d4501e573
Replace the VDBE Fifo object with the new RowSet object. (CVS 5977)
...
FossilOrigin-Name: 39a0750b49cf55e9c0927169ca47db909f5c16ea
2008-12-04 20:40:10 +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
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
danielk1977
510f96590b
Fix an assert() failure that can occur if the user attempts to set an into an integer primary key column to a text value in a table that has a BEFORE UPDATE trigger. (CVS 5787)
...
FossilOrigin-Name: c2cf9d60d6626844193b008a37e4417aa0a0f323
2008-10-09 18:48:30 +00:00
shane
fa4e62f3d8
Omit prototype for and calls to sqlite3MaterializeView() if !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_TRIGGER). (CVS 5655)
...
FossilOrigin-Name: 9cf484fc17944ffa14335e391112d82d2390d116
2008-09-01 21:59:42 +00:00
drh
2a5d825ea2
Allow the WHERE clause in an UPDATE or DELETE against a view with an
...
INSTEAD OF trigger to refer to the view by name. Ticket #3298 . (CVS 5589)
FossilOrigin-Name: 7360e5d1f37ed6672f336b625b3c90d060e0a020
2008-08-22 12:30:52 +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
af005fbc13
Test coverage improvements on printf. (CVS 5385)
...
FossilOrigin-Name: 2d8f7bebf0f13f3a95f1e2163e35d43229cabfea
2008-07-09 16:51:51 +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
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
f93d99990c
Do not attempt to omit unused columns of a view in an instead-of trigger
...
since sometimes those columns can be used in ways that we do not expect.
Ticket #3055 . (CVS 5012)
FossilOrigin-Name: f5fc42e96d36b78797d7fa10b01d22b8501112b1
2008-04-15 14:36:42 +00:00
drh
08c88eb0d3
First cut at optimizing single-row updates to use a one-pass algorithm. (CVS 4973)
...
FossilOrigin-Name: fba97f7874d723111e873d1470fc1a95e64f922d
2008-04-10 13:33:18 +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