Thread: Re: [HACKERS] pg_dump, problem with user defined types?

Re: [HACKERS] pg_dump, problem with user defined types?

From
"Thomas G. Lockhart"
Date:
> Looks like I am going to need some help here.
> The old code dumped out regproc fields as the pg_proc.proname.
>  There is a problem with this.  First, you can have multiple proname
> entries with the same proname.  The differ in their argument
> number/types.  The old code, when reading in a regproc name, would do
> a sequential scan of the pg_proc table, and find the first entry that
> matches the given proname.
> If that is not the one you wanted, too bad.  No way to change it.

Hi Bruce. I'm sorry again for being so slow, but I'm still not
understanding the initial conditions which prompted these changes. Are
you fixing something proactively, or was there a specific example of
misbehavior? The example I see in your mail with Tatsuo which now causes
trouble is for type input and output routine names, which _are_ likely
to be unique.

Would it be possible for you to bracket the code in the cvs tree so that
we can enable/disable the old behavior? That way we can see what has
changed and how it used to behave. I suppose that would involve
bracketing code in regprocin/out and in pg_dump??

TIA

                     - Tom

Re: [HACKERS] pg_dump, problem with user defined types?

From
Bruce Momjian
Date:
> > Looks like I am going to need some help here.
> > The old code dumped out regproc fields as the pg_proc.proname.
> >  There is a problem with this.  First, you can have multiple proname
> > entries with the same proname.  The differ in their argument
> > number/types.  The old code, when reading in a regproc name, would do
> > a sequential scan of the pg_proc table, and find the first entry that
> > matches the given proname.
> > If that is not the one you wanted, too bad.  No way to change it.
>
> Hi Bruce. I'm sorry again for being so slow, but I'm still not
> understanding the initial conditions which prompted these changes. Are
> you fixing something proactively, or was there a specific example of
> misbehavior? The example I see in your mail with Tatsuo which now causes
> trouble is for type input and output routine names, which _are_ likely
> to be unique.
>
> Would it be possible for you to bracket the code in the cvs tree so that
> we can enable/disable the old behavior? That way we can see what has
> changed and how it used to behave. I suppose that would involve
> bracketing code in regprocin/out and in pg_dump??

Proactive fix.  See my other posting today that has an idea to roll back
the old behavour, while making sure the regproc name is unique.

--
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026