|
7 | 7 | *
|
8 | 8 | *
|
9 | 9 | * IDENTIFICATION
|
10 |
| - * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.23 1998/02/27 16:07:02 vadim Exp $ |
| 10 | + * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.24 1998/03/26 21:08:10 momjian Exp $ |
11 | 11 | *
|
12 | 12 | *-------------------------------------------------------------------------
|
13 | 13 | */
|
@@ -301,6 +301,21 @@ transformExpr(ParseState *pstate, Node *expr, int precedence)
|
301 | 301 | result= (Node*)expr;
|
302 | 302 | break;
|
303 | 303 | }
|
| 304 | +/* These nodes do _not_ come from the original parse tree. |
| 305 | + * They result from parser transformation in this phase. |
| 306 | + * At least one construct (BETWEEN/AND) puts the same nodes |
| 307 | + * into two branches of the parse tree. Hence, some nodes |
| 308 | + * are transformed twice. These nodes come from transforming |
| 309 | + * a function call. Let's try just passing them through... |
| 310 | + * - thomas 1998-03-14 |
| 311 | + */ |
| 312 | +caseT_Expr: |
| 313 | +caseT_Var: |
| 314 | +caseT_Const: |
| 315 | +{ |
| 316 | +result= (Node*)expr; |
| 317 | +break; |
| 318 | +} |
304 | 319 | default:
|
305 | 320 | /* should not reach here */
|
306 | 321 | elog(ERROR,"transformExpr: does not know how to transform node %d",
|
|