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

From Jeevan Chalke
Subject cache lookup failed for collation 0
Date
Msg-id CAM2+6=Waf3qJ1=yVTUH8_yG-SC0xcBMY+SFLhvKKNnWNXSUDBw@mail.gmail.com
Whole thread Raw
Responses Re: cache lookup failed for collation 0
Re: cache lookup failed for collation 0
List pgsql-hackers
Hello hackers,

Following test-sequence causing an error "cache lookup failed for collation 0";

postgres:5432 [42106]=# create table foobar(a bytea primary key, b int);
CREATE TABLE
postgres:5432 [42106]=# insert into foobar values('\x4c835521685c46ee827ab83d376cf028', 1);
INSERT 0 1
postgres:5432 [42106]=# \d+ foobar
                                   Table "public.foobar"
 Column |  Type   | Collation | Nullable | Default | Storage  | Stats target | Description
--------+---------+-----------+----------+---------+----------+--------------+-------------
 a      | bytea   |           | not null |         | extended |              |
 b      | integer |           |          |         | plain    |              |
Indexes:
    "foobar_pkey" PRIMARY KEY, btree (a)
Access method: heap

postgres:5432 [42106]=# select * from foobar where a like '%1%';
ERROR:  cache lookup failed for collation 0

---

After debugging it, I have observed that the code in question was added by commit 5e1963fb764e9cc092e0f7b58b28985c311431d9 which added support for the collations with nondeterministic comparison.

The error is coming from get_collation_isdeterministic() when colloid passed is 0. I think like we do in get_collation_name(), we should return false here when such collation oid does not exist.

Attached patch doing that change and re-arranged the code to look similar to get_collation_name(). Also, added small testcase.

---

However, I have not fully understood the code changes done by the said commit and thus the current behavior i.e. cache lookup error, might be the expected one. But if that's the case, I kindly request to please explain why that is expected.

Thanks

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

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Zedstore - compressed in-core columnar storage
Next
From: Heikki Linnakangas
Date:
Subject: Re: Zedstore - compressed in-core columnar storage