Re: Maintaining state across function calls - Mailing list pgsql-general

From matt@byrney.com
Subject Re: Maintaining state across function calls
Date
Msg-id c2c3b5c6351b3e2666235a729d25eb7a.squirrel@localhost
Whole thread Raw
In response to Re: Maintaining state across function calls  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Maintaining state across function calls  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
> matt@byrney.com writes:
>> The question is: what's the "best practice" way of letting a
>> C/C++-language function hang onto internal state across calls?
>
> A static variable for that is a really horrid idea.  Instead use
> fcinfo->flinfo->fn_extra to point to some workspace palloc'd in the
> appropriate context.  If you grep the PG sources for fn_extra you'll
> find plenty of examples.
>
>             regards, tom lane
>

Thanks for this.  Out of curiosity, why is a static a bad way to do this?


pgsql-general by date:

Previous
From: Joe Van Dyk
Date:
Subject: PITR manual doesn't reference pg_receivexlog?
Next
From: "Welty, Richard"
Date:
Subject: Re: Experiences with pl/Java