Multiple records UPDATE overwrite TIGGERS modification in the same table.
-------------------------------------------------------------------------
Key: CORE-6005
URL: http://tracker.firebirdsql.org/browse/CORE-6005
Project: Firebird Core
Issue Type: Bug
Components: Engine
Affects Versions: 3.0.4
Reporter: Javier Fernández Castillejo
Priority: Critical
CREATE TABLE TEST_UPDATE
(
ID INTEGER NOT NULL,
FIELD1 INTEGER,
FIELD2 INTEGER,
CONSTRAINT PK_TEST_UPDATE PRIMARY KEY (ID)
);
SET TERM ^^ ;
CREATE TRIGGER TEST_UPDATE_AU FOR TEST_UPDATE ACTIVE AFTER UPDATE POSITION 0 AS
begin
Update TEST_UPDATE
SET FIELD2=NEW.FIELD1
Where ID=NEW.ID+1;
end ^^
SET TERM ; ^^
Insert into TEST_UPDATE (ID,FIELD1,FIELD2) VALUES (1,0,0);
Insert into TEST_UPDATE (ID,FIELD1,FIELD2) VALUES (2,0,0);
Insert into TEST_UPDATE (ID,FIELD1,FIELD2) VALUES (3,0,0);
Insert into TEST_UPDATE (ID,FIELD1,FIELD2) VALUES (4,0,0);
Insert into TEST_UPDATE (ID,FIELD1,FIELD2) VALUES (5,0,0);
Update TEST_UPDATE
Set Field1=10
Where ID in (2,3);
=== In Firebird 3.0.4 ===
Select *
From TEST_UPDATE;
ID,FIELD1,FIELD2
1,0,0
2,10,0
3,10,0 <== This value must be 10
4,0,10
5,0,0
In Firebird 2.5 is Correct!!!!
ID,FIELD1,FIELD2
1,0,0
2,10,0
3,10,10
4,0,10
5,0,0
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel