databendlabs / databend

𝗗𝗮𝘁𝗮, 𝗔𝗻𝗮𝗹𝘆𝘁𝗶𝗰𝘀 & 𝗔𝗜. Modern alternative to Snowflake. Cost-effective and simple for massive-scale analytics. https://databend.com
https://docs.databend.com
Other
7.82k stars 744 forks source link

Migrate `Plan` to `RelOperator` #14019

Open leiysky opened 10 months ago

leiysky commented 10 months ago

Background

Plan is a legacy design for planner v2 to be adapted with Interpreters. But in fact Interpreter is not a good abstraction.

In the ideal world, any statement can be optimized by optimizer and be expressed with a PhysicalPlan thus can be send to any node in the cluster to execute.

To make this work smoothly, we can migrate the Plans to RelOperator one by one, and introduce a universal Interpreter to execute the plans that can be expressed with a single SExpr(just like query execution in current implementation).

Tracking

leiysky commented 10 months ago

@BohuTANG PTAL

BohuTANG commented 10 months ago

@zhang2014 looks need this.