package com.purui.prims.headless.core.translator.calcite.planner;


import com.purui.prims.headless.core.pojo.QueryStatement;
import com.purui.prims.headless.api.pojo.enums.AggOption;
import com.purui.prims.headless.api.pojo.enums.EngineType;

/**
 * parse and generate SQL and other execute information
 */
public interface Planner {

    public void explain(QueryStatement queryStatement, AggOption aggOption) throws Exception;

    public String getSql(EngineType enginType);

    public String getSourceId();

    public String simplify(String sql, EngineType engineType);
}
