Re: Partitioned tables and covering indexes
Teodor Sigaev <teodor@sigaev.ru>
From: Teodor Sigaev <teodor@sigaev.ru>
To: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>,
Alexander Korotkov <a.korotkov@postgrespro.ru>
Cc: Jaime Casanova <jaime.casanova@2ndquadrant.com>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2018-04-11T19:30:21Z
Lists: pgsql-hackers
Attachments
- CompareIndexInfo.patch (text/x-patch) patch
> Actually, discovered bug is not related to patch except new test faces
> with it,
> problem is: CompareIndexInfo() checks rd_opfamily for equality for all
> attributes, not only for key attribute.
Patch attached. But it seems to me, field's names of
IndexInfo structure are a bit confused now:
int ii_NumIndexAttrs; /* total number of columns in index */
int ii_NumIndexKeyAttrs; /* number of key columns in
index */
AttrNumber ii_KeyAttrNumbers[INDEX_MAX_KEYS];
ii_KeyAttrNumbers contains all columns, i.e. it contains
ii_NumIndexAttrs number of columns, not a ii_NumIndexKeyAttrs number as
easy to think.
I suggest rename ii_KeyAttrNumbers to ii_AttrNumbers or
ii_IndexAttrNumbers. Opinions?
> for (i = 0; i < info1->ii_NumIndexAttrs; i++)
> {
> if (maplen < info2->ii_KeyAttrNumbers[i])
>
--
Teodor Sigaev E-mail: teodor@sigaev.ru
WWW: http://www.sigaev.ru/
Commits
-
Fix interference between covering indexes and partitioned tables
- 524054598fd3 11.0 landed
-
Cleanup covering infrastructure
- c266ed31a8a3 11.0 landed
-
Rename IndexInfo.ii_KeyAttrNumbers array
- c9c875a28fa6 11.0 landed