Re: Creating server-side functions: one simple error

From: elein <elein(at)sbcglobal(dot)net>(by way of elein <elein(at)sbcglobal(dot)net>)
To: pgsql-bugs(at)postgresql(dot)org
Subject: Re: Creating server-side functions: one simple error
Date: 2002-10-11 22:15:50
Message-ID: 200210112215.g9BMFYne132326@pimout3-ext.prodigy.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

This will not work if there is no EOS on the data portion of the
string. Text fields are not usually stored with the EOS on them,
are they?

elein
elein(at)norcov(dot)com

On Wednesday 09 October 2002 21:14, Joe Conway wrote:
> Ruslan A Dautkhanov wrote:
> > Btw, how I can convert TEXT field to a CString one? I had tried to use
> > char *cnum = PG_GETARG_CSTRING(0) instead of
> > text tnum = PG_GETARG_NAME(0), but it's not worked properly. Is any
> > function to convert text object to a null-terminated string??? Thanks
> > again.
>
> I like to use the following macros:
>
> /* convert C string to text pointer */
> #define GET_TEXT(cstrp) \
> DatumGetTextP(DirectFunctionCall1(textin, CStringGetDatum(cstrp)))
> /* convert text pointer to C string */
> #define GET_STR(textp) \
> DatumGetCString(DirectFunctionCall1(textout, PointerGetDatum(textp)))
>
> then you can do, e.g.
> char *cnum = GET_STR(PG_GETARG_TEXT_P(0));
>
> BTW, there are lots of good examples of C functions in contrib.
>
> HTH,
>
> Joe
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Peter Eisentraut 2002-10-11 22:42:47 Re: Creating server-side functions: one simple error
Previous Message Ruslan A Dautkhanov 2002-10-11 08:27:58 Re: Creating server-side functions: one simple error