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.c28
1 files changed, 12 insertions, 16 deletions
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index 9234bc2a971..824d7572faf 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -8652,12 +8652,11 @@ get_rule_expr(Node *node, deparse_context *context,
case PARTITION_STRATEGY_LIST:
Assert(spec->listdatums != NIL);
- appendStringInfoString(buf, "FOR VALUES");
- appendStringInfoString(buf, " IN (");
+ appendStringInfoString(buf, "FOR VALUES IN (");
sep = "";
foreach(cell, spec->listdatums)
{
- Const *val = lfirst(cell);
+ Const *val = castNode(Const, lfirst(cell));
appendStringInfoString(buf, sep);
get_const_expr(val, context, -1);
@@ -8673,41 +8672,38 @@ get_rule_expr(Node *node, deparse_context *context,
list_length(spec->lowerdatums) ==
list_length(spec->upperdatums));
- appendStringInfoString(buf, "FOR VALUES");
- appendStringInfoString(buf, " FROM");
- appendStringInfoString(buf, " (");
+ appendStringInfoString(buf, "FOR VALUES FROM (");
sep = "";
foreach(cell, spec->lowerdatums)
{
- PartitionRangeDatum *datum = lfirst(cell);
- Const *val;
+ PartitionRangeDatum *datum =
+ castNode(PartitionRangeDatum, lfirst(cell));
appendStringInfoString(buf, sep);
if (datum->infinite)
appendStringInfoString(buf, "UNBOUNDED");
else
{
- val = (Const *) datum->value;
+ Const *val = castNode(Const, datum->value);
+
get_const_expr(val, context, -1);
}
sep = ", ";
}
- appendStringInfoString(buf, ")");
-
- appendStringInfoString(buf, " TO");
- appendStringInfoString(buf, " (");
+ appendStringInfoString(buf, ") TO (");
sep = "";
foreach(cell, spec->upperdatums)
{
- PartitionRangeDatum *datum = lfirst(cell);
- Const *val;
+ PartitionRangeDatum *datum =
+ castNode(PartitionRangeDatum, lfirst(cell));
appendStringInfoString(buf, sep);
if (datum->infinite)
appendStringInfoString(buf, "UNBOUNDED");
else
{
- val = (Const *) datum->value;
+ Const *val = castNode(Const, datum->value);
+
get_const_expr(val, context, -1);
}
sep = ", ";