Thread: Bug in pg_dump 7.4

Bug in pg_dump 7.4

From
Darko Prenosil
Date:
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 !


Re: Bug in pg_dump 7.4

From
Rod Taylor
Date:
> 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.



Re: Bug in pg_dump 7.4

From
Bruno Wolff III
Date:
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?


Re: Bug in pg_dump 7.4

From
Tom Lane
Date:
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:
Fixpg_get_constraintdef()to ensure CHECK constraints are always shownwith required outer parentheses.  Breakage seems
tobe leftoverfrom domain-constraint patches.  This could be smarter aboutsuppressing extra parens, but at this stage of
therelease cycle Iwant certainty not cuteness.
 
        regards, tom lane


Re: Bug in pg_dump 7.4

From
"Darko Prenosil"
Date:
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
> version, correct?
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>