BUG #16303: A condtion whether an index-only scan is possible includes a wrong

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: horimoto(at)clear-code(dot)com
Subject: BUG #16303: A condtion whether an index-only scan is possible includes a wrong
Date: 2020-03-16 06:02:25
Message-ID: 16303-889581eb40fc0691@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 16303
Logged by: Horimoto Yasuhiro
Email address: horimoto(at)clear-code(dot)com
PostgreSQL version: 12.2
Operating system: Debian 10.3
Description:

Hello, developers.

I think that the condition of whether an index-only scan is possible
includes a wrong.

For example, in the following case, the index has no data to return. Because
the query doesn't use specify columns.
However, the query planner choice index-only scan.

create table gist_count_tbl (tsv tsvector);
insert into gist_count_tbl values (null);
create index gist_count_tbl_index on gist_count_tbl using gist (tsv);

vacuum analyze gist_count_tbl;

set enable_seqscan=off;
set enable_bitmapscan=off;
set enable_indexonlyscan=on;

explain (costs off)
select count(*) from gist_count_tbl;
QUERY PLAN
--------------------------------------------------------------------
Aggregate
-> Index Only Scan using gist_count_tbl_index on gist_count_tbl
(2 rows)

In my opinion, we expected that the query planner doesn't choose an
index-only scan in the above case.

In fact, index_canreturn_attrs of
https://github.com/postgres/postgres/blob/master/src/backend/optimizer/path/indxpath.c#L1951
is NULL in the above case.

thanks!

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Horimoto Yasuhiro 2020-03-16 06:05:33 Re: BUG #16303: A condtion whether an index-only scan is possible includes a wrong
Previous Message Tom Lane 2020-03-16 02:38:30 Re: BUG #16302: too many range table entries - when count partition table(65538 childs)