Re: Returning Vector of Pairs with a PostgreSQL C Extension Function - Mailing list pgsql-general

From Pavel Stehule
Subject Re: Returning Vector of Pairs with a PostgreSQL C Extension Function
Date
Msg-id CAFj8pRDLd+8Uc26vXCV_gU-8GvdwtP-S2Do-YcpwBoiwZt2fwA@mail.gmail.com
Whole thread Raw
In response to Re: Returning Vector of Pairs with a PostgreSQL C ExtensionFunction  (TalGloz <glozmantal@gmail.com>)
Responses Re: Returning Vector of Pairs with a PostgreSQL C ExtensionFunction
List pgsql-general


2018-08-27 14:40 GMT+02:00 TalGloz <glozmantal@gmail.com>:
It looks like changing the

elements[0] = CStringGetDatum(localT1.c_str());
elements[1] = CStringGetDatum(localT2.c_str());

to:

elements[0] = PointerGetDatum(cstring_to_text(localT1.c_str()));
elements[1] = PointerGetDatum(cstring_to_text(localT2.c_str()));

Solved the problem. If anyone thinks that there is a better way please tell
me.

There is not better or worst way - you have to use just correct way, that is one

There are already prepared macros

#define CStringGetTextDatum(s) PointerGetDatum(cstring_to_text(s))
#define TextDatumGetCString(d) text_to_cstring((text *) DatumGetPointer(d))

you can use it.

Regards

Pavel


pgsql-general by date:

Previous
From: TalGloz
Date:
Subject: Re: Returning Vector of Pairs with a PostgreSQL C ExtensionFunction
Next
From: TalGloz
Date:
Subject: Re: Returning Vector of Pairs with a PostgreSQL C ExtensionFunction