Обсуждение: DirectFunctionCall3 and array_in

Поиск
Список
Период
Сортировка

DirectFunctionCall3 and array_in

От
Ashish Kamra
Дата:
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


Re: DirectFunctionCall3 and array_in

От
Tom Lane
Дата:
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