blob: 3ba3c829be1fac60184cb606b755ae4ded774315 [file] [log] [blame]
CREATE SCHEMA osee;
CREATE TABLE osee."OSEE_SCHEMA_VERSION"("version_rank" INTEGER NOT NULL,"installed_rank" INTEGER NOT NULL,"version" VARCHAR(50) NOT NULL,"description" VARCHAR(200) NOT NULL,"type" VARCHAR(20) NOT NULL,"script" VARCHAR(1000) NOT NULL,"checksum" INTEGER,"installed_by" VARCHAR(100) NOT NULL,"installed_on" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,"execution_time" INTEGER NOT NULL,"success" BIT(1) NOT NULL,CONSTRAINT "OSEE_SCHEMA_VERSION_pk" PRIMARY KEY("version"));
CREATE INDEX "OSEE_SCHEMA_VERSION_vr_idx" ON osee."OSEE_SCHEMA_VERSION"("version_rank");
CREATE INDEX "OSEE_SCHEMA_VERSION_ir_idx" ON osee."OSEE_SCHEMA_VERSION"("installed_rank");
CREATE INDEX "OSEE_SCHEMA_VERSION_s_idx" ON osee."OSEE_SCHEMA_VERSION"("success");
CREATE TABLE osee.OSEE_ARTIFACT(GUID VARCHAR(22) NOT NULL,ART_ID BIGINT NOT NULL,ART_TYPE_ID BIGINT NOT NULL,GAMMA_ID BIGINT NOT NULL,CONSTRAINT OSEE_ART__G_A_PK PRIMARY KEY(ART_ID,GAMMA_ID));
CREATE INDEX OSEE_ART__ART_ID_IDX ON osee.OSEE_ARTIFACT(ART_ID);
CREATE INDEX OSEE_ART__GUID_IDX ON osee.OSEE_ARTIFACT(GUID);
CREATE INDEX OSEE_ART__ART_TYPE_ID_IDX ON osee.OSEE_ARTIFACT(ART_TYPE_ID);
CREATE TABLE osee.OSEE_ATTRIBUTE(ATTR_TYPE_ID BIGINT NOT NULL,ART_ID INTEGER NOT NULL,VALUE VARCHAR(4000),ATTR_ID INTEGER NOT NULL,GAMMA_ID BIGINT NOT NULL,URI VARCHAR(200),CONSTRAINT OSEE_ATTRIBUTE_AT_G_PK PRIMARY KEY(ATTR_ID,GAMMA_ID));
CREATE INDEX OSEE_ATTRIBUTE_ATT_IDX ON osee.OSEE_ATTRIBUTE(ATTR_TYPE_ID);
CREATE INDEX OSEE_ATTRIBUTE_AR_G_IDX ON osee.OSEE_ATTRIBUTE(ART_ID,GAMMA_ID);
CREATE INDEX OSEE_ATTRIBUTE_G_AT_IDX ON osee.OSEE_ATTRIBUTE(GAMMA_ID,ATTR_ID);
CREATE INDEX OSEE_ATTRIBUTE_G_IDX ON osee.OSEE_ATTRIBUTE(GAMMA_ID);
CREATE INDEX OSEE_ATTRIBUTE_AT_IDX ON osee.OSEE_ATTRIBUTE(ATTR_ID);
CREATE TABLE osee.OSEE_RELATION_LINK(REL_LINK_ID INTEGER NOT NULL,REL_LINK_TYPE_ID BIGINT NOT NULL,A_ART_ID INTEGER NOT NULL,B_ART_ID INTEGER NOT NULL,RATIONALE VARCHAR(4000),GAMMA_ID BIGINT NOT NULL,CONSTRAINT OSEE_RELATION__G_PK PRIMARY KEY(GAMMA_ID));
CREATE INDEX OSEE_RELATION__R_G_IDX ON osee.OSEE_RELATION_LINK(REL_LINK_ID,GAMMA_ID);
CREATE INDEX OSEE_RELATION__A_IDX ON osee.OSEE_RELATION_LINK(A_ART_ID);
CREATE INDEX OSEE_RELATION__B_IDX ON osee.OSEE_RELATION_LINK(B_ART_ID);
CREATE TABLE osee.OSEE_BRANCH(BRANCH_NAME VARCHAR(200) NOT NULL,BRANCH_TYPE SMALLINT NOT NULL,BASELINE_TRANSACTION_ID INTEGER NOT NULL,ASSOCIATED_ART_ID INTEGER NOT NULL,ARCHIVED SMALLINT NOT NULL,BRANCH_ID BIGINT NOT NULL,BRANCH_STATE SMALLINT NOT NULL,PARENT_BRANCH_ID BIGINT NOT NULL,PARENT_TRANSACTION_ID INTEGER NOT NULL,INHERIT_ACCESS_CONTROL SMALLINT NOT NULL,CONSTRAINT OSEE_BRANCH_B_PK PRIMARY KEY(BRANCH_ID));
CREATE INDEX OSEE_BRANCH_A_IDX ON osee.OSEE_BRANCH(ARCHIVED);
CREATE TABLE osee.OSEE_TXS(TX_CURRENT SMALLINT NOT NULL,MOD_TYPE SMALLINT NOT NULL,BRANCH_ID BIGINT NOT NULL,TRANSACTION_ID INTEGER NOT NULL,GAMMA_ID BIGINT NOT NULL,APP_ID BIGINT NOT NULL);
CREATE INDEX OSEE_TXS_B_G_T_IDX ON osee.OSEE_TXS(BRANCH_ID,GAMMA_ID,TRANSACTION_ID);
CREATE TABLE osee.OSEE_TXS_ARCHIVED(TX_CURRENT SMALLINT NOT NULL,MOD_TYPE SMALLINT NOT NULL,BRANCH_ID BIGINT NOT NULL,TRANSACTION_ID INTEGER NOT NULL,GAMMA_ID BIGINT NOT NULL,APP_ID BIGINT NOT NULL);
CREATE INDEX OSEE_TXSA_B_G_T_IDX ON osee.OSEE_TXS_ARCHIVED(BRANCH_ID,GAMMA_ID,TRANSACTION_ID);
CREATE TABLE osee.OSEE_TX_DETAILS(AUTHOR INTEGER NOT NULL,TIME TIMESTAMP NOT NULL,OSEE_COMMENT VARCHAR(1000),TX_TYPE SMALLINT NOT NULL,COMMIT_ART_ID INTEGER,BRANCH_ID BIGINT NOT NULL,TRANSACTION_ID INTEGER NOT NULL,BUILD_ID BIGINT DEFAULT 0,CONSTRAINT OSEE_TX_DETAILS_TXID_PK PRIMARY KEY(TRANSACTION_ID),CONSTRAINT BRANCH_ID_FK1 FOREIGN KEY(BRANCH_ID) REFERENCES osee.OSEE_BRANCH(BRANCH_ID));
CREATE INDEX OSEE_TX_DETAILS_B_TX_IDX ON osee.OSEE_TX_DETAILS(BRANCH_ID,TRANSACTION_ID);
CREATE TABLE osee.OSEE_PERMISSION(PERMISSION_NAME VARCHAR(50) NOT NULL,PERMISSION_ID INTEGER NOT NULL,CONSTRAINT PERMISSION_PK PRIMARY KEY(PERMISSION_ID));
CREATE TABLE osee.OSEE_ARTIFACT_ACL(PRIVILEGE_ENTITY_ID INTEGER NOT NULL,ART_ID INTEGER NOT NULL,BRANCH_ID BIGINT NOT NULL,PERMISSION_ID INTEGER NOT NULL,CONSTRAINT OSEE_ARTIFACT_ACL_A_P_B_PK PRIMARY KEY(ART_ID,PRIVILEGE_ENTITY_ID,BRANCH_ID),CONSTRAINT ARTIFACT_ACL_PERM_FK FOREIGN KEY(PERMISSION_ID) REFERENCES osee.OSEE_PERMISSION(PERMISSION_ID));
CREATE TABLE osee.OSEE_BRANCH_ACL(PRIVILEGE_ENTITY_ID INTEGER NOT NULL,BRANCH_ID BIGINT NOT NULL,PERMISSION_ID INTEGER NOT NULL,CONSTRAINT OSEE_BRANCH_ACL_B_P_PK PRIMARY KEY(BRANCH_ID,PRIVILEGE_ENTITY_ID),CONSTRAINT BRANCH_ACL_FK FOREIGN KEY(BRANCH_ID) REFERENCES osee.OSEE_BRANCH(BRANCH_ID) ON DELETE CASCADE,CONSTRAINT BRANCH_ACL_PERM_FK FOREIGN KEY(PERMISSION_ID) REFERENCES osee.OSEE_PERMISSION(PERMISSION_ID));
CREATE TABLE osee.OSEE_SEARCH_TAGS(CODED_TAG_ID BIGINT NOT NULL,GAMMA_ID BIGINT NOT NULL,CONSTRAINT OSEE_SEARCH_TAGS__PK PRIMARY KEY(CODED_TAG_ID,GAMMA_ID));
CREATE INDEX OSEE_SEARCH_TAGS_C_IDX ON osee.OSEE_SEARCH_TAGS(CODED_TAG_ID);
CREATE INDEX OSEE_SEARCH_TAGS_G_IDX ON osee.OSEE_SEARCH_TAGS(GAMMA_ID);
CREATE TABLE osee.OSEE_TAG_GAMMA_QUEUE(QUERY_ID INTEGER NOT NULL,GAMMA_ID BIGINT NOT NULL,CONSTRAINT OSEE_JOIN_GAMMA_Q_G_PK PRIMARY KEY(QUERY_ID,GAMMA_ID));
CREATE TABLE osee.OSEE_SEQUENCE(SEQUENCE_NAME VARCHAR(128) NOT NULL,LAST_SEQUENCE BIGINT NOT NULL,CONSTRAINT SEQUENCE_ID_UN UNIQUE(SEQUENCE_NAME));
CREATE TABLE osee.OSEE_INFO(OSEE_VALUE VARCHAR(1000) NOT NULL,OSEE_KEY VARCHAR(50) NOT NULL,CONSTRAINT OSEE_INFO_KEY_UN_IDX UNIQUE(OSEE_KEY));
CREATE TABLE osee.OSEE_MERGE(SOURCE_BRANCH_ID BIGINT NOT NULL,MERGE_BRANCH_ID BIGINT NOT NULL,COMMIT_TRANSACTION_ID INTEGER NOT NULL,DEST_BRANCH_ID BIGINT NOT NULL,CONSTRAINT OSEE_MERGE__PK PRIMARY KEY(MERGE_BRANCH_ID),CONSTRAINT OSEE_MERGE__MBI_FK FOREIGN KEY(MERGE_BRANCH_ID) REFERENCES osee.OSEE_BRANCH(BRANCH_ID),CONSTRAINT OSEE_MERGE__DBI_FK FOREIGN KEY(DEST_BRANCH_ID) REFERENCES osee.OSEE_BRANCH(BRANCH_ID));
CREATE TABLE osee.OSEE_CONFLICT(SOURCE_GAMMA_ID BIGINT NOT NULL,MERGE_BRANCH_ID BIGINT NOT NULL,CONFLICT_ID INTEGER NOT NULL,DEST_GAMMA_ID BIGINT NOT NULL,CONFLICT_TYPE SMALLINT NOT NULL,STATUS SMALLINT NOT NULL,CONSTRAINT OSEE_CONFLICT__PK PRIMARY KEY(MERGE_BRANCH_ID,SOURCE_GAMMA_ID),CONSTRAINT OSEE_CONFLICT__MBI_FK FOREIGN KEY(MERGE_BRANCH_ID) REFERENCES osee.OSEE_MERGE(MERGE_BRANCH_ID));
CREATE TABLE osee.OSEE_JOIN_EXPORT_IMPORT(ID2 BIGINT NOT NULL,ID1 BIGINT NOT NULL,QUERY_ID INTEGER NOT NULL);
CREATE TABLE osee.OSEE_IMPORT_SOURCE(IMPORT_ID INTEGER NOT NULL,SOURCE_EXPORT_DATE TIMESTAMP NOT NULL,DB_SOURCE_GUID VARCHAR(28) NOT NULL,DATE_IMPORTED TIMESTAMP NOT NULL,CONSTRAINT OSEE_IMPORT_MAP_PK PRIMARY KEY(IMPORT_ID));
CREATE TABLE osee.OSEE_IMPORT_SAVE_POINT(IMPORT_ID INTEGER NOT NULL,STATE_ERROR VARCHAR(4000),STATUS INTEGER NOT NULL,SAVE_POINT_NAME VARCHAR(128) NOT NULL,CONSTRAINT OSEE_IMP_SAVE_POINT_II_PK PRIMARY KEY(IMPORT_ID,SAVE_POINT_NAME),CONSTRAINT OSEE_IMP_SAVE_POINT_II_FK FOREIGN KEY(IMPORT_ID) REFERENCES osee.OSEE_IMPORT_SOURCE(IMPORT_ID));
CREATE TABLE osee.OSEE_IMPORT_MAP(IMPORT_ID INTEGER NOT NULL,SEQUENCE_NAME VARCHAR(128) NOT NULL,SEQUENCE_ID INTEGER NOT NULL,CONSTRAINT OSEE_IMPORT_MAP_II_PK PRIMARY KEY(SEQUENCE_ID),CONSTRAINT OSEE_IMPORT_MAP_II_FK FOREIGN KEY(IMPORT_ID) REFERENCES osee.OSEE_IMPORT_SOURCE(IMPORT_ID));
CREATE TABLE osee.OSEE_IMPORT_INDEX_MAP(MAPPED_ID BIGINT NOT NULL,SEQUENCE_ID INTEGER NOT NULL,ORIGINAL_ID BIGINT NOT NULL,CONSTRAINT OSEE_IMPORT_INDEX_MAP_IOM_PK PRIMARY KEY(SEQUENCE_ID,ORIGINAL_ID,MAPPED_ID),CONSTRAINT OSEE_IMPORT_INDEX_MAP_II_FK FOREIGN KEY(SEQUENCE_ID) REFERENCES osee.OSEE_IMPORT_MAP(SEQUENCE_ID));
CREATE INDEX OSEE_IMPORT_INDEX_MAP_IO_IDX ON osee.OSEE_IMPORT_INDEX_MAP(SEQUENCE_ID,ORIGINAL_ID);
CREATE INDEX OSEE_IMPORT_INDEX_MAP_IM_IDX ON osee.OSEE_IMPORT_INDEX_MAP(SEQUENCE_ID,MAPPED_ID);
CREATE TABLE osee.OSEE_JOIN_ARTIFACT(ART_ID INTEGER NOT NULL,BRANCH_ID BIGINT NOT NULL,TRANSACTION_ID INTEGER,QUERY_ID INTEGER NOT NULL);
CREATE INDEX OSEE_JOIN_ART__Q_A_IDX ON osee.OSEE_JOIN_ARTIFACT(QUERY_ID,ART_ID);
CREATE TABLE osee.OSEE_JOIN_ID(ID BIGINT,QUERY_ID INTEGER NOT NULL);
CREATE INDEX OSEE_JOIN_ID__Q_I_IDX ON osee.OSEE_JOIN_ID(QUERY_ID,ID);
CREATE TABLE osee.OSEE_JOIN_CLEANUP(TABLE_NAME VARCHAR(28) NOT NULL,EXPIRES_IN BIGINT NOT NULL,ISSUED_AT BIGINT NOT NULL,QUERY_ID INTEGER NOT NULL,CONSTRAINT OSEE_JOIN_CLEANUP__PK PRIMARY KEY(QUERY_ID));
CREATE TABLE osee.OSEE_JOIN_CHAR_ID(ID VARCHAR(4000) NOT NULL,QUERY_ID INTEGER NOT NULL);
CREATE INDEX OSEE_JOIN_CHAR__Q_IDX ON osee.OSEE_JOIN_CHAR_ID(QUERY_ID);
CREATE TABLE osee.OSEE_JOIN_TRANSACTION(BRANCH_ID BIGINT,TRANSACTION_ID INTEGER NOT NULL,QUERY_ID INTEGER NOT NULL,GAMMA_ID BIGINT NOT NULL);
CREATE INDEX OSEE_JOIN_TRANSACTION_Q_IDX ON osee.OSEE_JOIN_TRANSACTION(QUERY_ID);
CREATE TABLE osee.OSEE_SERVER_LOOKUP(ACCEPTS_REQUESTS SMALLINT NOT NULL,VERSION_ID VARCHAR(100) NOT NULL,SERVER_ID VARCHAR(40) NOT NULL,START_TIME TIMESTAMP NOT NULL,SERVER_URI VARCHAR(255) NOT NULL,CONSTRAINT OSEE_SERVER_LOOKUP_PK PRIMARY KEY(SERVER_URI,VERSION_ID));
CREATE TABLE osee.OSEE_SESSION(CLIENT_ADDRESS VARCHAR(255) NOT NULL,USER_ID VARCHAR(100) NOT NULL,CREATED_ON TIMESTAMP NOT NULL,CLIENT_PORT INTEGER NOT NULL,CLIENT_VERSION VARCHAR(100) NOT NULL,SESSION_ID VARCHAR(28) NOT NULL,CLIENT_MACHINE_NAME VARCHAR(100) NOT NULL,CONSTRAINT OSEE_SESSION_PK PRIMARY KEY(SESSION_ID));
CREATE TABLE osee.OSEE_OAUTH_CLIENT_CREDENTIAL(CLIENT_ID BIGINT NOT NULL,APPLICATION_ID BIGINT NOT NULL,SUBJECT_ID BIGINT NOT NULL,CLIENT_CERT VARCHAR(255),CLIENT_SECRET VARCHAR(255),CLIENT_KEY VARCHAR(255) NOT NULL,CONSTRAINT OSEE_OAUTH_CLIENT_CRED__U_PK PRIMARY KEY(CLIENT_ID));
CREATE INDEX OSEE_OAUTH_CLIENT_CRED__CK_IDX ON osee.OSEE_OAUTH_CLIENT_CREDENTIAL(CLIENT_KEY);
CREATE INDEX OSEE_OAUTH_CLIENT_CRED__AI_IDX ON osee.OSEE_OAUTH_CLIENT_CREDENTIAL(APPLICATION_ID);
CREATE TABLE osee.OSEE_OAUTH_AUTHORIZATION(AUDIENCE VARCHAR(512),APPROVED_SCOPES VARCHAR(2000),REDIRECT_URI VARCHAR(512),EXPIRES_IN BIGINT NOT NULL,ISSUED_AT BIGINT NOT NULL,VERIFIER VARCHAR(512),CLIENT_ID BIGINT NOT NULL,ID BIGINT NOT NULL,SUBJECT_ID BIGINT NOT NULL,CODE VARCHAR(512) NOT NULL,CONSTRAINT OSEE_OAUTH_AUTH__ID_PK PRIMARY KEY(ID),CONSTRAINT OSEE_OAUTH_AUTH__CI_FK FOREIGN KEY(CLIENT_ID) REFERENCES osee.OSEE_OAUTH_CLIENT_CREDENTIAL(CLIENT_ID) ON DELETE CASCADE);
CREATE INDEX OSEE_OAUTH_AUTH__C_IDX ON osee.OSEE_OAUTH_AUTHORIZATION(CODE);
CREATE TABLE osee.OSEE_OAUTH_TOKEN(AUDIENCE VARCHAR(512),EXPIRES_IN BIGINT NOT NULL,ISSUED_AT BIGINT NOT NULL,TOKEN_KEY VARCHAR(512) NOT NULL,PARENT_TOKEN_ID BIGINT NOT NULL,CLIENT_ID BIGINT NOT NULL,GRANT_TYPE VARCHAR(255) NOT NULL,ID BIGINT NOT NULL,SUBJECT_ID BIGINT NOT NULL,TYPE_ID SMALLINT NOT NULL,TOKEN_TYPE VARCHAR(255) NOT NULL,CONSTRAINT OSEE_OAUTH_TOKEN__ID_PK PRIMARY KEY(ID),CONSTRAINT OSEE_OAUTH_TOKEN__CI_FK FOREIGN KEY(CLIENT_ID) REFERENCES osee.OSEE_OAUTH_CLIENT_CREDENTIAL(CLIENT_ID) ON DELETE CASCADE);
CREATE INDEX OSEE_OAUTH_TOKEN__TK_IDX ON osee.OSEE_OAUTH_TOKEN(TOKEN_KEY);
CREATE TABLE osee.OSEE_ACCOUNT_SESSION(CREATED_ON TIMESTAMP NOT NULL,ACCOUNT_ID BIGINT NOT NULL,ACCESSED_FROM VARCHAR(255) NOT NULL,ACCESS_DETAILS VARCHAR(255) NOT NULL,LAST_ACCESSED_ON TIMESTAMP NOT NULL,SESSION_TOKEN VARCHAR(255) NOT NULL,CONSTRAINT OSEE_ACCOUNT_SESSION_PK PRIMARY KEY(ACCOUNT_ID,SESSION_TOKEN));
CREATE INDEX OSEE_ACCOUNT_SESSION_T_IDX ON osee.OSEE_ACCOUNT_SESSION(SESSION_TOKEN);
CREATE TABLE osee.OSEE_ACTIVITY_TYPE(TYPE_ID BIGINT NOT NULL,MODULE VARCHAR(4000),MSG_FORMAT VARCHAR(4000),LOG_LEVEL BIGINT NOT NULL,CONSTRAINT OSEE_ACTIVITY_TYPE__ID_PK PRIMARY KEY(TYPE_ID));
CREATE TABLE osee.OSEE_ACTIVITY(ENTRY_ID BIGINT NOT NULL,ACCOUNT_ID BIGINT NOT NULL,CLIENT_ID BIGINT NOT NULL,TYPE_ID BIGINT NOT NULL,SERVER_ID BIGINT NOT NULL,MSG_ARGS VARCHAR(4000),START_TIME BIGINT NOT NULL,STATUS INTEGER NOT NULL,PARENT_ID BIGINT NOT NULL,DURATION BIGINT NOT NULL,CONSTRAINT OSEE_ACTIVITY__ENTRY_ID_PK PRIMARY KEY(ENTRY_ID));
CREATE INDEX OSEE_ACTIVITY__P_E_IDX ON osee.OSEE_ACTIVITY(PARENT_ID,ENTRY_ID);
CREATE INDEX OSEE_ACTIVITY__ACCOUNT_IDX ON osee.OSEE_ACTIVITY(ACCOUNT_ID);
CREATE INDEX OSEE_ACTIVITY__TYPE_IDX ON osee.OSEE_ACTIVITY(TYPE_ID);
CREATE TABLE osee.OSEE_TUPLE2(TUPLE_TYPE BIGINT NOT NULL,E1 BIGINT NOT NULL,E2 BIGINT NOT NULL,GAMMA_ID BIGINT NOT NULL,CONSTRAINT TUPLE2__T_E1_E2_PK PRIMARY KEY(TUPLE_TYPE,E1,E2));
CREATE INDEX OSEE_TUPLE2__G_IDX ON osee.OSEE_TUPLE2(GAMMA_ID);
CREATE TABLE osee.OSEE_TUPLE3(TUPLE_TYPE BIGINT NOT NULL,E1 BIGINT NOT NULL,E2 BIGINT NOT NULL,E3 BIGINT NOT NULL,GAMMA_ID BIGINT NOT NULL,CONSTRAINT TUPLE3__T_E1_E2_E3_PK PRIMARY KEY(TUPLE_TYPE,E1,E2,E3));
CREATE INDEX OSEE_TUPLE3__G_IDX ON osee.OSEE_TUPLE3(GAMMA_ID);
CREATE TABLE osee.OSEE_TUPLE4(TUPLE_TYPE BIGINT NOT NULL,E1 BIGINT NOT NULL,E2 BIGINT NOT NULL,E3 BIGINT NOT NULL,E4 BIGINT NOT NULL,GAMMA_ID BIGINT NOT NULL,CONSTRAINT OSEE_TUPLE4__T_E1_E2_E3_E4_PK PRIMARY KEY(TUPLE_TYPE,E1,E2,E3,E4));
CREATE INDEX OSEE_TUPLE4__G_IDX ON osee.OSEE_TUPLE4(GAMMA_ID);
CREATE TABLE osee.OSEE_KEY_VALUE(KEY BIGINT NOT NULL PRIMARY KEY,VALUE VARCHAR(4000) NOT NULL);
CREATE INDEX OSEE_KEY_VALUE__V_IDX ON osee.OSEE_KEY_VALUE(VALUE);
CREATE TABLE osee.OSEE_JOIN_ID4(QUERY_ID INTEGER NOT NULL,ID1 BIGINT NOT NULL,ID2 BIGINT NOT NULL,ID3 BIGINT NOT NULL,ID4 BIGINT NOT NULL,CONSTRAINT OSEE_JOIN_ID4__T_ID1_ID2_ID3_ID4_PK PRIMARY KEY(QUERY_ID,ID1,ID2,ID3,ID4));
CREATE INDEX OSEE_JOIN_ID4__G_IDX ON osee.OSEE_JOIN_ID4(QUERY_ID);