Re: VALUES clause memory optimization (was: Values list-of-targetlists patch...)

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: VALUES clause memory optimization (was: Values list-of-targetlists patch...)
Дата
Msg-id 2922.1154609337@sss.pgh.pa.us
обсуждение исходный текст
Ответ на VALUES clause memory optimization (was: Values list-of-targetlists patch...)  (Joe Conway <mail@joeconway.com>)
Ответы Re: VALUES clause memory optimization
Список pgsql-hackers
Joe Conway <mail@joeconway.com> writes:
> In transformExpr the comment implies that it should be safe to reapply
> to an already transformed expression. What if we free the raw_parser
> expression list/cells/nodes and replace it with the as-transformed one?

How are you going to do the "replace" bit?  The entire problem is that
you don't know where are all the down-links leading to the subexpression
you are currently working on.

The reason we could safely list_free inside transformInsertRow is that
we know all its callers have just built the passed-in list and so there
are no other pointers to it.  That doesn't apply in the general case of
grammar output.

I think in the long run we probably ought to fix things so that the
grammar never outputs any multiply-linked trees; that little shortcut
has been a continuing source of grief for many reasons.  I can't see
doing that for 8.2 though.  My advice is to get that low-hanging fruit
in transformInsertRow and leave the other ideas for 8.3.
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Standby Mode
Следующее
От: Tom Lane
Дата:
Сообщение: Re: pg_terminate_backend