Thanks for your reply,If multiple exact matches are found, it selects the first 
schema in activeSearchPath as the result. Therefore, the order of search_path 
is indeed meaningful.











At 2025-08-22 20:18:06, "Heikki Linnakangas" <hlinn...@iki.fi> wrote:
>On 22/08/2025 14:15, myzhen wrote:
>> The order of all schemas in OprCacheKey.search_path should be 
>> meaningless.
>
>No, operators live in schemas, just like tables and functions. To 
>demonstrate:
>
>create schema schema1;
>create schema schema2;
>
>create function schema1.plus(int, int) RETURNS int AS $$ SELECT $1 + $1 
>$$ LANGUAGE SQL;
>create function schema2.minus(int, int) RETURNS int AS $$ SELECT $1 - $1 
>$$ LANGUAGE SQL;
>
>CREATE OPERATOR schema1.@+-@ (LEFTARG = int, RIGHTARG = int, FUNCTION=plus);
>CREATE OPERATOR schema2.@+-@ (LEFTARG = int, RIGHTARG = int, 
>FUNCTION=minus);
>
>postgres=# set search_path=schema1,schema2;
>SET
>postgres=# select 1 @+-@ 1;
>  ?column?
>----------
>         2
>(1 row)
>
>postgres=# set search_path=schema2,schema1;
>SET
>postgres=# select 1 @+-@ 1;
>  ?column?
>----------
>         0
>(1 row)
>
>- Heikki

Reply via email to