Skip to content

Triggers accessing a table prevent concurrent DDL command from dropping that table [CORE6382] #6621

Open
@firebird-automations

Description

@firebird-automations

Submitted by: prenosil (prenosil)

Is related to CORE1032
Is related to CORE3766

In Firebird 2.5 SuperClassic I sometimes get "object TABLE ... is in use" error when modifying database structure,
even if I am sure the table was not used. The same DDL command execute ok on FB2.5 Superserver.
Unfortunately the situation is worse in Firebird 4 because I get that error even on Superserver.

This is how the test scripts look like (two instances of isql are required):
(I will send full version of scripts and database privately)

----------

CONNECT ...;
UPDATE OR INSERT INTO Table01 ...;
COMMIT;

----------

CONNECT ...;
SET AUTODDL OFF;
SET TRANSACTION NO WAIT;
DROP TABLE Table02;
COMMIT;

->

Statement failed, SQLSTATE = 40001
lock conflict on no wait transaction
-unsuccessful metadata update
-object TABLE "TABLE02" is in use

Note - without "SET AUTODDL OFF;SET TRANSACTION NO WAIT;" the second script freezes until the first one is closed.

Commits: ac107bd ffb9f22

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions