Show
Ignore:
Timestamp:
05/09/08 12:34:30 (4 months ago)
Author:
dbs
Message:

Merge rev. 9542 from trunk: add deferrable to all FKs

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/rel_1_2/Open-ILS/src/sql/Pg/006.schema.permissions.sql

    r7158 r9543  
    1414        id                      SERIAL  PRIMARY KEY, 
    1515        name                    TEXT    NOT NULL UNIQUE, 
    16         parent                  INT     REFERENCES permission.grp_tree (id) ON DELETE RESTRICT, 
     16        parent                  INT     REFERENCES permission.grp_tree (id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED, 
    1717        usergroup               BOOL    NOT NULL DEFAULT TRUE, 
    1818        perm_interval           INTERVAL DEFAULT '3 years'::interval NOT NULL, 
     
    2424CREATE TABLE permission.grp_perm_map ( 
    2525        id              SERIAL  PRIMARY KEY, 
    26         grp             INT     NOT NULL REFERENCES permission.grp_tree (id) ON DELETE CASCADE, 
    27         perm            INT     NOT NULL REFERENCES permission.perm_list (id) ON DELETE CASCADE, 
     26        grp             INT     NOT NULL REFERENCES permission.grp_tree (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, 
     27        perm            INT     NOT NULL REFERENCES permission.perm_list (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, 
    2828        depth           INT     NOT NULL, 
    2929        grantable       BOOL    NOT NULL DEFAULT FALSE, 
     
    3333CREATE TABLE permission.usr_perm_map ( 
    3434        id              SERIAL  PRIMARY KEY, 
    35         usr             INT     NOT NULL REFERENCES actor.usr (id) ON DELETE CASCADE, 
    36         perm            INT     NOT NULL REFERENCES permission.perm_list (id) ON DELETE CASCADE, 
     35        usr             INT     NOT NULL REFERENCES actor.usr (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, 
     36        perm            INT     NOT NULL REFERENCES permission.perm_list (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, 
    3737        depth           INT     NOT NULL, 
    3838        grantable       BOOL    NOT NULL DEFAULT FALSE, 
     
    4242CREATE TABLE permission.usr_grp_map ( 
    4343        id      SERIAL  PRIMARY KEY, 
    44         usr     INT     NOT NULL REFERENCES actor.usr (id) ON DELETE CASCADE, 
    45         grp     INT     NOT NULL REFERENCES permission.grp_tree (id) ON DELETE CASCADE, 
     44        usr     INT     NOT NULL REFERENCES actor.usr (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, 
     45        grp     INT     NOT NULL REFERENCES permission.grp_tree (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, 
    4646                CONSTRAINT usr_grp_once UNIQUE (usr,grp) 
    4747); 
     
    8282CREATE TABLE permission.usr_work_ou_map ( 
    8383        id      SERIAL  PRIMARY KEY, 
    84         usr     INT     NOT NULL REFERENCES actor.usr (id) ON DELETE CASCADE, 
    85         work_ou INT     NOT NULL REFERENCES actor.org_unit (id) ON DELETE CASCADE, 
     84        usr     INT     NOT NULL REFERENCES actor.usr (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, 
     85        work_ou INT     NOT NULL REFERENCES actor.org_unit (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, 
    8686                CONSTRAINT usr_work_ou_once UNIQUE (usr,work_ou) 
    8787);