On Mon, Apr 9, 2018 at 12:27 AM, Tom Lane <t...@sss.pgh.pa.us> wrote:
> Alexander Korotkov <a.korot...@postgrespro.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. Sorry, my bad. 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. > Thank you! ------ Alexander Korotkov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company