Re: Questions about the internal of fastpath function call
От | lee Richard |
---|---|
Тема | Re: Questions about the internal of fastpath function call |
Дата | |
Msg-id | BANLkTi=2X2Z9yBvSWgWRTYbS9cxhsmRnzg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Questions about the internal of fastpath function call (Merlin Moncure <mmoncure@gmail.com>) |
Ответы |
Re: Questions about the internal of fastpath function call
|
Список | pgsql-hackers |
Merlin,
Oh, I didnt realized that it does not support to return scalar, thanks a lot.
When it returns a single value, I see it use the following function,
SendFunctionCall
result = DatumGetByteaP(FunctionCall1(flinfo, val));
I still can not see how it return a single return value to the client, and why it call FunctionCall1() again when it want to send the result.
Regards
Clipper
Oh, I didnt realized that it does not support to return scalar, thanks a lot.
When it returns a single value, I see it use the following function,
SendFunctionCall
result = DatumGetByteaP(FunctionCall1(flinfo, val));
I still can not see how it return a single return value to the client, and why it call FunctionCall1() again when it want to send the result.
Regards
Clipper
2011/5/8 Merlin Moncure <mmoncure@gmail.com>
It can't: the fastpath function can only return a scalar. See theOn 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.
client side docs. The whole system is a kludge more or less.
merlin
В списке pgsql-hackers по дате отправления: