config.z3950_index_field_map

Deferrable Constraints: The following FK constraints are deferrable — they are checked at transaction end, not statement end: z3950_index_field_map_metabib_field_fkey.

Columns

Column Type Nullable Default Notes

id PK

integer

No

nextval('config.z3950_index_field_map_id_seq'::regclass)

label

text

No

metabib_field FK

integer

Yes

config.metabib_field(id)

record_attr FK

text

Yes

config.record_attr_definition(name)

z3950_attr FK

integer

Yes

config.z3950_attr(id)

z3950_attr_type

text

Yes

Primary Key

(id)

Foreign Keys

Column(s) References On Delete On Update Deferrable Constraint

metabib_field

config.metabib_field(id)

NO ACTION

CASCADE

DEFERRED

z3950_index_field_map_metabib_field_fkey

record_attr

config.record_attr_definition(name)

NO ACTION

NO ACTION

No

z3950_index_field_map_record_attr_fkey

z3950_attr

config.z3950_attr(id)

NO ACTION

NO ACTION

No

z3950_index_field_map_z3950_attr_fkey

Check Constraints

  • attr_or_attr_type: CHECK

  • metabib_field_or_record_attr: CHECK

Indexes

Index Method Definition

z3950_index_field_map_pkey PK

btree

CREATE UNIQUE INDEX z3950_index_field_map_pkey ON config.z3950_index_field_map USING btree (id)

Triggers

Trigger Timing Event Level Function

valid_z3950_attr_type

AFTER

INSERT OR UPDATE

ROW

evergreen.z3950_attr_name_is_valid()

Trigger Bodies

valid_z3950_attr_type

Function: evergreen.z3950_attr_name_is_valid()
Timing: AFTER INSERT OR UPDATE ROW

    BEGIN

      PERFORM * FROM config.z3950_attr WHERE name = NEW.z3950_attr_type;

      IF FOUND THEN
        RETURN NULL;
      END IF;

      RAISE EXCEPTION '% is not a valid Z39.50 attribute type', NEW.z3950_attr_type;

    END;