Class WindowOperatorQuery
- All Implemented Interfaces:
Query<RowsAndColumns>
It relies on a set of Operators to work on the data that it is given. As such, it doesn't actually encapsulate any window-specific logic in-and-of-itself, but rather delegates everything to the operators. This is because this is also intended as the initial addition of more explicit Operators to the Druid code base.
The assumptions on the incoming data are defined by the operators. At initial time of writing, there is a baked in assumption that data has been sorted "correctly" before this runs.
-
Field Summary
Fields inherited from class org.apache.druid.query.BaseQuery
QUERY_ID, SQL_QUERY_ID, SUB_QUERY_IDFields inherited from interface org.apache.druid.query.Query
DATASOURCE_METADATA, GROUP_BY, SCAN, SEARCH, SEGMENT_METADATA, SELECT, TIME_BOUNDARY, TIMESERIES, TOPN, UNION_QUERY, WINDOW_OPERATOR -
Constructor Summary
ConstructorsConstructorDescriptionWindowOperatorQuery(DataSource dataSource, QuerySegmentSpec intervals, Map<String, Object> context, RowSignature rowSignature, List<OperatorFactory> operators, List<OperatorFactory> leafOperators) -
Method Summary
Modifier and TypeMethodDescriptionbooleangetResultRowSignature(RowSignature.Finalization finalization) getType()booleaninthashCode()toString()withDataSource(DataSource dataSource) withOperators(List<OperatorFactory> operators) withOverriddenContext(Map<String, Object> contextOverride) Returns a new query, identical to this one, but with a different associatedQuerySegmentSpec.Methods inherited from class org.apache.druid.query.BaseQuery
calculateDuration, checkInterrupted, computeOverriddenContext, computeOverridenContext, context, getContext, getDataSource, getDuration, getGranularity, getId, getIntervals, getQuerySegmentSpec, getResultOrdering, getRunner, getSubQueryId, getTimezone, withId, withSqlQueryId, withSubQueryIdMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.druid.query.Query
getContextBoolean, getContextHumanReadableBytes, getContextValue, getMostSpecificId, getRequiredColumns, getResultRowSignature, getSingleInterval, getSqlQueryId, getVirtualColumns, mayCollapseQueryDataSource, optimizeForSegment, withDefaultSubQueryId, withLane, withPriority
-
Constructor Details
-
WindowOperatorQuery
public WindowOperatorQuery(DataSource dataSource, QuerySegmentSpec intervals, Map<String, Object> context, RowSignature rowSignature, List<OperatorFactory> operators, List<OperatorFactory> leafOperators)
-
-
Method Details
-
getOperators
-
getLeafOperators
-
getRowSignature
-
getResultRowSignature
-
hasFilters
public boolean hasFilters() -
getFilter
-
getType
-
withOverriddenContext
-
withQuerySegmentSpec
Description copied from interface:QueryReturns a new query, identical to this one, but with a different associatedQuerySegmentSpec.This often changes the behavior of
Query.getRunner(QuerySegmentWalker), since most queries inherit that method fromBaseQuery, which implements it by callingQuerySegmentSpec.lookup(org.apache.druid.query.Query<T>, org.apache.druid.query.QuerySegmentWalker). -
withDataSource
-
withOperators
-
equals
- Overrides:
equalsin classBaseQuery<RowsAndColumns>
-
hashCode
public int hashCode()- Overrides:
hashCodein classBaseQuery<RowsAndColumns>
-
toString
-