Dropping FK on GTT crashes server --------------------------------- Key: CORE-4212 URL: http://tracker.firebirdsql.org/browse/CORE-4212 Project: Firebird Core Issue Type: Bug Components: Engine Affects Versions: 2.5.3 Reporter: Andrei Kireev Priority: Blocker
Here is a script which creates some permanent and global temporary tables: ============================================================ SET NAMES WIN1251; SET SQL DIALECT 3; CREATE DATABASE 'put_your_database_name' USER 'SYSDBA' PASSWORD 'masterkey' PAGE_SIZE 8192 DEFAULT CHARACTER SET WIN1251; CREATE DOMAIN dintkey AS INTEGER NOT NULL CHECK (VALUE > 0); CREATE DOMAIN dtext255 AS VARCHAR(255) CHARACTER SET WIN1251 COLLATE PXW_CYRL; CREATE DOMAIN dtext20 AS VARCHAR(20) CHARACTER SET WIN1251 COLLATE PXW_CYRL; CREATE DOMAIN dboolean AS SMALLINT DEFAULT 0 CHECK ((VALUE IS NULL) OR (VALUE IN (0, 1))); CREATE DOMAIN dboolean_notnull AS SMALLINT DEFAULT 0 NOT NULL CHECK (VALUE IN (0, 1)); CREATE DOMAIN dblobtext80_1251 AS BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET win1251; CREATE DOMAIN dname AS VARCHAR(60) CHARACTER SET WIN1251 NOT NULL COLLATE PXW_CYRL; CREATE DOMAIN dclassname AS VARCHAR(40) CHARACTER SET WIN1251 COLLATE PXW_CYRL; CREATE DOMAIN dtext60 AS VARCHAR(60) CHARACTER SET WIN1251 COLLATE PXW_CYRL; CREATE DOMAIN dinteger_notnull AS INTEGER NOT NULL; CREATE DOMAIN dinteger AS INTEGER; CREATE DOMAIN dforeignkey AS INTEGER; CREATE TABLE at_namespace ( id dintkey, name dtext255 NOT NULL UNIQUE, caption dtext255, filename dtext255, filetimestamp TIMESTAMP, version dtext20 DEFAULT '1.0.0.0' NOT NULL, dbversion dtext20, optional dboolean_notnull DEFAULT 0, internal dboolean_notnull DEFAULT 1, comment dblobtext80_1251, settingruid VARCHAR(21), CONSTRAINT at_pk_namespace PRIMARY KEY (id) ); CREATE GLOBAL TEMPORARY TABLE at_namespace_file ( filename dtext255, filetimestamp TIMESTAMP, filesize dinteger, name dtext255 NOT NULL UNIQUE, caption dtext255, version dtext20, dbversion dtext20, optional dboolean_notnull DEFAULT 0, internal dboolean_notnull DEFAULT 1, comment dblobtext80_1251, xid dinteger, dbid dinteger, CONSTRAINT at_pk_namespace_file PRIMARY KEY (filename) ) ON COMMIT DELETE ROWS; CREATE GLOBAL TEMPORARY TABLE at_namespace_sync ( namespacekey dforeignkey, filename dtext255, operation CHAR(2) DEFAULT ' ' NOT NULL, CONSTRAINT at_fk_namespace_sync_nsk FOREIGN KEY (namespacekey) REFERENCES at_namespace (id), CONSTRAINT at_fk_namespace_sync_fn FOREIGN KEY (filename) REFERENCES at_namespace_file (filename) ON UPDATE CASCADE ON DELETE CASCADE, CONSTRAINT at_chk_namespace_sync_op CHECK (operation IN (' ', '< ', '> ', '>>', '<<', '==', '=>', '<=', '! ', '? ')) ) ON COMMIT DELETE ROWS; ============================================================ Next statement will crash server: alter table at_namespace_sync drop constraint at_fk_namespace_sync_nsk Confirmed for embedded and client-server versions. -- 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 ------------------------------------------------------------------------------ Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! Discover the easy way to master current and previous Microsoft technologies and advance your career. Get an incredible 1,500+ hours of step-by-step tutorial videos with LearnDevNow. Subscribe today and save! http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel