public class DruidUnionDataSourceRel extends DruidRel<DruidUnionDataSourceRel>
UnionDataSource. This is used to represent a "UNION ALL" of regular table
datasources.
See DruidUnionRel for a version that can union any set of queries together (not just regular tables),
but also must be the outermost rel of a query plan. In the future we expect that UnionDataSource will gain
the ability to union query datasources together, and then this class could replace DruidUnionRel.| Modifier and Type | Method and Description |
|---|---|
DruidUnionDataSourceRel |
asDruidConvention() |
org.apache.calcite.plan.RelOptCost |
computeSelfCost(org.apache.calcite.plan.RelOptPlanner planner,
org.apache.calcite.rel.metadata.RelMetadataQuery mq) |
org.apache.calcite.rel.RelNode |
copy(org.apache.calcite.plan.RelTraitSet traitSet,
List<org.apache.calcite.rel.RelNode> inputs) |
static DruidUnionDataSourceRel |
create(org.apache.calcite.rel.core.Union unionRel,
List<String> unionColumnNames,
PlannerContext plannerContext) |
protected org.apache.calcite.rel.type.RelDataType |
deriveRowType() |
org.apache.calcite.rel.RelWriter |
explainTerms(org.apache.calcite.rel.RelWriter pw) |
Set<String> |
getDataSourceNames()
Get the set of names of table datasources read by this DruidRel
|
List<org.apache.calcite.rel.RelNode> |
getInputs() |
PartialDruidQuery |
getPartialDruidQuery()
Returns the PartialDruidQuery associated with this DruidRel, and which can be built on top of.
|
List<String> |
getUnionColumnNames() |
void |
replaceInput(int ordinalInParent,
org.apache.calcite.rel.RelNode p) |
DruidQuery |
toDruidQuery(boolean finalizeAggregations)
Convert this DruidRel to a DruidQuery.
|
DruidQuery |
toDruidQueryForExplaining()
Convert this DruidRel to a DruidQuery for purposes of explaining.
|
DruidUnionDataSourceRel |
withPartialQuery(PartialDruidQuery newQueryBuilder) |
getPlannerContext, isValidDruidQuery, runQueryaccept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, equals, estimateRowCount, explain, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraitSet, getVariablesSet, getVariablesStopped, hashCode, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, sole, toStringpublic static DruidUnionDataSourceRel create(org.apache.calcite.rel.core.Union unionRel, List<String> unionColumnNames, PlannerContext plannerContext)
public PartialDruidQuery getPartialDruidQuery()
DruidRelgetPartialDruidQuery in class DruidRel<DruidUnionDataSourceRel>public DruidUnionDataSourceRel withPartialQuery(PartialDruidQuery newQueryBuilder)
withPartialQuery in class DruidRel<DruidUnionDataSourceRel>public DruidQuery toDruidQuery(boolean finalizeAggregations)
DruidReltoDruidQuery in class DruidRel<DruidUnionDataSourceRel>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.public DruidQuery toDruidQueryForExplaining()
DruidReltoDruidQueryForExplaining in class DruidRel<DruidUnionDataSourceRel>public DruidUnionDataSourceRel asDruidConvention()
asDruidConvention in class DruidRel<DruidUnionDataSourceRel>public List<org.apache.calcite.rel.RelNode> getInputs()
getInputs in interface org.apache.calcite.plan.RelOptNodegetInputs in interface org.apache.calcite.rel.RelNodegetInputs in class org.apache.calcite.rel.AbstractRelNodepublic void replaceInput(int ordinalInParent,
org.apache.calcite.rel.RelNode p)
replaceInput in interface org.apache.calcite.rel.RelNodereplaceInput in class org.apache.calcite.rel.AbstractRelNodepublic org.apache.calcite.rel.RelNode copy(org.apache.calcite.plan.RelTraitSet traitSet,
List<org.apache.calcite.rel.RelNode> inputs)
copy in interface org.apache.calcite.rel.RelNodecopy in class org.apache.calcite.rel.AbstractRelNodepublic Set<String> getDataSourceNames()
DruidRelgetDataSourceNames in class DruidRel<DruidUnionDataSourceRel>public org.apache.calcite.rel.RelWriter explainTerms(org.apache.calcite.rel.RelWriter pw)
explainTerms in class org.apache.calcite.rel.AbstractRelNodeprotected org.apache.calcite.rel.type.RelDataType deriveRowType()
deriveRowType in class org.apache.calcite.rel.AbstractRelNodepublic org.apache.calcite.plan.RelOptCost computeSelfCost(org.apache.calcite.plan.RelOptPlanner planner,
org.apache.calcite.rel.metadata.RelMetadataQuery mq)
computeSelfCost in interface org.apache.calcite.rel.RelNodecomputeSelfCost in class org.apache.calcite.rel.AbstractRelNodeCopyright © 2011–2022 The Apache Software Foundation. All rights reserved.