Re: ERROR: negative bitmapset member not allowed in SELECT - Mailing list pgsql-bugs

From Tom Lane
Subject Re: ERROR: negative bitmapset member not allowed in SELECT
Date
Msg-id 13246.1562789876@sss.pgh.pa.us
Whole thread Raw
In response to Re: ERROR: negative bitmapset member not allowed in SELECT  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: ERROR: negative bitmapset member not allowed in SELECT  (Manuel Rigger <rigger.manuel@gmail.com>)
List pgsql-bugs
Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> On 2019-Jul-10, Manuel Rigger wrote:
>> CREATE TABLE t0(c0 serial, c1 boolean);
>> CREATE STATISTICS s1 ON c0, c1 FROM t0;
>> INSERT INTO t0(c1) VALUES(TRUE);
>> ANALYZE;
>> CREATE INDEX i0 ON t0(c0, (t0.c1 AND t0.c1));
>> SELECT * FROM (SELECT t0.c0 FROM t0 WHERE (((t0.c1) AND (t0.c1)) OR
>> FALSE) IS TRUE) as result WHERE result.c0 IS NULL; -- unexpected:
>> ERROR:  negative bitmapset member not allowed

> Backtrace:

I'd say that mcv_get_match_bitmap has a completely misplaced level of
faith that any OpExpr it's handed will have a plain Var on one side
or the other.

Not to mention an untenable assumption that the other side is a plain
Const.

            regards, tom lane



pgsql-bugs by date:

Previous
From: Andres Freund
Date:
Subject: Re: ERROR: found unexpected null value in index
Next
From: Tom Lane
Date:
Subject: Re: ERROR: found unexpected null value in index