public abstract class DruidRel<T extends DruidRel>
extends org.apache.calcite.rel.AbstractRelNode
implements org.apache.calcite.interpreter.BindableRel
| Modifier | Constructor and Description |
|---|---|
protected |
DruidRel(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelTraitSet traitSet,
QueryMaker queryMaker) |
| Modifier and Type | Method and Description |
|---|---|
abstract T |
asBindable() |
abstract T |
asDruidConvention() |
org.apache.calcite.linq4j.Enumerable<Object[]> |
bind(org.apache.calcite.DataContext dataContext) |
abstract List<String> |
getDatasourceNames()
Get a list of names of datasources read by this DruidRel
|
Class<Object[]> |
getElementType() |
abstract PartialDruidQuery |
getPartialDruidQuery() |
PlannerContext |
getPlannerContext() |
abstract int |
getQueryCount()
Return the number of Druid queries this rel involves, including sub-queries.
|
QueryMaker |
getQueryMaker() |
org.apache.calcite.interpreter.Node |
implement(org.apache.calcite.interpreter.InterpretableRel.InterpreterImplementor implementor) |
boolean |
isValidDruidQuery() |
abstract io.druid.java.util.common.guava.Sequence<Object[]> |
runQuery() |
abstract DruidQuery |
toDruidQuery(boolean finalizeAggregations)
Convert this DruidRel to a DruidQuery.
|
abstract DruidQuery |
toDruidQueryForExplaining()
Convert this DruidRel to a DruidQuery for purposes of explaining.
|
abstract T |
withPartialQuery(PartialDruidQuery newQueryBuilder) |
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, computeSelfCost, copy, deriveRowType, estimateRowCount, explain, explainTerms, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getInputs, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraitSet, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, replaceInput, sole, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaccept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, computeSelfCost, copy, estimateRowCount, explain, getChildExps, getCollationList, getConvention, getCorrelVariable, getExpectedInputRowType, getInput, getInputs, getQuery, getRelTypeName, getRows, getRowType, getTable, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, replaceInputprotected DruidRel(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelTraitSet traitSet,
QueryMaker queryMaker)
public abstract PartialDruidQuery getPartialDruidQuery()
public abstract int getQueryCount()
public abstract io.druid.java.util.common.guava.Sequence<Object[]> runQuery()
public abstract T withPartialQuery(PartialDruidQuery newQueryBuilder)
public boolean isValidDruidQuery()
@Nullable public abstract DruidQuery toDruidQuery(boolean finalizeAggregations)
finalizeAggregations - true if this query should include explicit finalization for all of its
aggregators, where required. Useful for subqueries where Druid's native query layer
does not do this automatically.CannotBuildQueryExceptionpublic abstract DruidQuery toDruidQueryForExplaining()
CannotBuildQueryExceptionpublic abstract T asBindable()
public QueryMaker getQueryMaker()
public PlannerContext getPlannerContext()
public abstract T asDruidConvention()
public abstract List<String> getDatasourceNames()
public Class<Object[]> getElementType()
getElementType in interface org.apache.calcite.runtime.ArrayBindablegetElementType in interface org.apache.calcite.runtime.Typedpublic org.apache.calcite.interpreter.Node implement(org.apache.calcite.interpreter.InterpretableRel.InterpreterImplementor implementor)
implement in interface org.apache.calcite.interpreter.InterpretableRelCopyright © 2011–2018. All rights reserved.