1 DROP SCHEMA biblio CASCADE;
6 CREATE SEQUENCE biblio.autogen_tcn_value_seq;
7 CREATE FUNCTION biblio.next_autogen_tcn_value () RETURNS TEXT AS $$
8 BEGIN RETURN nextval('biblio.autogen_tcn_value_seq'::TEXT); END;
11 CREATE TABLE biblio.record_entry (
12 id BIGSERIAL PRIMARY KEY,
14 tcn_source TEXT NOT NULL DEFAULT 'AUTOGEN',
15 tcn_value TEXT NOT NULL DEFAULT biblio.next_autogen_tcn_value(),
16 creator INT NOT NULL DEFAULT 1,
17 editor INT NOT NULL DEFAULT 1,
18 create_date TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(),
19 edit_date TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(),
20 active BOOL NOT NULL DEFAULT TRUE,
21 deleted BOOL NOT NULL DEFAULT FALSE,
24 last_xact_id TEXT NOT NULL
26 CREATE INDEX biblio_record_entry_creator_idx ON biblio.record_entry ( creator );
27 CREATE INDEX biblio_record_entry_editor_idx ON biblio.record_entry ( editor );
28 CREATE UNIQUE INDEX biblio_record_unique_tcn ON biblio.record_entry (tcn_source,tcn_value) WHERE deleted IS FALSE;
30 CREATE TABLE biblio.record_note (
31 id BIGSERIAL PRIMARY KEY,
32 record BIGINT NOT NULL,
34 creator INT NOT NULL DEFAULT 1,
35 editor INT NOT NULL DEFAULT 1,
36 create_date TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(),
37 edit_date TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now()
39 CREATE INDEX biblio_record_note_record_idx ON biblio.record_note ( record );
40 CREATE INDEX biblio_record_note_creator_idx ON biblio.record_note ( creator );
41 CREATE INDEX biblio_record_note_editor_idx ON biblio.record_note ( editor );
43 INSERT INTO biblio.record_entry VALUES (-1,'','AUTOGEN','-1',1,1,NOW(),NOW(),FALSE,FALSE,1,'','FOO');