Hi Andy, A small thing I found:
+static List * +get_exprs_from_uniqueindex(IndexOptInfo *unique_index, + List *const_exprs, + List *const_expr_opfamilies, + Bitmapset *used_varattrs, + bool *useful, + bool *multi_nullvals) … + indexpr_item = list_head(unique_index->indexprs); + for(c = 0; c < unique_index->ncolumns; c++) + { I believe the for loop must be over unique_index->nkeycolumns, rather than columns. It shouldn’t include the extra non-key columns. This can currently lead to invalid memory accesses as well a few lines later when it does an array access of unique_index->opfamily[c] – this array only has nkeycolumns entries. -Floris From: Andy Fan <zhihui.fan1...@gmail.com> Sent: Sunday 19 July 2020 5:03 AM To: Dmitry Dolgov <9erthali...@gmail.com> Cc: David Rowley <dgrowle...@gmail.com>; PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>; Tom Lane <t...@sss.pgh.pa.us>; Ashutosh Bapat <ashutosh.bapat....@gmail.com>; rushabh.lat...@gmail.com Subject: Re: [PATCH] Keeps tracking the uniqueness with UniqueKey [External] Fixed a test case in v10. -- Best Regards Andy Fan