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. Thanks a lot. Clipper