aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/ruleutils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/adt/ruleutils.c')
-rw-r--r--src/backend/utils/adt/ruleutils.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index bcdfe313b6b..f99ef53603d 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -3,7 +3,7 @@
* back to source text
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/ruleutils.c,v 1.109 2002/07/04 15:24:07 thomas Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/ruleutils.c,v 1.110 2002/07/18 04:41:45 momjian Exp $
*
* This software is copyrighted by Jan Wieck - Hamburg.
*
@@ -1879,7 +1879,32 @@ get_rule_expr(Node *node, deparse_context *context)
}
}
break;
+ case T_BetweenExpr:
+ {
+ BetweenExpr *btwn = (BetweenExpr *) node;
+
+ get_rule_expr(btwn->expr, context);
+
+ if (btwn->not)
+ appendStringInfo(buf, " NOT");
+ appendStringInfo(buf, " BETWEEN");
+
+ /*
+ * Output both symmetric and asymmetric, even though
+ * asymmetric is default
+ */
+ if (btwn->symmetric)
+ appendStringInfo(buf, " SYMMETRIC ");
+ else
+ appendStringInfo(buf, " ASYMMETRIC ");
+
+ get_rule_expr(btwn->lexpr, context);
+
+ appendStringInfo(buf, " AND ");
+ get_rule_expr(btwn->rexpr, context);
+ }
+ break;
default:
elog(ERROR, "get_rule_expr: unknown node type %d", nodeTag(node));
break;