Re: SETOF function call

From: Olivier Thauvin <olivier(dot)thauvin(at)aerov(dot)jussieu(dot)fr>
To: Philip Yarra <philip(at)utiba(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: SETOF function call
Date: 2005-04-19 14:45:22
Message-ID: 200504191645.22577.olivier.thauvin@aerov.jussieu.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Le Tuesday 19 April 2005 04:16, vous avez écrit :
> sizeof(Datum) == sizeof(long) - is that compatible with %d formatting (I'm
> guessing something like vsprintf takes place in elog)? Wouldn't this need
> %ld or %lu?
>
> Sorry if this misses the point, I wasn't clear from original post if the
> segfault was on elog or after it.

No, the elog works fine, and will be removed in final code, so the the mistake
between int and long int is not a real issue here.

The code segfault later, in the other function.

To be clean I am trying to in C code this:

CREATE FUNCTION rpmquery(rpmheader, TEXT) RETURNS SETOF TEXT AS $$
select * from rpmquery($1, rpmtag($2));
$$ LANGUAGE SQL;

Maybe it is easier to it as sql functions, but for my knowledge I like to
understand what I am doing wrong :)

Current buggy code is there, at the end:
http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgrpm/pgrpm/pgheader.c?rev=1.1&content-type=text/x-cvsweb-markup

Of course patch/comments are welcome.

>
> Regards, Philip.
>
> On Tuesday 19 April 2005 11:53, Tom Lane wrote:
> > Olivier Thauvin <olivier(dot)thauvin(at)aerov(dot)jussieu(dot)fr> writes:
> > > Datum
> > > header_querytxt(PG_FUNCTION_ARGS)
> > > {
> > > elog(NOTICE, "querytxt");
> > > Datum tag;
> > > /* converting TEXT value to integer one */
> > > tag = DirectFunctionCall1(rpmtagvalue, PG_GETARG_TEXT_P(1));
> > > elog(NOTICE, "querytxt %d", tag);
> > > /* header_query = function accepting integer instead text)
> > > PG_RETURN_POINTER(DirectFunctionCall2(header_query,
> > > PG_GETARG_BYTEA_P_COPY(0), tag));
> > > }
> >
> > If that's a cut-and-paste, then you seem to be short a */ on the second
> > comment ...
> >
> > regards, tom lane
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 9: the planner will ignore your desire to choose an index scan if
> > your joining column's datatypes do not match
> >
> > -----------------
> > Utiba Pty Ltd
> > This message has been scanned for viruses and
> > dangerous content by Utiba mail server and is
> > believed to be clean.
>
> -----------------
> Utiba Pty Ltd
> This message has been scanned for viruses and
> dangerous content by Utiba mail server and is
> believed to be clean.
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2005-04-19 15:05:32 Re: Problem with PITR recovery
Previous Message Bruce Momjian 2005-04-19 14:38:43 Re: [HACKERS] Implementation of SQLCODE and SQLERRM variables