Skip to content

Commit

Permalink
repo-sqale: added new case-wi ref types to enums, *_cid cols renamed
Browse files Browse the repository at this point in the history
  • Loading branch information
virgo47 committed May 24, 2021
1 parent a12d8ed commit c6c1cb3
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 16 deletions.
30 changes: 16 additions & 14 deletions repo/repo-sqale/sql/pgnew-repo.sql
Expand Up @@ -74,6 +74,8 @@ CREATE TYPE ReferenceType AS ENUM (
'ARCHETYPE',
'ASSIGNMENT_CREATE_APPROVER',
'ASSIGNMENT_MODIFY_APPROVER',
'CASE_WI_ASSIGNEE',
'CASE_WI_CANDIDATE',
'DELEGATED',
'INCLUDE',
'PROJECTION',
Expand Down Expand Up @@ -1210,7 +1212,7 @@ CREATE TABLE m_access_cert_case (

CREATE TABLE m_access_cert_wi (
ownerOid UUID NOT NULL, -- PK+FK
acc_cert_case_cid INTEGER NOT NULL, -- PK+FK
accCertCaseCid INTEGER NOT NULL, -- PK+FK
containerType ContainerType GENERATED ALWAYS AS ('ACCESS_CERTIFICATION_WORK_ITEM') STORED,
closeTimestamp TIMESTAMPTZ,
iteration INTEGER NOT NULL,
Expand All @@ -1221,32 +1223,32 @@ CREATE TABLE m_access_cert_wi (
performerRefRelationId INTEGER REFERENCES m_uri(id),
stageNumber INTEGER,

PRIMARY KEY (ownerOid, acc_cert_case_cid, cid)
PRIMARY KEY (ownerOid, accCertCaseCid, cid)
)
INHERITS(m_container);

ALTER TABLE m_access_cert_wi
ADD CONSTRAINT m_access_cert_wi_id_fk FOREIGN KEY (ownerOid, acc_cert_case_cid)
ADD CONSTRAINT m_access_cert_wi_id_fk FOREIGN KEY (ownerOid, accCertCaseCid)
REFERENCES m_access_cert_case (ownerOid, cid)
ON DELETE CASCADE;

-- TODO rework to inherit from reference tables
CREATE TABLE m_access_cert_wi_reference (
ownerOid UUID NOT NULL, -- PK+FK
acc_cert_case_cid INTEGER NOT NULL, -- PK+FK
acc_cert_wi_cid INTEGER NOT NULL, -- PK+FK
accCertCaseCid INTEGER NOT NULL, -- PK+FK
accCertWiCid INTEGER NOT NULL, -- PK+FK
targetOid UUID NOT NULL, -- more PK columns...
targetType ObjectType,
relationId INTEGER NOT NULL REFERENCES m_uri(id),

-- TODO is the order of last two components optimal for index/query?
PRIMARY KEY (ownerOid, acc_cert_case_cid, acc_cert_wi_cid, relationId, targetOid)
PRIMARY KEY (ownerOid, accCertCaseCid, accCertWiCid, relationId, targetOid)
);

ALTER TABLE m_access_cert_wi_reference
ADD CONSTRAINT m_access_cert_wi_reference_id_fk
FOREIGN KEY (ownerOid, acc_cert_case_cid, acc_cert_wi_cid)
REFERENCES m_access_cert_wi (ownerOid, acc_cert_case_cid, cid)
FOREIGN KEY (ownerOid, accCertCaseCid, accCertWiCid)
REFERENCES m_access_cert_wi (ownerOid, accCertCaseCid, cid)
ON DELETE CASCADE;
/*
CREATE INDEX iCertCampaignNameOrig ON m_access_cert_campaign (nameOrig);
Expand Down Expand Up @@ -1419,30 +1421,30 @@ CREATE INDEX m_assignment_resourceRefTargetOid_idx ON m_assignment (resourceRefT
-- stores assignment/metadata/createApproverRef
CREATE TABLE m_assignment_ref_create_approver (
ownerOid UUID NOT NULL REFERENCES m_object_oid(oid) ON DELETE CASCADE,
assignment_cid INTEGER NOT NULL,
assignmentCid INTEGER NOT NULL,
referenceType ReferenceType GENERATED ALWAYS AS ('ASSIGNMENT_CREATE_APPROVER') STORED,

PRIMARY KEY (ownerOid, assignment_cid, referenceType, relationId, targetOid)
PRIMARY KEY (ownerOid, assignmentCid, referenceType, relationId, targetOid)
)
INHERITS (m_reference);

ALTER TABLE m_assignment_ref_create_approver ADD CONSTRAINT m_assignment_ref_create_approver_id_fk
FOREIGN KEY (ownerOid, assignment_cid) REFERENCES m_assignment (ownerOid, cid);
FOREIGN KEY (ownerOid, assignmentCid) REFERENCES m_assignment (ownerOid, cid);

-- TODO index targetOid, relationId?

-- stores assignment/metadata/modifyApproverRef
CREATE TABLE m_assignment_ref_modify_approver (
ownerOid UUID NOT NULL REFERENCES m_object_oid(oid) ON DELETE CASCADE,
assignment_cid INTEGER NOT NULL,
assignmentCid INTEGER NOT NULL,
referenceType ReferenceType GENERATED ALWAYS AS ('ASSIGNMENT_MODIFY_APPROVER') STORED,

PRIMARY KEY (ownerOid, assignment_cid, referenceType, relationId, targetOid)
PRIMARY KEY (ownerOid, assignmentCid, referenceType, relationId, targetOid)
)
INHERITS (m_reference);

ALTER TABLE m_assignment_ref_modify_approver ADD CONSTRAINT m_assignment_ref_modify_approver_id_fk
FOREIGN KEY (ownerOid, assignment_cid) REFERENCES m_assignment (ownerOid, cid);
FOREIGN KEY (ownerOid, assignmentCid) REFERENCES m_assignment (ownerOid, cid);

-- TODO index targetOid, relationId?
-- endregion
Expand Down
Expand Up @@ -23,7 +23,7 @@ public class QAssignmentReference extends QReference<MAssignmentReference, MAssi
private static final long serialVersionUID = 3046837007769017219L;

public static final ColumnMetadata ASSIGNMENT_CID =
ColumnMetadata.named("assignment_cid").ofType(Types.BIGINT).notNull();
ColumnMetadata.named("assignmentCid").ofType(Types.BIGINT).notNull();

public final NumberPath<Long> assignmentCid = createLong("assignmentCid", ASSIGNMENT_CID);

Expand Down
Expand Up @@ -28,5 +28,7 @@ public enum MReferenceType {

// OTHER REFERENCES
ASSIGNMENT_CREATE_APPROVER,
ASSIGNMENT_MODIFY_APPROVER;
ASSIGNMENT_MODIFY_APPROVER,
CASE_WI_ASSIGNEE,
CASE_WI_CANDIDATE,
}

0 comments on commit c6c1cb3

Please sign in to comment.