COMPUTED BY field is evaluated as NULL if used as an exception parameter directly [CORE4117] #4445
Labels
affect-version: 2.0.5
affect-version: 2.0.6
affect-version: 2.0.7
affect-version: 2.1.0
affect-version: 2.1.1
affect-version: 2.1.2
affect-version: 2.1.3
affect-version: 2.1.4
affect-version: 2.1.5 Update 1
affect-version: 2.1.5
affect-version: 2.5.0
affect-version: 2.5.1
affect-version: 2.5.2 Update 1
affect-version: 2.5.2
component: engine
fix-version: 2.1.6
fix-version: 2.5.3
priority: major
qa: done successfully
type: bug
Submitted by: GR (gr)
Is related to QA514
CREATE TABLE TEST (
ID INTEGER NOT NULL,
C COMPUTED BY (id * 10)
);
CREATE EXCEPTION EX 'TEXT ';
INSERT INTO TEST(ID)
VALUES (1);
COMMIT;
1. Exception with computed by field as parameter
CREATE OR ALTER TRIGGER TEST_TR FOR TEST
ACTIVE BEFORE UPDATE POSITION 0
as
begin
exception ex new.c;
end
update TEST
set id = 2;
-- returns error without field value
EX.
TEXT .
At trigger 'TEST_TR' line: 5, col: 3.
2. Exception with computed by field as a part of expression
CREATE OR ALTER TRIGGER TEST_TR FOR TEST
ACTIVE BEFORE UPDATE POSITION 0
as
begin
exception ex new.c + 0; -- any expression
end
update TEST
set id = 2;
-- returns correct error with field value
EX.
20.
At trigger 'TEST_TR' line: 5, col: 3.
Commits: ae68898 2148e24 FirebirdSQL/fbt-repository@20ddd7f FirebirdSQL/fbt-repository@2824f4e
====== Test Details ======
Confirmed wrong output in 2.5.2: no value between
"-EX_BAD_COMPUTED_FIELD_VALUE"
and
"At trigger 'TEST1_BU' line: ***, col: ***"
The text was updated successfully, but these errors were encountered: