aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils')
-rw-r--r--src/backend/utils/adt/ruleutils.c4
-rw-r--r--src/backend/utils/misc/queryjumble.c9
2 files changed, 8 insertions, 5 deletions
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index f22ecfc5832..49c4201dde6 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -9730,7 +9730,9 @@ get_rule_expr(Node *node, deparse_context *context,
appendStringInfoString(context->buf, " IS JSON");
- switch (pred->value_type)
+ /* TODO: handle FORMAT clause */
+
+ switch (pred->item_type)
{
case JS_TYPE_SCALAR:
appendStringInfoString(context->buf, " SCALAR");
diff --git a/src/backend/utils/misc/queryjumble.c b/src/backend/utils/misc/queryjumble.c
index d35027275f1..eeaa0b31fe2 100644
--- a/src/backend/utils/misc/queryjumble.c
+++ b/src/backend/utils/misc/queryjumble.c
@@ -741,7 +741,7 @@ JumbleExpr(JumbleState *jstate, Node *node)
{
JsonFormat *format = (JsonFormat *) node;
- APP_JUMB(format->type);
+ APP_JUMB(format->format_type);
APP_JUMB(format->encoding);
}
break;
@@ -767,12 +767,13 @@ JumbleExpr(JumbleState *jstate, Node *node)
{
JsonConstructorExpr *ctor = (JsonConstructorExpr *) node;
+ APP_JUMB(ctor->type);
+ JumbleExpr(jstate, (Node *) ctor->args);
JumbleExpr(jstate, (Node *) ctor->func);
JumbleExpr(jstate, (Node *) ctor->coercion);
JumbleExpr(jstate, (Node *) ctor->returning);
- APP_JUMB(ctor->type);
- APP_JUMB(ctor->unique);
APP_JUMB(ctor->absent_on_null);
+ APP_JUMB(ctor->unique);
}
break;
case T_JsonIsPredicate:
@@ -781,8 +782,8 @@ JumbleExpr(JumbleState *jstate, Node *node)
JumbleExpr(jstate, (Node *) pred->expr);
JumbleExpr(jstate, (Node *) pred->format);
+ APP_JUMB(pred->item_type);
APP_JUMB(pred->unique_keys);
- APP_JUMB(pred->value_type);
}
break;
case T_JsonExpr: