Skip to content

Commit 3f033ce

Browse files
committed
Remove serial visitor.
1 parent 861b721 commit 3f033ce

File tree

9 files changed

+51
-68
lines changed

9 files changed

+51
-68
lines changed

engine/table/src/main/java/io/deephaven/engine/table/impl/DeferredViewTable.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import io.deephaven.engine.table.impl.filter.ExtractBarriers;
1212
import io.deephaven.engine.table.impl.filter.ExtractInnerConjunctiveFilters;
1313
import io.deephaven.engine.table.impl.filter.ExtractRespectedBarriers;
14-
import io.deephaven.engine.table.impl.filter.ExtractSerialFilters;
1514
import io.deephaven.engine.table.impl.select.analyzers.SelectAndViewAnalyzer;
1615
import io.deephaven.engine.table.impl.select.MatchFilter;
1716
import io.deephaven.engine.liveness.LivenessArtifact;
@@ -194,7 +193,7 @@ private PreAndPostFilters applyFilterRenamings(WhereFilter[] filters) {
194193
ExtractRespectedBarriers.stream(filter).anyMatch(postViewBarriers::contains);
195194
if (isPostView || serialFilterFound || hasPostViewBarrier) {
196195
// if this filter is serial, all subsequent filters must be postViewFilters
197-
if (ExtractSerialFilters.hasAny(filter)) {
196+
if (filter.isSerial()) {
198197
serialFilterFound = true;
199198
}
200199
postViewFilters.add(filter);
@@ -289,7 +288,7 @@ public WhereFilter visit(ConjunctiveFilter filter) {
289288
preViewFilters.add(preFilter);
290289
} else {
291290
// if this filter is serial, all subsequent filters must be postViewFilters
292-
if (ExtractSerialFilters.hasAny(filter)) {
291+
if (filter.isSerial()) {
293292
serialFilterFound = true;
294293
}
295294

engine/table/src/main/java/io/deephaven/engine/table/impl/PartitionAwareSourceTable.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import io.deephaven.engine.table.impl.filter.ExtractBarriers;
1212
import io.deephaven.engine.table.impl.filter.ExtractInnerConjunctiveFilters;
1313
import io.deephaven.engine.table.impl.filter.ExtractRespectedBarriers;
14-
import io.deephaven.engine.table.impl.filter.ExtractSerialFilters;
1514
import io.deephaven.engine.table.impl.select.analyzers.SelectAndViewAnalyzer;
1615
import io.deephaven.engine.updategraph.UpdateSourceRegistrar;
1716
import io.deephaven.engine.table.impl.perf.QueryPerformanceRecorder;
@@ -127,7 +126,7 @@ protected TableAndRemainingFilters getWithWhere(WhereFilter... whereFilters) {
127126
boolean serialFilterFound = false;
128127
final Set<Object> partitionBarriers = new HashSet<>();
129128
for (WhereFilter whereFilter : whereFilters) {
130-
if (ExtractSerialFilters.hasAny(whereFilter)) {
129+
if (whereFilter.isSerial()) {
131130
serialFilterFound = true;
132131
}
133132

@@ -314,7 +313,7 @@ private Table whereImpl(final List<WhereFilter> whereFilters) {
314313
whereFilter.init(definition, compilationProcessor);
315314

316315
// Test for user-mandated serial filters (e.g. FilterSerial.of() or Filter.serial())
317-
if (ExtractSerialFilters.hasAny(whereFilter)) {
316+
if (whereFilter.isSerial()) {
318317
serialFilterFound = true;
319318
}
320319

engine/table/src/main/java/io/deephaven/engine/table/impl/filter/ExtractSerialFilters.java

Lines changed: 0 additions & 62 deletions
This file was deleted.

engine/table/src/main/java/io/deephaven/engine/table/impl/select/ComposedFilter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,4 +156,9 @@ public int hashCode() {
156156
public boolean permitParallelization() {
157157
return Arrays.stream(componentFilters).allMatch(WhereFilter::permitParallelization);
158158
}
159+
160+
@Override
161+
public boolean isSerial() {
162+
return Arrays.stream(componentFilters).anyMatch(WhereFilter::isSerial);
163+
}
159164
}

engine/table/src/main/java/io/deephaven/engine/table/impl/select/WhereFilter.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,13 @@ default boolean permitParallelization() {
279279
return true;
280280
}
281281

282+
/**
283+
* Return true if this filter is a serial filter.
284+
*/
285+
default boolean isSerial() {
286+
return false;
287+
}
288+
282289
/**
283290
* Set the {@link RecomputeListener} that should be notified if results based on this WhereFilter must be
284291
* recomputed.

engine/table/src/main/java/io/deephaven/engine/table/impl/select/WhereFilterDelegatingBase.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,11 @@ public boolean permitParallelization() {
128128
return filter.permitParallelization();
129129
}
130130

131+
@Override
132+
public boolean isSerial() {
133+
return filter.isSerial();
134+
}
135+
131136
@Override
132137
public boolean equals(Object o) {
133138
if (this == o)

engine/table/src/main/java/io/deephaven/engine/table/impl/select/WhereFilterSerialImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ public boolean permitParallelization() {
3131
return false;
3232
}
3333

34+
@Override
35+
public boolean isSerial() {
36+
return true;
37+
}
38+
3439
public WhereFilter copy() {
3540
return new WhereFilterSerialImpl(filter.copy());
3641
}

engine/table/src/main/java/io/deephaven/engine/table/impl/select/vectorchunkfilter/VectorComponentFilterWrapper.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,16 @@ public boolean isSimpleFilter() {
133133
@Override
134134
public void setRecomputeListener(final RecomputeListener result) {}
135135

136+
@Override
137+
public boolean permitParallelization() {
138+
return componentFilter.permitParallelization();
139+
}
140+
141+
@Override
142+
public boolean isSerial() {
143+
return componentFilter.isSerial();
144+
}
145+
136146
@Override
137147
public WhereFilter copy() {
138148
return new VectorComponentFilterWrapper(columnName, isArray, componentType, componentFilter.copy());
@@ -257,5 +267,15 @@ public void setRecomputeListener(final RecomputeListener result) {
257267
public WhereFilter copy() {
258268
return new TypeDiscardedFilter(wrapped.copy());
259269
}
270+
271+
@Override
272+
public boolean isSerial() {
273+
return wrapped.isSerial();
274+
}
275+
276+
@Override
277+
public boolean permitParallelization() {
278+
return wrapped.permitParallelization();
279+
}
260280
}
261281
}

engine/test-utils/src/main/java/io/deephaven/engine/testutil/filters/RowSetCapturingFilter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,11 @@ public boolean permitParallelization() {
107107
return innerFilter == null || innerFilter.permitParallelization();
108108
}
109109

110+
@Override
111+
public boolean isSerial() {
112+
return innerFilter != null && innerFilter.isSerial();
113+
}
114+
110115
@Override
111116
public void setRecomputeListener(WhereFilter.RecomputeListener result) {
112117
if (innerFilter != null) {

0 commit comments

Comments
 (0)