BUG #17363: 14 regression: "could not identify a hash function for type record" in a nested record in sublink
The Post Office <noreply@postgresql.org>
From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: elprans@gmail.com
Date: 2022-01-11T22:46:02Z
Lists: pgsql-bugs
The following bug has been logged on the website:
Bug reference: 17363
Logged by: Elvis Pranskevichus
Email address: elprans@gmail.com
PostgreSQL version: 14.0
Operating system: Linux
Description:
The following fails in PostgreSQL 14:
postgres14=# SELECT ROW(ROW(ROW(1))) = ANY (SELECT
(ROW(ROW(ROW(1)))).*);
ERROR: could not identify a hash function for type record
whereas PostgreSQL 13 works fine:
postgres13=# SELECT ROW(ROW(ROW(1))) = ANY (SELECT
(ROW(ROW(ROW(1)))).*);
?column?
──────────
t
(1 row)
Interestingly, reducing the nesting level to two works in 14:
postgres14=# SELECT ROW(ROW(1)) = ANY (SELECT (ROW(ROW(1))).*);
?column?
──────────
t
(1 row)
Commits
-
Teach hash_ok_operator() that record_eq is only sometimes hashable.
- 647889667566 15.0 landed
- 17da9d4c2829 14.2 landed