# mycat 源码学习
对于 mycat 应该有几个核心原理需要弄明白:
- mycat 与 mysql 是怎么交互的
- 前端应用是怎么和 mycat 交互的
- 前端应用的请求到落地在 mysql 库中,然后结果是怎么返回到应用的
临时仓库
# ServerParse
命令解析,所用是解析出语句的命令是什么?
@Test
public void testIsSelect() {
Assert.assertEquals(ServerParse.SELECT, 0xff & ServerParse.parse("select ..."));
Assert.assertEquals(ServerParse.SELECT, 0xff & ServerParse.parse("SELECT ..."));
Assert.assertEquals(ServerParse.SELECT, 0xff & ServerParse.parse("sELECt ..."));
}
// 就是不知道为什么要进行位运算,返回,外面再位运算还原
return (offset << 8) | SELECT;
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
前端连接交互探索 →