Skip site navigation (1) Skip section navigation (2)

Re: BUG #1715: dbmirror replaces nextval, setval functions

From: Achilleus Mantzios <achill(at)matrix(dot)gatewaynet(dot)com>
To: James Doherty <jdoherty(at)yak(dot)ca>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #1715: dbmirror replaces nextval, setval functions
Date: 2005-06-13 06:59:03
Message-ID: Pine.LNX.4.44.0506130952410.19183-100000@matrix.gatewaynet.com (view raw or flat)
Thread:
Lists: 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(at)yak(dot)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(at)postgresql(dot)org
> 

-- 
-Achilleus


In response to

pgsql-bugs by date

Next:From: Dave PageDate: 2005-06-13 07:16:48
Subject: Re: BUG #1703: dns for ftp mirrors messed up
Previous:From: Tom LaneDate: 2005-06-13 04:39:14
Subject: Re: BUG #1707: statistics collector starts with stats_start_collector = false

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group