parse_expr.c another type produced by transformations? - Mailing list pgsql-patches

From Greg Stark
Subject parse_expr.c another type produced by transformations?
Date
Msg-id 87heb9nzkv.fsf@stark.dyndns.tv
Whole thread Raw
Responses Re: [HACKERS] parse_expr.c another type produced by transformations?
List pgsql-patches
Ran into this in cvs tip checked out as of yesterday:

db=>  SELECT sum(CASE WHEN (upper(substr((select 'en'::varchar),1,1)) not between 'A' and 'Z') THEN 1  ELSE 0 END) AS n
FROMtab; 
ERROR:  transformExpr: does not know how to transform node 309 (internal error)

309 is T_FuncExpr. Is this a node type that should be added as described by
the comment? Appended is the patch to add it but I don't know if it should be
or not.


parse_expr.c:
    /*********************************************
     * Quietly accept node types that may be presented when we are
     * called on an already-transformed tree.
     *
     * Do any other node types need to be accepted?  For now we are
     * taking a conservative approach, and only accepting node
     * types that are demonstrably necessary to accept.
     *********************************************/


--- parse_expr.c.~1.144.~    2003-02-09 23:44:46.000000000 -0500
+++ parse_expr.c    2003-02-12 13:02:35.000000000 -0500
@@ -670,6 +670,7 @@
         case T_Param:
         case T_Aggref:
         case T_ArrayRef:
+        case T_FuncExpr:
         case T_FieldSelect:
         case T_RelabelType:
         case T_CoerceToDomain:


--
greg

pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Re: plpython: fix for improperly handled NULL arguments in prepared plans
Next
From: Barry Lind
Date:
Subject: Re: [PATCH]errors_zh_TW.properties for JDBC driver