Re: cache lookup failed for collation 0 - Mailing list pgsql-hackers

From Jeevan Chalke
Subject Re: cache lookup failed for collation 0
Date
Msg-id CAM2+6=V+9TXyJi+WDqwqxacirL6e91FqFWMx+XyOionfAYbD0g@mail.gmail.com
Whole thread Raw
In response to Re: cache lookup failed for collation 0  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers


On Thu, Apr 11, 2019 at 10:50 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Jeevan Chalke <jeevan.chalke@enterprisedb.com> writes:
> Do you mean, the code in get_collation_isdeterministic() should look like
> something like below?

> If colloid = InvalidOid then
>   return TRUE
> ELSE IF tuple is valid then
>   return collisdeterministic from the tuple
> ELSE
>  return FALSE

I think it's appropriate to fail if we don't find a tuple, for any
collation oid other than zero.  Again, if you trace through the
behavior of the longstanding collation check functions like
lc_ctype_is_c(), you'll see that that's what happens (except for
some hardwired OIDs that they have fast paths for).

OK.

Attached patch which treats "collation 0" as deterministic in get_collation_isdeterministic() and returns true, keeping rest of the code as is.


                        regards, tom lane


--
Jeevan Chalke
Technical Architect, Product Development
EnterpriseDB Corporation
The Enterprise PostgreSQL Company

Attachment

pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: setLastTid() and currtid()
Next
From: Peter Eisentraut
Date:
Subject: Re: REINDEX CONCURRENTLY 2.0