BETWEEN SYMMETRIC condition results in "row is too big: ..., maximum size 8160"

From: Manuel Rigger <rigger(dot)manuel(at)gmail(dot)com>
To: PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: BETWEEN SYMMETRIC condition results in "row is too big: ..., maximum size 8160"
Date: 2019-07-16 23:29:18
Message-ID: CA+u7OA6zYX7qfkGGDfqeFwuh6HbD4B-0fmOfx13Jm4xsp3s=-Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi everyone,

I noticed that indexes that use nested BETWEEN SYMMETRIC operators
quickly exceed some limit, which is indicated by errors such as
"ERROR: row is too big: size 8440, maximum size 8160". For example,
consider the following (contrived) index:

CREATE TABLE t0(c0 TEXT);
CREATE INDEX i0 ON t0(c0) WHERE ((FALSE BETWEEN SYMMETRIC TRUE AND
(t0.c0 || t0.c0 IN (t0.c0, t0.c0, '1', t0.c0 || t0.c0, t0.c0 || t0.c0
|| t0.c0))) BETWEEN SYMMETRIC TRUE AND TRUE) BETWEEN SYMMETRIC TRUE
AND TRUE; -- ERROR: row is too big: size 8440, maximum size 8160

Is this an expected limitation?

Best,
Manuel

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2019-07-16 23:52:19 Re: BETWEEN SYMMETRIC condition results in "row is too big: ..., maximum size 8160"
Previous Message raf 2019-07-16 23:22:42 Re: BUG #15911: Why no Bcrypt in pg_hba.conf?