Skip to content
Snippets Groups Projects
Commit 6b8e89a4 authored by Steven Murray's avatar Steven Murray
Browse files

Added IS_DELETED column to the ARCHIVE_FILE table

parent 31dc27d2
No related branches found
No related tags found
No related merge requests found
......@@ -850,6 +850,7 @@ void PostgresCatalogue::beginCreateTemporarySetDeferred(rdbms::Conn &conn) const
conn.executeNonQuery("CREATE TEMPORARY TABLE TEMP_ARCHIVE_FILE_BATCH (LIKE ARCHIVE_FILE) ON COMMIT DROP");
conn.executeNonQuery("ALTER TABLE TEMP_ARCHIVE_FILE_BATCH ADD COLUMN STORAGE_CLASS_NAME VARCHAR(100)");
conn.executeNonQuery("ALTER TABLE TEMP_ARCHIVE_FILE_BATCH ALTER COLUMN STORAGE_CLASS_ID DROP NOT NULL");
conn.executeNonQuery("ALTER TABLE TEMP_ARCHIVE_FILE_BATCH ALTER COLUMN IS_DELETED DROP NOT NULL");
conn.executeNonQuery("CREATE INDEX TEMP_A_F_B_ARCHIVE_FILE_ID_I ON TEMP_ARCHIVE_FILE_BATCH(ARCHIVE_FILE_ID)");
conn.executeNonQuery("CREATE INDEX TEMP_A_F_B_DIN_SCN_I ON TEMP_ARCHIVE_FILE_BATCH(DISK_INSTANCE_NAME, STORAGE_CLASS_NAME)");
conn.executeNonQuery("CREATE TEMPORARY TABLE TEMP_TAPE_FILE_BATCH(ARCHIVE_FILE_ID NUMERIC(20,0)) ON COMMIT DROP");
......
......@@ -193,9 +193,11 @@ CREATE TABLE ARCHIVE_FILE(
STORAGE_CLASS_ID UINT64TYPE CONSTRAINT ARCHIVE_FILE_SCI_NN NOT NULL,
CREATION_TIME UINT64TYPE CONSTRAINT ARCHIVE_FILE_CT2_NN NOT NULL,
RECONCILIATION_TIME UINT64TYPE CONSTRAINT ARCHIVE_FILE_RT_NN NOT NULL,
IS_DELETED CHAR(1) DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,
CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),
CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),
CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)
CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),
CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))
);
CREATE INDEX ARCHIVE_FILE_DIN_DFP_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME, DISK_FILE_PATH);
CREATE TABLE TAPE_FILE(
......
......@@ -119,3 +119,21 @@ CREATE TRIGGER `CHECK_LOGICAL_LIBRARY_BEFORE_UPDATE` BEFORE UPDATE ON `LOGICAL_L
SET MESSAGE_TEXT = 'LOGICAL_LIBRARY.IS_DISABLED should be 0 or 1';
END IF;
END;
CREATE TRIGGER `CHECK_ARCHIVE_FILE_BEFORE_INSERT` BEFORE INSERT ON `ARCHIVE_FILE`
FOR EACH ROW
BEGIN
IF new.IS_DELETED not in ('0','1') THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'ARCHIVE_FILE.IS_DELETED should be 0 or 1';
END IF;
END;
CREATE TRIGGER `CHECK_ARCHIVE_FILE_BEFORE_UPDATE` BEFORE UPDATE ON `ARCHIVE_FILE`
FOR EACH ROW
BEGIN
IF new.IS_DELETED not in ('0','1') THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'ARCHIVE_FILE.IS_DELETED should be 0 or 1';
END IF;
END;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment