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

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: emkxp01(at)mtcc(dot)demon(dot)co(dot)uk
Cc: hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] pg_dump, problem with user defined types?
Date: 1998-09-23 16:46:00
Message-ID: 199809231646.MAA29260@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Hi All,
>
> I can't confirm this against the current latest CVS as my
> local tree has undergone some changes, but we seem to have
> a problem with "pg_dump" and user defined types.
>
> If I create a type like so:-
>
> CREATE FUNCTION sotime_in (opaque ) RETURNS opaque AS
> '/usr/local/pgsql/shlibs/obj/sotimes.so' LANGUAGE 'C';
>
> CREATE FUNCTION sotime_out (opaque ) RETURNS opaque AS
> '/usr/local/pgsql/shlibs/obj/sotimes.so' LANGUAGE 'C';
>
> CREATE TYPE sotime ( internallength = 2, externallength = 5,
> input = sotime_in, output = sotime_out, send = sotime_out,
> receive = sotime_in, default = '-',passedbyvalue);
>
> pg_dump gives me back :-
>
> CREATE TYPE sotime ( internallength = 2, externallength = 5,
> input = sotime_in_18272, output = sotime_out_18304, send = sotime_out_18304,
> receive = sotime_in_18272, default = '-',passedbyvalue);
>
> CREATE TYPE _sotime ( internallength = -1, externallength = -1,
> input = array_in_750, output = array_out_751, send = array_out_751,
> receive = array_in_750, default = '-');
> .
> <table creates>
> .
> CREATE FUNCTION sotime_in (opaque ) RETURNS opaque AS
> '/usr/local/pgsql/shlibs/obj/sotimes.so' LANGUAGE 'C';
> CREATE FUNCTION sotime_out (opaque ) RETURNS opaque AS
> '/usr/local/pgsql/shlibs/obj/sotimes.so' LANGUAGE 'C';
>
>
> Looks like the FUNCTION creates are OK but the TYPE creation
> is a little confused.
>
> I remember some discussion about name mangling for the functions
> but it looks like pg_dump can't cope with this.
>
> Another thing I can't understand is pg_dump dumping the _sotime
> type, which seems to be created automatically when I create
> the sotime type.
>
> Needless to say, I can't dump/restore a database with user defined
> types at all.

Yes, we have a problem with user-defined types because of the changes I
made to make the function name unique by adding the pg_proc oid to the
name.

I can make the fix, but no one seems to have an opinion on how yet. I
can e-mail the pertinent postings if you want to discuss solutions.

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1998-09-23 17:48:50 Re: [HACKERS] Problem on TODO list
Previous Message Sferacarta Software 1998-09-23 15:25:52 Re: [SQL] Question re: null