> 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@candle.pha.pa.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. |