From: Tom Lane Date: Sat, 26 Apr 2014 16:22:09 +0000 (-0400) Subject: Record the proper typmod for an index expression column. X-Git-Tag: REL9_4_BETA1~105 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=39b0c7681e465f3e486ca2a5d13fbbafbe25cb1a;p=postgresql Record the proper typmod for an index expression column. We should use exprTypmod() to extract the typmod of the expression, instead of just blindly storing -1. This seems to have been an aboriginal oversight in commit fc8d970cbcdd6f025475822a4cf01dfda0873226 which introduced general-expression indexes. The consequences are only cosmetic at present, since the index machinery doesn't really look at typmod for index columns; but still it seems best to describe the column type as precisely as we can. Per off-list complaint from Thomas Fanghaenel. --- diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c index 47f0647cb4..c932c83342 100644 --- a/src/backend/catalog/index.c +++ b/src/backend/catalog/index.c @@ -389,7 +389,7 @@ ConstructTupleDescriptor(Relation heapRelation, to->attalign = typeTup->typalign; to->attstattarget = -1; to->attcacheoff = -1; - to->atttypmod = -1; + to->atttypmod = exprTypmod(indexkey); to->attislocal = true; to->attcollation = collationObjectId[i];