diff options
Diffstat (limited to 'src/backend/utils/adt/ruleutils.c')
-rw-r--r-- | src/backend/utils/adt/ruleutils.c | 27 |
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; |