Table trigger does not see its mode: inserting or updating or deleting
----------------------------------------------------------------------
Key: CORE-4970
URL: http://tracker.firebirdsql.org/browse/CORE-4970
Project: Firebird Core
Issue Type: Bug
Components: Engine
Reporter: Pavel Zotov
Priority: Blocker
Test:
####
show version;
set list on;
--select * from mon$database;
--commit;
recreate table test(id int, x int);
commit;
set term ^;
create or alter trigger test_biud for test active before insert or update or
delete
as
begin
rdb$set_context('USER_SESSION','CHECK_TEST_BIUD_MODE',
'mode: '
|| trim( iif(inserting,'INSERTING', iif(updating,'UPDATING',
iif(deleting, 'DELETING', '??? NULL ???'))) )
|| ', time: ' || cast('now' as timestamp)
);
end
^
set term ;^
commit;
set width check_test_biud_mode 40;
insert into test default values;
select rdb$get_context('USER_SESSION','CHECK_TEST_BIUD_MODE') as
check_test_biud_mode
from rdb$database;
update test set id = -id;
select rdb$get_context('USER_SESSION','CHECK_TEST_BIUD_MODE') as
check_test_biud_mode
from rdb$database;
delete from test;
select rdb$get_context('USER_SESSION','CHECK_TEST_BIUD_MODE') as
check_test_biud_mode
from rdb$database;
rollback;
drop table test;
commit;
Results (on new databases)
######
1. On WI-V3.0.0.32084 - all fine:
. . . skipped show version result ...
CHECK_TEST_BIUD_MODE mode: INSERTING, time: 2015-10-20 15:05:46.0540
CHECK_TEST_BIUD_MODE mode: UPDATING, time: 2015-10-20 15:05:46.0540
CHECK_TEST_BIUD_MODE mode: DELETING, time: 2015-10-20 15:05:46.0540
2. On LI-V3.0.0.32096:
ISQL Version: WI-V3.0.0.32084 Firebird 3.0 Release Candidate 1
Server version:
Firebird/Linux/AMD/Intel/x64 (access method), version "LI-V3.0.0.32096 Firebird
3.0 Release Candidate 1"
Firebird/Linux/AMD/Intel/x64 (remote server), version "LI-V3.0.0.32096 Firebird
3.0 Release Candidate 1/tcp (oel64)/P13"
Firebird/Windows/Intel/i386 (remote interface), version "WI-V3.0.0.32084
Firebird 3.0 Release Candidate 1/tcp (csprog)/P13"
on disk structure version 12.0
CHECK_TEST_BIUD_MODE mode: ??? NULL ???, time: 2015-10-20
15:05:40.9890
CHECK_TEST_BIUD_MODE mode: ??? NULL ???, time: 2015-10-20
15:05:40.9900
CHECK_TEST_BIUD_MODE mode: ??? NULL ???, time: 2015-10-20
15:05:40.9920
--
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