protected static java.util.List<DruidQuery.JsonAggregation> |
DruidQuery.computeDruidJsonAgg(java.util.List<AggregateCall> aggCalls,
java.util.List<java.lang.String> aggNames,
Project project,
DruidQuery druidQuery) |
|
private static DruidJsonFilter |
DruidQuery.computeFilter(Filter filterRel,
DruidQuery druidQuery) |
Translates Filter rel to Druid Filter Json object if possible.
|
protected static Pair<java.util.List<java.lang.String>,java.util.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<java.util.List<DimensionSpec>,java.util.List<VirtualColumn>> |
DruidQuery.computeProjectGroupSet(Project projectNode,
ImmutableBitSet groupSet,
RelDataType inputRowType,
DruidQuery druidQuery) |
Computes the project group set.
|
static DruidQuery |
DruidQuery.extendQuery(DruidQuery query,
java.util.List<org.joda.time.Interval> intervals) |
Extends a DruidQuery.
|
static DruidQuery |
DruidQuery.extendQuery(DruidQuery query,
RelNode r) |
Extends a DruidQuery.
|
protected static java.lang.String |
DruidQuery.extractColumnName(RexNode rexNode,
RelDataType rowType,
DruidQuery query) |
|
private static DruidQuery.JsonAggregation |
DruidQuery.getJsonAggregation(java.lang.String name,
AggregateCall aggCall,
RexNode filterNode,
java.lang.String fieldName,
java.lang.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<java.util.List<RexNode>,java.util.List<RexNode>,java.util.List<RexNode>> |
DruidRules.DruidFilterRule.splitFilters(RexBuilder rexBuilder,
DruidQuery input,
java.util.List<RexNode> validPreds,
java.util.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<java.lang.String,ExtractionFunction> |
DruidQuery.toDruidColumn(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
|
java.lang.String |
BinaryOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
|
java.lang.String |
CeilOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery query) |
|
java.lang.String |
DirectOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
|
static java.lang.String |
DruidExpressions.toDruidExpression(RexNode rexNode,
RelDataType inputRowType,
DruidQuery druidRel) |
Translates Calcite rexNode to Druid Expression when possible
|
java.lang.String |
DruidSqlCastConverter.toDruidExpression(RexNode rexNode,
RelDataType topRel,
DruidQuery druidQuery) |
|
java.lang.String |
DruidSqlOperatorConverter.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
Translate rexNode to valid Druid expression.
|
java.lang.String |
ExtractOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery query) |
|
java.lang.String |
FloorOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
|
java.lang.String |
NaryOperatorConverter.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
|
java.lang.String |
SubstringOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery query) |
|
java.lang.String |
UnaryPrefixOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
|
java.lang.String |
UnarySuffixOperatorConversion.toDruidExpression(RexNode rexNode,
RelDataType rowType,
DruidQuery druidQuery) |
|
private static DruidJsonFilter |
DruidJsonFilter.toDruidExpressionFilter(RexNode rexNode,
RelDataType rowType,
DruidQuery query) |
|
static java.util.List<java.lang.String> |
DruidExpressions.toDruidExpressions(DruidQuery druidRel,
RelDataType rowType,
java.util.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 java.lang.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) |
|