Skip to content

Allow connectors to participate in query optimization #18

Description

@martint

This is an umbrella issue to track various projects related to allowing connectors to participate in query optimization. The long-term vision is for plugins to provide custom rules that can transform subplans into plugin-specific operations. This requires a set of steps:

  • decouple the AST from the current IR (PlanNode tree): Split expression ST from IR #13184
  • get rid of visitor-based optimizers
  • revamp the IR and optimizer to support a fully exploratory optimizer
  • allow connectors to provide optimizer rules

In the short term, we can introduce special-purpose mechanisms to the SPI and engine enable the following behaviors:

  • push down complex filters
  • push down projections (e.g, row/array/map dereference, pre-calculated virtual columns)
  • push down aggregations
  • push down joins
  • expose additional filters (e.g. for row-level authorization)
  • expose more complex data organizations (e.g., custom partitioning schemes)

Document describing the high-level approach: https://github.com/prestosql/presto/wiki/Pushdown-of-complex-operations

Plan:

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestroadmapTop level issues for major efforts in the project

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions