Saving SRF context

From: Salvador Fandiño <sfandino(at)gmail(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Saving SRF context
Date: 2016-03-11 20:19:21
Message-ID: 56E32849.3000006@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

I have implemented a SRF[*] that returns rows one by one (using
ExprMultipleResult). But now I need to save somewhere some context
information between calls pertaining to the same result set and I am
unable to find a proper place for that.

I have seen that cfinfo->flinfo->fn_extra is available, but if I
understand the mechanics of FmgrInfo correctly, that structure is not
unique for call frame. It could be shared between several cfinfo
structures and would be crushed on recursion (I plan to use SPI from my
function).

So, is that right? should I build a stack there? is there any other
place where to store context information relative to a SRF call frame?

Regards

* Code is here: https://github.com/salva/plswipl, I am trying to provide
a procedural language using SWI-Prolog.

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Vitaly Burovoy 2016-03-11 20:20:01 Re: [PATH] Correct negative/zero year in to_date/to_timestamp
Previous Message Tom Lane 2016-03-11 19:49:06 Re: Change error code for hstore syntax error