Re: BUG #17158: Distinct ROW fails with Postgres 14

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: David Rowley <dgrowleyml@gmail.com>
Cc: sait.nisanci@microsoft.com, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>, Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Date: 2021-08-24T14:03:26Z
Lists: pgsql-bugs
David Rowley <dgrowleyml@gmail.com> writes:
> It looks like 01e658fa74 is to blame for this.

> The test case can be simplified down to just:

> create table local (b bit);
> insert into local values('1'),('0');
> SELECT DISTINCT ROW(b) FROM local;

> Tom did have a look at this and raise the question about the
> possibility of not being able to hash in [1].

Huh.  According to the thread, we discussed this exact possibility and
there's a test case verifying it ... so apparently something got
fat-fingered there.

> If it's going to be a problem detecting the lack of hashability during
> planning then maybe we can just add a hash opclass for BIT to fix this
> particular case.

Most certainly not.  That would translate to a requirement that EVERY
data type have a hash function.

			regards, tom lane



Commits

  1. Fix hash_array

  2. Disable anonymous record hash support except in special cases