From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru> |
Cc: | Teodor Sigaev <teodor(at)sigaev(dot)ru>, pgsql-committers <pgsql-committers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: pgsql: Indexes with INCLUDE columns and their support in B-tree |
Date: | 2018-04-08 21:27:19 |
Message-ID: | 324.1523222839@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru> writes:
> There is also patch for valgrind error in CheckIndexCompatible().
> It appears that this function didn't initialize ii_NumIndexAttrs and
> ii_NumIndexKeyAttrs before calling ComputeIndexAttrs(). This
> variables weren't used before, but now they're used to determine
> whether index column is key. Also, this patch makes ComputeIndexAttrs()
> initialize classOidP elements with InvalidOid for non-key attributes.
You didn't test this quite enough, because when I tried it I got a batch
of warnings about memory chunk inconsistencies. The reason was that
DefineIndex only allocated a classObjectId array large enough for the
key columns, so that the change in ComputeIndexAttrs made it write past
the end of that array. But I think it's a good idea to make those output
arrays all the same length, so I kept that change and changed DefineIndex.
Pushed; I've not checked to see if this makes valgrind happy, but
the buildfarm will tell us.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Alexander Korotkov | 2018-04-08 21:37:25 | Re: pgsql: Indexes with INCLUDE columns and their support in B-tree |
Previous Message | Tom Lane | 2018-04-08 21:23:42 | pgsql: Fix additional breakage in covering-index patch. |