~vcs-imports/mammoth-replicator/trunk

« back to all changes in this revision

Viewing changes to contrib/dbmirror/MirrorSetup.sql

  • Committer: alvherre
  • Date: 2005-12-16 21:24:52 UTC
  • Revision ID: svn-v4:db760fc0-0f08-0410-9d63-cc6633f64896:trunk:1
Initial import of the REL8_0_3 sources from the Pgsql CVS repository.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
BEGIN;
 
2
 
 
3
 
 
4
CREATE FUNCTION "recordchange" () RETURNS trigger AS
 
5
'$libdir/pending.so', 'recordchange' LANGUAGE 'C';
 
6
 
 
7
 
 
8
 
 
9
CREATE TABLE dbmirror_MirrorHost (
 
10
MirrorHostId serial not null,
 
11
SlaveName varchar NOT NULL,
 
12
PRIMARY KEY(MirrorHostId)
 
13
);
 
14
 
 
15
 
 
16
 
 
17
 
 
18
 
 
19
CREATE TABLE dbmirror_Pending (
 
20
SeqId serial,
 
21
TableName Name NOT NULL,
 
22
Op character,
 
23
XID int4 NOT NULL,
 
24
PRIMARY KEY (SeqId)
 
25
);
 
26
 
 
27
CREATE INDEX dbmirror_Pending_XID_Index ON dbmirror_Pending (XID);
 
28
 
 
29
CREATE TABLE dbmirror_PendingData (
 
30
SeqId int4 NOT NULL,
 
31
IsKey bool NOT NULL,
 
32
Data varchar,
 
33
PRIMARY KEY (SeqId, IsKey) ,
 
34
FOREIGN KEY (SeqId) REFERENCES dbmirror_Pending (SeqId) ON UPDATE CASCADE  ON DELETE CASCADE
 
35
);
 
36
 
 
37
 
 
38
CREATE TABLE dbmirror_MirroredTransaction (
 
39
XID int4 NOT NULL,
 
40
LastSeqId int4 NOT NULL,
 
41
MirrorHostId int4 NOT NULL,
 
42
PRIMARY KEY  (XID,MirrorHostId),
 
43
FOREIGN KEY (MirrorHostId) REFERENCES dbmirror_MirrorHost (MirrorHostId) ON UPDATE CASCADE ON DELETE CASCADE,
 
44
FOREIGN KEY (LastSeqId) REFERENCES dbmirror_Pending (SeqId)  ON UPDATE
 
45
CASCADE ON DELETE CASCADE
 
46
);
 
47
 
 
48
 
 
49
UPDATE pg_proc SET proname='nextval_pg' WHERE proname='nextval';
 
50
 
 
51
CREATE FUNCTION pg_catalog.nextval(text) RETURNS int8  AS
 
52
'$libdir/pending.so', 'nextval' LANGUAGE 'C' STRICT;
 
53
 
 
54
 
 
55
UPDATE pg_proc set proname='setval_pg' WHERE proname='setval';
 
56
 
 
57
CREATE FUNCTION pg_catalog.setval("unknown",integer,boolean) RETURNS int8  AS
 
58
'$libdir/pending.so', 'setval' LANGUAGE 'C' STRICT;
 
59
CREATE FUNCTION pg_catalog.setval("unknown",integer) RETURNS int8  AS
 
60
'$libdir/pending.so', 'setval' LANGUAGE 'C' STRICT;
 
61
 
 
62
COMMIT;