in parse_expr.c:typecast_expression: return immediate on NULL input, i.e. do not lookup target type Oid as it is not required.


-Hannes
Index: src/backend/parser/parse_expr.c
===================================================================
--- src/backend/parser/parse_expr.c     (revision 377)
+++ src/backend/parser/parse_expr.c     (working copy)
@@ -2226,11 +2226,11 @@
        Oid                     targetType;
        int32           targetTypmod;
 
-       targetType = typenameTypeId(pstate, typename, &targetTypmod);
-
        if (inputType == InvalidOid)
                return expr;                    /* do nothing if NULL input */
 
+       targetType = typenameTypeId(pstate, typename, &targetTypmod);
+
        expr = coerce_to_target_type(pstate, expr, inputType,
                                                                 targetType, 
targetTypmod,
                                                                 
COERCION_EXPLICIT,
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to