Re: BUG #1715: dbmirror replaces nextval, setval functions
От | Achilleus Mantzios |
---|---|
Тема | Re: BUG #1715: dbmirror replaces nextval, setval functions |
Дата | |
Msg-id | Pine.LNX.4.44.0506130952410.19183-100000@matrix.gatewaynet.com обсуждение исходный текст |
Ответ на | BUG #1715: dbmirror replaces nextval, setval functions ("James Doherty" <jdoherty@yak.ca>) |
Список | pgsql-bugs |
O James Doherty Ýãñáøå óôéò Jun 10, 2005 : > > The following bug has been logged online: > > Bug reference: 1715 > Logged by: James Doherty > Email address: jdoherty@yak.ca > PostgreSQL version: 8.0.3 > Operating system: Solaris 8 Intel > Description: dbmirror replaces nextval, setval functions > Details: > > The dbmirror contrib program replaces some key functions when setting up the > Mirroring table (MirrorSetup.sql). The nextval and setval functions are > renamed as nextval_pg and setval_pg and replaced with new functions. > > This breaks any fields made with the SERIAL datatype, which have to be > ALTER'ed to use the nextval_pg and setval_pg functions to work properly. > > > Here's the offending code in MirrorSetup.sql: > UPDATE pg_proc SET proname='nextval_pg' WHERE proname='nextval'; > > CREATE FUNCTION pg_catalog.nextval(text) RETURNS int8 AS > '$libdir/pending.so', 'nextval' LANGUAGE 'C' STRICT; > > > UPDATE pg_proc set proname='setval_pg' WHERE proname='setval'; > > CREATE FUNCTION pg_catalog.setval("unknown",integer,boolean) RETURNS int8 > AS > '$libdir/pending.so', 'setval' LANGUAGE 'C' STRICT; > CREATE FUNCTION pg_catalog.setval("unknown",integer) RETURNS int8 AS > '$libdir/pending.so', 'setval' LANGUAGE 'C' STRICT; You are right, since dbmirror mirrors tables based on whether the recordchange trigger is present, whereas it seems to mirror sequences unconditionally. You could rename dbmirror's setval,nextval to dbmirror_setval,dbmirror_nextval, and leave postgresql's original functions as is. Just a note tho: Dbmirror is a great tool, but someone needs to hack a great deal of code to meet his/her special requirements. > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org > -- -Achilleus
В списке pgsql-bugs по дате отправления: