| Modifier and Type | Method and Description |
|---|---|
static <T> Sequence<Result<T>> |
QueryRunnerHelper.makeCursorBasedQuery(StorageAdapter adapter,
List<org.joda.time.Interval> queryIntervals,
Filter filter,
VirtualColumns virtualColumns,
boolean descending,
Granularity granularity,
com.google.common.base.Function<Cursor,Result<T>> mapFn) |
| Modifier and Type | Method and Description |
|---|---|
void |
QueryMetrics.postFilters(List<Filter> postFilters) |
void |
DefaultQueryMetrics.postFilters(List<Filter> postFilters) |
void |
QueryMetrics.preFilters(List<Filter> preFilters) |
void |
DefaultQueryMetrics.preFilters(List<Filter> preFilters) |
| Modifier and Type | Interface and Description |
|---|---|
interface |
BooleanFilter |
| Modifier and Type | Class and Description |
|---|---|
class |
InDimFilter |
| Modifier and Type | Method and Description |
|---|---|
default Filter |
Filter.rewriteRequiredColumns(Map<String,String> columnRewrites)
Return a copy of this filter that is identical to the this filter except that it operates on different columns,
based on a renaming map where the key is the column to be renamed in the filter, and the value is the new
column name.
|
Filter |
InDimFilter.rewriteRequiredColumns(Map<String,String> columnRewrites) |
Filter |
NotDimFilter.toFilter() |
Filter |
JavaScriptDimFilter.toFilter() |
Filter |
ExtractionDimFilter.toFilter()
Deprecated.
|
Filter |
DimFilter.toFilter()
Returns a Filter that implements this DimFilter.
|
Filter |
RegexDimFilter.toFilter() |
Filter |
FalseDimFilter.toFilter() |
Filter |
LikeDimFilter.toFilter() |
Filter |
TrueDimFilter.toFilter() |
Filter |
SelectorDimFilter.toFilter() |
Filter |
SearchQueryDimFilter.toFilter() |
Filter |
ExpressionDimFilter.toFilter() |
Filter |
IntervalDimFilter.toFilter() |
Filter |
InDimFilter.toFilter() |
Filter |
SpatialDimFilter.toFilter() |
Filter |
ColumnComparisonDimFilter.toFilter() |
Filter |
OrDimFilter.toFilter() |
Filter |
AndDimFilter.toFilter() |
Filter |
BoundDimFilter.toFilter() |
Filter |
DimFilter.toOptimizedFilter() |
Filter |
AbstractOptimizableDimFilter.toOptimizedFilter() |
| Modifier and Type | Method and Description |
|---|---|
LinkedHashSet<Filter> |
BooleanFilter.getFilters()
Returns the child filters for this filter.
|
| Modifier and Type | Method and Description |
|---|---|
static FilterTuning |
FilterTuning.createDefault(Filter filter,
BitmapIndexSelector selector) |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
VectorGroupByEngine.canVectorize(GroupByQuery query,
StorageAdapter adapter,
Filter filter) |
static Sequence<ResultRow> |
VectorGroupByEngine.process(GroupByQuery query,
StorageAdapter storageAdapter,
ByteBuffer processingBuffer,
org.joda.time.DateTime fudgeTimestamp,
Filter filter,
org.joda.time.Interval interval,
GroupByQueryConfig config) |
| Modifier and Type | Field and Description |
|---|---|
protected Filter |
CursorOnlyStrategy.CursorBasedExecutor.filter |
protected Filter |
SearchStrategy.filter |
| Modifier and Type | Method and Description |
|---|---|
void |
DefaultSearchQueryMetrics.postFilters(List<Filter> postFilters) |
void |
DefaultSearchQueryMetrics.preFilters(List<Filter> preFilters) |
| Constructor and Description |
|---|
CursorBasedExecutor(SearchQuery query,
Segment segment,
Filter filter,
org.joda.time.Interval interval,
List<DimensionSpec> dimensionSpecs) |
| Modifier and Type | Method and Description |
|---|---|
Filter |
QueryableIndexStorageAdapter.FilterAnalysis.getPostFilter() |
| Modifier and Type | Method and Description |
|---|---|
QueryableIndexStorageAdapter.FilterAnalysis |
QueryableIndexStorageAdapter.analyzeFilter(Filter filter,
ColumnSelectorBitmapIndexSelector indexSelector,
QueryMetrics queryMetrics) |
default boolean |
CursorFactory.canVectorize(Filter filter,
VirtualColumns virtualColumns,
boolean descending)
Returns true if the provided combination of parameters can be handled by "makeVectorCursor".
|
boolean |
QueryableIndexStorageAdapter.canVectorize(Filter filter,
VirtualColumns virtualColumns,
boolean descending) |
Sequence<Cursor> |
CursorFactory.makeCursors(Filter filter,
org.joda.time.Interval interval,
VirtualColumns virtualColumns,
Granularity gran,
boolean descending,
QueryMetrics<?> queryMetrics)
Creates a sequence of Cursors, one for each time-granular bucket (based on the provided Granularity).
|
Sequence<Cursor> |
RowBasedStorageAdapter.makeCursors(Filter filter,
org.joda.time.Interval queryInterval,
VirtualColumns virtualColumns,
Granularity gran,
boolean descending,
QueryMetrics<?> queryMetrics) |
Sequence<Cursor> |
QueryableIndexStorageAdapter.makeCursors(Filter filter,
org.joda.time.Interval interval,
VirtualColumns virtualColumns,
Granularity gran,
boolean descending,
QueryMetrics<?> queryMetrics) |
default VectorCursor |
CursorFactory.makeVectorCursor(Filter filter,
org.joda.time.Interval interval,
VirtualColumns virtualColumns,
boolean descending,
int vectorSize,
QueryMetrics<?> queryMetrics)
Creates a VectorCursor.
|
VectorCursor |
QueryableIndexStorageAdapter.makeVectorCursor(Filter filter,
org.joda.time.Interval interval,
VirtualColumns virtualColumns,
boolean descending,
int vectorSize,
QueryMetrics<?> queryMetrics) |
| Constructor and Description |
|---|
FilterAnalysis(ImmutableBitmap preFilterBitmap,
Filter postFilter) |
QueryableIndexCursorSequenceBuilder(QueryableIndex index,
org.joda.time.Interval interval,
VirtualColumns virtualColumns,
ImmutableBitmap filterBitmap,
long minDataTimestamp,
long maxDataTimestamp,
boolean descending,
Filter postFilter,
ColumnSelectorBitmapIndexSelector bitmapIndexSelector) |
| Modifier and Type | Class and Description |
|---|---|
class |
AndFilter |
class |
BoundFilter |
class |
ColumnComparisonFilter |
class |
DimensionPredicateFilter |
class |
ExpressionFilter |
class |
FalseFilter |
class |
JavaScriptFilter |
class |
LikeFilter |
class |
NotFilter |
class |
OrFilter |
class |
RegexFilter |
class |
SearchQueryFilter |
class |
SelectorFilter
This filter is to select the rows where the
SelectorFilter.dimension has the SelectorFilter.value. |
class |
SpatialFilter |
class |
TrueFilter |
| Modifier and Type | Method and Description |
|---|---|
static Filter |
Filters.and(List<Filter> filters)
Create a filter representing an AND relationship across a list of filters.
|
static Filter |
Filters.convertToCNFFromQueryContext(Query query,
Filter filter) |
Filter |
NotFilter.getBaseFilter() |
static Filter |
Filters.or(List<Filter> filters)
Create a filter representing an OR relationship across a list of filters.
|
Filter |
NotFilter.rewriteRequiredColumns(Map<String,String> columnRewrites) |
Filter |
SelectorFilter.rewriteRequiredColumns(Map<String,String> columnRewrites) |
Filter |
LikeFilter.rewriteRequiredColumns(Map<String,String> columnRewrites) |
Filter |
TrueFilter.rewriteRequiredColumns(Map<String,String> columnRewrites) |
Filter |
SearchQueryFilter.rewriteRequiredColumns(Map<String,String> columnRewrites) |
Filter |
FalseFilter.rewriteRequiredColumns(Map<String,String> columnRewrites) |
Filter |
BoundFilter.rewriteRequiredColumns(Map<String,String> columnRewrites) |
Filter |
RegexFilter.rewriteRequiredColumns(Map<String,String> columnRewrites) |
static Filter |
Filters.toCnf(Filter current) |
static Filter |
Filters.toFilter(DimFilter dimFilter)
Convert a DimFilter to a Filter.
|
| Modifier and Type | Method and Description |
|---|---|
LinkedHashSet<Filter> |
AndFilter.getFilters() |
LinkedHashSet<Filter> |
OrFilter.getFilters() |
static Optional<Filter> |
Filters.maybeAnd(List<Filter> filters)
Like
Filters.and(java.util.List<org.apache.druid.query.filter.Filter>), but returns an empty Optional instead of throwing an exception if "filters" is empty
or only contains nulls. |
static Optional<Filter> |
Filters.maybeOr(List<Filter> filters)
Like
Filters.or(java.util.List<org.apache.druid.query.filter.Filter>), but returns an empty Optional instead of throwing an exception if "filters" is empty
or only contains nulls. |
static List<Filter> |
Filters.toFilters(List<DimFilter> dimFilters)
Convert a list of DimFilters to a list of Filters.
|
static List<Filter> |
Filters.toNormalizedOrClauses(Filter filter) |
| Modifier and Type | Method and Description |
|---|---|
static Filter |
Filters.convertToCNFFromQueryContext(Query query,
Filter filter) |
static boolean |
Filters.filterMatchesNull(Filter filter) |
static boolean |
Filters.shouldUseBitmapIndex(Filter filter,
BitmapIndexSelector indexSelector,
FilterTuning filterTuning)
This method provides a "standard" implementation of
shouldUseBitmapIndex(BitmapIndexSelector) which takes
a Filter, a BitmapIndexSelector, and FilterTuning to determine if:
a) the filter supports bitmap indexes for all required columns
b) the filter tuning specifies that it should use the index
c) the cardinality of the column is above the minimum threshold and below the maximum threshold to use the index
If all these things are true, QueryableIndexStorageAdapter will utilize the
indexes. |
static boolean |
Filters.supportsSelectivityEstimation(Filter filter,
String dimension,
ColumnSelector columnSelector,
BitmapIndexSelector indexSelector) |
static Filter |
Filters.toCnf(Filter current) |
static List<Filter> |
Filters.toNormalizedOrClauses(Filter filter) |
| Modifier and Type | Method and Description |
|---|---|
static Filter |
Filters.and(List<Filter> filters)
Create a filter representing an AND relationship across a list of filters.
|
static <T> ImmutableBitmap |
AndFilter.getBitmapIndex(BitmapIndexSelector selector,
BitmapResultFactory<T> bitmapResultFactory,
List<Filter> filters) |
static Optional<Filter> |
Filters.maybeAnd(List<Filter> filters)
Like
Filters.and(java.util.List<org.apache.druid.query.filter.Filter>), but returns an empty Optional instead of throwing an exception if "filters" is empty
or only contains nulls. |
static Optional<Filter> |
Filters.maybeOr(List<Filter> filters)
Like
Filters.or(java.util.List<org.apache.druid.query.filter.Filter>), but returns an empty Optional instead of throwing an exception if "filters" is empty
or only contains nulls. |
static Filter |
Filters.or(List<Filter> filters)
Create a filter representing an OR relationship across a list of filters.
|
| Constructor and Description |
|---|
NotFilter(Filter baseFilter) |
| Constructor and Description |
|---|
AndFilter(LinkedHashSet<Filter> filters) |
AndFilter(List<Filter> filters) |
OrFilter(LinkedHashSet<Filter> filters) |
OrFilter(List<Filter> filters) |
| Modifier and Type | Method and Description |
|---|---|
static Filter |
HiveCnfHelper.convertToCnf(Filter current) |
static Filter |
HiveCnfHelper.flatten(Filter root) |
static Filter |
CalciteCnfHelper.pull(Filter rex) |
static Filter |
HiveCnfHelper.pushDownNot(Filter current) |
| Modifier and Type | Method and Description |
|---|---|
static List<Filter> |
CalciteCnfHelper.conjunctions(Filter rexPredicate)
Returns a condition decomposed by AND.
|
| Modifier and Type | Method and Description |
|---|---|
static List<Filter> |
CalciteCnfHelper.conjunctions(Filter rexPredicate)
Returns a condition decomposed by AND.
|
static Filter |
HiveCnfHelper.convertToCnf(Filter current) |
static void |
CalciteCnfHelper.decomposeConjunction(Filter rexPredicate,
List<Filter> rexList)
Decomposes a predicate into a list of expressions that are AND'ed
together.
|
static Filter |
HiveCnfHelper.flatten(Filter root) |
static Filter |
CalciteCnfHelper.pull(Filter rex) |
static Filter |
HiveCnfHelper.pushDownNot(Filter current) |
| Modifier and Type | Method and Description |
|---|---|
static void |
CalciteCnfHelper.decomposeConjunction(Filter rexPredicate,
List<Filter> rexList)
Decomposes a predicate into a list of expressions that are AND'ed
together.
|
| Modifier and Type | Method and Description |
|---|---|
Sequence<Cursor> |
IncrementalIndexStorageAdapter.makeCursors(Filter filter,
org.joda.time.Interval interval,
VirtualColumns virtualColumns,
Granularity gran,
boolean descending,
QueryMetrics<?> queryMetrics) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
HashJoinSegmentStorageAdapter.canVectorize(Filter filter,
VirtualColumns virtualColumns,
boolean descending) |
Function<SegmentReference,SegmentReference> |
JoinableFactoryWrapper.createSegmentMapFn(Filter baseFilter,
List<PreJoinableClause> clauses,
AtomicLong cpuTimeAccumulator,
Query<?> query)
Creates a Function that maps base segments to
HashJoinSegment if needed (i.e. |
Sequence<Cursor> |
HashJoinSegmentStorageAdapter.makeCursors(Filter filter,
org.joda.time.Interval interval,
VirtualColumns virtualColumns,
Granularity gran,
boolean descending,
QueryMetrics<?> queryMetrics) |
VectorCursor |
HashJoinSegmentStorageAdapter.makeVectorCursor(Filter filter,
org.joda.time.Interval interval,
VirtualColumns virtualColumns,
boolean descending,
int vectorSize,
QueryMetrics<?> queryMetrics) |
static PostJoinCursor |
PostJoinCursor.wrap(Cursor baseCursor,
VirtualColumns virtualColumns,
Filter filter) |
| Constructor and Description |
|---|
HashJoinSegment(SegmentReference baseSegment,
Filter baseFilter,
List<JoinableClause> clauses,
JoinFilterPreAnalysis joinFilterPreAnalysis) |
| Modifier and Type | Method and Description |
|---|---|
Filter |
JoinFilterPreAnalysisKey.getFilter() |
Filter |
JoinFilterPreAnalysis.getOriginalFilter() |
Filter |
JoinFilterAnalysis.getOriginalFilter() |
| Modifier and Type | Method and Description |
|---|---|
Optional<Filter> |
JoinFilterSplit.getBaseTableFilter() |
Optional<Filter> |
JoinFilterSplit.getJoinTableFilter() |
List<Filter> |
JoinFilterPreAnalysis.getNormalizedBaseTableClauses() |
List<Filter> |
JoinFilterPreAnalysis.getNormalizedJoinTableClauses() |
Optional<Filter> |
JoinFilterAnalysis.getPushDownFilter() |
| Modifier and Type | Method and Description |
|---|---|
static JoinFilterAnalysis |
JoinFilterAnalysis.createNoPushdownFilterAnalysis(Filter originalFilter)
Utility method for generating an analysis that represents: "Filter cannot be pushed down"
|
boolean |
Equiconditions.doesFilterSupportDirectJoinFilterRewrite(Filter filterClause) |
static JoinFilterSplit |
JoinFilterAnalyzer.splitFilter(JoinFilterPreAnalysis joinFilterPreAnalysis,
Filter baseFilter) |
| Modifier and Type | Method and Description |
|---|---|
static JoinFilterCorrelations |
JoinFilterCorrelations.computeJoinFilterCorrelations(List<Filter> normalizedJoinTableClauses,
Equiconditions equiconditions,
JoinableClauses joinableClauses,
boolean enableRewriteValueColumnFilters,
long filterRewriteMaxSize) |
JoinFilterPreAnalysis.Builder |
JoinFilterPreAnalysis.Builder.withNormalizedBaseTableClauses(List<Filter> normalizedBaseTableClauses) |
JoinFilterPreAnalysis.Builder |
JoinFilterPreAnalysis.Builder.withNormalizedJoinTableClauses(List<Filter> normalizedJoinTableClauses) |
| Constructor and Description |
|---|
JoinFilterAnalysis(boolean retainAfterJoin,
Filter originalFilter,
Filter pushDownFilter) |
JoinFilterPreAnalysisKey(JoinFilterRewriteConfig config,
List<JoinableClause> clauses,
VirtualColumns virtualColumns,
Filter filter) |
JoinFilterSplit(Filter baseTableFilter,
Filter joinTableFilter,
Set<VirtualColumn> pushDownVirtualColumns) |
| Modifier and Type | Method and Description |
|---|---|
static RhsRewriteCandidates |
RhsRewriteCandidates.getRhsRewriteCandidates(List<Filter> normalizedJoinTableClauses,
Equiconditions equiconditions,
JoinableClauses joinableClauses)
Determine candidates for filter rewrites.
|
| Modifier and Type | Method and Description |
|---|---|
static FilteredVectorOffset |
FilteredVectorOffset.create(VectorOffset baseOffset,
VectorColumnSelectorFactory baseColumnSelectorFactory,
Filter filter) |
Copyright © 2011–2021 The Apache Software Foundation. All rights reserved.