Re: [DISCUSS] Parser with involved tables

2022-04-13 Thread Yanjing Wang
Thanks Jacques, It's so elaborate that I get it. Jacques Nadeau 于2022年4月14日周四 03:01写道: > You need to complete validation in order to confirm that all tables are > real. For example, validation includes clarifying ambiguities (since users > can rely on implicit resolution but rel trees cannot).

Re: [DISCUSS] Parser with involved tables

2022-04-13 Thread Jacques Nadeau
You need to complete validation in order to confirm that all tables are real. For example, validation includes clarifying ambiguities (since users can rely on implicit resolution but rel trees cannot). For #2: this is a really hard thing to do with Calcite. We did this in Apache Drill by

Re: [DISCUSS] Parser with involved tables

2022-04-13 Thread Yanjing Wang
Hi Alessandro, Thanks for your feedback, the RelOptUtil#findAllTables requires its input is a relNode, But many times we need extract all tables before validation, this has the following advantages. 1. no metadata need and fast. 2. we can compose a on-demand catalog, rather get all schemas,

Re: [DISCUSS] Parser with involved tables

2022-04-13 Thread Alessandro Solimando
Hi Yanjing, I found a discussion in the ML suggesting to use RelOptUtil#findAllTables to get all tables involved in a query: https://lists.apache.org/thread/wcfv2bhdytwsoyc3qlsnxcd7nmnnlb06 Can you check if that's what you want? Best regards, Alessandro On Wed, 13 Apr 2022 at 09:33, Yanjing

[DISCUSS] Parser with involved tables

2022-04-13 Thread Yanjing Wang
Hi Commnunity, In real scenarios, many developers want to get what tables a query statement contains. such as 'WITH t as (SELECT * FROM t1) SELECT * FROM t, t2', it only contains table t1 and t2. I tried to visit the SqlNode and found this solution is very complicated and has very many checks,