diff options
Diffstat (limited to 'src/backend/utils')
-rw-r--r-- | src/backend/utils/adt/ruleutils.c | 4 | ||||
-rw-r--r-- | src/backend/utils/misc/queryjumble.c | 9 |
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: |