私は現在、SQL クエリを解析し、その関係式のツリーを作成するプロジェクトに取り組んでいます。主な目標は、クエリで結合パートナーを特定することです。したがって、結合式をツリーの葉までプッシュしたいと思います。これを実現するために、Apache Calcite を使用することにしました。現時点では、私のコードはおおよそ次のようになります。
Planner planner = Frameworks.getPlanner(Frameworks.newConfigBuilder().defaultSchema(Frameworks.createRootSchema(false)).build());
SqlNode parsed = planner.parse("SELECT s.dnasamplename, e.Total_expression_level, e.Soluble_expression_level, s.id " +
"FROM table1 e" +
"JOIN table2 s on s.constructname = e.Clone_name" +
"WHERE e.Total_expression_level like '0:%'");
planner.validate(parsed);
RelRoot relRoot = planner.rel(parsed);
Plannerの rel-Method を直接実行しようとすると、最初にクエリを検証する必要があるというエラーが表示されます。そして、それが私が問題に直面するポイントです。有効なスキーマがありません。クエリをリレーショナル クエリ プランに変換したいだけです。検証プロセスをスキップする方法はありますか?