From: | Achilleas Mantzios <achill(at)matrix(dot)gatewaynet(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Receive a string in Composite-type Arguments |
Date: | 2017-08-11 14:39:24 |
Message-ID: | 5f3b7c0a-f72d-5d2a-3712-8e0396e72ded@matrix.gatewaynet.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 11/08/2017 16:09, Fabiana Zioti wrote:
>
> 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?
>
Why do you want to convert this to HeapTupleHeader since this is *not* a tuple but a string value? What do you want to achieve? IMHO you better start with simpler examples, make them run, and proceed
as you understand more and more.
>
>
> What do you guys suggest?
>
> Thanks in advance
>
--
Achilleas Mantzios
IT DEV Lead
IT DEPT
Dynacom Tankers Mgmt
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2017-08-11 15:12:27 | Re: Receive a string in Composite-type Arguments |
Previous Message | Murtuza Zabuawala | 2017-08-11 14:15:29 | Fwd: 2 process postgres -D for one instance |