From e88a7ad77486db0926d33b31962d274bc9fd08ae Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 17 Mar 2007 01:15:55 +0000 Subject: Ooops, got only one of the two ArrayExpr variants correct in first cut at exprTypmod support. Also, experimentation shows that we need to label the type of Const nodes that are numeric with a specific typmod. --- src/backend/utils/adt/ruleutils.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/backend/utils/adt/ruleutils.c') diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index b1294b6d322..d97cfee3751 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.254 2007/03/17 00:11:05 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.255 2007/03/17 01:15:55 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -4427,8 +4427,11 @@ get_const_expr(Const *constval, deparse_context *context, bool showtype) needlabel = false; break; case NUMERICOID: - /* Float-looking constants will be typed as numeric */ - needlabel = !isfloat; + /* + * Float-looking constants will be typed as numeric, but if + * there's a specific typmod we need to show it. + */ + needlabel = !isfloat || (constval->consttypmod >= 0); break; default: needlabel = true; -- cgit v1.2.3