Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to alter Database On Connect Trigger [CORE6234] #6478

Open
firebird-automations opened this issue Jan 20, 2020 · 2 comments
Open

Unable to alter Database On Connect Trigger [CORE6234] #6478

firebird-automations opened this issue Jan 20, 2020 · 2 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @luronumen

ACTUAL RESULT
- Unable to alter Database On Connect Trigger
- The following exception happen when it is tried to update an existing Database On Connect Trigger:

Error: *** IBPP::SQLException ***
Context: Statement::Prepare(
ALTER TRIGGER DATABASE_ON_CONNECT ACTIVE
ON CONNECT POSITION 0
AS
BEGIN
END )
Message: isc_dsql_prepare failed

SQL Message : -104
Invalid token

Engine Code : 335544569
Engine Message :
Dynamic SQL Error
SQL error code = -104
Token unknown - line 3, column 1
ON

EXPECTED RESULT
- The user should be able to update any Database On Connect Trigger without any issue

STEPS TO REPRODUCE THE ISSUE
1- Create a Database On Connect Trigger using the following DDL script:

SET TERM ^ ;
CREATE TRIGGER DATABASE_ON_CONNECT
ACTIVE ON CONNECT POSITION 0
AS
BEGIN
END^
SET TERM ; ^

2- Try to update the Database On Connect Trigger using the following DDL script:

SET TERM ^ ;
ALTER TRIGGER DATABASE_ON_CONNECT ACTIVE
ON CONNECT POSITION 0
AS
BEGIN
END^
SET TERM ; ^

IMPORTAN NOTES:
-This issue is NOT reproducible on Firebird 2.5.9

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

It is not allowed to change type of DATABASE trigger.
In FB 2.5 the check was run at execution step of ALTER TRIGGER statement.
In FB 3 the syntax of ALTER TRIGGER was changed to not allow to specify new type for DATABASE triggers.

This works in all Firebird versions:

ALTER TRIGGER DATABASE_ON_CONNECT ACTIVE
AS
BEGIN
END
^

CREATE OR ALTER TRIGGER DATABASE_ON_CONNECT ACTIVE
ON CONNECT POSITION 0
AS
BEGIN
END
^

@firebird-automations
Copy link
Collaborator Author

Commented by: @luronumen

Hi Vlad Khorsun

Thank you very much for you prompt reply!
I just follows your suggestion an I could confirm that works.

Could you please address this issue for the documentation team to update the http://firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-ddl-trgr.html#fblangref25-ddl-trgr-dbtrigger reference and after the documentation update close this issue?

Best Regards,
Luciano

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant