Re: [SQL] parse table name from sql statement

2020-09-22 文章 Harold.Miao
thx silence 于2020年9月22日周二 上午11:54写道: > 写过一个类似的可以参考一下 > > private static List lookupSelectTable(SqlNode sqlNode) { > List list = new ArrayList<>(); > if (sqlNode instanceof SqlSelect) { > SqlNode from = ((SqlSelect) sqlNode).getFrom(); > list.addAll(lookupS

Re: [SQL] parse table name from sql statement

2020-09-21 文章 silence
我写过一个类似的可以参考一下 private static List lookupSelectTable(SqlNode sqlNode) { List list = new ArrayList<>(); if (sqlNode instanceof SqlSelect) { SqlNode from = ((SqlSelect) sqlNode).getFrom(); list.addAll(lookupSelectTable(from)); } else if (sqlNode instan

Re: [SQL] parse table name from sql statement

2020-09-21 文章 silence
写过一个类似的可以参考一下 private static List lookupSelectTable(SqlNode sqlNode) { List list = new ArrayList<>(); if (sqlNode instanceof SqlSelect) { SqlNode from = ((SqlSelect) sqlNode).getFrom(); list.addAll(lookupSelectTable(from)); } else if (sqlNode instanc

Re: Re: [SQL] parse table name from sql statement

2020-09-21 文章 Harold.Miao
大佬 能不能给点示例 Benchao Li 于2020年9月21日周一 下午4:38写道: > 我感觉可以先把SQL转成RelNode,然后用Calcite的visitor模式的RelShuttle来获取? > > Harold.Miao 于2020年9月21日周一 下午1:58写道: > > > 主要是我没有完整的所有单元case, 总是感觉写的不完整。 > > > > 郭士榕 于2020年9月21日周一 上午11:08写道: > > > > > > > > > > > > > > 就是要一个一个判断做解析下推的,比如你举的SqlJoin例子, 然后继续left,right下推

Re: Re: [SQL] parse table name from sql statement

2020-09-21 文章 Benchao Li
我感觉可以先把SQL转成RelNode,然后用Calcite的visitor模式的RelShuttle来获取? Harold.Miao 于2020年9月21日周一 下午1:58写道: > 主要是我没有完整的所有单元case, 总是感觉写的不完整。 > > 郭士榕 于2020年9月21日周一 上午11:08写道: > > > > > > > > > 就是要一个一个判断做解析下推的,比如你举的SqlJoin例子, 然后继续left,right下推。 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 在 2020-09-

Re: Re: [SQL] parse table name from sql statement

2020-09-20 文章 Harold.Miao
主要是我没有完整的所有单元case, 总是感觉写的不完整。 郭士榕 于2020年9月21日周一 上午11:08写道: > > > > 就是要一个一个判断做解析下推的,比如你举的SqlJoin例子, 然后继续left,right下推。 > > > > > > > > > > > > > > > 在 2020-09-21 10:50:31,"Harold.Miao" 写道: > >主要是嵌套回溯特别复杂, 例如getFrom之后后面可能又是嵌套一个SqlJoin等等类似情况太多。 还有要做很多的类型转换。 > > > >郭士榕 于2020年9月21日周一 上午10:21写道: > >

Re:Re: [SQL] parse table name from sql statement

2020-09-20 文章 郭士榕
就是要一个一个判断做解析下推的,比如你举的SqlJoin例子, 然后继续left,right下推。 在 2020-09-21 10:50:31,"Harold.Miao" 写道: >主要是嵌套回溯特别复杂, 例如getFrom之后后面可能又是嵌套一个SqlJoin等等类似情况太多。 还有要做很多的类型转换。 > >郭士榕 于2020年9月21日周一 上午10:21写道: > >> 可以使用calcite。解析kind为CREATE_TABLE的语句,解析INSERT,下推from的表。 >> >> >> >> >> >> 在 2020-09-21 10:

Re: [SQL] parse table name from sql statement

2020-09-20 文章 Harold.Miao
主要是嵌套回溯特别复杂, 例如getFrom之后后面可能又是嵌套一个SqlJoin等等类似情况太多。 还有要做很多的类型转换。 郭士榕 于2020年9月21日周一 上午10:21写道: > 可以使用calcite。解析kind为CREATE_TABLE的语句,解析INSERT,下推from的表。 > > > > > > 在 2020-09-21 10:12:13,"Harold.Miao" 写道: > >hi all > > > >请教大家在复杂sql语句中parse所有的table name是怎么实现的。 > > > >谢谢 > > > >-- > > > >Best Regard

Re:[SQL] parse table name from sql statement

2020-09-20 文章 郭士榕
可以使用calcite。解析kind为CREATE_TABLE的语句,解析INSERT,下推from的表。 在 2020-09-21 10:12:13,"Harold.Miao" 写道: >hi all > >请教大家在复杂sql语句中parse所有的table name是怎么实现的。 > >谢谢 > >-- > >Best Regards, >Harold Miao

[SQL] parse table name from sql statement

2020-09-20 文章 Harold.Miao
hi all 请教大家在复杂sql语句中parse所有的table name是怎么实现的。 谢谢 -- Best Regards, Harold Miao