config.usr_setting_type

Columns

Column Type Nullable Default Notes

name PK

text

No

opac_visible

boolean

No

false

label

text

No

description

text

Yes

grp FK

text

Yes

config.settings_group(name)

datatype

text

No

'string'::text

fm_class

text

Yes

reg_default

text

Yes

Primary Key

(name)

Foreign Keys

Column(s) References On Delete On Update Deferrable Constraint

grp

config.settings_group(name)

NO ACTION

NO ACTION

No

usr_setting_type_grp_fkey

Unique Constraints

  • usr_setting_type_label_key: (label)

Check Constraints

  • coust_no_empty_link: CHECK ((datatype = 'link'::text) AND (fm_class IS NOT NULL OR datatype <> 'link'::text) AND (fm_class IS NULL))

  • coust_valid_datatype: CHECK datatype = ANY (ARRAY['bool'::text, 'integer'::text, 'float'::text, 'currency'::text, 'interval'::text, 'date'::text, 'string'::text, 'object'::text, 'array'::text, 'link'::text])

Indexes

Index Method Definition

usr_setting_type_pkey PK

btree

CREATE UNIQUE INDEX usr_setting_type_pkey ON config.usr_setting_type USING btree (name)

usr_setting_type_label_key UNIQUE

btree

CREATE UNIQUE INDEX usr_setting_type_label_key ON config.usr_setting_type USING btree (label)

Triggers

Trigger Timing Event Level Function

check_setting_is_usr_or_ws

AFTER

INSERT OR UPDATE

ROW

config.setting_is_user_or_ws()

Trigger Bodies

check_setting_is_usr_or_ws

Function: config.setting_is_user_or_ws()
Timing: AFTER INSERT OR UPDATE ROW

BEGIN

    IF TG_TABLE_NAME = 'usr_setting_type' THEN
        PERFORM TRUE FROM config.workstation_setting_type cwst
            WHERE cwst.name = NEW.name;
        IF NOT FOUND THEN
            RETURN NULL;
        END IF;
    END IF;

    IF TG_TABLE_NAME = 'workstation_setting_type' THEN
        PERFORM TRUE FROM config.usr_setting_type cust
            WHERE cust.name = NEW.name;
        IF NOT FOUND THEN
            RETURN NULL;
        END IF;
    END IF;

    RAISE EXCEPTION
        '% Cannot be used as both a user setting and a workstation setting.',
        NEW.name;
END;

Referenced By

The following tables have foreign keys pointing to config.usr_setting_type (2 referencing table(s)):

Table Referencing Column(s) Referenced Column(s) Constraint

action_trigger.event_definition

opt_in_setting

name

event_definition_opt_in_setting_fkey

actor.usr_setting

name

name

usr_setting_name_fkey