pgsql: Avoid using a local FunctionCallInfoData struct in ExecMakeFunct

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Avoid using a local FunctionCallInfoData struct in ExecMakeFunct
Дата
Msg-id E1PCyc7-0004S9-U7@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Avoid using a local FunctionCallInfoData struct in ExecMakeFunctionResult
and related routines.

We already had a redundant FunctionCallInfoData struct in FuncExprState,
but were using that copy only in set-returning-function cases, to avoid
keeping function evaluation state in the expression tree for the benefit
of plpgsql's "simple expression" logic.  But of course that didn't work
anyway.  Given the recent fixes in plpgsql there is no need to have two
separate behaviors here.  Getting rid of the local FunctionCallInfoData
structs should make things a little faster (because we don't need to do
InitFunctionCallInfoData each time), and it also makes for a noticeable
reduction in stack space consumption during recursive calls.

Branch
------
master

Details
-------
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=0811ff2063be973953eda89e76dac0d299f0fb6b

Modified Files
--------------
src/backend/executor/execQual.c |  140 +++++++++++++++++----------------------
src/include/nodes/execnodes.h   |   19 +++---
2 files changed, 70 insertions(+), 89 deletions(-)


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

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: pgsql: Fix corner-case bug in tracking of latest removed WAL segment du
Следующее
От: pgsql@postgresql.org
Дата:
Сообщение: pgsql: Tag refs/tags/REL9_1_ALPHA2 was created