我感觉可以先把SQL转成RelNode,然后用Calcite的visitor模式的RelShuttle来获取?
Harold.Miao <[email protected]> 于2020年9月21日周一 下午1:58写道: > 主要是我没有完整的所有单元case, 总是感觉写的不完整。 > > 郭士榕 <[email protected]> 于2020年9月21日周一 上午11:08写道: > > > > > > > > > 就是要一个一个判断做解析下推的,比如你举的SqlJoin例子, 然后继续left,right下推。 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 在 2020-09-21 10:50:31,"Harold.Miao" <[email protected]> 写道: > > >主要是嵌套回溯特别复杂, 例如getFrom之后后面可能又是嵌套一个SqlJoin等等类似情况太多。 还有要做很多的类型转换。 > > > > > >郭士榕 <[email protected]> 于2020年9月21日周一 上午10:21写道: > > > > > >> 可以使用calcite。解析kind为CREATE_TABLE的语句,解析INSERT,下推from的表。 > > >> > > >> > > >> > > >> > > >> > > >> 在 2020-09-21 10:12:13,"Harold.Miao" <[email protected]> 写道: > > >> >hi all > > >> > > > >> >请教大家在复杂sql语句中parse所有的table name是怎么实现的。 > > >> > > > >> >谢谢 > > >> > > > >> >-- > > >> > > > >> >Best Regards, > > >> >Harold Miao > > >> > > > > > > > > >-- > > > > > >Best Regards, > > >Harold Miao > > > > > -- > > Best Regards, > Harold Miao > -- Best, Benchao Li
