On 2018/06/21 15:35, Amit Langote wrote:
> So, CompareIndexInfo and generateClonedIndexStmt are both doing the right
> thing, but DefineIndex is not. Attached is a patch to fix DefineIndex so
> that it converts indexParams before recursing to create the index on a
> partition.
I noticed that while CompareIndexInfo and generateClonedIndexStmt would
reject the case where index expressions contain a whole-row Var, my patch
didn't teach to do the same to DefineIndex, causing asymmetric behavior.
So, whereas ATTACH PARTITION would error out when trying to clone a
parent's index that contains a whole-row Var, recursively creating an
index on partition won't.
I updated the patch so that even DefineIndex will check if any whole-row
Vars were encountered during conversion and error out if so.
Thanks,
Amit