Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The user specifies option for sources through a new connector option:

OptionTypeDefault value
source.filter-push-down.enabledBooleantrue


For other  source abilities, we can also consider adding similar configuration options in the future to give users the choice. This is not urgent and can be continuously introduced.

OptionTypeDefault value
source.aggregate-push-down.enabledBooleantrue
...Booleantrue


Add a new source ability options in the TableSourceOptions class.

Code Block
languagejava
@PublicEvolving
public class TableSourceOptions {


    public static final ConfigOption<String> ENABLE_FILTER_PUSH_DOWN =
            key("source.filter-push-down.enabled")
                    .booleanType()
                    .defaultValue(true)
                    .withDescription("Whether to enable filter push down.");
    ......
}


Reject Reason

We don't have a common implementation for SupportsFilterPushdown itself. Why does a potential behavior of the SupportsFilterPushdown.applyFilters() method deserve a common configuration?  A common implementation should always come first, then its configuration becomes a common configuration as a natural result. There are multiple approaches to address the issue. Pushing back the filters is just one way of achieving this.