Apache Calcite Catalog 拾遗之类型系统实现

前言 123 类型推导 类型转换 显示转换 隐式转换 结语 写在最后 笔者因为工作原因接触到 Calcite,前期学习过程中,深感 Calcite 学习资料之匮乏,因此创建了 Calcite 从入门到精通知识星球,希望能够将学习过程中的资料和经验沉淀下来,为更多想要学习 Calcite 的朋友提供一些帮助。 欢迎关注 欢迎关注「端小强的博客」微信公众号,会不定期分享日常学习和工...

Calcite

Calcite UDF 实战之 ShardingSphere 联邦查询适配 MySQL BIT_COUNT

前言 熟悉 Apache ShardingSphere 的朋友们,可能听说过 SQL Federation 功能,它主要适用于海量数据水平分片场景下,提供对跨节点关联查询、子查询、分页、排序、聚合查询等复杂查询语句的支持。SQL Federation 功能内部使用了 Apache Calcite 项目,来实现 SQL 优化和执行。随着 Calcite 1.38.0 版本的发布,Calcit...

Calcite

Apache Calcite Catalog 拾遗之 UDF 函数实现和扩展

注意:本文基于 Calcite main 分支 60e0a3f 版本源码进行学习研究,其他版本可能会存在实现逻辑差异,对源码感兴趣的读者请注意版本选择。 前言 最近,很多朋友咨询关于 Calcite UDF 实现和扩展的问题,在之前 Apache Calcite System Catalog 实现探究一文中,我们简单介绍过 Catalog 中的 Function 对象,也了解到 Cal...

Calcite

深度探究 Apache Calcite SQL 校验器实现原理

注意:本文基于 Calcite 1.35.0 版本源码进行学习研究,其他版本可能会存在实现逻辑差异,对源码感兴趣的读者请注意版本选择。 前言 在上一篇 Apache Calcite System Catalog 实现探究中,我们介绍了经典的数据库处理流程,包括:SQL 解析、SQL 绑定、SQL 优化以及计划执行。SQL 绑定主要的作用是将 SQL 解析生成的 AST 和数据库的元数据...

Calcite

CBO 优化的基石——Apache Calcite 统计信息和代价模型详解

注意:本文基于 Calcite 1.35.0 版本源码进行学习研究,其他版本可能会存在实现逻辑差异,对源码感兴趣的读者请注意版本选择。 前言 在上一篇深入理解 Apache Calcite ValcanoPlanner 优化器一文中,我们介绍了 Calcite VolcanoPlanner 的理论基础、核心概念和整体流程,VolcanoPlanner 在优化时会计算不同执行计划的代价 ...

Calcite