dbscale相关
gao1738
这个作者很懒,什么都没留下…
展开
-
Mysql 在线数据迁移的一点想法
马上DBScale 就要设计在线动态节点添加这个功能了, 对此自己稍微想了点,记录下。在线数据节点添加分为2类:1. 往主从复制的集群中添加一个新的slave节点 这个相对简单,根据之前sqlproxy的实现经验,主要步骤分为线下和线上两部分: 线下,a.选择一个集群中的slave节点 s,停止它的 sql thread (这种情况下dbscale会自动屏蔽这个节点)。原创 2015-01-18 20:18:02 · 950 阅读 · 0 评论 -
lex 和 yacc 学习…
在编写dbscale的sql解析器的过程中,耗时最多的对select语法分支的冲突处理。主要的问题来自:1. select可能是个子查询2. select支持 select:(select),即可以自由嵌套小括号3. 对union语句的支持问题1的关键在于如何区分第一个碰到的“SELECT”是一个select语句起始的“SELECT”,还是一个子查询的“SELECT”。解决的办原创 2015-01-18 20:17:53 · 402 阅读 · 0 评论 -
windows下编译bison + f…
sql解析器写好了(^-^),主要是在linux下弄得,考虑到dbscale的跨平台需求,想在windows下也能编译这个解析器。bison和flex本身有windows下的安装文件,百度或谷歌一下就能找到。但这里不能用,因为那个实在太老了bison2.4.1和flex2.5.4a-1。 特别是这个版本的flex还不支持 “reentrant”选项。我们需要的版本为flex2.5.35,原创 2015-01-18 20:17:21 · 1259 阅读 · 0 评论 -
用cmake 编译 bison和flex
DBScale是用cmake来编译的,所以往里面添加bison和flex编写的解析器的时候需要修改对应的CMakeList.txt文件。include_directories(. ${CMAKE_CURRENT_BINARY_DIR} )#首先是在include_directories中添加${CMAKE_CURRENT_BINARY_DIR}。因为执行flex和bison后生成的.原创 2015-01-18 20:17:24 · 2808 阅读 · 0 评论 -
lex 和 yacc 学习…
经过了几次补充和大改之后dbscale的sql解析器的第一个版本基本出来了。 和 yacc 学习笔记3 (bison语法中冲突的处理)" TITLE="lex 和 yacc 学习笔记3 (bison语法中冲突的处理)" />用flex和bison弄语法解析器最头疼的问题就是各种语法冲突。当出现冲突的时候可以使用 bison -v xxx.yy 命令来查看具体的冲突。该命令会生成一个xxx原创 2015-01-18 20:17:50 · 396 阅读 · 0 评论