clintropolis commented on code in PR #12646:
URL: https://github.com/apache/druid/pull/12646#discussion_r910763365
##########
processing/src/main/java/org/apache/druid/segment/QueryableIndexCursorSequenceBuilder.java:
##########
@@ -50,51 +56,66 @@
import javax.annotation.Nullable;
import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
public class QueryableIndexCursorSequenceBuilder
{
private final QueryableIndex index;
private final Interval interval;
private final VirtualColumns virtualColumns;
- @Nullable
- private final ImmutableBitmap filterBitmap;
+ private final Filter filter;
+ private final QueryMetrics<? extends Query> metrics;
private final long minDataTimestamp;
private final long maxDataTimestamp;
private final boolean descending;
- @Nullable
- private final Filter postFilter;
- @Nullable
- private final ColumnSelectorColumnIndexSelector bitmapIndexSelector;
public QueryableIndexCursorSequenceBuilder(
QueryableIndex index,
Interval interval,
VirtualColumns virtualColumns,
- @Nullable ImmutableBitmap filterBitmap,
+ @Nullable Filter filter,
+ @Nullable QueryMetrics<? extends Query> metrics,
long minDataTimestamp,
long maxDataTimestamp,
- boolean descending,
- @Nullable Filter postFilter,
- @Nullable ColumnSelectorColumnIndexSelector bitmapIndexSelector
+ boolean descending
)
{
this.index = index;
this.interval = interval;
this.virtualColumns = virtualColumns;
- this.filterBitmap = filterBitmap;
+ this.filter = filter;
+ this.metrics = metrics;
this.minDataTimestamp = minDataTimestamp;
this.maxDataTimestamp = maxDataTimestamp;
this.descending = descending;
- this.postFilter = postFilter;
- this.bitmapIndexSelector = bitmapIndexSelector;
}
public Sequence<Cursor> build(final Granularity gran)
{
+ final Closer closer = Closer.create();
+
+ // Column caches shared amongst all cursors in this sequence.
+ final ColumnCache columnCache = new ColumnCache(index, closer);
+
final Offset baseOffset;
+ final ColumnSelectorColumnIndexSelector bitmapIndexSelector = new
ColumnSelectorColumnIndexSelector(
+ index.getBitmapFactoryForDimensions(),
+ virtualColumns,
+ columnCache
Review Comment:
nothing to change now, but thinking out loud i wish there was a better way
to get the number of rows than checking the time column, its not very
accessible and seems a bit overkill for something so useful
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]