Thread: postgresql 7.1.1 and textout and textin

postgresql 7.1.1 and textout and textin

From
Jaume Teixi
Date:
Hello,

trying to migrate production servers form 7.0.2 to 7.1.1 now I need to
compile an function written in c and when compiling using following
includes:

#include <postgres.h>
#include <utils/builtins.h>
#include <utils/palloc.h>
#include <string.h>            //now doesn't exist ? here the mistake ?

I get following compile errors:

c:82: warning: passing arg 1 of `textout' from incompatible pointer type

line 82:  src = textout( src_string );

c:238: warning: passing arg 1 of `textin' from incompatible pointer type

line 238:  return( (text *)textin( ret ) );



thanks!

jaume.

Re: postgresql 7.1.1 and textout and textin

From
Tom Lane
Date:
Jaume Teixi <teixi@6tems.com> writes:
> trying to migrate production servers form 7.0.2 to 7.1.1 now I need to
> compile an function written in c and when compiling using following
> includes:

> c:82: warning: passing arg 1 of `textout' from incompatible pointer type

> line 82:  src = textout( src_string );

textout (and all the other built-in SQL functions) now have to be called
via the "new style" calling convention.  Which unfortunately is a pain
in the neck to code in bare C.  A number of modules do something like
this:

#define _textout(str) DatumGetPointer(DirectFunctionCall1(textout, PointerGetDatum(str)))

The price of progress :-(.  See the documentation for more info.

            regards, tom lane