| Modifier and Type | Field and Description |
|---|---|
private DruidQuery |
DruidQuery.DruidQueryNode.query |
| Modifier and Type | Method and Description |
|---|---|
private static DruidQuery |
DruidQuery.create(RelOptCluster cluster,
RelTraitSet traitSet,
RelOptTable table,
DruidTable druidTable,
List<org.joda.time.Interval> intervals,
List<RelNode> rels,
Map<SqlOperator,DruidSqlOperatorConverter> converterOperatorMap)
Creates a DruidQuery.
|
static DruidQuery |
DruidQuery.create(RelOptCluster cluster,
RelTraitSet traitSet,
RelOptTable table,
DruidTable druidTable,
List<RelNode> rels)
Creates a DruidQuery.
|
static DruidQuery |
DruidQuery.create(RelOptCluster cluster,
RelTraitSet traitSet,
RelOptTable table,
DruidTable druidTable,
List<RelNode> rels,
Map<SqlOperator,DruidSqlOperatorConverter> converterOperatorMap)
Creates a DruidQuery.
|
static DruidQuery |
DruidQuery.extendQuery(DruidQuery query,
List<org.joda.time.Interval> intervals)
Extends a DruidQuery.
|
static DruidQuery |
DruidQuery.extendQuery(DruidQuery query,
RelNode r)
Extends a DruidQuery.
|
private DruidQuery |
DruidRules.DruidAggregateProjectRule.optimizeFilteredAggregations(RelOptRuleCall call,
DruidQuery query,
Project project,
Aggregate aggregate)
Attempts to optimize any aggregations with filters in the DruidQuery.
|
| Modifier and Type | Method and Description |
|---|---|
protected static List<DruidQuery.JsonAggregation> |
DruidQuery.computeDruidJsonAgg(List<AggregateCall> aggCalls,
List<String> aggNames,
Project project,
DruidQuery druidQuery)
Translates aggregate calls to Druid
DruidQuery.JsonAggregations when
possible. |
private static DruidJsonFilter |
DruidQuery.computeFilter(Filter filterRel,
DruidQuery druidQuery)
Translates Filter rel to Druid Filter Json object if possible.
|
protected static Pair<List<String>,List<VirtualColumn>> |
DruidQuery.computeProjectAsScan(Project projectRel,
RelDataType inputRowType,
DruidQuery druidQuery)
Translates list of projects to Druid Column names and Virtual Columns if any
We can not use
Pair.zip(Object[], Object[]), since size can be different |
protected static Pair<List<DimensionSpec>,List<VirtualColumn>> |
DruidQuery.computeProjectGroupSet(Project projectNode,
ImmutableBitSet groupSet,
RelDataType inputRowType,
DruidQuery druidQuery)
Computes the project group set.
|
static DruidQuery |
DruidQuery.extendQuery(DruidQuery query,
List<org.joda.time.Interval> intervals)
Extends a DruidQuery.
|
static DruidQuery |
DruidQuery.extendQuery(DruidQuery query,
RelNode r)
Extends a DruidQuery.
|
protected static String |
DruidQuery.extractColumnName(RexNode rexNode,
RelDataType rowType,
DruidQuery query) |
private static DruidQuery.JsonAggregation |
DruidQuery.getJsonAggregation(String name,
AggregateCall aggCall,
RexNode filterNode,
String fieldName,
String aggExpression,
DruidQuery druidQuery) |
private DruidQuery |
DruidRules.DruidAggregateProjectRule.optimizeFilteredAggregations(RelOptRuleCall call,
DruidQuery query,
Project project,
Aggregate aggregate)
Attempts to optimize any aggregations with filters in the DruidQuery.
|
private static org.apache.commons.lang3.tuple.Triple<List<RexNode>,List<RexNode>,List<RexNode>> |
DruidRules.DruidFilterRule.splitFilters(RexBuilder rexBuilder,
DruidQuery input,
List<RexNode> validPreds,
List<RexNode> nonValidPreds,
int timestampFieldIdx)
Given a list of conditions that contain Druid valid operations and
a list that contains those that contain any non-supported operation,
it outputs a triple with three different categories:
1-l) condition filters on the timestamp column,
2-m) condition filters that can be pushed to Druid,
3-r) condition filters that cannot be pushed to Druid.
|
private static DruidJsonFilter |
DruidJsonFilter.toBetweenDruidFilter(RexNode rexNode,
RelDataType rowType,
DruidQuery query) |
private static DruidJsonFilter |
DruidJsonFilter.toBoundDruidFilter(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
protected static Pair<String,ExtractionFunction> |
DruidQuery.toDruidColumn(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
String |
DruidSqlOperatorConverter.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery)
Translate rexNode to valid Druid expression.
|
String |
NaryOperatorConverter.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
String |
DruidSqlCastConverter.toDruidExpression(RexNode rexNode,
RelDataType topRel,
DruidQuery druidQuery) |
String |
DirectOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
String |
CeilOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery query) |
String |
FloorOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
String |
BinaryOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
String |
UnarySuffixOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
String |
SubstringOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery query) |
String |
ExtractOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery query) |
String |
UnaryPrefixOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
static String |
DruidExpressions.toDruidExpression(RexNode rexNode,
RelDataType inputRowType,
DruidQuery druidRel)
Translates Calcite rexNode to Druid Expression when possible
|
private static DruidJsonFilter |
DruidJsonFilter.toDruidExpressionFilter(RexNode rexNode,
RelDataType rowType,
DruidQuery query) |
static List<String> |
DruidExpressions.toDruidExpressions(DruidQuery druidRel,
RelDataType rowType,
List<RexNode> rexNodes)
Translate a list of Calcite
RexNode to Druid expressions. |
(package private) static DruidJsonFilter |
DruidJsonFilter.toDruidFilters(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
private static String |
DruidJsonFilter.toDruidLiteral(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
private static DruidJsonFilter |
DruidJsonFilter.toEqualityKindDruidFilter(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
private static DruidJsonFilter |
DruidJsonFilter.toInKindDruidFilter(RexNode e,
RelDataType rowType,
DruidQuery druidQuery) |
private static DruidJsonFilter |
DruidJsonFilter.toIsNullKindDruidFilter(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
private static DruidJsonFilter |
DruidJsonFilter.toSimpleDruidFilter(RexNode e,
RelDataType rowType,
DruidQuery druidQuery) |
| Constructor and Description |
|---|
DruidQueryNode(Compiler interpreter,
DruidQuery query) |
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.