diff --git a/config/sql/_all/postgresql-3.2-all.sql b/config/sql/_all/postgresql-3.3-all.sql similarity index 97% rename from config/sql/_all/postgresql-3.2-all.sql rename to config/sql/_all/postgresql-3.3-all.sql index cf0db1290cd..b1e9d0df435 100644 --- a/config/sql/_all/postgresql-3.2-all.sql +++ b/config/sql/_all/postgresql-3.3-all.sql @@ -47,6 +47,12 @@ CREATE TABLE m_assignment ( modifyChannel VARCHAR(255), modifyTimestamp TIMESTAMP, orderValue INT4, + orgRef_relation VARCHAR(157), + orgRef_targetOid VARCHAR(36), + orgRef_type INT4, + resourceRef_relation VARCHAR(157), + resourceRef_targetOid VARCHAR(36), + resourceRef_type INT4, targetRef_relation VARCHAR(157), targetRef_targetOid VARCHAR(36), targetRef_type INT4, @@ -156,13 +162,18 @@ CREATE TABLE m_assignment_reference ( ); CREATE TABLE m_audit_delta ( - checksum VARCHAR(32) NOT NULL, - record_id INT8 NOT NULL, - delta TEXT, - deltaOid VARCHAR(36), - deltaType INT4, - fullResult TEXT, - status INT4, + checksum VARCHAR(32) NOT NULL, + record_id INT8 NOT NULL, + delta TEXT, + deltaOid VARCHAR(36), + deltaType INT4, + fullResult TEXT, + objectName_norm VARCHAR(255), + objectName_orig VARCHAR(255), + resourceName_norm VARCHAR(255), + resourceName_orig VARCHAR(255), + resourceOid VARCHAR(36), + status INT4, PRIMARY KEY (checksum, record_id) ); @@ -240,10 +251,17 @@ CREATE TABLE m_focus ( validTo TIMESTAMP, validityChangeTimestamp TIMESTAMP, validityStatus INT4, + hasPhoto BOOLEAN DEFAULT FALSE NOT NULL, oid VARCHAR(36) NOT NULL, PRIMARY KEY (oid) ); +CREATE TABLE m_focus_photo ( + owner_oid VARCHAR(36) NOT NULL, + photo BYTEA, + PRIMARY KEY (owner_oid) +); + CREATE TABLE m_generic_object ( name_norm VARCHAR(255), name_orig VARCHAR(255), @@ -468,6 +486,13 @@ CREATE TABLE m_security_policy ( PRIMARY KEY (oid) ); +CREATE TABLE m_sequence ( + name_norm VARCHAR(255), + name_orig VARCHAR(255), + oid VARCHAR(36) NOT NULL, + PRIMARY KEY (oid) +); + CREATE TABLE m_shadow ( attemptNumber INT4, dead BOOLEAN, @@ -549,7 +574,6 @@ CREATE TABLE m_user ( fullName_orig VARCHAR(255), givenName_norm VARCHAR(255), givenName_orig VARCHAR(255), - hasPhoto BOOLEAN NOT NULL, honorificPrefix_norm VARCHAR(255), honorificPrefix_orig VARCHAR(255), honorificSuffix_norm VARCHAR(255), @@ -588,12 +612,6 @@ CREATE TABLE m_user_organizational_unit ( orig VARCHAR(255) ); -CREATE TABLE m_user_photo ( - owner_oid VARCHAR(36) NOT NULL, - photo BYTEA, - PRIMARY KEY (owner_oid) -); - CREATE TABLE m_value_policy ( name_norm VARCHAR(255), name_orig VARCHAR(255), @@ -613,6 +631,14 @@ CREATE INDEX iAssignmentAdministrative ON m_assignment (administrativeStatus); CREATE INDEX iAssignmentEffective ON m_assignment (effectiveStatus); +CREATE INDEX iTargetRefTargetOid ON m_assignment (targetRef_targetOid); + +CREATE INDEX iTenantRefTargetOid ON m_assignment (tenantRef_targetOid); + +CREATE INDEX iOrgRefTargetOid ON m_assignment (orgRef_targetOid); + +CREATE INDEX iResourceRefTargetOid ON m_assignment (resourceRef_targetOid); + CREATE INDEX iAExtensionBoolean ON m_assignment_ext_boolean (extensionType, eName, booleanValue); CREATE INDEX iAExtensionDate ON m_assignment_ext_date (extensionType, eName, dateValue); @@ -627,6 +653,8 @@ CREATE INDEX iAExtensionString ON m_assignment_ext_string (extensionType, eName, CREATE INDEX iAssignmentReferenceTargetOid ON m_assignment_reference (targetOid); +CREATE INDEX iTimestampValue ON m_audit_event (timestampValue); + ALTER TABLE m_connector_host ADD CONSTRAINT uc_connector_host_name UNIQUE (name_norm); @@ -708,6 +736,9 @@ ADD CONSTRAINT uc_role_name UNIQUE (name_norm); ALTER TABLE m_security_policy ADD CONSTRAINT uc_security_policy_name UNIQUE (name_norm); +ALTER TABLE m_sequence +ADD CONSTRAINT uc_sequence_name UNIQUE (name_norm); + CREATE INDEX iShadowResourceRef ON m_shadow (resourceRef_targetOid); CREATE INDEX iShadowDead ON m_shadow (dead); @@ -820,6 +851,11 @@ ADD CONSTRAINT fk_focus FOREIGN KEY (oid) REFERENCES m_object; +ALTER TABLE m_focus_photo +ADD CONSTRAINT fk_focus_photo +FOREIGN KEY (owner_oid) +REFERENCES m_focus; + ALTER TABLE m_generic_object ADD CONSTRAINT fk_generic_object FOREIGN KEY (oid) @@ -925,6 +961,11 @@ ADD CONSTRAINT fk_security_policy FOREIGN KEY (oid) REFERENCES m_object; +ALTER TABLE m_sequence +ADD CONSTRAINT fk_sequence +FOREIGN KEY (oid) +REFERENCES m_object; + ALTER TABLE m_shadow ADD CONSTRAINT fk_shadow FOREIGN KEY (oid) @@ -970,11 +1011,6 @@ ADD CONSTRAINT fk_user_org_unit FOREIGN KEY (user_oid) REFERENCES m_user; -ALTER TABLE m_user_photo -ADD CONSTRAINT fk_user_photo -FOREIGN KEY (owner_oid) -REFERENCES m_user; - ALTER TABLE m_value_policy ADD CONSTRAINT fk_value_policy FOREIGN KEY (oid) diff --git a/config/sql/_all/postgresql-upgrade-3.1.1-3.2.sql b/config/sql/_all/postgresql-upgrade-3.1.1-3.2.sql deleted file mode 100644 index a64d8d28199..00000000000 --- a/config/sql/_all/postgresql-upgrade-3.1.1-3.2.sql +++ /dev/null @@ -1,32 +0,0 @@ -CREATE TABLE m_acc_cert_definition ( - name_norm VARCHAR(255), - name_orig VARCHAR(255), - oid VARCHAR(36) NOT NULL, - PRIMARY KEY (oid) -); - -CREATE TABLE m_acc_cert_campaign ( - definitionRef_relation VARCHAR(157), - definitionRef_targetOid VARCHAR(36), - definitionRef_type int4, - name_norm VARCHAR(255), - name_orig VARCHAR(255), - oid VARCHAR(36) NOT NULL, - PRIMARY KEY (oid) -); - -ALTER TABLE m_acc_cert_definition - ADD CONSTRAINT uc_acc_cert_definition_name UNIQUE (name_norm); - -ALTER TABLE m_acc_cert_campaign - ADD CONSTRAINT uc_acc_cert_campaign_name UNIQUE (name_norm); - -ALTER TABLE m_acc_cert_definition - ADD CONSTRAINT fk_acc_cert_definition - FOREIGN KEY (oid) - REFERENCES m_object; - -ALTER TABLE m_acc_cert_campaign - ADD CONSTRAINT fk_acc_cert_campaign - FOREIGN KEY (oid) - REFERENCES m_object; diff --git a/config/sql/_all/postgresql-upgrade-3.2-3.3.sql b/config/sql/_all/postgresql-upgrade-3.2-3.3.sql index 93b4d88ca1a..e851871e3e8 100644 --- a/config/sql/_all/postgresql-upgrade-3.2-3.3.sql +++ b/config/sql/_all/postgresql-upgrade-3.2-3.3.sql @@ -1,60 +1,65 @@ -create table m_sequence ( - name_norm varchar(255), - name_orig varchar(255), - oid varchar(36) not null, - primary key (oid) +CREATE TABLE m_sequence ( + name_norm VARCHAR(255), + name_orig VARCHAR(255), + oid VARCHAR(36) NOT NULL, + PRIMARY KEY (oid) ); -alter table m_sequence - add constraint uc_sequence_name unique (name_norm); +ALTER TABLE m_sequence +ADD CONSTRAINT uc_sequence_name UNIQUE (name_norm); -alter table m_sequence - add constraint fk_sequence - foreign key (oid) - references m_object; +ALTER TABLE m_sequence +ADD CONSTRAINT fk_sequence +FOREIGN KEY (oid) +REFERENCES m_object; -alter table m_user_photo rename to m_focus_photo; +ALTER TABLE m_user_photo RENAME TO m_focus_photo; -alter table m_focus add hasPhoto boolean not null default FALSE; -update m_focus set hasPhoto = false; -update m_focus set hasPhoto = (select hasPhoto from m_user where m_user.oid = m_focus.oid) - where m_focus.oid in (select oid from m_user); +ALTER TABLE m_focus ADD hasPhoto BOOLEAN NOT NULL DEFAULT FALSE; +UPDATE m_focus +SET hasPhoto = FALSE; +UPDATE m_focus +SET hasPhoto = (SELECT hasPhoto + FROM m_user + WHERE m_user.oid = m_focus.oid) +WHERE m_focus.oid IN (SELECT oid + FROM m_user); -alter table m_focus_photo - drop constraint m_user_photo_pkey; +ALTER TABLE m_focus_photo +DROP CONSTRAINT m_user_photo_pkey; -alter table m_focus_photo - add constraint m_focus_photo_pkey primary key(owner_oid); +ALTER TABLE m_focus_photo +ADD CONSTRAINT m_focus_photo_pkey PRIMARY KEY (owner_oid); -alter table m_focus_photo - drop constraint fk_user_photo; +ALTER TABLE m_focus_photo +DROP CONSTRAINT fk_user_photo; -alter table m_focus_photo - add constraint fk_focus_photo - foreign key (owner_oid) - references m_focus; +ALTER TABLE m_focus_photo +ADD CONSTRAINT fk_focus_photo +FOREIGN KEY (owner_oid) +REFERENCES m_focus; -alter table m_user drop column hasPhoto; +ALTER TABLE m_user DROP COLUMN hasPhoto; -alter table m_assignment - add orgRef_relation varchar(157), - add orgRef_targetOid varchar(36), - add orgRef_type int4, - add resourceRef_relation varchar(157), - add resourceRef_targetOid varchar(36), - add resourceRef_type int4; +ALTER TABLE m_assignment +ADD orgRef_relation VARCHAR(157), +ADD orgRef_targetOid VARCHAR(36), +ADD orgRef_type INT4, +ADD resourceRef_relation VARCHAR(157), +ADD resourceRef_targetOid VARCHAR(36), +ADD resourceRef_type INT4; -create index iTargetRefTargetOid on m_assignment (targetRef_targetOid); -create index iTenantRefTargetOid on m_assignment (tenantRef_targetOid); -create index iOrgRefTargetOid on m_assignment (orgRef_targetOid); -create index iResourceRefTargetOid on m_assignment (resourceRef_targetOid); +CREATE INDEX iTargetRefTargetOid ON m_assignment (targetRef_targetOid); +CREATE INDEX iTenantRefTargetOid ON m_assignment (tenantRef_targetOid); +CREATE INDEX iOrgRefTargetOid ON m_assignment (orgRef_targetOid); +CREATE INDEX iResourceRefTargetOid ON m_assignment (resourceRef_targetOid); -create index iTimestampValue on m_audit_event (timestampValue); +CREATE INDEX iTimestampValue ON m_audit_event (timestampValue); -alter table m_audit_delta - add objectName_norm varchar(255), - add objectName_orig varchar(255), - add resourceName_norm varchar(255), - add resourceName_orig varchar(255), - add resourceOid varchar(36); +ALTER TABLE m_audit_delta +ADD objectName_norm VARCHAR(255), +ADD objectName_orig VARCHAR(255), +ADD resourceName_norm VARCHAR(255), +ADD resourceName_orig VARCHAR(255), +ADD resourceOid VARCHAR(36); diff --git a/config/sql/midpoint/3.3/postgresql/postgresql-3.2.sql b/config/sql/midpoint/3.3/postgresql/postgresql-3.3.sql similarity index 95% rename from config/sql/midpoint/3.3/postgresql/postgresql-3.2.sql rename to config/sql/midpoint/3.3/postgresql/postgresql-3.3.sql index 7c61625f18d..3a18ff1c6c0 100644 --- a/config/sql/midpoint/3.3/postgresql/postgresql-3.2.sql +++ b/config/sql/midpoint/3.3/postgresql/postgresql-3.3.sql @@ -47,6 +47,12 @@ CREATE TABLE m_assignment ( modifyChannel VARCHAR(255), modifyTimestamp TIMESTAMP, orderValue INT4, + orgRef_relation VARCHAR(157), + orgRef_targetOid VARCHAR(36), + orgRef_type INT4, + resourceRef_relation VARCHAR(157), + resourceRef_targetOid VARCHAR(36), + resourceRef_type INT4, targetRef_relation VARCHAR(157), targetRef_targetOid VARCHAR(36), targetRef_type INT4, @@ -156,13 +162,18 @@ CREATE TABLE m_assignment_reference ( ); CREATE TABLE m_audit_delta ( - checksum VARCHAR(32) NOT NULL, - record_id INT8 NOT NULL, - delta TEXT, - deltaOid VARCHAR(36), - deltaType INT4, - fullResult TEXT, - status INT4, + checksum VARCHAR(32) NOT NULL, + record_id INT8 NOT NULL, + delta TEXT, + deltaOid VARCHAR(36), + deltaType INT4, + fullResult TEXT, + objectName_norm VARCHAR(255), + objectName_orig VARCHAR(255), + resourceName_norm VARCHAR(255), + resourceName_orig VARCHAR(255), + resourceOid VARCHAR(36), + status INT4, PRIMARY KEY (checksum, record_id) ); @@ -240,10 +251,17 @@ CREATE TABLE m_focus ( validTo TIMESTAMP, validityChangeTimestamp TIMESTAMP, validityStatus INT4, + hasPhoto BOOLEAN DEFAULT FALSE NOT NULL, oid VARCHAR(36) NOT NULL, PRIMARY KEY (oid) ); +CREATE TABLE m_focus_photo ( + owner_oid VARCHAR(36) NOT NULL, + photo BYTEA, + PRIMARY KEY (owner_oid) +); + CREATE TABLE m_generic_object ( name_norm VARCHAR(255), name_orig VARCHAR(255), @@ -468,6 +486,13 @@ CREATE TABLE m_security_policy ( PRIMARY KEY (oid) ); +CREATE TABLE m_sequence ( + name_norm VARCHAR(255), + name_orig VARCHAR(255), + oid VARCHAR(36) NOT NULL, + PRIMARY KEY (oid) +); + CREATE TABLE m_shadow ( attemptNumber INT4, dead BOOLEAN, @@ -549,7 +574,6 @@ CREATE TABLE m_user ( fullName_orig VARCHAR(255), givenName_norm VARCHAR(255), givenName_orig VARCHAR(255), - hasPhoto BOOLEAN NOT NULL, honorificPrefix_norm VARCHAR(255), honorificPrefix_orig VARCHAR(255), honorificSuffix_norm VARCHAR(255), @@ -588,12 +612,6 @@ CREATE TABLE m_user_organizational_unit ( orig VARCHAR(255) ); -CREATE TABLE m_user_photo ( - owner_oid VARCHAR(36) NOT NULL, - photo BYTEA, - PRIMARY KEY (owner_oid) -); - CREATE TABLE m_value_policy ( name_norm VARCHAR(255), name_orig VARCHAR(255), @@ -613,6 +631,14 @@ CREATE INDEX iAssignmentAdministrative ON m_assignment (administrativeStatus); CREATE INDEX iAssignmentEffective ON m_assignment (effectiveStatus); +CREATE INDEX iTargetRefTargetOid ON m_assignment (targetRef_targetOid); + +CREATE INDEX iTenantRefTargetOid ON m_assignment (tenantRef_targetOid); + +CREATE INDEX iOrgRefTargetOid ON m_assignment (orgRef_targetOid); + +CREATE INDEX iResourceRefTargetOid ON m_assignment (resourceRef_targetOid); + CREATE INDEX iAExtensionBoolean ON m_assignment_ext_boolean (extensionType, eName, booleanValue); CREATE INDEX iAExtensionDate ON m_assignment_ext_date (extensionType, eName, dateValue); @@ -627,6 +653,8 @@ CREATE INDEX iAExtensionString ON m_assignment_ext_string (extensionType, eName, CREATE INDEX iAssignmentReferenceTargetOid ON m_assignment_reference (targetOid); +CREATE INDEX iTimestampValue ON m_audit_event (timestampValue); + ALTER TABLE m_connector_host ADD CONSTRAINT uc_connector_host_name UNIQUE (name_norm); @@ -708,6 +736,9 @@ ADD CONSTRAINT uc_role_name UNIQUE (name_norm); ALTER TABLE m_security_policy ADD CONSTRAINT uc_security_policy_name UNIQUE (name_norm); +ALTER TABLE m_sequence +ADD CONSTRAINT uc_sequence_name UNIQUE (name_norm); + CREATE INDEX iShadowResourceRef ON m_shadow (resourceRef_targetOid); CREATE INDEX iShadowDead ON m_shadow (dead); @@ -820,6 +851,11 @@ ADD CONSTRAINT fk_focus FOREIGN KEY (oid) REFERENCES m_object; +ALTER TABLE m_focus_photo +ADD CONSTRAINT fk_focus_photo +FOREIGN KEY (owner_oid) +REFERENCES m_focus; + ALTER TABLE m_generic_object ADD CONSTRAINT fk_generic_object FOREIGN KEY (oid) @@ -925,6 +961,11 @@ ADD CONSTRAINT fk_security_policy FOREIGN KEY (oid) REFERENCES m_object; +ALTER TABLE m_sequence +ADD CONSTRAINT fk_sequence +FOREIGN KEY (oid) +REFERENCES m_object; + ALTER TABLE m_shadow ADD CONSTRAINT fk_shadow FOREIGN KEY (oid) @@ -970,11 +1011,6 @@ ADD CONSTRAINT fk_user_org_unit FOREIGN KEY (user_oid) REFERENCES m_user; -ALTER TABLE m_user_photo -ADD CONSTRAINT fk_user_photo -FOREIGN KEY (owner_oid) -REFERENCES m_user; - ALTER TABLE m_value_policy ADD CONSTRAINT fk_value_policy FOREIGN KEY (oid) diff --git a/config/sql/midpoint/3.3/postgresql/postgresql-upgrade-3.1.1-3.2.sql b/config/sql/midpoint/3.3/postgresql/postgresql-upgrade-3.1.1-3.2.sql deleted file mode 100644 index a64d8d28199..00000000000 --- a/config/sql/midpoint/3.3/postgresql/postgresql-upgrade-3.1.1-3.2.sql +++ /dev/null @@ -1,32 +0,0 @@ -CREATE TABLE m_acc_cert_definition ( - name_norm VARCHAR(255), - name_orig VARCHAR(255), - oid VARCHAR(36) NOT NULL, - PRIMARY KEY (oid) -); - -CREATE TABLE m_acc_cert_campaign ( - definitionRef_relation VARCHAR(157), - definitionRef_targetOid VARCHAR(36), - definitionRef_type int4, - name_norm VARCHAR(255), - name_orig VARCHAR(255), - oid VARCHAR(36) NOT NULL, - PRIMARY KEY (oid) -); - -ALTER TABLE m_acc_cert_definition - ADD CONSTRAINT uc_acc_cert_definition_name UNIQUE (name_norm); - -ALTER TABLE m_acc_cert_campaign - ADD CONSTRAINT uc_acc_cert_campaign_name UNIQUE (name_norm); - -ALTER TABLE m_acc_cert_definition - ADD CONSTRAINT fk_acc_cert_definition - FOREIGN KEY (oid) - REFERENCES m_object; - -ALTER TABLE m_acc_cert_campaign - ADD CONSTRAINT fk_acc_cert_campaign - FOREIGN KEY (oid) - REFERENCES m_object; diff --git a/config/sql/midpoint/3.3/postgresql/postgresql-upgrade-3.2-3.3.sql b/config/sql/midpoint/3.3/postgresql/postgresql-upgrade-3.2-3.3.sql new file mode 100644 index 00000000000..e851871e3e8 --- /dev/null +++ b/config/sql/midpoint/3.3/postgresql/postgresql-upgrade-3.2-3.3.sql @@ -0,0 +1,65 @@ +CREATE TABLE m_sequence ( + name_norm VARCHAR(255), + name_orig VARCHAR(255), + oid VARCHAR(36) NOT NULL, + PRIMARY KEY (oid) +); + +ALTER TABLE m_sequence +ADD CONSTRAINT uc_sequence_name UNIQUE (name_norm); + +ALTER TABLE m_sequence +ADD CONSTRAINT fk_sequence +FOREIGN KEY (oid) +REFERENCES m_object; + +ALTER TABLE m_user_photo RENAME TO m_focus_photo; + +ALTER TABLE m_focus ADD hasPhoto BOOLEAN NOT NULL DEFAULT FALSE; +UPDATE m_focus +SET hasPhoto = FALSE; +UPDATE m_focus +SET hasPhoto = (SELECT hasPhoto + FROM m_user + WHERE m_user.oid = m_focus.oid) +WHERE m_focus.oid IN (SELECT oid + FROM m_user); + +ALTER TABLE m_focus_photo +DROP CONSTRAINT m_user_photo_pkey; + +ALTER TABLE m_focus_photo +ADD CONSTRAINT m_focus_photo_pkey PRIMARY KEY (owner_oid); + +ALTER TABLE m_focus_photo +DROP CONSTRAINT fk_user_photo; + +ALTER TABLE m_focus_photo +ADD CONSTRAINT fk_focus_photo +FOREIGN KEY (owner_oid) +REFERENCES m_focus; + +ALTER TABLE m_user DROP COLUMN hasPhoto; + +ALTER TABLE m_assignment +ADD orgRef_relation VARCHAR(157), +ADD orgRef_targetOid VARCHAR(36), +ADD orgRef_type INT4, +ADD resourceRef_relation VARCHAR(157), +ADD resourceRef_targetOid VARCHAR(36), +ADD resourceRef_type INT4; + +CREATE INDEX iTargetRefTargetOid ON m_assignment (targetRef_targetOid); +CREATE INDEX iTenantRefTargetOid ON m_assignment (tenantRef_targetOid); +CREATE INDEX iOrgRefTargetOid ON m_assignment (orgRef_targetOid); +CREATE INDEX iResourceRefTargetOid ON m_assignment (resourceRef_targetOid); + +CREATE INDEX iTimestampValue ON m_audit_event (timestampValue); + +ALTER TABLE m_audit_delta +ADD objectName_norm VARCHAR(255), +ADD objectName_orig VARCHAR(255), +ADD resourceName_norm VARCHAR(255), +ADD resourceName_orig VARCHAR(255), +ADD resourceOid VARCHAR(36); +