Skip to content

Commit

Permalink
make updates
Browse files Browse the repository at this point in the history
  • Loading branch information
kgyrtkirk committed Jan 13, 2025
1 parent 0dfe381 commit c09ecfe
Showing 1 changed file with 14 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -453,11 +453,7 @@ public SourceDesc unwrapSourceDesc()
DruidQuery q = buildQuery(false);
SourceDesc origInput = getSource();
DataSource dataSource;
if (q.getFilter() == null) {
dataSource = origInput.dataSource;
} else {
dataSource = makeFilteredDataSource(origInput, q.getFilter(), q.getVirtualColumns());
}
dataSource = makeFilteredDataSource(origInput, q.getFilter(), q.getVirtualColumns());
return new SourceDesc(dataSource, q.getOutputRowSignature());
}
throw DruidException.defensive("Can't unwrap source of vertex[%s]", partialDruidQuery);
Expand Down Expand Up @@ -537,11 +533,22 @@ private boolean isNameConsistentMapping(
* The fact that {@link Filtration} have to be run on the filter is out-of scope here.
* @param virtualColumns
*/
public static FilteredDataSource makeFilteredDataSource(SourceDesc sd, DimFilter filter, VirtualColumns virtualColumns)
public static DataSource makeFilteredDataSource(SourceDesc sd, DimFilter filter, VirtualColumns virtualColumns)
{
if (virtualColumns.isEmpty() && filter == null) {
return sd.dataSource;
}
DimFilter newFilter = makeOptimizedFilter(sd, filter);
return FilteredDataSource.create(sd.dataSource, newFilter, virtualColumns);
}

private static DimFilter makeOptimizedFilter(SourceDesc sd, DimFilter filter)
{
if (filter == null) {
return null;
}
Filtration filtration = Filtration.create(filter).optimizeFilterOnly(sd.rowSignature);
DimFilter newFilter = filtration.getDimFilter();
return FilteredDataSource.create(sd.dataSource, newFilter, virtualColumns);
return newFilter;
}
}

0 comments on commit c09ecfe

Please sign in to comment.