mirror of https://github.com/citusdata/citus.git
Avoid assertion failure if a setop leaf query contains setops. 94131cd53c1552efe85c3e8120356c22cd658163
parent
d0aeed28ed
commit
0280fd7272
|
@ -2812,13 +2812,18 @@ get_setop_query(Node *setOp, Query *query, deparse_context *context)
|
||||||
Query *subquery = rte->subquery;
|
Query *subquery = rte->subquery;
|
||||||
|
|
||||||
Assert(subquery != NULL);
|
Assert(subquery != NULL);
|
||||||
Assert(subquery->setOperations == NULL);
|
/*
|
||||||
/* Need parens if WITH, ORDER BY, FOR UPDATE, or LIMIT; see gram.y */
|
* We need parens if WITH, ORDER BY, FOR UPDATE, or LIMIT; see gram.y.
|
||||||
|
* Also add parens if the leaf query contains its own set operations.
|
||||||
|
* (That shouldn't happen unless one of the other clauses is also
|
||||||
|
* present, see transformSetOperationTree; but let's be safe.)
|
||||||
|
*/
|
||||||
need_paren = (subquery->cteList ||
|
need_paren = (subquery->cteList ||
|
||||||
subquery->sortClause ||
|
subquery->sortClause ||
|
||||||
subquery->rowMarks ||
|
subquery->rowMarks ||
|
||||||
subquery->limitOffset ||
|
subquery->limitOffset ||
|
||||||
subquery->limitCount);
|
subquery->limitCount ||
|
||||||
|
subquery->setOperations);
|
||||||
if (need_paren)
|
if (need_paren)
|
||||||
appendStringInfoChar(buf, '(');
|
appendStringInfoChar(buf, '(');
|
||||||
get_query_def(subquery, buf, context->namespaces,
|
get_query_def(subquery, buf, context->namespaces,
|
||||||
|
|
Loading…
Reference in New Issue