注意:本文基于 Calcite main 分支 34989b0 版本源码进行学习研究,其他版本可能会存在实现逻辑差异,对源码感兴趣的读者请注意版本选择

前言

在之前发布的深度探究 Apache Calcite SQL 校验器实现原理一文中,我们详细介绍了 Calcite 校验器的实现原理,在 SQL 校验的过程中,Calcite 会不断调用 deriveType 进行类型推断,当时由于篇幅的原因,我们在文章中没有进行过多介绍。今天,让我们继续刨根问底,专门从 Calcite 类型系统的角度,深入探究 Calcite 的类型体系,了解在校验过程时如何进行类型推导和类型转换的。

类型推导

类型转换

显示转换

隐式转换

结语

写在最后

笔者因为工作原因接触到 Calcite,前期学习过程中,深感 Calcite 学习资料之匮乏,因此创建了 Calcite 从入门到精通知识星球,希望能够将学习过程中的资料和经验沉淀下来,为更多想要学习 Calcite 的朋友提供一些帮助。

Calcite 从入门到精通

欢迎关注

欢迎关注「端小强的博客」微信公众号,会不定期分享日常学习和工作经验,欢迎大家关注交流。

微信公众号