mirror of https://github.com/citusdata/citus.git
Ruleutils_17 Revert recent SQL/JSON related commits
Revertspull/7725/head8ad3592464
def847fd79
Relevant PG commit:eef5195f30
eef5195f300bb9cf2864d48761c0db2ad93842c1
parent
330e886f79
commit
a07b59d2b9
|
@ -8495,6 +8495,7 @@ get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan,
|
||||||
bool showimplicit)
|
bool showimplicit)
|
||||||
{
|
{
|
||||||
StringInfo buf = context->buf;
|
StringInfo buf = context->buf;
|
||||||
|
JsonExpr *jexpr = castNode(JsonExpr, tf->docexpr);
|
||||||
ListCell *lc_colname;
|
ListCell *lc_colname;
|
||||||
ListCell *lc_coltype;
|
ListCell *lc_coltype;
|
||||||
ListCell *lc_coltypmod;
|
ListCell *lc_coltypmod;
|
||||||
|
@ -8547,10 +8548,6 @@ get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan,
|
||||||
if (ordinality)
|
if (ordinality)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
/*
|
|
||||||
* Set default_behavior to guide get_json_expr_options() on whether to
|
|
||||||
* to emit the ON ERROR / EMPTY clauses.
|
|
||||||
*/
|
|
||||||
if (colexpr->op == JSON_EXISTS_OP)
|
if (colexpr->op == JSON_EXISTS_OP)
|
||||||
{
|
{
|
||||||
appendStringInfoString(buf, " EXISTS");
|
appendStringInfoString(buf, " EXISTS");
|
||||||
|
@ -8574,6 +8571,9 @@ get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan,
|
||||||
default_behavior = JSON_BEHAVIOR_NULL;
|
default_behavior = JSON_BEHAVIOR_NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (jexpr->on_error->btype == JSON_BEHAVIOR_ERROR)
|
||||||
|
default_behavior = JSON_BEHAVIOR_ERROR;
|
||||||
|
|
||||||
appendStringInfoString(buf, " PATH ");
|
appendStringInfoString(buf, " PATH ");
|
||||||
|
|
||||||
get_json_path_spec(colexpr->path_spec, context, showimplicit);
|
get_json_path_spec(colexpr->path_spec, context, showimplicit);
|
||||||
|
@ -8651,7 +8651,7 @@ get_json_table(TableFunc *tf, deparse_context *context, bool showimplicit)
|
||||||
get_json_table_columns(tf, castNode(JsonTablePathScan, tf->plan), context,
|
get_json_table_columns(tf, castNode(JsonTablePathScan, tf->plan), context,
|
||||||
showimplicit);
|
showimplicit);
|
||||||
|
|
||||||
if (jexpr->on_error->btype != JSON_BEHAVIOR_EMPTY_ARRAY)
|
if (jexpr->on_error->btype != JSON_BEHAVIOR_EMPTY)
|
||||||
get_json_behavior(jexpr->on_error, context, "ERROR");
|
get_json_behavior(jexpr->on_error, context, "ERROR");
|
||||||
|
|
||||||
if (PRETTY_INDENT(context))
|
if (PRETTY_INDENT(context))
|
||||||
|
|
Loading…
Reference in New Issue