Re: writing custom data type

From: Arthur Chan <achan(at)comprehend(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: writing custom data type
Date: 2013-02-01 21:59:22
Message-ID: CAAP2MxLMcQPjKsKxJY7QMJxRvKp-EFyLmfPeQYcKx0JQmNRzFQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Hey Tom,

Thanks for the help. It was what you said. I had to start a new psql
session. And yea, i'm pretty sure objdump does not demangle names. It would
be a nice feature if they had the demangled name in parens or something,
and that'd probably require support from glibc and gcc, no?

-Arthur

On Fri, Feb 1, 2013 at 12:58 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Arthur Chan <achan(at)comprehend(dot)com> writes:
> > I've been having trouble writing my own custom datatype for PG. when I do
> > my `CREATE FUNCTION` call, it fails with:
>
> > resultsets=# CREATE FUNCTION fuzzytime_in(cstring)
> > RETURNS fuzzytime
> > AS 'fuzzytimetype'
> > LANGUAGE C IMMUTABLE STRICT;
> > NOTICE: return type fuzzytime is only a shell
> > ERROR: could not find function "fuzzytime_in" in file
> > "/usr/lib/postgresql/9.1/lib/fuzzytimetype.so"
>
> > now I checked my shared lib, and surely enough, it's there
>
> > $ objdump -t /usr/lib/postgresql/9.1/lib/fuzzytimetype.so
> > ...
> > 00000000000018b0 g F .text 0000000000000070 fuzzytime_in
> > ...
>
> > So what gives? The code has PG_MODULE_MAGIC, and I'm
> > calling PG_FUNCTION_INFO_V1(fuzzytime_in);
>
> Huh, looks like it should work. I can think of a couple of gotchas:
>
> (1) If the library is already loaded, CREATE FUNCTION doesn't reload it.
> Maybe you have an old image of the .so in memory, which doesn't contain
> the function? Try starting a fresh psql session.
>
> (2) Maybe you compiled the function as C++, so it has a mangled name?
> This theory requires that objdump automatically de-mangles names, which
> I don't know for sure one way or the other.
>
> regards, tom lane
>

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message anderson earley 2013-02-01 22:10:43 hello!!!
Previous Message Michael Swierczek 2013-02-01 21:35:55 Re: writing custom data type