| От | Fabio Furia Silva |
|---|---|
| Тема | Persistent variables between cross-calls in C functions |
| Дата | |
| Msg-id | b5pv6j$2isf$1@news.hub.org обсуждение исходный текст |
| Ответы |
Re: Persistent variables between cross-calls in C functions
|
| Список | pgsql-general |
Dear all:
I could not find any way to store a value in a C function between calls
inside the same session.
For example, the following function doesn't work as expected:
/********************************/
#include "postgres.h"
#include "fmgr.h"
PG_FUNCTION_INFO_V1(next_value);
Datum next_value(PG_FUNCTION_ARGS)
{
static int n;
PG_RETURN_INT32(n);
n++;
}
/********************************/
create function next_value()
returns integer as
'next.so' language C;
/********************************/
Calling
select next_value();
will always return 0,
even if I declare 'n' as a global variable outside the C function.
Thanks a lot.
Fabio Furia Silva
В списке pgsql-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера