From 2514bf65d13ccc09270a6992b19ffc432abe6fa1 Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc kop@karlpinc.com" Date: Fri, 5 Jun 2026 19:25:10 +0000 Subject: [PATCH] Remove GROOMINGS.GrID and use EID as the primary key --- db/schemas/lib/triggers/create/groomings.m4 | 16 ++++++-------- .../sokwedb/indexes/create/groomings.m4 | 5 ----- db/schemas/sokwedb/indexes/drop/groomings.m4 | 3 --- db/schemas/sokwedb/tables/create/groomings.m4 | 5 +++-- doc/diagrams/events.svg | 22 ++----------------- doc/src/epilog.inc.m4 | 2 -- doc/src/tables/groomings.m4 | 11 +--------- 7 files changed, 13 insertions(+), 51 deletions(-) diff --git a/db/schemas/lib/triggers/create/groomings.m4 b/db/schemas/lib/triggers/create/groomings.m4 index 159f8e4..578a940 100644 --- a/db/schemas/lib/triggers/create/groomings.m4 +++ b/db/schemas/lib/triggers/create/groomings.m4 @@ -36,12 +36,11 @@ CREATE OR REPLACE FUNCTION groomings_func () `The Meme Factory, Inc., www.karlpinc.com') IF TG_OP = 'UPDATE' THEN - cannot_change(`GROOMINGS', `GrID') + cannot_change(`GROOMINGS', `EID') END IF; -- The EVENTS.Behavior must be sdb_grooming - IF TG_OP = 'INSERT' - OR NEW.eid <> OLD.eid THEN + IF TG_OP = 'INSERT' THEN DECLARE -- EVENTS a_behavior events.behavior%TYPE; @@ -73,8 +72,8 @@ CREATE OR REPLACE FUNCTION groomings_func () MESSAGE = 'Error on ' || TG_OP || ' of GROOMINGS' , DETAIL = 'Groomings can only be related to an event with an' || ' EVENTS.Behavior value of (sdb_grooming)' - || ': Key (GrID = (' - || NEW.grid + || ': Key (EID = (' + || NEW.eid || '): Value (Initiator) = (' || textualize(`NEW.initiator') || '): Value (Terminator) = (' @@ -152,8 +151,8 @@ define({_sdb_grm_actor_or_actee}, || ' in the grooming event and must either be the' || ' one doing the grooming or the one receiving the' || ' grooming' - || ': Key (GrID = (' - || NEW.grid + || ': Key (EID = (' + || NEW.eid || '): Value (Initiator) = (' || textualize(`NEW.initiator') || '): Value (Terminator) = (' @@ -195,8 +194,7 @@ CREATE OR REPLACE FUNCTION groomings_commit_func () -- AGPL_notice(` --', `2026', `The Meme Factory, Inc., www.karlpinc.com') - IF TG_OP = 'INSERT' - OR NEW.eid <> OLD.eid THEN + IF TG_OP = 'INSERT' THEN DECLARE -- EVENTS a_start events.start%TYPE; diff --git a/db/schemas/sokwedb/indexes/create/groomings.m4 b/db/schemas/sokwedb/indexes/create/groomings.m4 index 96bc030..a9342da 100644 --- a/db/schemas/sokwedb/indexes/create/groomings.m4 +++ b/db/schemas/sokwedb/indexes/create/groomings.m4 @@ -21,11 +21,6 @@ include(`copyright.m4')dnl include(`constants.m4')dnl include(`indexmacros.m4')dnl -CREATE UNIQUE INDEX IF NOT EXISTS - "GROOMINGS has, at most, a 1-to-1 releationship with EVENTS" - ON groomings - (eid); - CREATE INDEX IF NOT EXISTS groomings_initiator ON groomings (initiator); CREATE INDEX IF NOT EXISTS groomings_terminator ON groomings diff --git a/db/schemas/sokwedb/indexes/drop/groomings.m4 b/db/schemas/sokwedb/indexes/drop/groomings.m4 index 7c40c02..0b164e5 100644 --- a/db/schemas/sokwedb/indexes/drop/groomings.m4 +++ b/db/schemas/sokwedb/indexes/drop/groomings.m4 @@ -21,9 +21,6 @@ include(`copyright.m4')dnl include(`constants.m4')dnl include(`indexmacros.m4')dnl -DROP INDEX IF EXISTS - "GROOMINGS has, at most, a 1-to-1 releationship with EVENTS"; - DROP INDEX IF EXISTS groomings_initiator; DROP INDEX IF EXISTS groomings_terminator; DROP INDEX IF EXISTS groomings_initiator; diff --git a/db/schemas/sokwedb/tables/create/groomings.m4 b/db/schemas/sokwedb/tables/create/groomings.m4 index c5e4951..b6eedf5 100644 --- a/db/schemas/sokwedb/tables/create/groomings.m4 +++ b/db/schemas/sokwedb/tables/create/groomings.m4 @@ -24,8 +24,7 @@ include(`grants.m4')dnl dnl CREATE TABLE groomings ( - key_column(`GROOMINGS', `GrID', INTEGER) - ,eid INTEGER NOT NULL + eid INTEGER NOT NULL REFERENCES events ,initiator INTEGER REFERENCES roles (pid) @@ -37,4 +36,6 @@ CREATE TABLE groomings ( REFERENCES people ); +eid_primary_key(`GROOMINGS') + grant_priv(`GROOMINGS') diff --git a/doc/diagrams/events.svg b/doc/diagrams/events.svg index 0917590..7a1a29c 100644 --- a/doc/diagrams/events.svg +++ b/doc/diagrams/events.svg @@ -822,7 +822,7 @@ inkscape:pageshadow="2" inkscape:zoom="3.6096384" inkscape:cx="242.68359" - inkscape:cy="570.8328" + inkscape:cy="770.29876" inkscape:document-units="mm" inkscape:current-layer="layer3" inkscape:document-rotation="0" @@ -1679,7 +1679,7 @@ + transform="matrix(1.0000018,0,0,1.0041489,-11.052594,157.32401)"> - GrID - ` .. |GROOMINGS| replace:: :ref:`GROOMINGS ` -.. |GROOMINGS.GrID| replace:: - :ref:`GrID ` .. |GROOMINGS.EID| replace:: :ref:`EID ` .. |GROOMINGS.Initiator| replace:: diff --git a/doc/src/tables/groomings.m4 b/doc/src/tables/groomings.m4 index 120f890..4b7c964 100644 --- a/doc/src/tables/groomings.m4 +++ b/doc/src/tables/groomings.m4 @@ -72,16 +72,6 @@ table. :depth: 2 -.. _GROOMINGS.GrID: - -GrID (Grooming ID) -`````````````````` - -.. |GROOMINGS.GrID_summary| replace:: |idcol| - -|GROOMINGS.GrID_summary| |notnull| - - .. _GROOMINGS.EID: EID (Event ID) @@ -89,6 +79,7 @@ EID (Event ID) .. |GROOMINGS.EID_summary| replace:: The |EVENTS|.\ |EVENTS.EID| identifying the grooming event. + |idcol| |GROOMINGS.EID_summary| The related event contains information on the time of the grooming -- 2.34.1