您的位置:首页 > 博客中心 > 数据库 >

分布式数据库中间件–(3) Cobar对简单select命令的处理过程

时间:2022-03-10 17:37

}

这里真正的执行SQL语句,然后等待后端执行语句的返回数据,在成功获取后端Mysql返回的结果后,该函数返回的数据包是结果集数据包。

当客户端发起认证请求或命令请求后,服务器会返回相应的执行结果给客户端。客户端在收到响应报文后,需要首先检查第1个字节的值,来区分响应报文的类型。

响应报文类型第1个字节取值范围
OK 响应报文0×00
Error 响应报文0xFF
Result Set 报文0×01 – 0xFA
Field 报文0×01 – 0xFA
Row Data 报文0×01 – 0xFA
EOF 报文0xFE

注:响应报文的第1个字节在不同类型中含义不同,比如在OK报文中,该字节并没有实际意义,值恒为0×00;而在Result Set报文中,该字节又是长度编码的二进制数据结构(Length Coded Binary)中的第1字节。

Result Set 消息分为五部分,结构如下:

结构说明
[Result Set Header]列数量
[Field]列信息(多个)
[EOF]列结束
[Row Data]行数据(多个)
[EOF]数据结束

函数执行完成后,返回的结果都放入LinkedList中,当读取结果完成后放入多节点执行器的缓冲区。如果buffer满了,就通过前端连接写出给客户端。

作者:
出处:
原文:
提示:本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
如果对文章有任何问题,都可以在评论中留言,我会尽可能的答复您,谢谢你的阅读

分布式数据库中间件–(3) Cobar对简单select命令的处理过程,布布扣,bubuko.com

热门排行

今日推荐

热门手游