diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2010-10-25 21:40:46 +0300 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2010-10-25 21:44:49 +0300 |
commit | 35670340f57d78d6ab023b1fb42fd81339f85d4c (patch) | |
tree | 353a103641ea21787ace05801ebc9f2a42e61137 /src/backend/parser/parse_expr.c | |
parent | c6873eac4c33720140240cdbd1a663fecc922c57 (diff) | |
download | postgresql-35670340f57d78d6ab023b1fb42fd81339f85d4c.tar.gz postgresql-35670340f57d78d6ab023b1fb42fd81339f85d4c.zip |
Refactor typenameTypeId()
Split the old typenameTypeId() into two functions: A new typenameTypeId() that
returns only a type OID, and typenameTypeIdAndMod() that returns type OID and
typmod. This isolates call sites better that actually care about the typmod.
Diffstat (limited to 'src/backend/parser/parse_expr.c')
-rw-r--r-- | src/backend/parser/parse_expr.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index 4b5cf3e3db6..ca48b9b104b 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -159,8 +159,8 @@ transformExpr(ParseState *pstate, Node *expr) Oid elementType; int32 targetTypmod; - targetType = typenameTypeId(pstate, tc->typeName, - &targetTypmod); + typenameTypeIdAndMod(pstate, tc->typeName, + &targetType, &targetTypmod); /* * If target is a domain over array, work with the base * array type here. transformTypeCast below will cast the @@ -1031,7 +1031,7 @@ transformAExprOf(ParseState *pstate, A_Expr *a) ltype = exprType(lexpr); foreach(telem, (List *) a->rexpr) { - rtype = typenameTypeId(pstate, lfirst(telem), NULL); + rtype = typenameTypeId(pstate, lfirst(telem)); matched = (rtype == ltype); if (matched) break; @@ -1889,7 +1889,7 @@ transformXmlSerialize(ParseState *pstate, XmlSerialize *xs) XMLOID, "XMLSERIALIZE")); - targetType = typenameTypeId(pstate, xs->typeName, &targetTypmod); + typenameTypeIdAndMod(pstate, xs->typeName, &targetType, &targetTypmod); xexpr->xmloption = xs->xmloption; xexpr->location = xs->location; @@ -2052,7 +2052,7 @@ transformTypeCast(ParseState *pstate, TypeCast *tc) int32 targetTypmod; int location; - targetType = typenameTypeId(pstate, tc->typeName, &targetTypmod); + typenameTypeIdAndMod(pstate, tc->typeName, &targetType, &targetTypmod); if (inputType == InvalidOid) return expr; /* do nothing if NULL input */ |