BETWEEN and LIKE patch from Thomas
authorBruce Momjian
Thu, 26 Mar 1998 21:08:10 +0000 (21:08 +0000)
committerBruce Momjian
Thu, 26 Mar 1998 21:08:10 +0000 (21:08 +0000)
src/backend/parser/parse_expr.c

index f4cf3247628a4d203714277d26403ff488e0f33a..da5f90685773746273618ff07af6317e249262b2 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.23 1998/02/27 16:07:02 vadim Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.24 1998/03/26 21:08:10 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -301,6 +301,21 @@ transformExpr(ParseState *pstate, Node *expr, int precedence)
                result = (Node *) expr;
                break;
            }
+/* These nodes do _not_ come from the original parse tree.
+ * They result from parser transformation in this phase.
+ * At least one construct (BETWEEN/AND) puts the same nodes
+ *  into two branches of the parse tree. Hence, some nodes
+ *  are transformed twice. These nodes come from transforming
+ *  a function call. Let's try just passing them through...
+ * - thomas 1998-03-14
+ */
+       case T_Expr:
+       case T_Var:
+       case T_Const:
+           {
+               result = (Node *) expr;
+               break;
+           }
        default:
            /* should not reach here */
            elog(ERROR, "transformExpr: does not know how to transform node %d",