将Sql转换为关系表达式
上篇文章介绍了手工构造的方式创建关系表达式,也介绍了关系表达式的作用,这次将介绍如何通过Calcite提供的工具将Sql转换为关系表达式
Sql转换为关系表达式可以总结为如下的步骤
- 设置内存数据库连接
- 创建自定义Schema
- 添加表到自定义Schema
- 配置SQL解析器
- 配置框架
- 创建Planner实例
- 解析SQL
- 验证SQL
- 转换为关系表达式
- 获取RelNode
样例代码如下:
public class SqlToRelNode {
/**
* 创建配置的时候应该建什么配置
* Sql转关系代数表达式
*/
@Test
public void testSqlToRelNode() throws Exception{
// 1. 设置内存数据库连接
Properties info = new Properties();
Connection connection = DriverManager.getConnection("jdbc:calcite:", info);
CalciteConnection calciteConnection = connection.unwrap(CalciteConnection.class);
// 2. 创建自定义Schema
SchemaPlus rootSchema = calciteConnection.getRootSchema();
Schema schema = new AbstractSchema() {
};
rootSchema

最低0.47元/天 解锁文章
187





