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
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 |