Re: Is there a way around function search_path killing SQL function inlining?

From: Andreas Karlsson <andreas(at)proxel(dot)se>
To: Regina Obe <lr(at)pcorp(dot)us>, 'Robert Haas' <robertmhaas(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Is there a way around function search_path killing SQL function inlining?
Date: 2016-03-09 03:43:19
Message-ID: 56DF9BD7.2070102@proxel.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 03/08/2016 01:24 AM, Regina Obe wrote:
>>> On Fri, Mar 4, 2016 at 9:29 PM, Regina Obe <lr(at)pcorp(dot)us>> wrote:
>>> I think the answer to this question is NO, but thought I'd ask.
>>>
>>> A lot of folks in PostGIS land are suffering from restore issues,
>>> materialized view issues etc. because we have functions such as
>>>
>>> ST_Intersects
>>>
>>> Which does _ST_Intersects AND &&
>>>
>>> Since _ST_Intersects is not schema qualified, during database restore
>>> (which sets the schema to the table or view schema), materialized
>>> views that depend on this do not come back.
>
>> Could you provide a self-contained, reproducible test case that illustrates this problem? Ideally, one that doesn't involve installing PostGIS?
>
> Here is a script just involving the built in geometric types that has the same issue:

Hi,

I think Robert was asking for a test case for the database restore problems.

The reason your no_inline() function cannot be inlined is due to lack of
support of inlining of any functions which have any config variable set,
not matter which. The search_path does not get any special treatment,
and I am not sure if it could in the general case since the new search
path will apply too to functions called by the function which changed
the search path.

Andreas

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Noah Misch 2016-03-09 04:31:37 Re: VS 2015 support in src/tools/msvc
Previous Message Alvaro Herrera 2016-03-09 03:29:03 Re: Recovery test failure for recovery_min_apply_delay on hamster