Re: [PG-11] Potential bug related to INCLUDE clause of CREATE INDEX - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [PG-11] Potential bug related to INCLUDE clause of CREATE INDEX
Date
Msg-id 28612.1531230895@sss.pgh.pa.us
Whole thread Raw
In response to [PG-11] Potential bug related to INCLUDE clause of CREATE INDEX  (Aditya Toshniwal <aditya.toshniwal@enterprisedb.com>)
Responses Re: [PG-11] Potential bug related to INCLUDE clause of CREATE INDEX  (Andrey Borodin <x4mmm@yandex-team.ru>)
List pgsql-hackers
Aditya Toshniwal <aditya.toshniwal@enterprisedb.com> writes:
> I am working on a feature to support INCLUDE clause of index in PG-11. As
> per the documentation https://www.postgresql.org/docs/11/static/
> sql-createindex.html, columns listed in INCLUDE clause cannot also be
> present as index key columns. But I find different behaviour for below
> queries which are logically identical.

I wonder why there is any such restriction at all.  We have never
attempted to prevent the creation of "silly" indexes, eg

regression=# create table some_table (id int);
CREATE TABLE
regression=# create index on some_table (id,id);
CREATE INDEX
regression=# \d+ some_table
                                Table "public.some_table"
 Column |  Type   | Collation | Nullable | Default | Storage | Stats target | Description
--------+---------+-----------+----------+---------+---------+--------------+-------------
 id     | integer |           |          |         | plain   |              |
Indexes:
    "some_table_id_id1_idx" btree (id, id)

So my inclination is to rip out the "must not intersect" test altogether,
not try to make it a bit smarter.

            regards, tom lane


pgsql-hackers by date:

Previous
From: Ashutosh Bapat
Date:
Subject: Re: [HACKERS] PoC: full merge join on comparison clause
Next
From: Heikki Linnakangas
Date:
Subject: Re: [HACKERS] WAL logging problem in 9.4.3?