Hi!

I am studying how to program extensions for PostgreSQL in C language.

In the example to return to return Composite-type Arguments, from the 
PostgreSQL 9.6 documentation, I could not make the cash from a cstring to the 
HeapTupleHeader type.

That is, instead of the function receive as a parameter a table:

CREATE FUNCTION c_overpaid (emp, integer) RETURNS boolean
AS DIRECTORY

SELECT name, c_overpaid (emp, 1500) AS overpaid
     From emp
     WHERE name = 'Bill' OR name = 'Sam';

And in the code in C receive the argument as:

HeapTupleHeader t = PG_GETARG_HEAPTUPLEHEADER (0);


The sql function would be defined as:

CREATE FUNCTION c_overpaid (cstring, integer) RETURNS boolean
     AS 'DIRECTORY / funcs', 'c_overpaid'
     LANGUAGE C STRICT;

But how would I receive this argument, for example:
Char * str = PG_GETARG_CSTRING (0),

And do the conversion to the HeapTupleHeader type?

What do you guys suggest?

Thanks in advance

Reply via email to