TSK-1790: (includes TSK-1481 and TSK-1605) indexes restructured.

This commit is contained in:
holgerhagen 2022-01-26 13:21:05 +01:00 committed by holgerhagen
parent c7858b62ea
commit 7a97c68725
7 changed files with 279 additions and 118 deletions

View File

@ -7,7 +7,7 @@ CREATE TABLE TASKANA_SCHEMA_VERSION(
PRIMARY KEY (ID)
);
-- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('4.11.0', CURRENT_TIMESTAMP);
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('5.0.0', CURRENT_TIMESTAMP);
CREATE TABLE CLASSIFICATION(
ID VARCHAR(40) NOT NULL,
@ -338,97 +338,77 @@ CREATE SEQUENCE SCHEDULED_JOB_SEQ
-- This list is provided on a as-is basis. It is used for tuning of the internal performance tests.
-- The script needs to be reviewed and adapted for each indiviual TASKANA setup.
-- ===========================
-- index[1], 0,013MB
CREATE UNIQUE INDEX "DB2ADMIN"."IDX1805212017540"
ON "TASKANA "."CLASSIFICATION" ("ID" ASC) INCLUDE
("CUSTOM_8", "CUSTOM_7", "CUSTOM_6", "CUSTOM_5", "CUSTOM_4",
"CUSTOM_3", "CUSTOM_2", "CUSTOM_1", "APPLICATION_ENTRY_POINT",
"SERVICE_LEVEL", "PRIORITY", "DESCRIPTION", "NAME",
"CREATED", "VALID_IN_DOMAIN", "DOMAIN", "TYPE", "CATEGORY",
"PARENT_KEY", "PARENT_ID", "KEY") ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
-- index[2], 3,646MB
CREATE INDEX "DB2ADMIN"."IDX1805212018000" ON "TASKANA "."TASK"
("WORKBASKET_KEY" ASC, "DOMAIN" DESC) ALLOW REVERSE
SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
-- index[3], 0,056MB
CREATE INDEX "DB2ADMIN"."IDX1805212018030" ON "TASKANA "."CLASSIFICATION"
("CATEGORY" ASC, "DOMAIN" ASC, "TYPE" ASC, "CUSTOM_1"
ASC, "CUSTOM_8" ASC, "CUSTOM_7" ASC, "CUSTOM_6" ASC,
"CUSTOM_5" ASC, "CUSTOM_4" ASC, "CUSTOM_3" ASC, "CUSTOM_2"
ASC, "APPLICATION_ENTRY_POINT" ASC, "SERVICE_LEVEL"
ASC, "PRIORITY" ASC, "DESCRIPTION" ASC, "NAME" ASC,
"CREATED" ASC, "VALID_IN_DOMAIN" ASC, "PARENT_KEY" ASC, "PARENT_ID"
ASC, "KEY" ASC, "ID" ASC) ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
-- index[4], 0,126MB
CREATE INDEX "DB2ADMIN"."IDX1805212020000" ON "TASKANA "."WORKBASKET_ACCESS_LIST"
("ACCESS_ID" ASC, "WORKBASKET_ID" ASC, "PERM_READ"
ASC) ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
-- index[5], 3,356MB
CREATE INDEX "DB2ADMIN"."IDX1805212021410" ON "TASKANA "."TASK"
("POR_VALUE" ASC, "WORKBASKET_ID" ASC) ALLOW REVERSE
SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
-- index[6], 15,224MB
CREATE INDEX "DB2ADMIN"."IDX1805212021430" ON "TASKANA "."ATTACHMENT"
("TASK_ID" ASC) ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
-- index[7], 2,353MB
CREATE INDEX "DB2ADMIN"."IDX1805212024540" ON "TASKANA "."ATTACHMENT"
("TASK_ID" ASC, "RECEIVED" ASC, "CLASSIFICATION_ID"
ASC, "CLASSIFICATION_KEY" ASC, "MODIFIED" ASC, "CREATED"
ASC, "ID" ASC) ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
-- index[8], 0,056MB
CREATE UNIQUE INDEX "DB2ADMIN"."IDX1805212025210"
ON "TASKANA "."CLASSIFICATION" ("KEY" ASC, "DOMAIN"
ASC) INCLUDE ("CUSTOM_8", "CUSTOM_7", "CUSTOM_6",
"CUSTOM_5", "CUSTOM_4", "CUSTOM_3", "CUSTOM_2", "CUSTOM_1",
"APPLICATION_ENTRY_POINT", "SERVICE_LEVEL", "PRIORITY",
"DESCRIPTION", "NAME", "CREATED", "VALID_IN_DOMAIN",
"TYPE", "CATEGORY", "PARENT_KEY", "PARENT_ID", "ID") ALLOW REVERSE
SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
-- index[9], 1,056MB
CREATE UNIQUE INDEX "DB2ADMIN"."IDX1805212028580"
ON "TASKANA "."WORKBASKET" ("ID" ASC) INCLUDE ("ORG_LEVEL_4",
"ORG_LEVEL_3", "ORG_LEVEL_2", "ORG_LEVEL_1", "OWNER",
"DESCRIPTION", "TYPE", "DOMAIN", "NAME", "KEY") ALLOW
REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
-- index[10], 1,274MB
CREATE UNIQUE INDEX "DB2ADMIN"."IDX1805212034070"
ON "TASKANA "."WORKBASKET" ("KEY" ASC, "DOMAIN" ASC)
INCLUDE ("ORG_LEVEL_4", "ORG_LEVEL_3", "ORG_LEVEL_2",
"ORG_LEVEL_1", "CUSTOM_4", "CUSTOM_3", "CUSTOM_2",
"CUSTOM_1", "OWNER", "DESCRIPTION", "TYPE", "NAME",
"MODIFIED", "CREATED", "ID") ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
-- index[11], 0,056MB
CREATE UNIQUE INDEX "DB2ADMIN"."IDX1805212039070"
ON "TASKANA "."CLASSIFICATION" ("ID" ASC) INCLUDE
("CUSTOM_8", "CUSTOM_7", "CUSTOM_6", "CUSTOM_5", "CUSTOM_4",
"CUSTOM_3", "CUSTOM_2", "CUSTOM_1", "APPLICATION_ENTRY_POINT",
"SERVICE_LEVEL", "PRIORITY", "DESCRIPTION", "NAME",
"MODIFIED", "CREATED", "VALID_IN_DOMAIN", "DOMAIN",
"TYPE", "CATEGORY", "PARENT_KEY", "PARENT_ID", "KEY") ALLOW REVERSE
SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
-- index[12], 0,325MB
CREATE UNIQUE INDEX "DB2ADMIN"."IDX1805212040470"
ON "TASKANA "."WORKBASKET" ("KEY" ASC, "DOMAIN" ASC)
INCLUDE ("ID") ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
-- index[13], 0,126MB
CREATE INDEX "DB2ADMIN"."IDX1805212042430" ON "TASKANA "."WORKBASKET_ACCESS_LIST"
("WORKBASKET_ID" ASC, "PERM_CUSTOM_12" ASC, "PERM_CUSTOM_11"
ASC, "PERM_CUSTOM_10" ASC, "PERM_CUSTOM_9" ASC, "PERM_CUSTOM_8"
ASC, "PERM_CUSTOM_7" ASC, "PERM_CUSTOM_6" ASC, "PERM_CUSTOM_5"
ASC, "PERM_CUSTOM_4" ASC, "PERM_CUSTOM_3" ASC, "PERM_CUSTOM_2"
ASC, "PERM_CUSTOM_1" ASC, "PERM_DISTRIBUTE" ASC, "PERM_TRANSFER"
ASC, "PERM_APPEND" ASC, "PERM_OPEN" ASC, "PERM_READ"
ASC, "ACCESS_ID" ASC) ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE UNIQUE INDEX IDX_CLASSIFICATION_ID ON CLASSIFICATION
("ID" ASC)
INCLUDE ("CUSTOM_8", "CUSTOM_7", "CUSTOM_6", "CUSTOM_5", "CUSTOM_4", "CUSTOM_3", "CUSTOM_2",
"CUSTOM_1", "APPLICATION_ENTRY_POINT", "SERVICE_LEVEL", "PRIORITY", "DESCRIPTION", "NAME",
"CREATED", "VALID_IN_DOMAIN", "DOMAIN", "TYPE", "CATEGORY", "PARENT_KEY", "PARENT_ID", "KEY")
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE INDEX IDX_CLASSIFICATION_CATEGORY ON CLASSIFICATION
("CATEGORY" ASC, "DOMAIN" ASC, "TYPE" ASC, "CUSTOM_1" ASC, "CUSTOM_8" ASC, "CUSTOM_7" ASC,
"CUSTOM_6" ASC, "CUSTOM_5" ASC, "CUSTOM_4" ASC, "CUSTOM_3" ASC, "CUSTOM_2" ASC,
"APPLICATION_ENTRY_POINT" ASC, "SERVICE_LEVEL" ASC, "PRIORITY" ASC, "DESCRIPTION" ASC,
"NAME" ASC, "CREATED" ASC, "VALID_IN_DOMAIN" ASC, "PARENT_KEY" ASC, "PARENT_ID" ASC, "KEY" ASC,
"ID" ASC)
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE UNIQUE INDEX IDX_CLASSIFICATION_KEY_DOMAIN ON CLASSIFICATION
("KEY" ASC, "DOMAIN" ASC)
INCLUDE ("CUSTOM_8", "CUSTOM_7", "CUSTOM_6", "CUSTOM_5", "CUSTOM_4", "CUSTOM_3", "CUSTOM_2",
"CUSTOM_1", "APPLICATION_ENTRY_POINT", "SERVICE_LEVEL", "PRIORITY", "DESCRIPTION", "NAME",
"CREATED", "VALID_IN_DOMAIN", "TYPE", "CATEGORY", "PARENT_KEY", "PARENT_ID", "ID")
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE INDEX IDX_TASK_WORKBASKET_KEY_DOMAIN ON TASK
("WORKBASKET_KEY" ASC, "DOMAIN" DESC)
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE INDEX IDX_TASK_POR_VALUE ON TASK
(UPPER("POR_VALUE") ASC, "WORKBASKET_ID" ASC)
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE INDEX IDX_ATTACHMENT_TASK_ID ON ATTACHMENT
("TASK_ID" ASC, "RECEIVED" ASC, "CLASSIFICATION_ID" ASC, "CLASSIFICATION_KEY" ASC,
"MODIFIED" ASC, "CREATED" ASC, "ID" ASC)
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE UNIQUE INDEX IDX_WORKBASKET_ID ON WORKBASKET
("ID" ASC)
INCLUDE ("ORG_LEVEL_4", "ORG_LEVEL_3", "ORG_LEVEL_2", "ORG_LEVEL_1", "OWNER", "DESCRIPTION",
"TYPE", "DOMAIN", "NAME", "KEY")
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE UNIQUE INDEX IDX_WORKBASKET_KEY_DOMAIN ON WORKBASKET
("KEY" ASC, "DOMAIN" ASC)
INCLUDE ("ORG_LEVEL_4", "ORG_LEVEL_3", "ORG_LEVEL_2", "ORG_LEVEL_1", "CUSTOM_4", "CUSTOM_3",
"CUSTOM_2", "CUSTOM_1", "OWNER", "DESCRIPTION", "TYPE", "NAME", "MODIFIED", "CREATED", "ID")
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE UNIQUE INDEX IDX_WORKBASKET_KEY_DOMAIN_ID ON WORKBASKET
("KEY" ASC, "DOMAIN" ASC)
INCLUDE ("ID")
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE INDEX IDX_WORKBASKET_ACCESS_LIST_ACCESS_ID ON WORKBASKET_ACCESS_LIST
("ACCESS_ID" ASC, "WORKBASKET_ID" ASC, "PERM_READ" ASC)
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE INDEX IDX_WORKBASKET_ACCESS_LIST_WORKBASKET_ID ON WORKBASKET_ACCESS_LIST
("WORKBASKET_ID" ASC, "PERM_CUSTOM_12" ASC, "PERM_CUSTOM_11" ASC, "PERM_CUSTOM_10" ASC,
"PERM_CUSTOM_9" ASC, "PERM_CUSTOM_8" ASC, "PERM_CUSTOM_7" ASC, "PERM_CUSTOM_6" ASC,
"PERM_CUSTOM_5" ASC, "PERM_CUSTOM_4" ASC, "PERM_CUSTOM_3" ASC, "PERM_CUSTOM_2" ASC,
"PERM_CUSTOM_1" ASC, "PERM_DISTRIBUTE" ASC, "PERM_TRANSFER" ASC, "PERM_APPEND" ASC,
"PERM_OPEN" ASC, "PERM_READ" ASC, "ACCESS_ID" ASC)
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;

View File

@ -0,0 +1,95 @@
-- this script updates the TASKANA database schema from version 4.11.0 to version 5.0.0.
-- REORGS are only necessary for _some_ altering operations. See https://www.ibm.com/docs/en/db2/11.1?topic=statements-alter-table
SET SCHEMA %schemaName%;
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('5.0.0', CURRENT_TIMESTAMP);
DROP INDEX "DB2ADMIN"."IDX1805212017540";
DROP INDEX "DB2ADMIN"."IDX1805212018000";
DROP INDEX "DB2ADMIN"."IDX1805212018030";
DROP INDEX "DB2ADMIN"."IDX1805212020000";
DROP INDEX "DB2ADMIN"."IDX1805212021410";
DROP INDEX "DB2ADMIN"."IDX1805212021430";
DROP INDEX "DB2ADMIN"."IDX1805212024540";
DROP INDEX "DB2ADMIN"."IDX1805212025210";
DROP INDEX "DB2ADMIN"."IDX1805212028580";
DROP INDEX "DB2ADMIN"."IDX1805212034070";
DROP INDEX "DB2ADMIN"."IDX1805212039070";
DROP INDEX "DB2ADMIN"."IDX1805212040470";
DROP INDEX "DB2ADMIN"."IDX1805212042430";
CREATE UNIQUE INDEX IDX_CLASSIFICATION_ID ON CLASSIFICATION
("ID" ASC)
INCLUDE ("CUSTOM_8", "CUSTOM_7", "CUSTOM_6", "CUSTOM_5", "CUSTOM_4", "CUSTOM_3", "CUSTOM_2",
"CUSTOM_1", "APPLICATION_ENTRY_POINT", "SERVICE_LEVEL", "PRIORITY", "DESCRIPTION", "NAME",
"CREATED", "VALID_IN_DOMAIN", "DOMAIN", "TYPE", "CATEGORY", "PARENT_KEY", "PARENT_ID", "KEY")
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE INDEX IDX_CLASSIFICATION_CATEGORY ON CLASSIFICATION
("CATEGORY" ASC, "DOMAIN" ASC, "TYPE" ASC, "CUSTOM_1" ASC, "CUSTOM_8" ASC, "CUSTOM_7" ASC,
"CUSTOM_6" ASC, "CUSTOM_5" ASC, "CUSTOM_4" ASC, "CUSTOM_3" ASC, "CUSTOM_2" ASC,
"APPLICATION_ENTRY_POINT" ASC, "SERVICE_LEVEL" ASC, "PRIORITY" ASC, "DESCRIPTION" ASC,
"NAME" ASC, "CREATED" ASC, "VALID_IN_DOMAIN" ASC, "PARENT_KEY" ASC, "PARENT_ID" ASC, "KEY" ASC,
"ID" ASC)
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE UNIQUE INDEX IDX_CLASSIFICATION_KEY_DOMAIN ON CLASSIFICATION
("KEY" ASC, "DOMAIN" ASC)
INCLUDE ("CUSTOM_8", "CUSTOM_7", "CUSTOM_6", "CUSTOM_5", "CUSTOM_4", "CUSTOM_3", "CUSTOM_2",
"CUSTOM_1", "APPLICATION_ENTRY_POINT", "SERVICE_LEVEL", "PRIORITY", "DESCRIPTION", "NAME",
"CREATED", "VALID_IN_DOMAIN", "TYPE", "CATEGORY", "PARENT_KEY", "PARENT_ID", "ID")
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE INDEX IDX_TASK_WORKBASKET_KEY_DOMAIN ON TASK
("WORKBASKET_KEY" ASC, "DOMAIN" DESC)
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE INDEX IDX_TASK_POR_VALUE ON TASK
(UPPER("POR_VALUE") ASC, "WORKBASKET_ID" ASC)
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE INDEX IDX_ATTACHMENT_TASK_ID ON ATTACHMENT
("TASK_ID" ASC, "RECEIVED" ASC, "CLASSIFICATION_ID" ASC, "CLASSIFICATION_KEY" ASC,
"MODIFIED" ASC, "CREATED" ASC, "ID" ASC)
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE UNIQUE INDEX IDX_WORKBASKET_ID ON WORKBASKET
("ID" ASC)
INCLUDE ("ORG_LEVEL_4", "ORG_LEVEL_3", "ORG_LEVEL_2", "ORG_LEVEL_1", "OWNER", "DESCRIPTION",
"TYPE", "DOMAIN", "NAME", "KEY")
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE UNIQUE INDEX IDX_WORKBASKET_KEY_DOMAIN ON WORKBASKET
("KEY" ASC, "DOMAIN" ASC)
INCLUDE ("ORG_LEVEL_4", "ORG_LEVEL_3", "ORG_LEVEL_2", "ORG_LEVEL_1", "CUSTOM_4", "CUSTOM_3",
"CUSTOM_2", "CUSTOM_1", "OWNER", "DESCRIPTION", "TYPE", "NAME", "MODIFIED", "CREATED", "ID")
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE UNIQUE INDEX IDX_WORKBASKET_KEY_DOMAIN_ID ON WORKBASKET
("KEY" ASC, "DOMAIN" ASC)
INCLUDE ("ID")
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE INDEX IDX_WORKBASKET_ACCESS_LIST_ACCESS_ID ON WORKBASKET_ACCESS_LIST
("ACCESS_ID" ASC, "WORKBASKET_ID" ASC, "PERM_READ" ASC)
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;
CREATE INDEX IDX_WORKBASKET_ACCESS_LIST_WORKBASKET_ID ON WORKBASKET_ACCESS_LIST
("WORKBASKET_ID" ASC, "PERM_CUSTOM_12" ASC, "PERM_CUSTOM_11" ASC, "PERM_CUSTOM_10" ASC,
"PERM_CUSTOM_9" ASC, "PERM_CUSTOM_8" ASC, "PERM_CUSTOM_7" ASC, "PERM_CUSTOM_6" ASC,
"PERM_CUSTOM_5" ASC, "PERM_CUSTOM_4" ASC, "PERM_CUSTOM_3" ASC, "PERM_CUSTOM_2" ASC,
"PERM_CUSTOM_1" ASC, "PERM_DISTRIBUTE" ASC, "PERM_TRANSFER" ASC, "PERM_APPEND" ASC,
"PERM_OPEN" ASC, "PERM_READ" ASC, "ACCESS_ID" ASC)
ALLOW REVERSE SCANS COLLECT SAMPLED DETAILED STATISTICS;
COMMIT WORK ;

View File

@ -14,7 +14,7 @@ CREATE TABLE TASKANA_SCHEMA_VERSION(
PRIMARY KEY (ID)
);
-- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('4.11.0', CURRENT_TIMESTAMP);
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('5.0.0', CURRENT_TIMESTAMP);
CREATE TABLE CLASSIFICATION(
ID VARCHAR(40) NOT NULL,

View File

@ -0,0 +1,5 @@
-- this script updates the TASKANA database schema from version 4.11.0 to version 5.0.0.
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('5.0.0', CURRENT_TIMESTAMP);

View File

@ -9,7 +9,7 @@ CREATE TABLE TASKANA_SCHEMA_VERSION(
PRIMARY KEY (ID)
);
-- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('4.11.0', CURRENT_TIMESTAMP);
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('5.0.0', CURRENT_TIMESTAMP);
CREATE TABLE CLASSIFICATION(
ID VARCHAR(40) NOT NULL,
@ -337,15 +337,14 @@ CREATE SEQUENCE SCHEDULED_JOB_SEQ
SET search_path TO taskana;
CREATE INDEX IDX_CLASSIFICATION_1 ON CLASSIFICATION
CREATE INDEX IDX_CLASSIFICATION_ID ON CLASSIFICATION
(ID ASC, CUSTOM_8, CUSTOM_7, CUSTOM_6, CUSTOM_5, CUSTOM_4,
CUSTOM_3, CUSTOM_2, CUSTOM_1, APPLICATION_ENTRY_POINT,
SERVICE_LEVEL, PRIORITY, DESCRIPTION, NAME, MODIFIED,
CREATED, VALID_IN_DOMAIN, DOMAIN, TYPE, CATEGORY, PARENT_KEY,
PARENT_ID, KEY);
COMMIT WORK ;
CREATE INDEX IDX_CLASSIFICATION_2 ON CLASSIFICATION
CREATE INDEX IDX_CLASSIFICATION_CATEGORY ON CLASSIFICATION
(CATEGORY ASC, DOMAIN ASC, TYPE ASC, CUSTOM_1
ASC, CUSTOM_8 ASC, CUSTOM_7 ASC, CUSTOM_6 ASC,
CUSTOM_5 ASC, CUSTOM_4 ASC, CUSTOM_3 ASC, CUSTOM_2
@ -354,8 +353,7 @@ CREATE SEQUENCE SCHEDULED_JOB_SEQ
CREATED ASC, VALID_IN_DOMAIN ASC, PARENT_KEY ASC, PARENT_ID
ASC, KEY ASC, ID ASC);
COMMIT WORK ;
CREATE INDEX IDX_CLASSIFICATION_3 ON CLASSIFICATION
CREATE INDEX IDX_CLASSIFICATION_KEY_DOMAIN ON CLASSIFICATION
(KEY ASC, DOMAIN ASC, CUSTOM_8, CUSTOM_7, CUSTOM_6,
CUSTOM_5, CUSTOM_4, CUSTOM_3, CUSTOM_2, CUSTOM_1,
APPLICATION_ENTRY_POINT, SERVICE_LEVEL, PRIORITY,
@ -363,45 +361,41 @@ CREATE SEQUENCE SCHEDULED_JOB_SEQ
TYPE, CATEGORY, PARENT_KEY, PARENT_ID, ID) ;
COMMIT WORK ;
CREATE INDEX IDX_TASK_1 ON TASK
CREATE INDEX IDX_TASK_WORKBASKET_KEY_DOMAIN ON TASK
(WORKBASKET_KEY ASC, DOMAIN DESC);
COMMIT WORK ;
CREATE INDEX IDX_TASK_2 ON TASK
CREATE INDEX IDX_TASK_POR_VALUE ON TASK
(UPPER(POR_VALUE) ASC, WORKBASKET_ID ASC);
COMMIT WORK ;
CREATE INDEX IDX_ATTACHMENT_1 ON ATTACHMENT
(TASK_ID ASC) ;
COMMIT WORK ;
CREATE INDEX IDX_ATTACHMENT_2 ON ATTACHMENT
CREATE INDEX IDX_ATTACHMENT_TASK_ID ON ATTACHMENT
(TASK_ID ASC, RECEIVED ASC, CLASSIFICATION_ID
ASC, CLASSIFICATION_KEY ASC, MODIFIED ASC, CREATED
ASC, ID ASC) ;
COMMIT WORK ;
CREATE INDEX IDX_WORKBASKET_1 ON WORKBASKET
CREATE INDEX IDX_WORKBASKET_ID ON WORKBASKET
(ID ASC, ORG_LEVEL_4, ORG_LEVEL_3, ORG_LEVEL_2,
ORG_LEVEL_1, OWNER, DESCRIPTION, TYPE, DOMAIN, NAME, KEY);
COMMIT WORK ;
CREATE INDEX IDX_WORKBASKET_2 ON WORKBASKET
CREATE INDEX IDX_WORKBASKET_KEY_DOMAIN ON WORKBASKET
(KEY ASC, DOMAIN ASC, ORG_LEVEL_4,
ORG_LEVEL_3, ORG_LEVEL_2, ORG_LEVEL_1, CUSTOM_4,
CUSTOM_3, CUSTOM_2, CUSTOM_1, OWNER, DESCRIPTION,
TYPE, NAME, MODIFIED, CREATED, ID) ;
COMMIT WORK ;
CREATE INDEX IDX_WORKBASKET_3 ON WORKBASKET
CREATE INDEX IDX_WORKBASKET_KEY_DOMAIN_ID ON WORKBASKET
(KEY ASC, DOMAIN ASC, ID) ;
COMMIT WORK ;
CREATE INDEX IDX_WBAL_1 ON WORKBASKET_ACCESS_LIST
CREATE INDEX IDX_WORKBASKET_ACCESS_LIST_ACCESS_ID ON WORKBASKET_ACCESS_LIST
(ACCESS_ID ASC, WORKBASKET_ID ASC, PERM_READ ASC) ;
COMMIT WORK ;
CREATE INDEX IDX_WBAL_2 ON WORKBASKET_ACCESS_LIST
CREATE INDEX IDX_WORKBASKET_ACCESS_LIST_WORKBASKET_ID ON WORKBASKET_ACCESS_LIST
(WORKBASKET_ID ASC, PERM_CUSTOM_12 ASC, PERM_CUSTOM_11
ASC, PERM_CUSTOM_10 ASC, PERM_CUSTOM_9 ASC, PERM_CUSTOM_8
ASC, PERM_CUSTOM_7 ASC, PERM_CUSTOM_6 ASC, PERM_CUSTOM_5

View File

@ -0,0 +1,87 @@
-- this script updates the TASKANA database schema from version 4.11.0 to version 5.0.0.
SET search_path = %schemaName%;
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('5.0.0', CURRENT_TIMESTAMP);
DROP INDEX IF EXISTS IDX_CLASSIFICATION_1;
CREATE INDEX IDX_CLASSIFICATION_ID ON CLASSIFICATION
(ID ASC, CUSTOM_8, CUSTOM_7, CUSTOM_6, CUSTOM_5, CUSTOM_4,
CUSTOM_3, CUSTOM_2, CUSTOM_1, APPLICATION_ENTRY_POINT,
SERVICE_LEVEL, PRIORITY, DESCRIPTION, NAME, MODIFIED,
CREATED, VALID_IN_DOMAIN, DOMAIN, TYPE, CATEGORY, PARENT_KEY,
PARENT_ID, KEY);
COMMIT WORK ;
DROP INDEX IF EXISTS IDX_CLASSIFICATION_2;
CREATE INDEX IDX_CLASSIFICATION_CATEGORY ON CLASSIFICATION
(CATEGORY ASC, DOMAIN ASC, TYPE ASC, CUSTOM_1
ASC, CUSTOM_8 ASC, CUSTOM_7 ASC, CUSTOM_6 ASC,
CUSTOM_5 ASC, CUSTOM_4 ASC, CUSTOM_3 ASC, CUSTOM_2
ASC, APPLICATION_ENTRY_POINT ASC, SERVICE_LEVEL
ASC, PRIORITY ASC, DESCRIPTION ASC, NAME ASC,
CREATED ASC, VALID_IN_DOMAIN ASC, PARENT_KEY ASC, PARENT_ID
ASC, KEY ASC, ID ASC);
COMMIT WORK ;
DROP INDEX IF EXISTS IDX_CLASSIFICATION_3;
CREATE INDEX IDX_CLASSIFICATION_KEY_DOMAIN ON CLASSIFICATION
(KEY ASC, DOMAIN ASC, CUSTOM_8, CUSTOM_7, CUSTOM_6,
CUSTOM_5, CUSTOM_4, CUSTOM_3, CUSTOM_2, CUSTOM_1,
APPLICATION_ENTRY_POINT, SERVICE_LEVEL, PRIORITY,
DESCRIPTION, NAME, CREATED, VALID_IN_DOMAIN,
TYPE, CATEGORY, PARENT_KEY, PARENT_ID, ID) ;
COMMIT WORK ;
DROP INDEX IF EXISTS IDX_TASK_1;
CREATE INDEX IDX_TASK_WORKBASKET_KEY_DOMAIN ON TASK
(WORKBASKET_KEY ASC, DOMAIN DESC);
COMMIT WORK ;
DROP INDEX IF EXISTS IDX_TASK_2;
CREATE INDEX IDX_TASK_POR_VALUE ON TASK
(UPPER(POR_VALUE) ASC, WORKBASKET_ID ASC);
COMMIT WORK ;
DROP INDEX IF EXISTS IDX_ATTACHMENT_1;
DROP INDEX IF EXISTS IDX_ATTACHMENT_2;
CREATE INDEX IDX_ATTACHMENT_TASK_ID ON ATTACHMENT
(TASK_ID ASC, RECEIVED ASC, CLASSIFICATION_ID
ASC, CLASSIFICATION_KEY ASC, MODIFIED ASC, CREATED
ASC, ID ASC) ;
COMMIT WORK ;
DROP INDEX IF EXISTS IDX_WORKBASKET_1;
CREATE INDEX IDX_WORKBASKET_ID ON WORKBASKET
(ID ASC, ORG_LEVEL_4, ORG_LEVEL_3, ORG_LEVEL_2,
ORG_LEVEL_1, OWNER, DESCRIPTION, TYPE, DOMAIN, NAME, KEY);
COMMIT WORK ;
DROP INDEX IF EXISTS IDX_WORKBASKET_2;
CREATE INDEX IDX_WORKBASKET_KEY_DOMAIN ON WORKBASKET
(KEY ASC, DOMAIN ASC, ORG_LEVEL_4,
ORG_LEVEL_3, ORG_LEVEL_2, ORG_LEVEL_1, CUSTOM_4,
CUSTOM_3, CUSTOM_2, CUSTOM_1, OWNER, DESCRIPTION,
TYPE, NAME, MODIFIED, CREATED, ID) ;
COMMIT WORK ;
DROP INDEX IF EXISTS IDX_WORKBASKET_3;
CREATE INDEX IDX_WORKBASKET_KEY_DOMAIN_ID ON WORKBASKET
(KEY ASC, DOMAIN ASC, ID) ;
COMMIT WORK ;
DROP INDEX IF EXISTS IDX_WBAL_1;
CREATE INDEX IDX_WORKBASKET_ACCESS_LIST_ACCESS_ID ON WORKBASKET_ACCESS_LIST
(ACCESS_ID ASC, WORKBASKET_ID ASC, PERM_READ ASC) ;
COMMIT WORK ;
DROP INDEX IF EXISTS IDX_WBAL_2;
CREATE INDEX IDX_WORKBASKET_ACCESS_LIST_WORKBASKET_ID ON WORKBASKET_ACCESS_LIST
(WORKBASKET_ID ASC, PERM_CUSTOM_12 ASC, PERM_CUSTOM_11
ASC, PERM_CUSTOM_10 ASC, PERM_CUSTOM_9 ASC, PERM_CUSTOM_8
ASC, PERM_CUSTOM_7 ASC, PERM_CUSTOM_6 ASC, PERM_CUSTOM_5
ASC, PERM_CUSTOM_4 ASC, PERM_CUSTOM_3 ASC, PERM_CUSTOM_2
ASC, PERM_CUSTOM_1 ASC, PERM_DISTRIBUTE ASC, PERM_TRANSFER
ASC, PERM_APPEND ASC, PERM_OPEN ASC, PERM_READ
ASC, ACCESS_ID ASC) ;
COMMIT WORK ;

View File

@ -76,7 +76,7 @@ import pro.taskana.workbasket.internal.WorkbasketServiceImpl;
public class TaskanaEngineImpl implements TaskanaEngine {
// must match the VERSION value in table
private static final String MINIMAL_TASKANA_SCHEMA_VERSION = "4.8.0";
private static final String MINIMAL_TASKANA_SCHEMA_VERSION = "5.0.0";
private static final Logger LOGGER = LoggerFactory.getLogger(TaskanaEngineImpl.class);
private static final SessionStack SESSION_STACK = new SessionStack();
private final TaskRoutingManager taskRoutingManager;