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


---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to