Re: [HACKERS] parse_expr.c another type produced by transformations?

2003-02-13 Thread Tom Lane
Greg Stark [EMAIL PROTECTED] writes:
 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 FROM tab;
 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?

Yeah, you're right, and three other node types too.  I missed this spot
while changing the representation of Expr the other day.  Thanks for
catching it.

regards, tom lane

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



[HACKERS] parse_expr.c another type produced by transformations?

2003-02-12 Thread Greg Stark

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 FROM tab;
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.0 -0500
+++ parse_expr.c2003-02-12 13:02:35.0 -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


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])