DirectFunctionCall3 and array_in

Started by Ashish Kamraover 17 years ago2 messageshackers
Jump to latest
#1Ashish Kamra
akamra@purdue.edu

I was trying to call the array_in() function using the
DirectFunctionCall3() interface. It fails as the code in array_in()
tries to refer to fcinfo->flinfo->fnextra where flinfo is set to NULL by
the DirectFunctionCall3() interface. I am not sure if this is a bug or
that we are not supposed to use DirectFunctionCall3 to call array_in.

Anyway, I debugged some array related to queries to find that the
following function sequence is used to call array_in

...
OidInputFunctionCall
InputFunctionCall
...

For the time being I will use this, but can someone clarify if what I
stated above is a problem?

Thanks,
Ashish

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Ashish Kamra (#1)
Re: DirectFunctionCall3 and array_in

Ashish Kamra <akamra@purdue.edu> writes:

I was trying to call the array_in() function using the
DirectFunctionCall3() interface. It fails as the code in array_in()
tries to refer to fcinfo->flinfo->fnextra where flinfo is set to NULL by
the DirectFunctionCall3() interface. I am not sure if this is a bug or
that we are not supposed to use DirectFunctionCall3 to call array_in.

You should be using InputFunctionCall to invoke any datatype input
function. There are plenty of examples to follow in the standard PLs.

regards, tom lane