Skip to content

Latest commit

 

History

History
15 lines (13 loc) · 1.47 KB

README.md

File metadata and controls

15 lines (13 loc) · 1.47 KB

calcite-demo

  • 2023-10-10 之前:An Apache-calcite demo, baseed on V1.18.0.
  • 2023-10-10 更新:更新 calcite 版本从 1.18.0 -> 1.35.0
  1. 对 calcite 还不熟悉的, 可以先移步我的另外一篇介绍文章
  2. 食用本 demo 请结合 DOC
  3. 此工程包含了三个 package
    • easy 包含了:select from csv、SQL parser、validate、optimization(RBO/CBO)。
    • medium:中级,结合自定义 schema,cost,rules 实现完整的过程。
    • rewrite:重写 sql 部分,翻了其他的仓库,没找到比较好的基于 calcite 的 rewrite 实现,可以参考下这个 demo。
  4. 建议从 easy 入门,了解 calcite 处理一条 SQL 的过程:
    • SQL -Parser-> SqlNode -validate-> SqlNode -Rel(Rex)-> RelNode -Optimization( HepPlanner/VolcanoPlanner)-> findBestExp
  5. 再进入到 medium 阶段,开始接触自定义 schema(表信息),cost(成本),优化规则(rules)