diff --git a/src/backend/nodes/ag_nodes.c b/src/backend/nodes/ag_nodes.c index e20670b2b..54bd27314 100644 --- a/src/backend/nodes/ag_nodes.c +++ b/src/backend/nodes/ag_nodes.c @@ -156,7 +156,7 @@ ExtensibleNode *_new_ag_node(Size size, ag_node_tag tag) { ExtensibleNode *n; - n = (ExtensibleNode *)palloc0fast(size); + n = (ExtensibleNode *)palloc0(size); n->type = T_ExtensibleNode; n->extnodename = node_names[tag]; diff --git a/src/backend/parser/cypher_analyze.c b/src/backend/parser/cypher_analyze.c index 128acd0fb..d293df8b0 100644 --- a/src/backend/parser/cypher_analyze.c +++ b/src/backend/parser/cypher_analyze.c @@ -174,6 +174,8 @@ static bool convert_cypher_walker(Node *node, ParseState *pstate) * OpExpr - expression node for an operator invocation * Const - constant value or expression node * BoolExpr - expression node for the basic Boolean operators AND, OR, NOT + * JsonConstructorExpr - wrapper over FuncExpr/Aggref/WindowFunc for + * SQL/JSON constructors * * These are a special case that needs to be ignored. * @@ -181,7 +183,8 @@ static bool convert_cypher_walker(Node *node, ParseState *pstate) if (IsA(funcexpr, SQLValueFunction) || IsA(funcexpr, CoerceViaIO) || IsA(funcexpr, Var) || IsA(funcexpr, OpExpr) - || IsA(funcexpr, Const) || IsA(funcexpr, BoolExpr)) + || IsA(funcexpr, Const) || IsA(funcexpr, BoolExpr) + || IsA(funcexpr, JsonConstructorExpr)) { return false; } @@ -346,6 +349,8 @@ static bool is_func_cypher(FuncExpr *funcexpr) * OpExpr - expression node for an operator invocation * Const - constant value or expression node * BoolExpr - expression node for the basic Boolean operators AND, OR, NOT + * JsonConstructorExpr - wrapper over FuncExpr/Aggref/WindowFunc for + * SQL/JSON constructors * * These are a special case that needs to be ignored. * @@ -353,7 +358,8 @@ static bool is_func_cypher(FuncExpr *funcexpr) if (IsA(funcexpr, SQLValueFunction) || IsA(funcexpr, CoerceViaIO) || IsA(funcexpr, Var) || IsA(funcexpr, OpExpr) - || IsA(funcexpr, Const) || IsA(funcexpr, BoolExpr)) + || IsA(funcexpr, Const) || IsA(funcexpr, BoolExpr) + || IsA(funcexpr, JsonConstructorExpr)) { return false; }