Re: [HACKERS] PL/pgSQL and SPI

From: Vadim Mikheev <vadim(at)krs(dot)ru>
To: Jan Wieck <jwieck(at)debis(dot)com>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] PL/pgSQL and SPI
Date: 1999-01-27 18:44:33
Message-ID: 36AF5E91.18DC8F3E@krs.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Jan Wieck wrote:
>
> >
> > Could we fill most of FunctionCache while parsing query ?!
>
> And then letting copyNode() copy the fcache too so it's
> allocated in the same memory context.

Or we could move these items from fcache struct to
Func/Oper node...

> Will require a flag in the fcache that is used to tell that
> setFcache() must be called to fill in the remaining fields
> (there are some things taken from the actual executor state).
> This flag is then cleared by copyNode() and the fields in
> question left uncopied.

I missed here, please explain. What fields are you talking about?
Note that to support READ COMMITTED level I copy execution plan
_after_ execution started and so nothing used to keep execution
states, but not handled (re-initialized) by ExecInitNode,
must be copied.
Also, see below.

> This might also let us get rid of the tree copy in
> SPI_execp(), if we form another tree-traversal function that
> resets the flag in all Func and Oper nodes of the whole tree,
> so the prepared/saved plan can be used directly.
>
> I'll give it a try some time.

Maybe. But note that if executor will try to use/pfree something
allocated in previous execution (in another memory context)
then we'll get trouble.

Vadim

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Vadim Mikheev 1999-01-27 18:49:29 Re: [HACKERS] regression test HAVING fixed
Previous Message Tom Lane 1999-01-27 18:34:18 Re: [HACKERS] regression test HAVING fixed