如何使用calcite rule做SQL重写(上)
各位读者朋友,我想死你们了,今天我带着 calcite这个专题的第三篇文章来了,今天我们来说说sql重写,这可能也是大家都有需求的方面,我计划这个专题分为三篇来写:
- 上篇介绍 calcite 自带的 rule 做sql重写
- 下篇介绍如何自定义 rule 来实现rewrite sql
- 第三篇作为番外,不限于calcite,泛化倒使用 AST + Vistor,来完成真正意义上的SQL语句重写。
那么我们就开始吧! Let’s go!!!
各位读者朋友,我想死你们了,今天我带着 calcite这个专题的第三篇文章来了,今天我们来说说sql重写,这可能也是大家都有需求的方面,我计划这个专题分为三篇来写:
大家好,这是Calcite的第二篇文章了,我一直毫不掩饰对calcite的喜爱,而且一直在致力于为社区做一些贡献,如果你也喜欢这个项目的话,欢迎评论,转发,如果没看过第一篇的话,也欢迎移步去看看(手把手教你使用Calcite查看SQL执行计划)。
今天我要分享的主题是关于 Calcite 关系代数 以及 SQL 的那些事,Let’s go !!!
大家好,我又腆着大脸来更新了,也是知道自己鸽了很久很久,也就不找说辞了,尽管确实是有点遭不住996了。还是恭祝大家端午安康吧。对于最近越发火爆的calcite
,作为一个18年就开始翻译官方文档的作者来说,真是很欣慰,大家都用他来干什么呢?很多同学都是想用他来重写SQL,或者做优化。反正无论如何,还是需要对他有一定的了解,今天我来和大家分享一下,如何从代码端来解析SQL。
构建一套分布式数据库的实验环境吧。我们使用`docker` 和 `postgres xl` 来完成
错误类似:
1 | Reading package lists... Done |
解决方法如下:
sudo pkill -KILL appstreamcli
wget -P /tmp https://launchpad.net/ubuntu/+archive/primary/+files/appstream_0.9.4-1ubuntu1_amd64.deb https://launchpad.net/ubuntu/+archive/primary/+files/libappstream3_0.9.4-1ubuntu1_amd64.deb
sudo dpkg -i /tmp/appstream_0.9.4-1ubuntu1_amd64.deb /tmp/libappstream3_0.9.4-1ubuntu1_amd64.deb
执行完上述命令之后再次运行sudo apt-get update就不会再出现上面的错误。
参考:https://askubuntu.com/questions/774986/appstreamcli-hanging-with-100-cpu-usage-during-update
为了那一声啼哭,
心力焦脆……
curl -v -j -k -L -H “Cookie: oraclelicense=accept-securebackup-cookie” http://download.oracle.com/otn-pub/java/jdk/8u51-b16/jdk-8u51-linux-x64.tar.gz > jdk-8u51-linux-x64.tar.gz
今年买了很多书,第一次想起来做了一个书单,总计一下还是吓了一跳的
1 | 总共花了__¥1500__,买了__33__本书, |
Sublime作为一款13格很高的插件,起扩展开发和使用相信很多人都很愿意尝试一下.
在现在普遍IDE都很吃资源的情况下,有一款顺手的工具还是很不错的!