Re: BUG #11761: range_in dosn't work via direct functional call - Mailing list pgsql-bugs

From Pavel Stehule
Subject Re: BUG #11761: range_in dosn't work via direct functional call
Date
Msg-id CAFj8pRBnM_mMFe-h=Nta_Ch=K_cTdwgCgpChsaY_O=Uje_cpjg@mail.gmail.com
Whole thread Raw
In response to Re: BUG #11761: range_in dosn't work via direct functional call  (Heikki Linnakangas <hlinnakangas@vmware.com>)
Responses Re[2]: [BUGS] BUG #11761: range_in dosn't work via direct functional call  (Dunauskas Oleg <olegjobs@mail.ru>)
List pgsql-bugs
2014-10-24 15:08 GMT+02:00 Heikki Linnakangas <hlinnakangas@vmware.com>:

> On 10/22/2014 08:27 PM, olegjobs@mail.ru wrote:
>
>> This function test_ext_get_range(cstring) returns int4range:
>>
>> Datum test_ext_get_range(PG_FUNCTION_ARGS)
>> {
>>     char *ts = PG_GETARG_CSTRING(0);
>>
>>     return DirectFunctionCall3(range_in, CStringGetDatum(ts),
>> ObjectIdGetDatum(3904), Int32GetDatum(0);
>> }
>> In psql:
>> select test_ext_get_range('[1,1]');
>> error:
>> connection to the server was lost.
>>
>> it seems to me that some memory problems because of "The range I/O
>> functions
>> need a bit more cached info than other range
>>   * functions, so they store a RangeIOData struct in fn_extra, not just a
>>   * pointer to a type cache entry. "
>>
>
> Yeah, DirectFunctionCall cannot be used with range_in. Use FunctionCall3
> instead. See this comment in fmgr.c, above DirectFunctionCall1Coll:
>

There is a special "InputFunctionCall"

Regards

Pavel


>
>  /*
>>  * These are for invocation of a specifically named function with a
>>  * directly-computed parameter list.  Note that neither arguments nor
>> result
>>  * are allowed to be NULL.  Also, the function cannot be one that needs to
>>  * look at FmgrInfo, since there won't be any.
>>  */
>>
>
> range_in needs to look at FmgrInfo.
>
> - Heikki
>
>
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs
>

pgsql-bugs by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: BUG #11761: range_in dosn't work via direct functional call
Next
From: Heikki Linnakangas
Date:
Subject: Re: [BUGS] Re: [BUGS] Re: [BUGS] Re: [BUGS] Re: BUG #11431: Failing to backup and restore a Windows postgres database, with Norwegian Bokmål locale.