kaijianding / clickhouse-calcite-optimizer

use calcite to optimize clickhouse sql
5 stars 1 forks source link

提问,现在calcite 支持 clickhouse sql parser么? #3

Closed li-shoupeng-peng closed 1 month ago

kaijianding commented 1 month ago

我只知道calcite里有ClickHouseSqlDialect做了及其有限的兼容。 clickhouse本身的parser是c++做的,不理解你说的calcite支持Clickhouse sql parser具体是指需要什么。

li-shoupeng-peng commented 1 month ago

我只知道calcite里有ClickHouseSqlDialect做了及其有限的兼容。 clickhouse本身的parser是c++做的,不理解你说的calcite支持Clickhouse sql parser具体是指需要什么。

ClickHouseSqlDialect 我理解是作用是执行计划翻译成 ck 方言,应该不是 parser用的。你这个项目优化 ck sql 的第一步就是 sql parser,我还不清楚 官方是否支持 ck sql 的解析。

kaijianding commented 1 month ago

不支持。 但ck的绝大部分查询sql是兼容mysql语法的,在mysql范围内的calcite都可以解析。有额外要用到的ck独有agg,你可以加到ClickhouseAggregators

li-shoupeng-peng commented 1 month ago

不支持。 但ck的绝大部分查询sql是兼容mysql语法的,在mysql范围内的calcite都可以解析。有额外要用到的ck独有agg,你可以加到ClickhouseAggregators

理解,我正在尝试通过 fmpp 编写 Parser.jj 完成解析过程