Bug in pg_dump 7.4

Started by Darko Prenosilover 21 years ago5 messages
#1Darko Prenosil
darko.prenosil@finteh.hr

Part of dump file:

CREATE DOMAIN doc_ident AS bigint NOT NULL DEFAULT
nextval('doc.seq_doc_id'::text)
CONSTRAINT cnst_chk_doc_id CHECK fn_chk_doc_id(VALUE);

It should look like this:

CREATE DOMAIN doc_ident AS bigint NOT NULL DEFAULT
nextval('doc.seq_doc_id'::text)
CONSTRAINT cnst_chk_doc_id CHECK ( fn_chk_doc_id(VALUE) ) ;

I did not notice any similar error report on the list, so I believe that this
is not fixed yet ?

Regards !

#2Rod Taylor
pg@rbt.ca
In reply to: Darko Prenosil (#1)
Re: Bug in pg_dump 7.4

CREATE DOMAIN doc_ident AS bigint NOT NULL DEFAULT
nextval('doc.seq_doc_id'::text)
CONSTRAINT cnst_chk_doc_id CHECK ( fn_chk_doc_id(VALUE) ) ;

I did not notice any similar error report on the list, so I believe that this
is not fixed yet ?

It comes out right for me in 7.4.2.

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Rod Taylor (#2)
Re: Bug in pg_dump 7.4

Rod Taylor <pg@rbt.ca> writes:

CREATE DOMAIN doc_ident AS bigint NOT NULL DEFAULT
nextval('doc.seq_doc_id'::text)
CONSTRAINT cnst_chk_doc_id CHECK ( fn_chk_doc_id(VALUE) ) ;

It comes out right for me in 7.4.2.

AFAICT the relevant fix was well before 7.4 release:

2003-10-04 14:22 tgl

* src/: backend/utils/adt/ruleutils.c,
backend/utils/cache/lsyscache.c, include/utils/lsyscache.h: Fix
pg_get_constraintdef() to ensure CHECK constraints are always shown
with required outer parentheses. Breakage seems to be leftover
from domain-constraint patches. This could be smarter about
suppressing extra parens, but at this stage of the release cycle I
want certainty not cuteness.

regards, tom lane

#4Bruno Wolff III
bruno@wolff.to
In reply to: Rod Taylor (#2)
Re: Bug in pg_dump 7.4

On Thu, May 06, 2004 at 10:17:31 -0400,
Rod Taylor <pg@rbt.ca> wrote:

CREATE DOMAIN doc_ident AS bigint NOT NULL DEFAULT
nextval('doc.seq_doc_id'::text)
CONSTRAINT cnst_chk_doc_id CHECK ( fn_chk_doc_id(VALUE) ) ;

I did not notice any similar error report on the list, so I believe that this
is not fixed yet ?

It comes out right for me in 7.4.2.

What type is fn_chk_doc_id? There was a bug like this for boolean variables
in the 7.4 beta. Maybe there is a similar bug for boolean functions?
Just to be sure, this is happening in a released version of 7.4, not a beta
version, correct?

#5Darko Prenosil
Darko.Prenosil@finteh.hr
In reply to: Darko Prenosil (#1)
Re: Bug in pg_dump 7.4

Sorry, this was 7.4 beta 3 ( I was upgrading one test database from 7.4 beta
3, pg_restore was version 7.4.2).
You are right, fn_chk_doc_id is bool type.
However I'll try to dump upgraded database with a new version of pg_dump and
let You know.
Sorry again :-(

Regards !

----- Original Message -----
From: "Bruno Wolff III" <bruno@wolff.to>
To: "Rod Taylor" <pg@rbt.ca>
Cc: "Darko Prenosil" <darko.prenosil@finteh.hr>; "PostgreSQL Development"
<pgsql-hackers@postgresql.org>
Sent: Thursday, May 06, 2004 6:41 PM
Subject: Re: [HACKERS] Bug in pg_dump 7.4

On Thu, May 06, 2004 at 10:17:31 -0400,
Rod Taylor <pg@rbt.ca> wrote:

CREATE DOMAIN doc_ident AS bigint NOT NULL DEFAULT
nextval('doc.seq_doc_id'::text)
CONSTRAINT cnst_chk_doc_id CHECK ( fn_chk_doc_id(VALUE) ) ;

I did not notice any similar error report on the list, so I believe

that this

is not fixed yet ?

It comes out right for me in 7.4.2.

What type is fn_chk_doc_id? There was a bug like this for boolean

variables

in the 7.4 beta. Maybe there is a similar bug for boolean functions?
Just to be sure, this is happening in a released version of 7.4, not a

beta

Show quoted text

version, correct?

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend