Search in sources :

Example 1 with OrderByHandler

use of com.actiontech.dble.backend.mysql.nio.handler.query.impl.OrderByHandler in project dble by actiontech.

the class JoinNodeHandlerBuilder method buildJoinChild.

private DMLResponseHandler buildJoinChild(PlanNode child, boolean isLeft) {
    BaseHandlerBuilder builder = hBuilder.getBuilder(session, child, isExplain);
    if (builder.getSubQueryBuilderList().size() > 0) {
        this.getSubQueryBuilderList().addAll(builder.getSubQueryBuilderList());
    }
    DMLResponseHandler endHandler = builder.getEndHandler();
    if (isLeft) {
        if (!node.isLeftOrderMatch()) {
            OrderByHandler oh = new OrderByHandler(getSequenceId(), session, node.getLeftJoinOnOrders());
            endHandler.setNextHandler(oh);
            endHandler = oh;
        }
        endHandler.setLeft(true);
    } else {
        if (!node.isRightOrderMatch()) {
            OrderByHandler oh = new OrderByHandler(getSequenceId(), session, node.getRightJoinOnOrders());
            endHandler.setNextHandler(oh);
            endHandler = oh;
        }
    }
    return endHandler;
}
Also used : OrderByHandler(com.actiontech.dble.backend.mysql.nio.handler.query.impl.OrderByHandler) DMLResponseHandler(com.actiontech.dble.backend.mysql.nio.handler.query.DMLResponseHandler)

Aggregations

DMLResponseHandler (com.actiontech.dble.backend.mysql.nio.handler.query.DMLResponseHandler)1 OrderByHandler (com.actiontech.dble.backend.mysql.nio.handler.query.impl.OrderByHandler)1