Обсуждение: Bug in pg_dump 7.4
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 !
> 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.
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?
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
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
>