Class JoinFilterAnalysis

java.lang.Object
org.apache.druid.segment.join.filter.JoinFilterAnalysis

public class JoinFilterAnalysis extends Object
Holds information about: - whether a filter can be pushed down - if it needs to be retained after the join, - a reference to the original filter - a potentially rewritten filter to be pushed down to the base table - a list of virtual columns that need to be created on the base table to support the pushed down filter
  • Constructor Details

    • JoinFilterAnalysis

      public JoinFilterAnalysis(boolean retainAfterJoin, Filter originalFilter, @Nullable Filter pushDownFilter)
  • Method Details

    • isCanPushDown

      public boolean isCanPushDown()
    • isRetainAfterJoin

      public boolean isRetainAfterJoin()
    • getOriginalFilter

      public Filter getOriginalFilter()
    • getPushDownFilter

      public Optional<Filter> getPushDownFilter()
    • createNoPushdownFilterAnalysis

      public static JoinFilterAnalysis createNoPushdownFilterAnalysis(Filter originalFilter)
      Utility method for generating an analysis that represents: "Filter cannot be pushed down"
      Parameters:
      originalFilter - The original filter which cannot be pushed down
      Returns:
      analysis that represents: "Filter cannot be pushed down"