diff --git a/src/parser/view_transform.c b/src/parser/view_transform.c index 050822c3252..f6480fa01be 100644 --- a/src/parser/view_transform.c +++ b/src/parser/view_transform.c @@ -1735,7 +1735,9 @@ mq_is_pushable_subquery (PARSER_CONTEXT * parser, PT_NODE * subquery, PT_NODE * /* determine if class_spec is the only spec in the statement */ is_rownum_only = mq_is_rownum_only_predicate (parser, statement_spec, mainquery, order_by, subquery, class_); - is_only_spec = ((statement_spec->next == NULL && (pred == NULL || is_rownum_only)) ? true : false); + is_only_spec = + ((statement_spec->next == NULL && (pred == NULL || is_rownum_only) + && (subquery->info.query.order_by == NULL || order_by == NULL)) ? true : false); /* check if orderby_for set to PT_EXPR_INFO_ROWNUM_ONLY */ orderby_for = subquery->info.query.orderby_for;