BUG #1714: dbmirror replaces nextval, setval functions

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

BUG #1714: dbmirror replaces nextval, setval functions

James Doherty-2

The following bug has been logged online:

Bug reference:      1714
Logged by:          James Doherty
Email address:      [hidden email]
PostgreSQL version: 8.0.3
Operating system:   Solaris 8 Intel
Description:        dbmirror replaces nextval, setval functions

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
'$libdir/pending.so', 'setval' LANGUAGE 'C' STRICT;
CREATE FUNCTION pg_catalog.setval("unknown",integer) RETURNS int8  AS
'$libdir/pending.so', 'setval' LANGUAGE 'C' STRICT;

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [hidden email])