Re: Returning Vector of Pairs with a PostgreSQL C Extension Function

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: Returning Vector of Pairs with a PostgreSQL C Extension Function
Дата
Msg-id CAFj8pRDLd+8Uc26vXCV_gU-8GvdwtP-S2Do-YcpwBoiwZt2fwA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Returning Vector of Pairs with a PostgreSQL C ExtensionFunction  (TalGloz <glozmantal@gmail.com>)
Ответы Re: Returning Vector of Pairs with a PostgreSQL C ExtensionFunction  (TalGloz <glozmantal@gmail.com>)
Список 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 по дате отправления:

Предыдущее
От: TalGloz
Дата:
Сообщение: Re: Returning Vector of Pairs with a PostgreSQL C ExtensionFunction
Следующее
От: TalGloz
Дата:
Сообщение: Re: Returning Vector of Pairs with a PostgreSQL C ExtensionFunction