Re: Questions about the internal of fastpath function call

Поиск
Список
Период
Сортировка
От Merlin Moncure
Тема Re: Questions about the internal of fastpath function call
Дата
Msg-id BANLkTimCBx=ww9+XVcAVSbZnLXZQEkcZPQ@mail.gmail.com
обсуждение исходный текст
Ответ на Questions about the internal of fastpath function call  (lee Richard <clipper.kenyon@gmail.com>)
Ответы Re: Questions about the internal of fastpath function call
Список pgsql-hackers
On Sun, May 8, 2011 at 8:01 AM, lee Richard <clipper.kenyon@gmail.com> wrote:
> Hi,
>
> I am reading the source code of fastpath to understand the internal of
> fastpath. I can not understand how does it send result to the client, I hope
> somebody can help me on this.
>
> I see it call it invoke the function in
>
> HandleFunctionRequest()
>   -> retval = FunctionCallInvoke(&fcinfo);
>   -> SendFunctionResult(retval, fcinfo.isnull, fip->rettype, rformat);
>               ->OidOutputFunctionCall()
>                       -> OutputFunctionCall()
>                                ->  result =
> DatumGetCString(FunctionCall1(flinfo, val));
>                                        -> result =
> FunctionCallInvoke(&fcinfo);
>
> but I can not see in where it send the tuples to the client, instead it
> invoke FunctionCallInvoke again. Can anyone tell me how it copy the tuples
> and send it to the client.

It can't: the fastpath function can only return a scalar. See the
client side docs.  The whole system is a kludge more or less.

merlin


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

Предыдущее
От: lee Richard
Дата:
Сообщение: Questions about the internal of fastpath function call
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: Why not install pgstattuple by default?