diff --git a/indexing-hadoop/src/main/java/org/apache/druid/indexer/InputRowSerde.java b/indexing-hadoop/src/main/java/org/apache/druid/indexer/InputRowSerde.java index a19001a1812f..de07ffa9b898 100644 --- a/indexing-hadoop/src/main/java/org/apache/druid/indexer/InputRowSerde.java +++ b/indexing-hadoop/src/main/java/org/apache/druid/indexer/InputRowSerde.java @@ -331,7 +331,7 @@ public static SerializeResult toBytes( writeString(k, out); try (Aggregator agg = aggFactory.factorize( - IncrementalIndex.makeColumnSelectorFactory(RowSignature::empty, VirtualColumns.EMPTY, aggFactory, supplier, true) + IncrementalIndex.makeColumnSelectorFactory(RowSignature.empty(), VirtualColumns.EMPTY, aggFactory, supplier, true) )) { try { agg.aggregate(); diff --git a/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java b/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java index b4f583668fe2..c185dddd07ef 100644 --- a/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java +++ b/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java @@ -403,7 +403,7 @@ public ColumnCapabilities getColumnCapabilities(String column) return RowBasedColumnSelectorFactory.create( adapter, supplier::get, - () -> decoratedSignature, + decoratedSignature, false ); } diff --git a/processing/src/main/java/org/apache/druid/query/timeseries/TimeseriesQueryQueryToolChest.java b/processing/src/main/java/org/apache/druid/query/timeseries/TimeseriesQueryQueryToolChest.java index 64b3ab4f22cc..f127864b2506 100644 --- a/processing/src/main/java/org/apache/druid/query/timeseries/TimeseriesQueryQueryToolChest.java +++ b/processing/src/main/java/org/apache/druid/query/timeseries/TimeseriesQueryQueryToolChest.java @@ -232,7 +232,7 @@ private Result getNullTimeseriesResultValue(TimeseriesQue RowBasedColumnSelectorFactory.create( RowAdapters.standardRow(), () -> new MapBasedRow(null, null), - () -> aggregatorsSignature, + aggregatorsSignature, false ) ); diff --git a/processing/src/main/java/org/apache/druid/segment/RowBasedColumnSelectorFactory.java b/processing/src/main/java/org/apache/druid/segment/RowBasedColumnSelectorFactory.java index 0d8702a1f585..4fd9860e15a8 100644 --- a/processing/src/main/java/org/apache/druid/segment/RowBasedColumnSelectorFactory.java +++ b/processing/src/main/java/org/apache/druid/segment/RowBasedColumnSelectorFactory.java @@ -56,7 +56,7 @@ public class RowBasedColumnSelectorFactory implements ColumnSelectorFactory @Nullable private final LongSupplier rowIdSupplier; private final RowAdapter adapter; - private final Supplier columnInspectorSupplier; + private final ColumnInspector columnInspector; private final boolean throwParseExceptions; /** @@ -67,15 +67,15 @@ public class RowBasedColumnSelectorFactory implements ColumnSelectorFactory final Supplier rowSupplier, @Nullable final LongSupplier rowIdSupplier, final RowAdapter adapter, - final Supplier columnInspectorSupplier, + final ColumnInspector columnInspector, final boolean throwParseExceptions ) { this.rowSupplier = rowSupplier; this.rowIdSupplier = rowIdSupplier; this.adapter = adapter; - this.columnInspectorSupplier = - Preconditions.checkNotNull(columnInspectorSupplier, "columnInspectorSupplier must be nonnull"); + this.columnInspector = + Preconditions.checkNotNull(columnInspector, "columnInspector must be nonnull"); this.throwParseExceptions = throwParseExceptions; } @@ -84,7 +84,7 @@ public class RowBasedColumnSelectorFactory implements ColumnSelectorFactory * * @param adapter adapter for these row objects * @param supplier supplier of row objects - * @param columnInspectorSupplier will be used for reporting available columns and their capabilities. Note that this + * @param columnInspector will be used for reporting available columns and their capabilities. Note that this * factory will still allow creation of selectors on any named field in the rows, even if * it doesn't appear in "columnInspector". (It only needs to be accessible via * {@link RowAdapter#columnFunction}.) As a result, you can achieve an untyped mode by @@ -95,11 +95,11 @@ public class RowBasedColumnSelectorFactory implements ColumnSelectorFactory public static RowBasedColumnSelectorFactory create( final RowAdapter adapter, final Supplier supplier, - final Supplier columnInspectorSupplier, + final ColumnInspector columnInspector, final boolean throwParseExceptions ) { - return new RowBasedColumnSelectorFactory<>(supplier, null, adapter, columnInspectorSupplier, throwParseExceptions); + return new RowBasedColumnSelectorFactory<>(supplier, null, adapter, columnInspector, throwParseExceptions); } @Nullable @@ -495,6 +495,6 @@ private Number getCurrentValueAsNumber() @Override public ColumnCapabilities getColumnCapabilities(String columnName) { - return getColumnCapabilities(columnInspectorSupplier.get(), columnName); + return getColumnCapabilities(columnInspector, columnName); } } diff --git a/processing/src/main/java/org/apache/druid/segment/RowBasedCursor.java b/processing/src/main/java/org/apache/druid/segment/RowBasedCursor.java index 3f83c09ff046..cc2422e38a2c 100644 --- a/processing/src/main/java/org/apache/druid/segment/RowBasedCursor.java +++ b/processing/src/main/java/org/apache/druid/segment/RowBasedCursor.java @@ -69,7 +69,7 @@ public class RowBasedCursor implements Cursor rowWalker::currentRow, () -> rowId, rowAdapter, - () -> rowSignature, + rowSignature, false ) ); diff --git a/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndex.java b/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndex.java index e1cd27632080..4a7c9cd93df3 100644 --- a/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndex.java +++ b/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndex.java @@ -47,6 +47,7 @@ import org.apache.druid.query.dimension.DimensionSpec; import org.apache.druid.query.monomorphicprocessing.RuntimeShapeInspector; import org.apache.druid.segment.AbstractIndex; +import org.apache.druid.segment.ColumnInspector; import org.apache.druid.segment.ColumnSelectorFactory; import org.apache.druid.segment.ColumnValueSelector; import org.apache.druid.segment.DimensionHandler; @@ -68,7 +69,6 @@ import org.apache.druid.segment.column.ColumnCapabilitiesImpl; import org.apache.druid.segment.column.ColumnHolder; import org.apache.druid.segment.column.ColumnType; -import org.apache.druid.segment.column.RowSignature; import org.apache.druid.segment.column.ValueType; import org.apache.druid.segment.serde.ComplexMetricExtractor; import org.apache.druid.segment.serde.ComplexMetricSerde; @@ -97,7 +97,7 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.stream.Stream; -public abstract class IncrementalIndex extends AbstractIndex implements Iterable, Closeable +public abstract class IncrementalIndex extends AbstractIndex implements Iterable, Closeable, ColumnInspector { /** * Column selector used at ingestion time for inputs to aggregators. @@ -109,7 +109,7 @@ public abstract class IncrementalIndex extends AbstractIndex implements Iterable * @return column selector factory */ public static ColumnSelectorFactory makeColumnSelectorFactory( - final Supplier rowSignatureSupplier, + final ColumnInspector columnInspector, final VirtualColumns virtualColumns, final AggregatorFactory agg, final Supplier in, @@ -119,7 +119,7 @@ public static ColumnSelectorFactory makeColumnSelectorFactory( final RowBasedColumnSelectorFactory baseSelectorFactory = RowBasedColumnSelectorFactory.create( RowAdapters.standardRow(), in::get, - rowSignatureSupplier::get, + columnInspector, true ); @@ -437,10 +437,27 @@ public Map getColumnCapabilities() ImmutableMap.Builder builder = ImmutableMap.builder().putAll(timeAndMetricsColumnCapabilities); - dimensionDescs.forEach((dimension, desc) -> builder.put(dimension, desc.getCapabilities())); + synchronized (dimensionDescs) { + dimensionDescs.forEach((dimension, desc) -> builder.put(dimension, desc.getCapabilities())); + } return builder.build(); } + @Nullable + @Override + public ColumnCapabilities getColumnCapabilities(String columnName) + { + if (timeAndMetricsColumnCapabilities.containsKey(columnName)) { + return timeAndMetricsColumnCapabilities.get(columnName); + } + synchronized (dimensionDescs) { + if (dimensionDescs.containsKey(columnName)) { + return dimensionDescs.get(columnName).getCapabilities(); + } + } + return null; + } + /** * Adds a new row. The row might correspond with another row that already exists, in which case this will * update that row instead of inserting a new one. @@ -847,15 +864,6 @@ public StorageAdapter toStorageAdapter() return new IncrementalIndexStorageAdapter(this); } - @Nullable - public ColumnCapabilities getCapabilities(String column) - { - if (dimensionDescs.containsKey(column)) { - return dimensionDescs.get(column).getCapabilities(); - } - return timeAndMetricsColumnCapabilities.get(column); - } - public Metadata getMetadata() { return metadata; @@ -987,15 +995,7 @@ protected ColumnSelectorFactory makeColumnSelectorFactory( final boolean deserializeComplexMetrics ) { - Supplier signatureSupplier = () -> { - Map capabilitiesMap = getColumnCapabilities(); - RowSignature.Builder bob = RowSignature.builder(); - for (Map.Entry capabilitiesEntry : capabilitiesMap.entrySet()) { - bob.add(capabilitiesEntry.getKey(), capabilitiesEntry.getValue().toColumnType()); - } - return bob.build(); - }; - return makeColumnSelectorFactory(signatureSupplier, virtualColumns, agg, in, deserializeComplexMetrics); + return makeColumnSelectorFactory(this, virtualColumns, agg, in, deserializeComplexMetrics); } protected final Comparator dimsComparator() diff --git a/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndexAdapter.java b/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndexAdapter.java index 1c5a42da990f..1f2be9ed1ec7 100644 --- a/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndexAdapter.java +++ b/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndexAdapter.java @@ -221,7 +221,7 @@ public String getMetricType(String metric) @Override public ColumnCapabilities getCapabilities(String column) { - return index.getCapabilities(column); + return index.getColumnCapabilities(column); } @Override diff --git a/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndexStorageAdapter.java b/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndexStorageAdapter.java index 83458f4aa11a..72f1c51998f2 100644 --- a/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndexStorageAdapter.java +++ b/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndexStorageAdapter.java @@ -209,7 +209,7 @@ public Comparable getMaxValue(String column) @Override public ColumnCapabilities getColumnCapabilities(String column) { - // Different from index.getCapabilities because, in a way, IncrementalIndex's string-typed dimensions + // Different from index.getColumnCapabilities because, in a way, IncrementalIndex's string-typed dimensions // are always potentially multi-valued at query time. (Missing / null values for a row can potentially be // represented by an empty array; see StringDimensionIndexer.IndexerDimensionSelector's getRow method.) // @@ -222,7 +222,10 @@ public ColumnCapabilities getColumnCapabilities(String column) // to the StringDimensionIndexer so the selector built on top of it can produce values from the snapshot state of // multi-valuedness at cursor creation time, instead of the latest state, and getSnapshotColumnCapabilities could // be removed. - return ColumnCapabilitiesImpl.snapshot(index.getCapabilities(column), STORAGE_ADAPTER_CAPABILITIES_COERCE_LOGIC); + return ColumnCapabilitiesImpl.snapshot( + index.getColumnCapabilities(column), + STORAGE_ADAPTER_CAPABILITIES_COERCE_LOGIC + ); } /** @@ -234,7 +237,7 @@ public ColumnCapabilities getColumnCapabilities(String column) public ColumnCapabilities getSnapshotColumnCapabilities(String column) { return ColumnCapabilitiesImpl.snapshot( - index.getCapabilities(column), + index.getColumnCapabilities(column), SNAPSHOT_STORAGE_ADAPTER_CAPABILITIES_COERCE_LOGIC ); } diff --git a/processing/src/main/java/org/apache/druid/segment/transform/Transformer.java b/processing/src/main/java/org/apache/druid/segment/transform/Transformer.java index 27bcba5a0d82..6c2cfc200931 100644 --- a/processing/src/main/java/org/apache/druid/segment/transform/Transformer.java +++ b/processing/src/main/java/org/apache/druid/segment/transform/Transformer.java @@ -59,7 +59,7 @@ public class Transformer RowBasedColumnSelectorFactory.create( RowAdapters.standardRow(), rowSupplierForValueMatcher::get, - RowSignature::empty, // sad + RowSignature.empty(), // sad false ) ); diff --git a/processing/src/test/java/org/apache/druid/query/filter/InDimFilterTest.java b/processing/src/test/java/org/apache/druid/query/filter/InDimFilterTest.java index cb5016af53d7..0c933b67e913 100644 --- a/processing/src/test/java/org/apache/druid/query/filter/InDimFilterTest.java +++ b/processing/src/test/java/org/apache/druid/query/filter/InDimFilterTest.java @@ -217,7 +217,7 @@ public void testContainsNullWhenValuesSetIsTreeSet() final RowBasedColumnSelectorFactory columnSelectorFactory = RowBasedColumnSelectorFactory.create( RowAdapters.standardRow(), () -> new MapBasedRow(0, row), - () -> RowSignature.builder().add("dim", ColumnType.STRING).build(), + RowSignature.builder().add("dim", ColumnType.STRING).build(), true ); diff --git a/processing/src/test/java/org/apache/druid/segment/QueryableIndexColumnCapabilitiesTest.java b/processing/src/test/java/org/apache/druid/segment/QueryableIndexColumnCapabilitiesTest.java index 163f2390c6f6..427ccf9f87c8 100644 --- a/processing/src/test/java/org/apache/druid/segment/QueryableIndexColumnCapabilitiesTest.java +++ b/processing/src/test/java/org/apache/druid/segment/QueryableIndexColumnCapabilitiesTest.java @@ -159,13 +159,13 @@ public static void teardown() public void testNumericColumns() { // incremental index - assertNonStringColumnCapabilities(INC_INDEX.getCapabilities(ColumnHolder.TIME_COLUMN_NAME), ColumnType.LONG); - assertNonStringColumnCapabilities(INC_INDEX.getCapabilities("d3"), ColumnType.DOUBLE); - assertNonStringColumnCapabilities(INC_INDEX.getCapabilities("d4"), ColumnType.FLOAT); - assertNonStringColumnCapabilities(INC_INDEX.getCapabilities("d5"), ColumnType.LONG); - assertNonStringColumnCapabilities(INC_INDEX.getCapabilities("m1"), ColumnType.DOUBLE); - assertNonStringColumnCapabilities(INC_INDEX.getCapabilities("m2"), ColumnType.FLOAT); - assertNonStringColumnCapabilities(INC_INDEX.getCapabilities("m3"), ColumnType.LONG); + assertNonStringColumnCapabilities(INC_INDEX.getColumnCapabilities(ColumnHolder.TIME_COLUMN_NAME), ColumnType.LONG); + assertNonStringColumnCapabilities(INC_INDEX.getColumnCapabilities("d3"), ColumnType.DOUBLE); + assertNonStringColumnCapabilities(INC_INDEX.getColumnCapabilities("d4"), ColumnType.FLOAT); + assertNonStringColumnCapabilities(INC_INDEX.getColumnCapabilities("d5"), ColumnType.LONG); + assertNonStringColumnCapabilities(INC_INDEX.getColumnCapabilities("m1"), ColumnType.DOUBLE); + assertNonStringColumnCapabilities(INC_INDEX.getColumnCapabilities("m2"), ColumnType.FLOAT); + assertNonStringColumnCapabilities(INC_INDEX.getColumnCapabilities("m3"), ColumnType.LONG); // segment index assertNonStringColumnCapabilities( @@ -186,15 +186,15 @@ public void testNumericColumnsWithNulls() // incremental index // time does not have nulls assertNonStringColumnCapabilities( - INC_INDEX_WITH_NULLS.getCapabilities(ColumnHolder.TIME_COLUMN_NAME), + INC_INDEX_WITH_NULLS.getColumnCapabilities(ColumnHolder.TIME_COLUMN_NAME), ColumnType.LONG ); - assertNonStringColumnCapabilitiesWithNulls(INC_INDEX_WITH_NULLS.getCapabilities("d3"), ColumnType.DOUBLE); - assertNonStringColumnCapabilitiesWithNulls(INC_INDEX_WITH_NULLS.getCapabilities("d4"), ColumnType.FLOAT); - assertNonStringColumnCapabilitiesWithNulls(INC_INDEX_WITH_NULLS.getCapabilities("d5"), ColumnType.LONG); - assertNonStringColumnCapabilitiesWithNulls(INC_INDEX_WITH_NULLS.getCapabilities("m1"), ColumnType.DOUBLE); - assertNonStringColumnCapabilitiesWithNulls(INC_INDEX_WITH_NULLS.getCapabilities("m2"), ColumnType.FLOAT); - assertNonStringColumnCapabilitiesWithNulls(INC_INDEX_WITH_NULLS.getCapabilities("m3"), ColumnType.LONG); + assertNonStringColumnCapabilitiesWithNulls(INC_INDEX_WITH_NULLS.getColumnCapabilities("d3"), ColumnType.DOUBLE); + assertNonStringColumnCapabilitiesWithNulls(INC_INDEX_WITH_NULLS.getColumnCapabilities("d4"), ColumnType.FLOAT); + assertNonStringColumnCapabilitiesWithNulls(INC_INDEX_WITH_NULLS.getColumnCapabilities("d5"), ColumnType.LONG); + assertNonStringColumnCapabilitiesWithNulls(INC_INDEX_WITH_NULLS.getColumnCapabilities("m1"), ColumnType.DOUBLE); + assertNonStringColumnCapabilitiesWithNulls(INC_INDEX_WITH_NULLS.getColumnCapabilities("m2"), ColumnType.FLOAT); + assertNonStringColumnCapabilitiesWithNulls(INC_INDEX_WITH_NULLS.getColumnCapabilities("m3"), ColumnType.LONG); // segment index assertNonStringColumnCapabilities( @@ -230,7 +230,7 @@ public void testNumericColumnsWithNulls() @Test public void testStringColumn() { - ColumnCapabilities caps = INC_INDEX.getCapabilities("d1"); + ColumnCapabilities caps = INC_INDEX.getColumnCapabilities("d1"); Assert.assertEquals(ValueType.STRING, caps.getType()); Assert.assertTrue(caps.hasBitmapIndexes()); Assert.assertTrue(caps.isDictionaryEncoded().isMaybeTrue()); @@ -265,7 +265,7 @@ public void testStringColumn() @Test public void testStringColumnWithNulls() { - ColumnCapabilities caps = INC_INDEX_WITH_NULLS.getCapabilities("d1"); + ColumnCapabilities caps = INC_INDEX_WITH_NULLS.getColumnCapabilities("d1"); Assert.assertEquals(ValueType.STRING, caps.getType()); Assert.assertTrue(caps.hasBitmapIndexes()); Assert.assertTrue(caps.isDictionaryEncoded().isTrue()); @@ -298,7 +298,7 @@ public void testStringColumnWithNulls() @Test public void testMultiStringColumn() { - ColumnCapabilities caps = INC_INDEX.getCapabilities("d2"); + ColumnCapabilities caps = INC_INDEX.getColumnCapabilities("d2"); Assert.assertEquals(ValueType.STRING, caps.getType()); Assert.assertTrue(caps.hasBitmapIndexes()); Assert.assertTrue(caps.isDictionaryEncoded().isTrue()); @@ -323,7 +323,7 @@ public void testMultiStringColumn() @Test public void testMultiStringColumnWithNulls() { - ColumnCapabilities caps = INC_INDEX_WITH_NULLS.getCapabilities("d2"); + ColumnCapabilities caps = INC_INDEX_WITH_NULLS.getColumnCapabilities("d2"); Assert.assertEquals(ValueType.STRING, caps.getType()); Assert.assertTrue(caps.hasBitmapIndexes()); Assert.assertTrue(caps.isDictionaryEncoded().isTrue()); @@ -347,10 +347,10 @@ public void testMultiStringColumnWithNulls() @Test public void testComplexColumn() { - assertComplexColumnCapabilites(INC_INDEX.getCapabilities("m4")); + assertComplexColumnCapabilites(INC_INDEX.getColumnCapabilities("m4")); assertComplexColumnCapabilites(MMAP_INDEX.getColumnHolder("m4").getCapabilities()); // results for this complex aren't different, we only know that nullability is unknown - assertComplexColumnCapabilites(INC_INDEX_WITH_NULLS.getCapabilities("m4")); + assertComplexColumnCapabilites(INC_INDEX_WITH_NULLS.getColumnCapabilities("m4")); assertComplexColumnCapabilites(MMAP_INDEX_WITH_NULLS.getColumnHolder("m4").getCapabilities()); } diff --git a/processing/src/test/java/org/apache/druid/segment/filter/BaseFilterTest.java b/processing/src/test/java/org/apache/druid/segment/filter/BaseFilterTest.java index 3c8b70a5292a..7e21bcf61983 100644 --- a/processing/src/test/java/org/apache/druid/segment/filter/BaseFilterTest.java +++ b/processing/src/test/java/org/apache/druid/segment/filter/BaseFilterTest.java @@ -754,7 +754,7 @@ private List selectColumnValuesMatchingFilterUsingRowBasedColumnSelector RowBasedColumnSelectorFactory.create( RowAdapters.standardRow(), rowSupplier::get, - rowSignatureBuilder::build, + rowSignatureBuilder.build(), false ) ) diff --git a/processing/src/test/java/org/apache/druid/segment/virtual/ExpressionVirtualColumnTest.java b/processing/src/test/java/org/apache/druid/segment/virtual/ExpressionVirtualColumnTest.java index 195fe4622aa3..a6a792f76cca 100644 --- a/processing/src/test/java/org/apache/druid/segment/virtual/ExpressionVirtualColumnTest.java +++ b/processing/src/test/java/org/apache/druid/segment/virtual/ExpressionVirtualColumnTest.java @@ -205,7 +205,7 @@ public class ExpressionVirtualColumnTest extends InitializedNullHandlingTest private static final ColumnSelectorFactory COLUMN_SELECTOR_FACTORY = RowBasedColumnSelectorFactory.create( RowAdapters.standardRow(), CURRENT_ROW::get, - RowSignature::empty, + RowSignature.empty(), false ); @@ -745,7 +745,7 @@ public void testExprEvalSelectorWithLongsAndNulls() RowBasedColumnSelectorFactory.create( RowAdapters.standardRow(), CURRENT_ROW::get, - RowSignature.builder().add("x", ColumnType.LONG)::build, + RowSignature.builder().add("x", ColumnType.LONG).build(), false ), Parser.parse(SCALE_LONG.getExpression(), TestExprMacroTable.INSTANCE) @@ -768,7 +768,7 @@ public void testExprEvalSelectorWithDoublesAndNulls() RowBasedColumnSelectorFactory.create( RowAdapters.standardRow(), CURRENT_ROW::get, - RowSignature.builder().add("x", ColumnType.DOUBLE)::build, + RowSignature.builder().add("x", ColumnType.DOUBLE).build(), false ), Parser.parse(SCALE_FLOAT.getExpression(), TestExprMacroTable.INSTANCE) @@ -791,7 +791,7 @@ public void testExprEvalSelectorWithFloatAndNulls() RowBasedColumnSelectorFactory.create( RowAdapters.standardRow(), CURRENT_ROW::get, - RowSignature.builder().add("x", ColumnType.FLOAT)::build, + RowSignature.builder().add("x", ColumnType.FLOAT).build(), false ), Parser.parse(SCALE_FLOAT.getExpression(), TestExprMacroTable.INSTANCE) diff --git a/processing/src/test/java/org/apache/druid/segment/virtual/ListFilteredVirtualColumnSelectorTest.java b/processing/src/test/java/org/apache/druid/segment/virtual/ListFilteredVirtualColumnSelectorTest.java index 0438634b39a5..9dbc25d4317e 100644 --- a/processing/src/test/java/org/apache/druid/segment/virtual/ListFilteredVirtualColumnSelectorTest.java +++ b/processing/src/test/java/org/apache/druid/segment/virtual/ListFilteredVirtualColumnSelectorTest.java @@ -276,7 +276,7 @@ private VirtualizedColumnSelectorFactory makeSelectorFactory(ListFilteredVirtual RowBasedColumnSelectorFactory.create( RowAdapters.standardRow(), () -> new MapBasedRow(0L, ImmutableMap.of(COLUMN_NAME, ImmutableList.of("a", "b", "c", "d"))), - () -> rowSignature, + rowSignature, false ), VirtualColumns.create(ImmutableList.of(virtualColumn)) diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/expression/ExpressionTestHelper.java b/sql/src/test/java/org/apache/druid/sql/calcite/expression/ExpressionTestHelper.java index 2e58c0a2dd9f..6a89f3ca5c27 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/expression/ExpressionTestHelper.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/expression/ExpressionTestHelper.java @@ -303,7 +303,7 @@ void testFilter( RowBasedColumnSelectorFactory.create( RowAdapters.standardRow(), () -> new MapBasedRow(0L, bindings), - () -> rowSignature, + rowSignature, false ), VirtualColumns.create(virtualColumns)