package com.taobao.tddl.optimizer.core.plan.query;
import java.util.List;
import com.taobao.tddl.optimizer.core.plan.IDataNodeExecutor;
import com.taobao.tddl.optimizer.core.plan.IQueryTree;
/**
* @since 5.0.0
*/
public interface IMerge extends IParallelizableQueryTree<IQueryTree> {
public List<IDataNodeExecutor> getSubNode();
public IMerge setSubNode(List<IDataNodeExecutor> subNode);
public IMerge addSubNode(IDataNodeExecutor subNode);
/**
* Merge可以根据中间结果得知具体在哪个节点上进行查询 所以Merge的分库操作可以放到执行器中进行
*
* @return true 表示已经经过sharding 。 false表示未经处理
*/
public Boolean isSharded();
public IMerge setSharded(boolean sharded);
public Boolean isUnion();
public IMerge setUnion(boolean isUnion);
}