Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
27978f0
Changed RegionedColumnSourceBase to handle single column filters and …
lbooker42 Feb 5, 2026
d44e00d
Lots more work, allowing column region and table locatiop pushdown op…
lbooker42 Feb 10, 2026
73adb07
Addressed copilot PR comments.
lbooker42 Feb 10, 2026
3b67e34
Improved and consolidated RowKeyAgnosticChunkSource filtering.
lbooker42 Feb 12, 2026
163f4c7
Cleanup and spotless
lbooker42 Feb 12, 2026
557eae2
Support for ColumnRegion Constant and Null regions and tests.
lbooker42 Feb 17, 2026
43e895d
Merge branch 'main' into nightly/DH-21522-parquettablelocation
lbooker42 Feb 17, 2026
8dc65e6
Updated the new test to use QueryTable disables rather than burying u…
lbooker42 Feb 17, 2026
0450746
Update test to reflect new reality.
lbooker42 Feb 17, 2026
e5e9e1f
Coordinated changes to allow Core+ optimizations.
lbooker42 Feb 24, 2026
5afc2ae
Merge branch 'main' into nightly/DH-21522-parquettablelocation
lbooker42 Feb 24, 2026
fda03ee
Final co-pilot suggestion.
lbooker42 Feb 24, 2026
4c8f2de
Use createNull for new null regions.
lbooker42 Feb 25, 2026
49dcf57
Minor changes from co-pilot.
lbooker42 Feb 25, 2026
3464b4a
Consolidation of repeated code.
lbooker42 Feb 25, 2026
ece9334
More cleanup
lbooker42 Feb 25, 2026
bcb14f0
WIP
lbooker42 Feb 25, 2026
7358204
Lots of self-review.
lbooker42 Feb 25, 2026
d9f08a8
Changes to the column region classes
lbooker42 Feb 26, 2026
76e8df6
Rework filter contexts.
lbooker42 Feb 26, 2026
9eb02f7
Correct failing test, more cleanup in the filter contexts.
lbooker42 Feb 26, 2026
f94919f
Revert RCF to not include ExposesChunkFilter.
lbooker42 Feb 26, 2026
7a6c143
Correct test and verify coverage.
lbooker42 Feb 27, 2026
0ef8684
Final copilot PR comments addressed.
lbooker42 Feb 27, 2026
5117682
Changes to improve coverage.
lbooker42 Feb 28, 2026
62c13dc
Spotless :(
lbooker42 Feb 28, 2026
c7d9fd8
PT comments addressed.
lbooker42 Mar 5, 2026
6d61d59
Re-worked predicate pushdown costs, added config for customer adjustm…
lbooker42 Mar 10, 2026
c0f05c9
Addressed PR comments
lbooker42 Apr 7, 2026
bfa3430
Updated pushdown costs, re-ordered and renamed.
lbooker42 Apr 15, 2026
c968f0c
Added columnLocation retrieval to column region as optional
lbooker42 Apr 22, 2026
ae4537d
Using region column location instead of the location-providing context.
lbooker42 Apr 22, 2026
2cf70b4
Using region column location instead of the location-providing contex…
lbooker42 Apr 22, 2026
425649a
Cleanup and documentation improvements.
lbooker42 Apr 22, 2026
7050ce3
Some PR comments addressed.
lbooker42 Apr 22, 2026
76b2d7e
Merge remote-tracking branch 'origin/nightly/DH-21522-parquettableloc…
lbooker42 Apr 22, 2026
428d962
Refactor RegionedPushdownAction, small fixes.
lbooker42 Apr 23, 2026
400e18f
Add pushdown to sub-regions to static page stores, updated RegionedCo…
lbooker42 Apr 23, 2026
6a4b0d2
Test correction, update for correctness.
lbooker42 Apr 23, 2026
e93d2eb
Better impl of region pushdown in static page store.
lbooker42 Apr 23, 2026
4600b74
spotless. grrr...
lbooker42 Apr 24, 2026
eb442d6
PR Comments.
lbooker42 Apr 24, 2026
1533a62
Refactored ColumnRegion to have default estimationg, pushdown methods.
lbooker42 Apr 24, 2026
27d7562
Merge branch 'main' into nightly/DH-21522-parquettablelocation
lbooker42 Apr 24, 2026
9fe11c9
Corrected logic in PageStorePushdownHelper
lbooker42 Apr 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@
import io.deephaven.chunk.attributes.Any;
import io.deephaven.chunk.util.pools.MultiChunkPool;

import io.deephaven.function.ArraySort;
Comment thread
lbooker42 marked this conversation as resolved.
import io.deephaven.util.type.TypeUtils;
import org.jetbrains.annotations.NotNull;

import java.util.Arrays;
// region FillWithNullValueImports
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
import io.deephaven.chunk.util.pools.MultiChunkPool;

import io.deephaven.function.ArraySort;
import io.deephaven.util.type.TypeUtils;
import org.jetbrains.annotations.NotNull;

import java.util.Arrays;
// region FillWithNullValueImports
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ public void estimatePushdownFilterCost(
final LongConsumer onComplete,
final Consumer<Exception> onError) {
// Default to having no benefit by pushing down.
onComplete.accept(Long.MAX_VALUE);
onComplete.accept(PushdownResult.UNSUPPORTED_ACTION_COST);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@
import java.util.stream.Collectors;
import java.util.stream.Stream;

import static io.deephaven.engine.table.impl.PushdownResult.UNSUPPORTED_ACTION_COST;

/**
* The AbstractFilterExecution incorporates the idea that we have an added and modified RowSet to filter and that there
* are a resulting pair of added and modified rows representing what was filtered. There is also the possibility that we
Expand Down Expand Up @@ -210,7 +212,7 @@ private class StatelessFilter implements Comparable<StatelessFilter>, SafeClosea
/**
* The cost of the pushdown filter operation.
*/
public long pushdownFilterCost = Long.MAX_VALUE;
public long pushdownFilterCost = UNSUPPORTED_ACTION_COST;
/**
* The result of the pushdown filter operation, or null if pushdown is not supported.
*/
Expand Down Expand Up @@ -250,12 +252,13 @@ public StatelessFilter(

/**
* Schedules pushdown filter cost estimation for {@link #pushdownMatcher}. After {@link #pushdownFilterCost} has
* been set (or set to {@link Long#MAX_VALUE} if pushdown is not supported), {@code onComplete} will be called.
* been set (or set to {@link PushdownResult#UNSUPPORTED_ACTION_COST} if pushdown is not supported),
* {@code onComplete} will be called.
*/
public void scheduleUpdatePushdownFilterCost(final RowSet selection, final Runnable onComplete,
final Consumer<Exception> onError) {
if (pushdownMatcher == null) {
pushdownFilterCost = Long.MAX_VALUE;
pushdownFilterCost = UNSUPPORTED_ACTION_COST;
onComplete.run();
return;
}
Expand Down Expand Up @@ -443,7 +446,7 @@ private void executeStatelessFilter(
};

final RowSet input = localInput.get();
if (sf.pushdownMatcher != null && sf.pushdownFilterCost < Long.MAX_VALUE) {
if (sf.pushdownMatcher != null && sf.pushdownFilterCost != UNSUPPORTED_ACTION_COST) {
// Execute the pushdown filter and return.
sf.pushdownMatcher.pushdownFilter(sf.filter, input, usePrev, sf.context,
costCeiling, jobScheduler(), onPushdownComplete, filterNec);
Expand Down
Loading
Loading