config.usr_setting_type
Columns
| Column | Type | Nullable | Default | Notes |
|---|---|---|---|---|
name PK |
|
No |
||
opac_visible |
|
No |
false |
|
label |
|
No |
||
description |
|
Yes |
||
grp FK |
|
Yes |
||
datatype |
|
No |
'string'::text |
|
fm_class |
|
Yes |
||
reg_default |
|
Yes |
Foreign Keys
| Column(s) | References | On Delete | On Update | Deferrable | Constraint |
|---|---|---|---|---|---|
|
NO ACTION |
NO ACTION |
No |
|
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 |
|---|---|---|
|
btree |
|
|
btree |
|
Triggers
| Trigger | Timing | Event | Level | Function |
|---|---|---|---|---|
|
AFTER |
INSERT OR UPDATE |
ROW |
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;