Re: Postgresql equal join on function with columns not use index - Mailing list pgsql-performance

From Pavel Stehule
Subject Re: Postgresql equal join on function with columns not use index
Date
Msg-id CAFj8pRDE6B7BENcy1sxfNJ9F0jrB+g-OfdpT9eFT13RFxxDecA@mail.gmail.com
Whole thread Raw
In response to Re: Postgresql equal join on function with columns not use index  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Postgresql equal join on function with columns not use index
List pgsql-performance


út 13. 6. 2023 v 15:50 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal:
"James Pang (chaolpan)" <chaolpan@cisco.com> writes:
>     Looks like it's the function "regexp_replace" volatile and restrict=false make the difference,  we have our application role with default search_path=oracle,$user,public,pg_catalog.   
>      =#    select oid,proname,pronamespace::regnamespace,prosecdef,proisstrict,provolatile from pg_proc where proname='regexp_replace' order by oid;
>   oid  |    proname     | pronamespace | prosecdef | proisstrict | provolatile
> -------+----------------+--------------+-----------+-------------+-------------
>   2284 | regexp_replace | pg_catalog   | f         | t           | i
>   2285 | regexp_replace | pg_catalog   | f         | t           | i
>  17095 | regexp_replace | oracle       | f         | f           | v
>  17096 | regexp_replace | oracle       | f         | f           | v
>  17097 | regexp_replace | oracle       | f         | f           | v
>  17098 | regexp_replace | oracle       | f         | f           | v

Why in the world are the oracle ones marked volatile?  That's what's
preventing them from being used in index quals.

It looks like orafce issue

I'll fix it

Regards

Pavel
 

                        regards, tom lane


pgsql-performance by date:

Previous
From: Tom Lane
Date:
Subject: Re: Postgresql equal join on function with columns not use index
Next
From: Pavel Stehule
Date:
Subject: Re: Postgresql equal join on function with columns not use index