Re: [GENERAL] Receive a string in Composite-type Arguments

Поиск
Список
Период
Сортировка
От Achilleas Mantzios
Тема Re: [GENERAL] Receive a string in Composite-type Arguments
Дата
Msg-id 5f3b7c0a-f72d-5d2a-3712-8e0396e72ded@matrix.gatewaynet.com
обсуждение исходный текст
Ответ на [GENERAL] Receive a string in Composite-type Arguments  (Fabiana Zioti <fabi_zioti@hotmail.com>)
Ответы Re: [GENERAL] Receive a string in Composite-type Arguments
Список 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

В списке pgsql-general по дате отправления:

Предыдущее
От: Murtuza Zabuawala
Дата:
Сообщение: [GENERAL] Fwd: 2 process postgres -D for one instance
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: [GENERAL] Receive a string in Composite-type Arguments