public class DefaultSqlHandler extends AbstractSqlHandler
| Modifier and Type | Class and Description |
|---|---|
protected class |
DefaultSqlHandler.ConvertedRelNode |
static class |
DefaultSqlHandler.MetaDataProviderModifier |
| Modifier and Type | Field and Description |
|---|---|
protected SqlHandlerConfig |
config |
protected QueryContext |
context |
| Constructor and Description |
|---|
DefaultSqlHandler(SqlHandlerConfig config) |
DefaultSqlHandler(SqlHandlerConfig config,
Pointer<String> textPlan) |
| Modifier and Type | Method and Description |
|---|---|
protected DrillRel |
addRenamedProject(DrillRel rel,
org.apache.calcite.rel.type.RelDataType validatedRowType) |
protected DrillRel |
convertToDrel(org.apache.calcite.rel.RelNode relNode)
Return Drill Logical RelNode tree for a SELECT statement, when it is executed / explained directly.
|
protected PhysicalPlan |
convertToPlan(PhysicalOperator op) |
protected PhysicalOperator |
convertToPop(Prel prel) |
protected Prel |
convertToPrel(org.apache.calcite.rel.RelNode drel,
org.apache.calcite.rel.type.RelDataType validatedRowType)
Applies physical rules and certain transformations to convert drill relational node into physical one.
|
protected DrillRel |
convertToRawDrel(org.apache.calcite.rel.RelNode relNode)
Given a relNode tree for SELECT statement, convert to Drill Logical RelNode tree.
|
PhysicalPlan |
getPlan(org.apache.calcite.sql.SqlNode sqlNode) |
static List<PhysicalOperator> |
getPops(PhysicalOperator root) |
protected void |
log(PlannerType plannerType,
PlannerPhase phase,
org.apache.calcite.rel.RelNode node,
org.slf4j.Logger logger,
com.google.common.base.Stopwatch watch) |
protected void |
log(String name,
PhysicalPlan plan,
org.slf4j.Logger logger) |
protected void |
log(String description,
org.apache.calcite.rel.RelNode node,
org.slf4j.Logger logger,
com.google.common.base.Stopwatch watch) |
protected void |
logAndSetTextPlan(String description,
Prel prel,
org.slf4j.Logger logger) |
protected org.apache.calcite.sql.SqlNode |
rewrite(org.apache.calcite.sql.SqlNode node)
Rewrite the parse tree.
|
protected org.apache.calcite.rel.RelNode |
transform(PlannerType plannerType,
PlannerPhase phase,
org.apache.calcite.rel.RelNode input,
org.apache.calcite.plan.RelTraitSet targetTraits)
Transform RelNode to a new RelNode, targeting the provided set of traits.
|
protected org.apache.calcite.rel.RelNode |
transform(PlannerType plannerType,
PlannerPhase phase,
org.apache.calcite.rel.RelNode input,
org.apache.calcite.plan.RelTraitSet targetTraits,
boolean log)
Transform RelNode to a new RelNode, targeting the provided set of traits.
|
protected DefaultSqlHandler.ConvertedRelNode |
validateAndConvert(org.apache.calcite.sql.SqlNode sqlNode) |
unwrapprotected final SqlHandlerConfig config
protected final QueryContext context
public DefaultSqlHandler(SqlHandlerConfig config)
public DefaultSqlHandler(SqlHandlerConfig config, Pointer<String> textPlan)
protected void log(PlannerType plannerType, PlannerPhase phase, org.apache.calcite.rel.RelNode node, org.slf4j.Logger logger, com.google.common.base.Stopwatch watch)
protected void log(String description, org.apache.calcite.rel.RelNode node, org.slf4j.Logger logger, com.google.common.base.Stopwatch watch)
protected void logAndSetTextPlan(String description, Prel prel, org.slf4j.Logger logger)
protected void log(String name, PhysicalPlan plan, org.slf4j.Logger logger) throws com.fasterxml.jackson.core.JsonProcessingException
com.fasterxml.jackson.core.JsonProcessingExceptionpublic PhysicalPlan getPlan(org.apache.calcite.sql.SqlNode sqlNode) throws org.apache.calcite.tools.ValidationException, org.apache.calcite.tools.RelConversionException, IOException, ForemanSetupException
getPlan in class AbstractSqlHandlerorg.apache.calcite.tools.ValidationExceptionorg.apache.calcite.tools.RelConversionExceptionIOExceptionForemanSetupExceptionprotected org.apache.calcite.sql.SqlNode rewrite(org.apache.calcite.sql.SqlNode node)
throws org.apache.calcite.tools.RelConversionException,
ForemanSetupException
node - org.apache.calcite.tools.RelConversionExceptionForemanSetupExceptionprotected DefaultSqlHandler.ConvertedRelNode validateAndConvert(org.apache.calcite.sql.SqlNode sqlNode) throws ForemanSetupException, org.apache.calcite.tools.RelConversionException, org.apache.calcite.tools.ValidationException
ForemanSetupExceptionorg.apache.calcite.tools.RelConversionExceptionorg.apache.calcite.tools.ValidationExceptionprotected DrillRel convertToRawDrel(org.apache.calcite.rel.RelNode relNode) throws SqlUnsupportedException, org.apache.calcite.tools.RelConversionException
relNode - relational nodeSqlUnsupportedExceptionorg.apache.calcite.tools.RelConversionExceptionprotected DrillRel convertToDrel(org.apache.calcite.rel.RelNode relNode) throws org.apache.calcite.tools.RelConversionException, SqlUnsupportedException
relNode - root RelNode corresponds to Calcite Logical RelNode.org.apache.calcite.tools.RelConversionExceptionSqlUnsupportedExceptionprotected org.apache.calcite.rel.RelNode transform(PlannerType plannerType, PlannerPhase phase, org.apache.calcite.rel.RelNode input, org.apache.calcite.plan.RelTraitSet targetTraits)
plannerType - The type of Planner to use.phase - The transformation phase we're running.input - The origianl RelNodetargetTraits - The traits we are targeting for output.protected org.apache.calcite.rel.RelNode transform(PlannerType plannerType, PlannerPhase phase, org.apache.calcite.rel.RelNode input, org.apache.calcite.plan.RelTraitSet targetTraits, boolean log)
plannerType - The type of Planner to use.phase - The transformation phase we're running.input - The origianl RelNodetargetTraits - The traits we are targeting for output.log - Whether to log the planning phase.protected Prel convertToPrel(org.apache.calcite.rel.RelNode drel, org.apache.calcite.rel.type.RelDataType validatedRowType) throws org.apache.calcite.tools.RelConversionException, SqlUnsupportedException
drel - relational nodevalidatedRowType - final output row typeorg.apache.calcite.tools.RelConversionExceptionSqlUnsupportedExceptionprotected PhysicalOperator convertToPop(Prel prel) throws IOException
IOExceptionprotected PhysicalPlan convertToPlan(PhysicalOperator op)
public static List<PhysicalOperator> getPops(PhysicalOperator root)
Copyright © 2017 The Apache Software Foundation. All rights reserved.