Skip to content

Commit 6545121

Browse files
authored
Test for null result in DataIndexer.getOptimalPartialIndex (deephaven#5449)
1 parent ac09e22 commit 6545121

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

engine/table/src/main/java/io/deephaven/engine/table/impl/indexer/DataIndexer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ public static DataIndex getOptimalPartialIndex(Table table, final String... keyC
252252
.filter(Objects::nonNull)
253253
.max(Comparator.comparingLong(dataIndex -> dataIndex.table().size()))
254254
.orElse(null),
255-
table::isRefreshing, DataIndex::isRefreshing);
255+
table::isRefreshing, (final DataIndex result) -> result != null && result.isRefreshing());
256256
}
257257

258258
/**

engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableWhereTest.java

+9
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,15 @@ private void testWhereInDependencyInternal(
318318
}
319319
}
320320

321+
@Test
322+
public void testWhereInOptimalIndexSelectionWithNoneAvailable() {
323+
final Table lhs = emptyTable(10).update("Part=ii % 2 == 0 ? `Apple` : `Pie`", "Hello=ii", "Goodbye = `A`+ii");
324+
DataIndexer.getOrCreateDataIndex(lhs, "Part");
325+
final Table rhs = emptyTable(2).update("Hello=ii", "Goodbye = `A`+ii");
326+
final Table result = lhs.whereIn(rhs, "Goodbye");
327+
assertTableEquals(lhs.head(2), result);
328+
}
329+
321330
@Test
322331
public void testWhereDynamicIn() {
323332
final QueryTable setTable = testRefreshingTable(i(2, 4, 6, 8).toTracking(), col("X", "A", "B", "C", "B"));

0 commit comments

Comments
 (0)