[GENERAL] Receive a string in Composite-type Arguments - Mailing list pgsql-general

From Fabiana Zioti
Subject [GENERAL] Receive a string in Composite-type Arguments
Date
Msg-id CP1PR80MB074190D34A5C5A8284D7415BFD890@CP1PR80MB0741.lamprd80.prod.outlook.com
Whole thread Raw
Responses Re: [GENERAL] Receive a string in Composite-type Arguments  (Achilleas Mantzios <achill@matrix.gatewaynet.com>)
List pgsql-general

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

pgsql-general by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: [GENERAL] sequence used on null value or get the max value for acolumn whith concurrency
Next
From: rob stone
Date:
Subject: Re: [GENERAL] sequence used on null value or get the max value fora column whith concurrency