From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Teodor Sigaev <teodor(at)sigaev(dot)ru> |
Cc: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>, Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru>, Jaime Casanova <jaime(dot)casanova(at)2ndquadrant(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Partitioned tables and covering indexes |
Date: | 2018-04-11 19:47:53 |
Message-ID: | 20180411194753.vhnwqss2hgqtao6v@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Teodor Sigaev wrote:
> Patch attached.
I wonder why this is a problem in opfamilies but not collations.
If we don't compare collations, wouldn't it make more sense to break out
of the loop once the number of keys is reached?
When this code was written, there was no question as to what length the
opfamilies/collations the arrays were; it was obvious that they must be
of the length of the index attributes. It's not obvious now. Maybe add
a comment about that?
> 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?
Yeah, the current situation seems very odd.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Gierth | 2018-04-11 19:57:12 | Re: lazy detoasting |
Previous Message | Teodor Sigaev | 2018-04-11 19:30:21 | Re: Partitioned tables and covering indexes |