Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
069934b5
Shardingsphere
项目概览
apache
/
Shardingsphere
通知
56
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Shardingsphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
069934b5
编写于
2月 03, 2019
作者:
T
tuohai666
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#1845, rename other MySQL packets
上级
68ffbc70
变更
93
展开全部
隐藏空白更改
内联
并排
Showing
93 changed file
with
1033 addition
and
587 deletion
+1033
-587
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/communication/netty/NettyDatabaseCommunicationEngine.java
...communication/netty/NettyDatabaseCommunicationEngine.java
+12
-12
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/communication/netty/client/response/mysql/MySQLQueryResult.java
...ication/netty/client/response/mysql/MySQLQueryResult.java
+22
-22
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/communication/netty/client/response/mysql/MySQLResponseHandler.java
...ion/netty/client/response/mysql/MySQLResponseHandler.java
+22
-22
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/frontend/mysql/MySQLCommandExecutor.java
...re/shardingproxy/frontend/mysql/MySQLCommandExecutor.java
+25
-25
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/frontend/mysql/MySQLFrontendHandler.java
...re/shardingproxy/frontend/mysql/MySQLFrontendHandler.java
+14
-14
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/MySQLCommandPacket.java
...xy/transport/mysql/packet/command/MySQLCommandPacket.java
+1
-1
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/MySQLCommandPacketFactory.java
...sport/mysql/packet/command/MySQLCommandPacketFactory.java
+21
-21
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/MySQLCommandPacketType.java
...ransport/mysql/packet/command/MySQLCommandPacketType.java
+3
-3
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/MySQLUnsupportedCommandPacket.java
...l/packet/command/admin/MySQLUnsupportedCommandPacket.java
+6
-6
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/initdb/MySQLComInitDbPacket.java
...sql/packet/command/admin/initdb/MySQLComInitDbPacket.java
+9
-9
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/ping/MySQLComPingPacket.java
...t/mysql/packet/command/admin/ping/MySQLComPingPacket.java
+6
-6
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/quit/MySQLComQuitPacket.java
...t/mysql/packet/command/admin/quit/MySQLComQuitPacket.java
+6
-6
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/MySQLColumnDefinition41Packet.java
...l/packet/command/query/MySQLColumnDefinition41Packet.java
+6
-6
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/MySQLFieldCountPacket.java
...ort/mysql/packet/command/query/MySQLFieldCountPacket.java
+2
-2
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/MySQLQueryCommandPacket.java
...t/mysql/packet/command/query/MySQLQueryCommandPacket.java
+2
-2
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/MySQLBinaryStatement.java
...sql/packet/command/query/binary/MySQLBinaryStatement.java
+2
-2
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/MySQLBinaryStatementParameterType.java
...mmand/query/binary/MySQLBinaryStatementParameterType.java
+1
-1
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/MySQLBinaryStatementRegistry.java
...et/command/query/binary/MySQLBinaryStatementRegistry.java
+6
-6
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/close/MySQLComStmtClosePacket.java
...t/command/query/binary/close/MySQLComStmtClosePacket.java
+3
-3
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/MySQLBinaryResultSetRowPacket.java
...d/query/binary/execute/MySQLBinaryResultSetRowPacket.java
+5
-5
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/MySQLNullBitmap.java
.../packet/command/query/binary/execute/MySQLNullBitmap.java
+2
-2
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/MySQLQueryComStmtExecutePacket.java
.../query/binary/execute/MySQLQueryComStmtExecutePacket.java
+28
-27
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLBinaryProtocolValue.java
...ery/binary/execute/protocol/MySQLBinaryProtocolValue.java
+1
-1
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLBinaryProtocolValueFactory.java
...ary/execute/protocol/MySQLBinaryProtocolValueFactory.java
+12
-12
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLDateBinaryProtocolValue.java
...binary/execute/protocol/MySQLDateBinaryProtocolValue.java
+1
-1
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLDoubleBinaryProtocolValue.java
...nary/execute/protocol/MySQLDoubleBinaryProtocolValue.java
+1
-1
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLFloatBinaryProtocolValue.java
...inary/execute/protocol/MySQLFloatBinaryProtocolValue.java
+1
-1
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLInt1BinaryProtocolValue.java
...binary/execute/protocol/MySQLInt1BinaryProtocolValue.java
+1
-1
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLInt2BinaryProtocolValue.java
...binary/execute/protocol/MySQLInt2BinaryProtocolValue.java
+1
-1
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLInt4BinaryProtocolValue.java
...binary/execute/protocol/MySQLInt4BinaryProtocolValue.java
+1
-1
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLInt8BinaryProtocolValue.java
...binary/execute/protocol/MySQLInt8BinaryProtocolValue.java
+1
-1
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLStringLenencBinaryProtocolValue.java
...xecute/protocol/MySQLStringLenencBinaryProtocolValue.java
+1
-1
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLTimeBinaryProtocolValue.java
...binary/execute/protocol/MySQLTimeBinaryProtocolValue.java
+1
-1
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/prepare/MySQLComStmtPrepareOKPacket.java
...and/query/binary/prepare/MySQLComStmtPrepareOKPacket.java
+1
-1
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/prepare/MySQLComStmtPreparePacket.java
...mmand/query/binary/prepare/MySQLComStmtPreparePacket.java
+10
-10
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/MySQLTextResultSetRowPacket.java
...acket/command/query/text/MySQLTextResultSetRowPacket.java
+2
-2
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/fieldlist/MySQLComFieldListPacket.java
...command/query/text/fieldlist/MySQLComFieldListPacket.java
+11
-11
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/query/MySQLComPacketQuery.java
.../packet/command/query/text/query/MySQLComPacketQuery.java
+11
-10
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/MySQLEofPacket.java
...gproxy/transport/mysql/packet/generic/MySQLEofPacket.java
+2
-2
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/MySQLErrPacket.java
...gproxy/transport/mysql/packet/generic/MySQLErrPacket.java
+4
-4
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/MySQLOKPacket.java
...ngproxy/transport/mysql/packet/generic/MySQLOKPacket.java
+4
-4
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/MySQLAuthPluginData.java
...transport/mysql/packet/handshake/MySQLAuthPluginData.java
+4
-4
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/MySQLAuthenticationHandler.java
...rt/mysql/packet/handshake/MySQLAuthenticationHandler.java
+5
-5
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/MySQLConnectionIdGenerator.java
...rt/mysql/packet/handshake/MySQLConnectionIdGenerator.java
+3
-3
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/MySQLHandshakePacket.java
...ransport/mysql/packet/handshake/MySQLHandshakePacket.java
+8
-8
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/MySQLHandshakeResponse41Packet.java
...ysql/packet/handshake/MySQLHandshakeResponse41Packet.java
+2
-2
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/MySQLRandomGenerator.java
...ransport/mysql/packet/handshake/MySQLRandomGenerator.java
+2
-2
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/UnicastBackendHandlerTest.java
...ngproxy/backend/text/admin/UnicastBackendHandlerTest.java
+4
-4
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/frontend/mysql/MySQLFrontendHandlerTest.java
...hardingproxy/frontend/mysql/MySQLFrontendHandlerTest.java
+9
-9
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/AllMySQLPacketTests.java
...dingproxy/transport/mysql/packet/AllMySQLPacketTests.java
+2
-2
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/AllMySQLMySQLCommandPacketTests.java
...mysql/packet/command/AllMySQLMySQLCommandPacketTests.java
+35
-35
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/CommandResponsePacketsTest.java
...port/mysql/packet/command/CommandResponsePacketsTest.java
+3
-3
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/MySQLMySQLCommandPacketFactoryTest.java
...ql/packet/command/MySQLMySQLCommandPacketFactoryTest.java
+287
-0
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/MySQLMySQLCommandPacketTypeTest.java
...mysql/packet/command/MySQLMySQLCommandPacketTypeTest.java
+3
-3
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/MySQLUnsupportedCommandPacketTest.java
...cket/command/admin/MySQLUnsupportedCommandPacketTest.java
+8
-8
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/initdb/MySQLComInitDbPacketTest.java
...packet/command/admin/initdb/MySQLComInitDbPacketTest.java
+15
-15
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/ping/MySQLComPingPacketTest.java
...sql/packet/command/admin/ping/MySQLComPingPacketTest.java
+10
-10
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/quit/MySQLComQuitPacketTest.java
...sql/packet/command/admin/quit/MySQLComQuitPacketTest.java
+10
-10
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/MySQLColumnDefinition41PacketTest.java
...cket/command/query/MySQLColumnDefinition41PacketTest.java
+3
-3
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/MySQLFieldCountPacketTest.java
...mysql/packet/command/query/MySQLFieldCountPacketTest.java
+2
-2
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/MySQLMySQLBinaryStatementRegistryTest.java
...d/query/binary/MySQLMySQLBinaryStatementRegistryTest.java
+6
-6
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/close/MySQLComStmtClosePacketTest.java
...mmand/query/binary/close/MySQLComStmtClosePacketTest.java
+3
-3
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/MySQLBinaryResultSetRowPacketTest.java
...ery/binary/execute/MySQLBinaryResultSetRowPacketTest.java
+2
-2
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/MySQLComStmtExecutePacketTest.java
...d/query/binary/execute/MySQLComStmtExecutePacketTest.java
+9
-9
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/MySQLNullBitmapTest.java
...ket/command/query/binary/execute/MySQLNullBitmapTest.java
+5
-5
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/AllMySQLBinaryProtocolTests.java
.../binary/execute/protocol/AllMySQLBinaryProtocolTests.java
+10
-10
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLDateBinaryProtocolValueTest.java
...ry/execute/protocol/MySQLDateBinaryProtocolValueTest.java
+6
-6
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLDoubleBinaryProtocolValueTest.java
.../execute/protocol/MySQLDoubleBinaryProtocolValueTest.java
+3
-3
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLFloatBinaryProtocolValueTest.java
...y/execute/protocol/MySQLFloatBinaryProtocolValueTest.java
+3
-3
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLInt1BinaryProtocolValueTest.java
...ry/execute/protocol/MySQLInt1BinaryProtocolValueTest.java
+3
-3
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLInt2BinaryProtocolValueTest.java
...ry/execute/protocol/MySQLInt2BinaryProtocolValueTest.java
+3
-3
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLInt4BinaryProtocolValueTest.java
...ry/execute/protocol/MySQLInt4BinaryProtocolValueTest.java
+3
-3
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLInt8BinaryProtocolValueTest.java
...ry/execute/protocol/MySQLInt8BinaryProtocolValueTest.java
+4
-4
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLMySQLBinaryProtocolValueFactoryTest.java
...te/protocol/MySQLMySQLBinaryProtocolValueFactoryTest.java
+157
-0
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLStringLenencBinaryProtocolValueTest.java
...te/protocol/MySQLStringLenencBinaryProtocolValueTest.java
+3
-3
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/MySQLTimeBinaryProtocolValueTest.java
...ry/execute/protocol/MySQLTimeBinaryProtocolValueTest.java
+5
-5
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/fixture/BinaryStatementRegistryUtil.java
...and/query/binary/fixture/BinaryStatementRegistryUtil.java
+8
-8
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/prepare/MySQLComStmtPrepareMySQLOKPacketTest.java
.../binary/prepare/MySQLComStmtPrepareMySQLOKPacketTest.java
+2
-2
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/prepare/MySQLComStmtPreparePacketTest.java
...d/query/binary/prepare/MySQLComStmtPreparePacketTest.java
+18
-18
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/MySQLTextResultSetRowPacketTest.java
...t/command/query/text/MySQLTextResultSetRowPacketTest.java
+2
-2
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/fieldlist/MySQLComFieldListPacketTest.java
...and/query/text/fieldlist/MySQLComFieldListPacketTest.java
+18
-18
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/query/MySQLComQueryPacketTest.java
...ket/command/query/text/query/MySQLComQueryPacketTest.java
+17
-17
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/AllMySQLGenericPacketTests.java
...port/mysql/packet/generic/AllMySQLGenericPacketTests.java
+3
-3
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/MySQLEofPacketTest.java
...xy/transport/mysql/packet/generic/MySQLEofPacketTest.java
+4
-4
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/MySQLErrPacketTest.java
...xy/transport/mysql/packet/generic/MySQLErrPacketTest.java
+5
-5
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/MySQLOKPacketTest.java
...oxy/transport/mysql/packet/generic/MySQLOKPacketTest.java
+5
-5
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/AllMySQLHandshakeTests.java
...nsport/mysql/packet/handshake/AllMySQLHandshakeTests.java
+6
-6
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/MySQLAuthPluginDataTest.java
...sport/mysql/packet/handshake/MySQLAuthPluginDataTest.java
+3
-3
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/MySQLAuthenticationHandlerTest.java
...ysql/packet/handshake/MySQLAuthenticationHandlerTest.java
+8
-8
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/MySQLConnectionIdGeneratorTest.java
...ysql/packet/handshake/MySQLConnectionIdGeneratorTest.java
+5
-5
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/MySQLHandshakePacketTest.java
...port/mysql/packet/handshake/MySQLHandshakePacketTest.java
+8
-8
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/MySQLHandshakeResponse41PacketTest.java
.../packet/handshake/MySQLHandshakeResponse41PacketTest.java
+7
-7
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/MySQLRandomGeneratorTest.java
...port/mysql/packet/handshake/MySQLRandomGeneratorTest.java
+3
-3
未找到文件。
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/communication/netty/NettyDatabaseCommunicationEngine.java
浏览文件 @
069934b5
...
...
@@ -46,9 +46,9 @@ import org.apache.shardingsphere.shardingproxy.runtime.schema.MasterSlaveSchema;
import
org.apache.shardingsphere.shardingproxy.runtime.schema.ShardingSchema
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.DatabasePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.query.
ComQueryPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.query.
MySQLComPacketQuery
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
OKPacket
;
import
java.sql.SQLException
;
import
java.util.ArrayList
;
...
...
@@ -129,7 +129,7 @@ public final class NettyDatabaseCommunicationEngine implements DatabaseCommunica
logicSchema
.
getMetaData
(),
databaseType
,
GLOBAL_REGISTRY
.
getShardingProperties
().<
Boolean
>
getValue
(
ShardingPropertiesConstant
.
SQL_SHOW
));
SQLRouteResult
routeResult
=
routingEngine
.
route
(
sql
);
if
(
routeResult
.
getRouteUnits
().
isEmpty
())
{
return
new
CommandResponsePackets
(
new
OKPacket
(
1
));
return
new
CommandResponsePackets
(
new
MySQL
OKPacket
(
1
));
}
synchronizedFuture
=
new
SynchronizedFuture
(
routeResult
.
getRouteUnits
().
size
());
FutureRegistry
.
getInstance
().
put
(
connectionId
,
synchronizedFuture
);
...
...
@@ -164,7 +164,7 @@ public final class NettyDatabaseCommunicationEngine implements DatabaseCommunica
Channel
channel
=
pool
.
acquire
().
get
(
GLOBAL_REGISTRY
.
getShardingProperties
().<
Long
>
getValue
(
ShardingPropertiesConstant
.
PROXY_BACKEND_CONNECTION_TIMEOUT_SECONDS
),
TimeUnit
.
SECONDS
);
channelMap
.
get
(
dataSourceName
).
add
(
channel
);
ChannelRegistry
.
getInstance
().
putConnectionId
(
channel
.
id
().
asShortText
(),
connectionId
);
channel
.
writeAndFlush
(
new
ComQueryPacket
(
sequenceId
,
sql
));
channel
.
writeAndFlush
(
new
MySQLComPacketQuery
(
sequenceId
,
sql
));
}
private
CommandResponsePackets
merge
(
final
SQLStatement
sqlStatement
,
final
List
<
CommandResponsePackets
>
packets
,
final
List
<
QueryResult
>
queryResults
)
{
...
...
@@ -173,7 +173,7 @@ public final class NettyDatabaseCommunicationEngine implements DatabaseCommunica
headPackets
.
getPackets
().
add
(
each
.
getHeadPacket
());
}
for
(
DatabasePacket
each
:
headPackets
.
getPackets
())
{
if
(
each
instanceof
ErrPacket
)
{
if
(
each
instanceof
MySQL
ErrPacket
)
{
return
new
CommandResponsePackets
(
each
);
}
}
...
...
@@ -193,13 +193,13 @@ public final class NettyDatabaseCommunicationEngine implements DatabaseCommunica
int
affectedRows
=
0
;
long
lastInsertId
=
0
;
for
(
DatabasePacket
each
:
firstPackets
.
getPackets
())
{
if
(
each
instanceof
OKPacket
)
{
OKPacket
okPacket
=
(
OKPacket
)
each
;
affectedRows
+=
ok
Packet
.
getAffectedRows
();
lastInsertId
=
ok
Packet
.
getLastInsertId
();
if
(
each
instanceof
MySQL
OKPacket
)
{
MySQLOKPacket
mySQLOKPacket
=
(
MySQL
OKPacket
)
each
;
affectedRows
+=
mySQLOK
Packet
.
getAffectedRows
();
lastInsertId
=
mySQLOK
Packet
.
getLastInsertId
();
}
}
return
new
CommandResponsePackets
(
new
OKPacket
(
1
,
affectedRows
,
lastInsertId
));
return
new
CommandResponsePackets
(
new
MySQL
OKPacket
(
1
,
affectedRows
,
lastInsertId
));
}
private
CommandResponsePackets
mergeDQLorDAL
(
final
SQLStatement
sqlStatement
,
final
List
<
CommandResponsePackets
>
packets
,
final
List
<
QueryResult
>
queryResults
)
{
...
...
@@ -207,7 +207,7 @@ public final class NettyDatabaseCommunicationEngine implements DatabaseCommunica
mergedResult
=
MergeEngineFactory
.
newInstance
(
GlobalRegistry
.
getInstance
().
getDatabaseType
(),
((
ShardingSchema
)
logicSchema
).
getShardingRule
(),
sqlStatement
,
logicSchema
.
getMetaData
().
getTable
(),
queryResults
).
merge
();
}
catch
(
final
SQLException
ex
)
{
return
new
CommandResponsePackets
(
new
ErrPacket
(
1
,
ex
.
getErrorCode
(),
ex
.
getSQLState
(),
ex
.
getMessage
()));
return
new
CommandResponsePackets
(
new
MySQL
ErrPacket
(
1
,
ex
.
getErrorCode
(),
ex
.
getSQLState
(),
ex
.
getMessage
()));
}
return
packets
.
get
(
0
);
}
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/communication/netty/client/response/mysql/MySQLQueryResult.java
浏览文件 @
069934b5
...
...
@@ -24,10 +24,10 @@ import org.apache.shardingsphere.core.merger.QueryResult;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.ColumnDefinition41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.FieldCountPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.TextResultSetRowPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.EofPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.
MySQL
ColumnDefinition41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.
MySQL
FieldCountPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.
MySQL
TextResultSetRowPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
EofPacket
;
import
java.io.InputStream
;
import
java.util.Calendar
;
...
...
@@ -55,14 +55,14 @@ public final class MySQLQueryResult implements QueryResult {
private
final
Map
<
String
,
Integer
>
columnLabelAndIndexMap
;
private
final
List
<
ColumnDefinition41Packet
>
columnDefinitions
;
private
final
List
<
MySQL
ColumnDefinition41Packet
>
columnDefinitions
;
private
final
BlockingQueue
<
MySQLPacket
>
resultSet
;
@Getter
private
int
currentSequenceId
;
private
TextResultSetRowPacket
currentRow
;
private
MySQL
TextResultSetRowPacket
currentRow
;
@Getter
private
boolean
columnFinished
;
...
...
@@ -77,13 +77,13 @@ public final class MySQLQueryResult implements QueryResult {
}
public
MySQLQueryResult
(
final
MySQLPacketPayload
payload
)
{
FieldCountPacket
fieldCountPacket
=
new
FieldCountPacket
(
payload
);
commandResponsePackets
=
new
CommandResponsePackets
(
f
ieldCountPacket
);
columnCount
=
f
ieldCountPacket
.
getColumnCount
();
columnIndexAndLabelMap
=
new
HashMap
<>(
f
ieldCountPacket
.
getColumnCount
(),
1
);
columnLabelAndIndexMap
=
new
HashMap
<>(
f
ieldCountPacket
.
getColumnCount
(),
1
);
columnDefinitions
=
Lists
.
newArrayListWithCapacity
(
f
ieldCountPacket
.
getColumnCount
());
currentSequenceId
=
f
ieldCountPacket
.
getSequenceId
();
MySQLFieldCountPacket
mySQLFieldCountPacket
=
new
MySQL
FieldCountPacket
(
payload
);
commandResponsePackets
=
new
CommandResponsePackets
(
mySQLF
ieldCountPacket
);
columnCount
=
mySQLF
ieldCountPacket
.
getColumnCount
();
columnIndexAndLabelMap
=
new
HashMap
<>(
mySQLF
ieldCountPacket
.
getColumnCount
(),
1
);
columnLabelAndIndexMap
=
new
HashMap
<>(
mySQLF
ieldCountPacket
.
getColumnCount
(),
1
);
columnDefinitions
=
Lists
.
newArrayListWithCapacity
(
mySQLF
ieldCountPacket
.
getColumnCount
());
currentSequenceId
=
mySQLF
ieldCountPacket
.
getSequenceId
();
resultSet
=
new
LinkedBlockingQueue
<>();
}
...
...
@@ -110,7 +110,7 @@ public final class MySQLQueryResult implements QueryResult {
*
* @param columnDefinition column definition
*/
public
void
addColumnDefinition
(
final
ColumnDefinition41Packet
columnDefinition
)
{
public
void
addColumnDefinition
(
final
MySQL
ColumnDefinition41Packet
columnDefinition
)
{
commandResponsePackets
.
getPackets
().
add
(
columnDefinition
);
columnDefinitions
.
add
(
columnDefinition
);
columnIndexAndLabelMap
.
put
(
columnDefinitions
.
indexOf
(
columnDefinition
)
+
1
,
columnDefinition
.
getName
());
...
...
@@ -123,26 +123,26 @@ public final class MySQLQueryResult implements QueryResult {
*
* @param textResultSetRow text result set row
*/
public
void
addTextResultSetRow
(
final
TextResultSetRowPacket
textResultSetRow
)
{
public
void
addTextResultSetRow
(
final
MySQL
TextResultSetRowPacket
textResultSetRow
)
{
put
(
textResultSetRow
);
}
/**
* Set column finished.
* @param
e
ofPacket eof packet
* @param
mySQLE
ofPacket eof packet
*/
public
void
setColumnFinished
(
final
EofPacket
e
ofPacket
)
{
commandResponsePackets
.
getPackets
().
add
(
e
ofPacket
);
public
void
setColumnFinished
(
final
MySQLEofPacket
mySQLE
ofPacket
)
{
commandResponsePackets
.
getPackets
().
add
(
mySQLE
ofPacket
);
currentSequenceId
++;
columnFinished
=
true
;
}
/**
* Set row finished.
* @param
e
ofPacket eof packet
* @param
mySQLE
ofPacket eof packet
*/
public
void
setRowFinished
(
final
EofPacket
e
ofPacket
)
{
put
(
e
ofPacket
);
public
void
setRowFinished
(
final
MySQLEofPacket
mySQLE
ofPacket
)
{
put
(
mySQLE
ofPacket
);
}
private
void
put
(
final
MySQLPacket
mysqlPacket
)
{
...
...
@@ -157,7 +157,7 @@ public final class MySQLQueryResult implements QueryResult {
public
boolean
next
()
{
try
{
MySQLPacket
mysqlPacket
=
resultSet
.
take
();
currentRow
=
(
mysqlPacket
instanceof
TextResultSetRowPacket
)
?
(
TextResultSetRowPacket
)
mysqlPacket
:
null
;
currentRow
=
(
mysqlPacket
instanceof
MySQLTextResultSetRowPacket
)
?
(
MySQL
TextResultSetRowPacket
)
mysqlPacket
:
null
;
return
null
!=
currentRow
;
}
catch
(
final
InterruptedException
ex
)
{
log
.
error
(
ex
.
getMessage
(),
ex
);
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/communication/netty/client/response/mysql/MySQLResponseHandler.java
浏览文件 @
069934b5
...
...
@@ -31,13 +31,13 @@ import org.apache.shardingsphere.shardingproxy.runtime.GlobalRegistry;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLCapabilityFlag
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLServerInfo
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.ColumnDefinition41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.TextResultSetRowPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.EofPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.HandshakePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.HandshakeResponse41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.
MySQL
ColumnDefinition41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.
MySQL
TextResultSetRowPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
EofPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.
MySQL
HandshakePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.
MySQL
HandshakeResponse41Packet
;
import
java.security.MessageDigest
;
import
java.util.HashMap
;
...
...
@@ -80,14 +80,14 @@ public final class MySQLResponseHandler extends ResponseHandler {
@Override
protected
void
auth
(
final
ChannelHandlerContext
context
,
final
ByteBuf
byteBuf
)
{
try
(
MySQLPacketPayload
payload
=
new
MySQLPacketPayload
(
byteBuf
))
{
HandshakePacket
handshakePacket
=
new
HandshakePacket
(
payload
);
MySQLHandshakePacket
mySQLHandshakePacket
=
new
MySQL
HandshakePacket
(
payload
);
byte
[]
authResponse
=
securePasswordAuthentication
(
(
null
==
dataSourceParameter
.
getPassword
()
?
""
:
dataSourceParameter
.
getPassword
()).
getBytes
(),
handshakePacket
.
get
AuthPluginData
().
getAuthPluginData
());
HandshakeResponse41Packet
handshakeResponse41Packet
=
new
HandshakeResponse41Packet
(
h
andshakePacket
.
getSequenceId
()
+
1
,
MySQLCapabilityFlag
.
calculateHandshakeCapabilityFlagsLower
(),
16777215
,
MySQLServerInfo
.
CHARSET
,
(
null
==
dataSourceParameter
.
getPassword
()
?
""
:
dataSourceParameter
.
getPassword
()).
getBytes
(),
mySQLHandshakePacket
.
getMySQL
AuthPluginData
().
getAuthPluginData
());
MySQLHandshakeResponse41Packet
mySQLHandshakeResponse41Packet
=
new
MySQL
HandshakeResponse41Packet
(
mySQLH
andshakePacket
.
getSequenceId
()
+
1
,
MySQLCapabilityFlag
.
calculateHandshakeCapabilityFlagsLower
(),
16777215
,
MySQLServerInfo
.
CHARSET
,
dataSourceParameter
.
getUsername
(),
authResponse
,
dataSourceMetaData
.
getSchemaName
());
ChannelRegistry
.
getInstance
().
putConnectionId
(
context
.
channel
().
id
().
asShortText
(),
h
andshakePacket
.
getConnectionId
());
context
.
writeAndFlush
(
h
andshakeResponse41Packet
);
ChannelRegistry
.
getInstance
().
putConnectionId
(
context
.
channel
().
id
().
asShortText
(),
mySQLH
andshakePacket
.
getConnectionId
());
context
.
writeAndFlush
(
mySQLH
andshakeResponse41Packet
);
}
}
...
...
@@ -109,13 +109,13 @@ public final class MySQLResponseHandler extends ResponseHandler {
@Override
protected
void
executeCommand
(
final
ChannelHandlerContext
context
,
final
ByteBuf
byteBuf
,
final
int
header
)
{
switch
(
header
)
{
case
EofPacket
.
HEADER
:
case
MySQL
EofPacket
.
HEADER
:
eofPacket
(
context
,
byteBuf
);
break
;
case
OKPacket
.
HEADER
:
case
MySQL
OKPacket
.
HEADER
:
okPacket
(
context
,
byteBuf
);
break
;
case
ErrPacket
.
HEADER
:
case
MySQL
ErrPacket
.
HEADER
:
errPacket
(
context
,
byteBuf
);
break
;
default
:
...
...
@@ -128,7 +128,7 @@ public final class MySQLResponseHandler extends ResponseHandler {
try
(
MySQLPacketPayload
payload
=
new
MySQLPacketPayload
(
byteBuf
))
{
MySQLQueryResult
mysqlQueryResult
=
new
MySQLQueryResult
();
// TODO remove netty backend
// mysqlQueryResult.setGenericResponse(new OKPacket(payload));
// mysqlQueryResult.setGenericResponse(new
MySQL
OKPacket(payload));
resultMap
.
put
(
connectionId
,
mysqlQueryResult
);
setResponse
(
context
);
}
finally
{
...
...
@@ -141,7 +141,7 @@ public final class MySQLResponseHandler extends ResponseHandler {
try
(
MySQLPacketPayload
payload
=
new
MySQLPacketPayload
(
byteBuf
))
{
MySQLQueryResult
mysqlQueryResult
=
new
MySQLQueryResult
();
// TODO remove netty backend
// mysqlQueryResult.setGenericResponse(new ErrPacket(payload));
// mysqlQueryResult.setGenericResponse(new
MySQL
ErrPacket(payload));
resultMap
.
put
(
connectionId
,
mysqlQueryResult
);
setResponse
(
context
);
}
finally
{
...
...
@@ -155,12 +155,12 @@ public final class MySQLResponseHandler extends ResponseHandler {
MySQLPacketPayload
payload
=
new
MySQLPacketPayload
(
byteBuf
);
if
(
mysqlQueryResult
.
isColumnFinished
())
{
// TODO remove netty backend
// mysqlQueryResult.setRowFinished(new EofPacket(payload));
// mysqlQueryResult.setRowFinished(new
MySQL
EofPacket(payload));
resultMap
.
remove
(
connectionId
);
payload
.
close
();
}
else
{
// TODO remove netty backend
// mysqlQueryResult.setColumnFinished(new EofPacket(payload));
// mysqlQueryResult.setColumnFinished(new
MySQL
EofPacket(payload));
setResponse
(
context
);
}
}
...
...
@@ -180,9 +180,9 @@ public final class MySQLResponseHandler extends ResponseHandler {
mysqlQueryResult
=
new
MySQLQueryResult
(
payload
);
resultMap
.
put
(
connectionId
,
mysqlQueryResult
);
}
else
if
(
mysqlQueryResult
.
needColumnDefinition
())
{
mysqlQueryResult
.
addColumnDefinition
(
new
ColumnDefinition41Packet
(
payload
));
mysqlQueryResult
.
addColumnDefinition
(
new
MySQL
ColumnDefinition41Packet
(
payload
));
}
else
{
mysqlQueryResult
.
addTextResultSetRow
(
new
TextResultSetRowPacket
(
payload
,
mysqlQueryResult
.
getColumnCount
()));
mysqlQueryResult
.
addTextResultSetRow
(
new
MySQL
TextResultSetRowPacket
(
payload
,
mysqlQueryResult
.
getColumnCount
()));
}
}
}
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/frontend/mysql/MySQLCommandExecutor.java
浏览文件 @
069934b5
...
...
@@ -31,16 +31,16 @@ import org.apache.shardingsphere.shardingproxy.transport.common.packet.generic.D
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.generic.DatabaseSuccessPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLServerErrorCode
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacketFactory
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacketFactory
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.ColumnDefinition41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.FieldCountPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.QueryCommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.
MySQL
ColumnDefinition41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.
MySQL
FieldCountPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.
MySQL
QueryCommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.query.QueryResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.EofPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
EofPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
OKPacket
;
import
org.apache.shardingsphere.spi.root.RootInvokeHook
;
import
org.apache.shardingsphere.spi.root.SPIRootInvokeHook
;
...
...
@@ -72,58 +72,58 @@ public final class MySQLCommandExecutor implements Runnable {
try
(
MySQLPacketPayload
payload
=
new
MySQLPacketPayload
(
message
);
BackendConnection
backendConnection
=
frontendHandler
.
getBackendConnection
())
{
backendConnection
.
getStateHandler
().
waitUntilConnectionReleasedIfNecessary
();
CommandPacket
c
ommandPacket
=
getCommandPacket
(
payload
,
backendConnection
,
frontendHandler
);
Optional
<
CommandResponsePackets
>
responsePackets
=
c
ommandPacket
.
execute
();
MySQLCommandPacket
mySQLC
ommandPacket
=
getCommandPacket
(
payload
,
backendConnection
,
frontendHandler
);
Optional
<
CommandResponsePackets
>
responsePackets
=
mySQLC
ommandPacket
.
execute
();
if
(!
responsePackets
.
isPresent
())
{
return
;
}
if
(
responsePackets
.
get
()
instanceof
QueryResponsePackets
)
{
context
.
write
(
new
FieldCountPacket
(
1
,
((
QueryResponsePackets
)
responsePackets
.
get
()).
getFieldCount
()));
context
.
write
(
new
MySQL
FieldCountPacket
(
1
,
((
QueryResponsePackets
)
responsePackets
.
get
()).
getFieldCount
()));
}
for
(
DatabasePacket
each
:
responsePackets
.
get
().
getPackets
())
{
if
(
each
instanceof
DatabaseSuccessPacket
)
{
context
.
write
(
new
OKPacket
((
DatabaseSuccessPacket
)
each
));
context
.
write
(
new
MySQL
OKPacket
((
DatabaseSuccessPacket
)
each
));
}
else
if
(
each
instanceof
DatabaseFailurePacket
)
{
context
.
write
(
new
ErrPacket
((
DatabaseFailurePacket
)
each
));
context
.
write
(
new
MySQL
ErrPacket
((
DatabaseFailurePacket
)
each
));
}
else
if
(
each
instanceof
DataHeaderPacket
)
{
context
.
write
(
new
ColumnDefinition41Packet
((
DataHeaderPacket
)
each
));
context
.
write
(
new
MySQL
ColumnDefinition41Packet
((
DataHeaderPacket
)
each
));
}
else
{
context
.
write
(
each
);
}
}
if
(
responsePackets
.
get
()
instanceof
QueryResponsePackets
)
{
context
.
write
(
new
EofPacket
(((
QueryResponsePackets
)
responsePackets
.
get
()).
getSequenceId
()));
context
.
write
(
new
MySQL
EofPacket
(((
QueryResponsePackets
)
responsePackets
.
get
()).
getSequenceId
()));
}
if
(
commandPacket
instanceof
QueryCommandPacket
&&
!(
responsePackets
.
get
().
getHeadPacket
()
instanceof
DatabaseSuccessPacket
)
if
(
mySQLCommandPacket
instanceof
MySQL
QueryCommandPacket
&&
!(
responsePackets
.
get
().
getHeadPacket
()
instanceof
DatabaseSuccessPacket
)
&&
!(
responsePackets
.
get
().
getHeadPacket
()
instanceof
DatabaseFailurePacket
))
{
writeMoreResults
((
QueryCommandPacket
)
c
ommandPacket
,
((
QueryResponsePackets
)
responsePackets
.
get
()).
getSequenceId
());
writeMoreResults
((
MySQLQueryCommandPacket
)
mySQLC
ommandPacket
,
((
QueryResponsePackets
)
responsePackets
.
get
()).
getSequenceId
());
}
connectionSize
=
backendConnection
.
getConnectionSize
();
}
catch
(
final
SQLException
ex
)
{
context
.
write
(
new
ErrPacket
(++
currentSequenceId
,
ex
));
context
.
write
(
new
MySQL
ErrPacket
(++
currentSequenceId
,
ex
));
// CHECKSTYLE:OFF
}
catch
(
final
Exception
ex
)
{
// CHECKSTYLE:ON
context
.
write
(
new
ErrPacket
(
1
,
MySQLServerErrorCode
.
ER_STD_UNKNOWN_EXCEPTION
,
ex
.
getMessage
()));
context
.
write
(
new
MySQL
ErrPacket
(
1
,
MySQLServerErrorCode
.
ER_STD_UNKNOWN_EXCEPTION
,
ex
.
getMessage
()));
}
finally
{
context
.
flush
();
rootInvokeHook
.
finish
(
connectionSize
);
}
}
private
CommandPacket
getCommandPacket
(
final
MySQLPacketPayload
payload
,
final
BackendConnection
backendConnection
,
final
FrontendHandler
frontendHandler
)
throws
SQLException
{
private
MySQL
CommandPacket
getCommandPacket
(
final
MySQLPacketPayload
payload
,
final
BackendConnection
backendConnection
,
final
FrontendHandler
frontendHandler
)
throws
SQLException
{
int
sequenceId
=
payload
.
readInt1
();
return
CommandPacketFactory
.
newInstance
(
sequenceId
,
payload
,
backendConnection
);
return
MySQL
CommandPacketFactory
.
newInstance
(
sequenceId
,
payload
,
backendConnection
);
}
private
void
writeMoreResults
(
final
QueryCommandPacket
q
ueryCommandPacket
,
final
int
headPacketsCount
)
throws
SQLException
{
private
void
writeMoreResults
(
final
MySQLQueryCommandPacket
mySQLQ
ueryCommandPacket
,
final
int
headPacketsCount
)
throws
SQLException
{
if
(!
context
.
channel
().
isActive
())
{
return
;
}
currentSequenceId
=
headPacketsCount
;
int
count
=
0
;
int
proxyFrontendFlushThreshold
=
GlobalRegistry
.
getInstance
().
getShardingProperties
().<
Integer
>
getValue
(
ShardingPropertiesConstant
.
PROXY_FRONTEND_FLUSH_THRESHOLD
);
while
(
q
ueryCommandPacket
.
next
())
{
while
(
mySQLQ
ueryCommandPacket
.
next
())
{
count
++;
while
(!
context
.
channel
().
isWritable
()
&&
context
.
channel
().
isActive
())
{
context
.
flush
();
...
...
@@ -134,7 +134,7 @@ public final class MySQLCommandExecutor implements Runnable {
}
}
}
DatabasePacket
resultValue
=
q
ueryCommandPacket
.
getResultValue
();
DatabasePacket
resultValue
=
mySQLQ
ueryCommandPacket
.
getResultValue
();
currentSequenceId
=
resultValue
.
getSequenceId
();
context
.
write
(
resultValue
);
if
(
proxyFrontendFlushThreshold
==
count
)
{
...
...
@@ -142,6 +142,6 @@ public final class MySQLCommandExecutor implements Runnable {
count
=
0
;
}
}
context
.
write
(
new
EofPacket
(++
currentSequenceId
));
context
.
write
(
new
MySQL
EofPacket
(++
currentSequenceId
));
}
}
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/frontend/mysql/MySQLFrontendHandler.java
浏览文件 @
069934b5
...
...
@@ -27,12 +27,12 @@ import org.apache.shardingsphere.shardingproxy.runtime.ChannelRegistry;
import
org.apache.shardingsphere.shardingproxy.runtime.GlobalRegistry
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLServerErrorCode
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.AuthenticationHandler
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.ConnectionIdGenerator
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.HandshakePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.HandshakeResponse41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.
MySQL
AuthenticationHandler
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.
MySQL
ConnectionIdGenerator
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.
MySQL
HandshakePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.
MySQL
HandshakeResponse41Packet
;
/**
* MySQL frontend handler.
...
...
@@ -45,30 +45,30 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.
@RequiredArgsConstructor
public
final
class
MySQLFrontendHandler
extends
FrontendHandler
{
private
final
AuthenticationHandler
authenticationHandler
=
new
AuthenticationHandler
();
private
final
MySQLAuthenticationHandler
mySQLAuthenticationHandler
=
new
MySQL
AuthenticationHandler
();
@Override
protected
void
handshake
(
final
ChannelHandlerContext
context
)
{
int
connectionId
=
ConnectionIdGenerator
.
getInstance
().
nextId
();
int
connectionId
=
MySQL
ConnectionIdGenerator
.
getInstance
().
nextId
();
ChannelRegistry
.
getInstance
().
putConnectionId
(
context
.
channel
().
id
().
asShortText
(),
connectionId
);
getBackendConnection
().
setConnectionId
(
connectionId
);
context
.
writeAndFlush
(
new
HandshakePacket
(
connectionId
,
authenticationHandler
.
get
AuthPluginData
()));
context
.
writeAndFlush
(
new
MySQLHandshakePacket
(
connectionId
,
mySQLAuthenticationHandler
.
getMySQL
AuthPluginData
()));
}
@Override
protected
void
auth
(
final
ChannelHandlerContext
context
,
final
ByteBuf
message
)
{
try
(
MySQLPacketPayload
payload
=
new
MySQLPacketPayload
(
message
))
{
HandshakeResponse41Packet
response41
=
new
HandshakeResponse41Packet
(
payload
);
if
(
a
uthenticationHandler
.
login
(
response41
.
getUsername
(),
response41
.
getAuthResponse
()))
{
MySQLHandshakeResponse41Packet
response41
=
new
MySQL
HandshakeResponse41Packet
(
payload
);
if
(
mySQLA
uthenticationHandler
.
login
(
response41
.
getUsername
(),
response41
.
getAuthResponse
()))
{
if
(!
Strings
.
isNullOrEmpty
(
response41
.
getDatabase
())
&&
!
GlobalRegistry
.
getInstance
().
schemaExists
(
response41
.
getDatabase
()))
{
context
.
writeAndFlush
(
new
ErrPacket
(
response41
.
getSequenceId
()
+
1
,
MySQLServerErrorCode
.
ER_BAD_DB_ERROR
,
response41
.
getDatabase
()));
context
.
writeAndFlush
(
new
MySQL
ErrPacket
(
response41
.
getSequenceId
()
+
1
,
MySQLServerErrorCode
.
ER_BAD_DB_ERROR
,
response41
.
getDatabase
()));
return
;
}
getBackendConnection
().
setCurrentSchema
(
response41
.
getDatabase
());
context
.
writeAndFlush
(
new
OKPacket
(
response41
.
getSequenceId
()
+
1
));
context
.
writeAndFlush
(
new
MySQL
OKPacket
(
response41
.
getSequenceId
()
+
1
));
}
else
{
// TODO localhost should replace to real ip address
context
.
writeAndFlush
(
new
ErrPacket
(
response41
.
getSequenceId
()
+
1
,
context
.
writeAndFlush
(
new
MySQL
ErrPacket
(
response41
.
getSequenceId
()
+
1
,
MySQLServerErrorCode
.
ER_ACCESS_DENIED_ERROR
,
response41
.
getUsername
(),
"localhost"
,
0
==
response41
.
getAuthResponse
().
length
?
"NO"
:
"YES"
));
}
}
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/CommandPacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/
MySQL
CommandPacket.java
浏览文件 @
069934b5
...
...
@@ -29,7 +29,7 @@ import java.sql.SQLException;
* @author zhangliang
* @author wangkai
*/
public
interface
CommandPacket
extends
MySQLPacket
{
public
interface
MySQL
CommandPacket
extends
MySQLPacket
{
/**
* Execute command.
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/CommandPacketFactory.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/
MySQL
CommandPacketFactory.java
浏览文件 @
069934b5
...
...
@@ -21,15 +21,15 @@ import lombok.AccessLevel;
import
lombok.NoArgsConstructor
;
import
org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.UnsupportedCommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.initdb.ComInitDbPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.ping.ComPingPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.quit.ComQuitPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.close.ComStmtClosePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.execute.ComStmtExecutePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.prepare.ComStmtPreparePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.fieldlist.ComFieldListPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.query.
ComQueryPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.
MySQL
UnsupportedCommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.initdb.
MySQL
ComInitDbPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.ping.
MySQL
ComPingPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.quit.
MySQL
ComQuitPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.close.
MySQL
ComStmtClosePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.execute.
MySQLQuery
ComStmtExecutePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.prepare.
MySQL
ComStmtPreparePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.fieldlist.
MySQL
ComFieldListPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.query.
MySQLComPacketQuery
;
import
java.sql.SQLException
;
...
...
@@ -41,7 +41,7 @@ import java.sql.SQLException;
* @author zhaojun
*/
@NoArgsConstructor
(
access
=
AccessLevel
.
PRIVATE
)
public
final
class
CommandPacketFactory
{
public
final
class
MySQL
CommandPacketFactory
{
/**
* Create new instance of command packet.
...
...
@@ -52,28 +52,28 @@ public final class CommandPacketFactory {
* @return command packet
* @throws SQLException SQL exception
*/
public
static
CommandPacket
newInstance
(
final
int
sequenceId
,
final
MySQLPacketPayload
payload
,
final
BackendConnection
backendConnection
)
throws
SQLException
{
public
static
MySQL
CommandPacket
newInstance
(
final
int
sequenceId
,
final
MySQLPacketPayload
payload
,
final
BackendConnection
backendConnection
)
throws
SQLException
{
int
commandPacketTypeValue
=
payload
.
readInt1
();
CommandPacketType
type
=
CommandPacketType
.
valueOf
(
commandPacketTypeValue
);
MySQLCommandPacketType
type
=
MySQL
CommandPacketType
.
valueOf
(
commandPacketTypeValue
);
switch
(
type
)
{
case
COM_QUIT:
return
new
ComQuitPacket
(
sequenceId
);
return
new
MySQL
ComQuitPacket
(
sequenceId
);
case
COM_INIT_DB:
return
new
ComInitDbPacket
(
sequenceId
,
payload
,
backendConnection
);
return
new
MySQL
ComInitDbPacket
(
sequenceId
,
payload
,
backendConnection
);
case
COM_FIELD_LIST:
return
new
ComFieldListPacket
(
sequenceId
,
payload
,
backendConnection
);
return
new
MySQL
ComFieldListPacket
(
sequenceId
,
payload
,
backendConnection
);
case
COM_QUERY:
return
new
ComQueryPacket
(
sequenceId
,
payload
,
backendConnection
);
return
new
MySQLComPacketQuery
(
sequenceId
,
payload
,
backendConnection
);
case
COM_STMT_PREPARE:
return
new
ComStmtPreparePacket
(
sequenceId
,
backendConnection
,
payload
);
return
new
MySQL
ComStmtPreparePacket
(
sequenceId
,
backendConnection
,
payload
);
case
COM_STMT_EXECUTE:
return
new
ComStmtExecutePacket
(
sequenceId
,
payload
,
backendConnection
);
return
new
MySQLQuery
ComStmtExecutePacket
(
sequenceId
,
payload
,
backendConnection
);
case
COM_STMT_CLOSE:
return
new
ComStmtClosePacket
(
sequenceId
,
payload
);
return
new
MySQL
ComStmtClosePacket
(
sequenceId
,
payload
);
case
COM_PING:
return
new
ComPingPacket
(
sequenceId
);
return
new
MySQL
ComPingPacket
(
sequenceId
);
default
:
return
new
UnsupportedCommandPacket
(
sequenceId
,
type
);
return
new
MySQL
UnsupportedCommandPacket
(
sequenceId
,
type
);
}
}
}
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/CommandPacketType.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/
MySQL
CommandPacketType.java
浏览文件 @
069934b5
...
...
@@ -27,7 +27,7 @@ import lombok.RequiredArgsConstructor;
*/
@RequiredArgsConstructor
@Getter
public
enum
CommandPacketType
{
public
enum
MySQL
CommandPacketType
{
/**
* COM_SLEEP.
...
...
@@ -261,8 +261,8 @@ public enum CommandPacketType {
* @param value integer value
* @return command packet type enum
*/
public
static
CommandPacketType
valueOf
(
final
int
value
)
{
for
(
CommandPacketType
each
:
CommandPacketType
.
values
())
{
public
static
MySQL
CommandPacketType
valueOf
(
final
int
value
)
{
for
(
MySQLCommandPacketType
each
:
MySQL
CommandPacketType
.
values
())
{
if
(
value
==
each
.
value
)
{
return
each
;
}
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/UnsupportedCommandPacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/
MySQL
UnsupportedCommandPacket.java
浏览文件 @
069934b5
...
...
@@ -22,10 +22,10 @@ import lombok.Getter;
import
lombok.RequiredArgsConstructor
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLServerErrorCode
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
ErrPacket
;
/**
* Unsupported command packet.
...
...
@@ -33,16 +33,16 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.Er
* @author zhangliang
*/
@RequiredArgsConstructor
public
final
class
UnsupportedCommandPacket
implements
CommandPacket
{
public
final
class
MySQLUnsupportedCommandPacket
implements
MySQL
CommandPacket
{
@Getter
private
final
int
sequenceId
;
private
final
CommandPacketType
type
;
private
final
MySQL
CommandPacketType
type
;
@Override
public
Optional
<
CommandResponsePackets
>
execute
()
{
return
Optional
.
of
(
new
CommandResponsePackets
(
new
ErrPacket
(
getSequenceId
()
+
1
,
MySQLServerErrorCode
.
ER_UNSUPPORTED_COMMAND
,
type
)));
return
Optional
.
of
(
new
CommandResponsePackets
(
new
MySQL
ErrPacket
(
getSequenceId
()
+
1
,
MySQLServerErrorCode
.
ER_UNSUPPORTED_COMMAND
,
type
)));
}
@Override
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/initdb/ComInitDbPacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/initdb/
MySQL
ComInitDbPacket.java
浏览文件 @
069934b5
...
...
@@ -24,11 +24,11 @@ import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connec
import
org.apache.shardingsphere.shardingproxy.runtime.GlobalRegistry
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLServerErrorCode
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
OKPacket
;
/**
* COM_INIT_DB command packet.
...
...
@@ -37,7 +37,7 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OK
* @see <a href="https://dev.mysql.com/doc/internals/en/com-init-db.html#packet-COM_INIT_DB">COM_INIT_DB</a>
*/
@Slf4j
public
final
class
ComInitDbPacket
implements
CommandPacket
{
public
final
class
MySQLComInitDbPacket
implements
MySQL
CommandPacket
{
@Getter
private
final
int
sequenceId
;
...
...
@@ -46,7 +46,7 @@ public final class ComInitDbPacket implements CommandPacket {
private
final
BackendConnection
backendConnection
;
public
ComInitDbPacket
(
final
int
sequenceId
,
final
MySQLPacketPayload
payload
,
final
BackendConnection
backendConnection
)
{
public
MySQL
ComInitDbPacket
(
final
int
sequenceId
,
final
MySQLPacketPayload
payload
,
final
BackendConnection
backendConnection
)
{
this
.
sequenceId
=
sequenceId
;
schema
=
payload
.
readStringEOF
();
this
.
backendConnection
=
backendConnection
;
...
...
@@ -54,7 +54,7 @@ public final class ComInitDbPacket implements CommandPacket {
@Override
public
void
write
(
final
MySQLPacketPayload
payload
)
{
payload
.
writeInt1
(
CommandPacketType
.
COM_INIT_DB
.
getValue
());
payload
.
writeInt1
(
MySQL
CommandPacketType
.
COM_INIT_DB
.
getValue
());
payload
.
writeStringEOF
(
schema
);
}
...
...
@@ -63,8 +63,8 @@ public final class ComInitDbPacket implements CommandPacket {
log
.
debug
(
"Schema name received for Sharding-Proxy: {}"
,
schema
);
if
(
GlobalRegistry
.
getInstance
().
schemaExists
(
schema
))
{
backendConnection
.
setCurrentSchema
(
schema
);
return
Optional
.
of
(
new
CommandResponsePackets
(
new
OKPacket
(
getSequenceId
()
+
1
)));
return
Optional
.
of
(
new
CommandResponsePackets
(
new
MySQL
OKPacket
(
getSequenceId
()
+
1
)));
}
return
Optional
.
of
(
new
CommandResponsePackets
(
new
ErrPacket
(
getSequenceId
()
+
1
,
MySQLServerErrorCode
.
ER_BAD_DB_ERROR
,
schema
)));
return
Optional
.
of
(
new
CommandResponsePackets
(
new
MySQL
ErrPacket
(
getSequenceId
()
+
1
,
MySQLServerErrorCode
.
ER_BAD_DB_ERROR
,
schema
)));
}
}
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/ping/ComPingPacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/ping/
MySQL
ComPingPacket.java
浏览文件 @
069934b5
...
...
@@ -21,10 +21,10 @@ import com.google.common.base.Optional;
import
lombok.Getter
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
OKPacket
;
/**
* COM_PING command packet.
...
...
@@ -35,17 +35,17 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OK
*/
@RequiredArgsConstructor
@Getter
public
final
class
ComPingPacket
implements
CommandPacket
{
public
final
class
MySQLComPingPacket
implements
MySQL
CommandPacket
{
private
final
int
sequenceId
;
@Override
public
Optional
<
CommandResponsePackets
>
execute
()
{
return
Optional
.
of
(
new
CommandResponsePackets
(
new
OKPacket
(
getSequenceId
()
+
1
)));
return
Optional
.
of
(
new
CommandResponsePackets
(
new
MySQL
OKPacket
(
getSequenceId
()
+
1
)));
}
@Override
public
void
write
(
final
MySQLPacketPayload
payload
)
{
payload
.
writeInt1
(
CommandPacketType
.
COM_PING
.
getValue
());
payload
.
writeInt1
(
MySQL
CommandPacketType
.
COM_PING
.
getValue
());
}
}
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/quit/ComQuitPacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/quit/
MySQL
ComQuitPacket.java
浏览文件 @
069934b5
...
...
@@ -21,10 +21,10 @@ import com.google.common.base.Optional;
import
lombok.Getter
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
OKPacket
;
/**
* COM_QUIT command packet.
...
...
@@ -35,17 +35,17 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OK
*/
@RequiredArgsConstructor
@Getter
public
final
class
ComQuitPacket
implements
CommandPacket
{
public
final
class
MySQLComQuitPacket
implements
MySQL
CommandPacket
{
private
final
int
sequenceId
;
@Override
public
Optional
<
CommandResponsePackets
>
execute
()
{
return
Optional
.
of
(
new
CommandResponsePackets
(
new
OKPacket
(
getSequenceId
()
+
1
)));
return
Optional
.
of
(
new
CommandResponsePackets
(
new
MySQL
OKPacket
(
getSequenceId
()
+
1
)));
}
@Override
public
void
write
(
final
MySQLPacketPayload
payload
)
{
payload
.
writeInt1
(
CommandPacketType
.
COM_QUIT
.
getValue
());
payload
.
writeInt1
(
MySQL
CommandPacketType
.
COM_QUIT
.
getValue
());
}
}
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/ColumnDefinition41Packet.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/
MySQL
ColumnDefinition41Packet.java
浏览文件 @
069934b5
...
...
@@ -37,7 +37,7 @@ import java.sql.SQLException;
* @author zhangliang
* @author zhangyonglun
*/
public
final
class
ColumnDefinition41Packet
implements
MySQLPacket
{
public
final
class
MySQL
ColumnDefinition41Packet
implements
MySQLPacket
{
private
static
final
String
CATALOG
=
"def"
;
...
...
@@ -69,14 +69,14 @@ public final class ColumnDefinition41Packet implements MySQLPacket {
private
final
int
decimals
;
public
ColumnDefinition41Packet
(
final
int
sequenceId
,
final
ResultSetMetaData
resultSetMetaData
,
final
int
columnIndex
)
throws
SQLException
{
public
MySQL
ColumnDefinition41Packet
(
final
int
sequenceId
,
final
ResultSetMetaData
resultSetMetaData
,
final
int
columnIndex
)
throws
SQLException
{
this
(
sequenceId
,
resultSetMetaData
.
getSchemaName
(
columnIndex
),
resultSetMetaData
.
getTableName
(
columnIndex
),
resultSetMetaData
.
getTableName
(
columnIndex
),
resultSetMetaData
.
getColumnLabel
(
columnIndex
),
resultSetMetaData
.
getColumnName
(
columnIndex
),
resultSetMetaData
.
getColumnDisplaySize
(
columnIndex
),
MySQLColumnType
.
valueOfJDBCType
(
resultSetMetaData
.
getColumnType
(
columnIndex
)),
resultSetMetaData
.
getScale
(
columnIndex
));
}
public
ColumnDefinition41Packet
(
final
int
sequenceId
,
final
String
schema
,
final
String
table
,
final
String
orgTable
,
final
String
name
,
final
String
orgName
,
final
int
columnLength
,
final
MySQLColumnType
mySQLColumnType
,
final
int
decimals
)
{
public
MySQL
ColumnDefinition41Packet
(
final
int
sequenceId
,
final
String
schema
,
final
String
table
,
final
String
orgTable
,
final
String
name
,
final
String
orgName
,
final
int
columnLength
,
final
MySQLColumnType
mySQLColumnType
,
final
int
decimals
)
{
this
.
sequenceId
=
sequenceId
;
this
.
characterSet
=
MySQLServerInfo
.
CHARSET
;
this
.
flags
=
0
;
...
...
@@ -90,7 +90,7 @@ public final class ColumnDefinition41Packet implements MySQLPacket {
this
.
decimals
=
decimals
;
}
public
ColumnDefinition41Packet
(
final
DataHeaderPacket
dataHeaderPacket
)
{
public
MySQL
ColumnDefinition41Packet
(
final
DataHeaderPacket
dataHeaderPacket
)
{
this
.
sequenceId
=
dataHeaderPacket
.
getSequenceId
();
this
.
characterSet
=
MySQLServerInfo
.
CHARSET
;
this
.
flags
=
0
;
...
...
@@ -104,7 +104,7 @@ public final class ColumnDefinition41Packet implements MySQLPacket {
this
.
decimals
=
dataHeaderPacket
.
getDecimals
();
}
public
ColumnDefinition41Packet
(
final
MySQLPacketPayload
payload
)
{
public
MySQL
ColumnDefinition41Packet
(
final
MySQLPacketPayload
payload
)
{
sequenceId
=
payload
.
readInt1
();
Preconditions
.
checkArgument
(
CATALOG
.
equals
(
payload
.
readStringLenenc
()));
schema
=
payload
.
readStringLenenc
();
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/FieldCountPacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/
MySQL
FieldCountPacket.java
浏览文件 @
069934b5
...
...
@@ -31,13 +31,13 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacke
*/
@RequiredArgsConstructor
@Getter
public
final
class
FieldCountPacket
implements
MySQLPacket
{
public
final
class
MySQL
FieldCountPacket
implements
MySQLPacket
{
private
final
int
sequenceId
;
private
final
int
columnCount
;
public
FieldCountPacket
(
final
MySQLPacketPayload
payload
)
{
public
MySQL
FieldCountPacket
(
final
MySQLPacketPayload
payload
)
{
this
(
payload
.
readInt1
(),
payload
.
readInt1
());
}
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/QueryCommandPacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/
MySQL
QueryCommandPacket.java
浏览文件 @
069934b5
...
...
@@ -18,7 +18,7 @@
package
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.DatabasePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacket
;
import
java.sql.SQLException
;
...
...
@@ -28,7 +28,7 @@ import java.sql.SQLException;
* @author zhangliang
* @author wangkai
*/
public
interface
QueryCommandPacket
extends
CommandPacket
{
public
interface
MySQLQueryCommandPacket
extends
MySQL
CommandPacket
{
/**
* Goto next result value.
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/BinaryStatement.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/
MySQL
BinaryStatement.java
浏览文件 @
069934b5
...
...
@@ -31,11 +31,11 @@ import java.util.List;
@RequiredArgsConstructor
@Getter
@Setter
public
final
class
BinaryStatement
{
public
final
class
MySQL
BinaryStatement
{
private
final
String
sql
;
private
final
int
parametersCount
;
private
List
<
BinaryStatementParameterType
>
parameterTypes
;
private
List
<
MySQL
BinaryStatementParameterType
>
parameterTypes
;
}
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/BinaryStatementParameterType.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/
MySQL
BinaryStatementParameterType.java
浏览文件 @
069934b5
...
...
@@ -28,7 +28,7 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLCol
*/
@RequiredArgsConstructor
@Getter
public
final
class
BinaryStatementParameterType
{
public
final
class
MySQL
BinaryStatementParameterType
{
private
final
MySQLColumnType
mySQLColumnType
;
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/BinaryStatementRegistry.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/
MySQL
BinaryStatementRegistry.java
浏览文件 @
069934b5
...
...
@@ -31,13 +31,13 @@ import java.util.concurrent.atomic.AtomicInteger;
* @author zhangyonglun
*/
@NoArgsConstructor
(
access
=
AccessLevel
.
NONE
)
public
final
class
BinaryStatementRegistry
{
public
final
class
MySQL
BinaryStatementRegistry
{
private
static
final
BinaryStatementRegistry
INSTANCE
=
new
BinaryStatementRegistry
();
private
static
final
MySQLBinaryStatementRegistry
INSTANCE
=
new
MySQL
BinaryStatementRegistry
();
private
final
ConcurrentMap
<
String
,
Integer
>
statementIdAssigner
=
new
ConcurrentHashMap
<>(
65535
,
1
);
private
final
ConcurrentMap
<
Integer
,
BinaryStatement
>
binaryStatements
=
new
ConcurrentHashMap
<>(
65535
,
1
);
private
final
ConcurrentMap
<
Integer
,
MySQL
BinaryStatement
>
binaryStatements
=
new
ConcurrentHashMap
<>(
65535
,
1
);
private
final
AtomicInteger
sequence
=
new
AtomicInteger
();
...
...
@@ -46,7 +46,7 @@ public final class BinaryStatementRegistry {
*
* @return prepared statement registry instance
*/
public
static
BinaryStatementRegistry
getInstance
()
{
public
static
MySQL
BinaryStatementRegistry
getInstance
()
{
return
INSTANCE
;
}
...
...
@@ -64,7 +64,7 @@ public final class BinaryStatementRegistry {
}
result
=
sequence
.
incrementAndGet
();
statementIdAssigner
.
putIfAbsent
(
sql
,
result
);
binaryStatements
.
putIfAbsent
(
result
,
new
BinaryStatement
(
sql
,
parametersCount
));
binaryStatements
.
putIfAbsent
(
result
,
new
MySQL
BinaryStatement
(
sql
,
parametersCount
));
return
result
;
}
...
...
@@ -74,7 +74,7 @@ public final class BinaryStatementRegistry {
* @param statementId statement ID
* @return binary prepared statement
*/
public
BinaryStatement
getBinaryStatement
(
final
int
statementId
)
{
public
MySQL
BinaryStatement
getBinaryStatement
(
final
int
statementId
)
{
return
binaryStatements
.
get
(
statementId
);
}
}
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/close/ComStmtClosePacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/close/
MySQL
ComStmtClosePacket.java
浏览文件 @
069934b5
...
...
@@ -21,7 +21,7 @@ import com.google.common.base.Optional;
import
lombok.Getter
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
/**
...
...
@@ -32,14 +32,14 @@ import org.apache.shardingsphere.shardingproxy.transport.common.packet.command.C
* @author zhangyonglun
*/
@Slf4j
public
final
class
ComStmtClosePacket
implements
CommandPacket
{
public
final
class
MySQLComStmtClosePacket
implements
MySQL
CommandPacket
{
@Getter
private
final
int
sequenceId
;
private
final
int
statementId
;
public
ComStmtClosePacket
(
final
int
sequenceId
,
final
MySQLPacketPayload
payload
)
{
public
MySQL
ComStmtClosePacket
(
final
int
sequenceId
,
final
MySQLPacketPayload
payload
)
{
this
.
sequenceId
=
sequenceId
;
statementId
=
payload
.
readInt4
();
}
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/BinaryResultSetRowPacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/
MySQL
BinaryResultSetRowPacket.java
浏览文件 @
069934b5
...
...
@@ -22,7 +22,7 @@ import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLColumnType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.execute.protocol.BinaryProtocolValueFactory
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.execute.protocol.
MySQL
BinaryProtocolValueFactory
;
import
java.util.List
;
...
...
@@ -34,7 +34,7 @@ import java.util.List;
* @author zhangyonglun
*/
@RequiredArgsConstructor
public
final
class
BinaryResultSetRowPacket
implements
MySQLPacket
{
public
final
class
MySQL
BinaryResultSetRowPacket
implements
MySQLPacket
{
private
static
final
int
PACKET_HEADER
=
0x00
;
...
...
@@ -63,8 +63,8 @@ public final class BinaryResultSetRowPacket implements MySQLPacket {
}
}
private
NullBitmap
getNullBitmap
()
{
NullBitmap
result
=
new
NullBitmap
(
columnsCount
,
NULL_BITMAP_OFFSET
);
private
MySQL
NullBitmap
getNullBitmap
()
{
MySQLNullBitmap
result
=
new
MySQL
NullBitmap
(
columnsCount
,
NULL_BITMAP_OFFSET
);
for
(
int
columnIndex
=
0
;
columnIndex
<
columnsCount
;
columnIndex
++)
{
if
(
null
==
data
.
get
(
columnIndex
))
{
result
.
setNullBit
(
columnIndex
);
...
...
@@ -77,7 +77,7 @@ public final class BinaryResultSetRowPacket implements MySQLPacket {
for
(
int
i
=
0
;
i
<
columnsCount
;
i
++)
{
Object
value
=
data
.
get
(
i
);
if
(
null
!=
value
)
{
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
mySQLColumnTypes
.
get
(
i
)).
write
(
payload
,
value
);
MySQL
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
mySQLColumnTypes
.
get
(
i
)).
write
(
payload
,
value
);
}
}
}
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/NullBitmap.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/
MySQL
NullBitmap.java
浏览文件 @
069934b5
...
...
@@ -26,14 +26,14 @@ import lombok.Getter;
*
* @author zhangyonglun
*/
public
final
class
NullBitmap
{
public
final
class
MySQL
NullBitmap
{
private
final
int
offset
;
@Getter
private
final
int
[]
nullBitmap
;
public
NullBitmap
(
final
int
columnsNumbers
,
final
int
offset
)
{
public
MySQL
NullBitmap
(
final
int
columnsNumbers
,
final
int
offset
)
{
this
.
offset
=
offset
;
nullBitmap
=
new
int
[
calculateLength
(
columnsNumbers
,
offset
)];
}
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/ComStmtExecutePacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/
MySQLQuery
ComStmtExecutePacket.java
浏览文件 @
069934b5
...
...
@@ -32,13 +32,14 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLNew
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLServerErrorCode
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.QueryCommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.BinaryStatement
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.BinaryStatementParameterType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.BinaryStatementRegistry
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.execute.protocol.BinaryProtocolValue
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.execute.protocol.BinaryProtocolValueFactory
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.MySQLQueryCommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.MySQLBinaryStatement
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.MySQLBinaryStatementParameterType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.MySQLBinaryStatementRegistry
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.execute.protocol.MySQLBinaryProtocolValue
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.execute.protocol.MySQLBinaryProtocolValueFactory
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.MySQLErrPacket
;
import
java.sql.SQLException
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -51,7 +52,7 @@ import java.util.List;
* @author zhangyonglun
*/
@Slf4j
public
final
class
ComStmtExecutePacket
implements
QueryCommandPacket
{
public
final
class
MySQLQueryComStmtExecutePacket
implements
MySQL
QueryCommandPacket
{
private
static
final
int
ITERATION_COUNT
=
1
;
...
...
@@ -62,11 +63,11 @@ public final class ComStmtExecutePacket implements QueryCommandPacket {
private
final
int
statementId
;
private
final
BinaryStatement
b
inaryStatement
;
private
final
MySQLBinaryStatement
mySQLB
inaryStatement
;
private
final
int
flags
;
private
final
NullBitmap
n
ullBitmap
;
private
final
MySQLNullBitmap
mySQLN
ullBitmap
;
private
final
MySQLNewParametersBoundFlag
mySQLNewParametersBoundFlag
;
...
...
@@ -74,32 +75,32 @@ public final class ComStmtExecutePacket implements QueryCommandPacket {
private
final
DatabaseCommunicationEngine
databaseCommunicationEngine
;
public
ComStmtExecutePacket
(
final
int
sequenceId
,
final
MySQLPacketPayload
payload
,
final
BackendConnection
backendConnection
)
throws
SQLException
{
public
MySQLQuery
ComStmtExecutePacket
(
final
int
sequenceId
,
final
MySQLPacketPayload
payload
,
final
BackendConnection
backendConnection
)
throws
SQLException
{
this
.
sequenceId
=
sequenceId
;
statementId
=
payload
.
readInt4
();
binaryStatement
=
BinaryStatementRegistry
.
getInstance
().
getBinaryStatement
(
statementId
);
mySQLBinaryStatement
=
MySQL
BinaryStatementRegistry
.
getInstance
().
getBinaryStatement
(
statementId
);
flags
=
payload
.
readInt1
();
Preconditions
.
checkArgument
(
ITERATION_COUNT
==
payload
.
readInt4
());
int
parametersCount
=
b
inaryStatement
.
getParametersCount
();
nullBitmap
=
new
NullBitmap
(
parametersCount
,
NULL_BITMAP_OFFSET
);
for
(
int
i
=
0
;
i
<
n
ullBitmap
.
getNullBitmap
().
length
;
i
++)
{
n
ullBitmap
.
getNullBitmap
()[
i
]
=
payload
.
readInt1
();
int
parametersCount
=
mySQLB
inaryStatement
.
getParametersCount
();
mySQLNullBitmap
=
new
MySQL
NullBitmap
(
parametersCount
,
NULL_BITMAP_OFFSET
);
for
(
int
i
=
0
;
i
<
mySQLN
ullBitmap
.
getNullBitmap
().
length
;
i
++)
{
mySQLN
ullBitmap
.
getNullBitmap
()[
i
]
=
payload
.
readInt1
();
}
mySQLNewParametersBoundFlag
=
MySQLNewParametersBoundFlag
.
valueOf
(
payload
.
readInt1
());
if
(
MySQLNewParametersBoundFlag
.
PARAMETER_TYPE_EXIST
==
mySQLNewParametersBoundFlag
)
{
b
inaryStatement
.
setParameterTypes
(
getParameterTypes
(
payload
,
parametersCount
));
mySQLB
inaryStatement
.
setParameterTypes
(
getParameterTypes
(
payload
,
parametersCount
));
}
parameters
=
getParameters
(
payload
,
parametersCount
);
databaseCommunicationEngine
=
DatabaseCommunicationEngineFactory
.
getInstance
().
newBinaryProtocolInstance
(
backendConnection
.
getLogicSchema
(),
sequenceId
,
b
inaryStatement
.
getSql
(),
parameters
,
backendConnection
,
GlobalRegistry
.
getInstance
().
getDatabaseType
());
backendConnection
.
getLogicSchema
(),
sequenceId
,
mySQLB
inaryStatement
.
getSql
(),
parameters
,
backendConnection
,
GlobalRegistry
.
getInstance
().
getDatabaseType
());
}
private
List
<
BinaryStatementParameterType
>
getParameterTypes
(
final
MySQLPacketPayload
payload
,
final
int
parametersCount
)
{
List
<
BinaryStatementParameterType
>
result
=
new
ArrayList
<>(
parametersCount
);
private
List
<
MySQL
BinaryStatementParameterType
>
getParameterTypes
(
final
MySQLPacketPayload
payload
,
final
int
parametersCount
)
{
List
<
MySQL
BinaryStatementParameterType
>
result
=
new
ArrayList
<>(
parametersCount
);
for
(
int
parameterIndex
=
0
;
parameterIndex
<
parametersCount
;
parameterIndex
++)
{
MySQLColumnType
mySQLColumnType
=
MySQLColumnType
.
valueOf
(
payload
.
readInt1
());
int
unsignedFlag
=
payload
.
readInt1
();
result
.
add
(
new
BinaryStatementParameterType
(
mySQLColumnType
,
unsignedFlag
));
result
.
add
(
new
MySQL
BinaryStatementParameterType
(
mySQLColumnType
,
unsignedFlag
));
}
return
result
;
}
...
...
@@ -107,8 +108,8 @@ public final class ComStmtExecutePacket implements QueryCommandPacket {
private
List
<
Object
>
getParameters
(
final
MySQLPacketPayload
payload
,
final
int
parametersCount
)
throws
SQLException
{
List
<
Object
>
result
=
new
ArrayList
<>(
parametersCount
);
for
(
int
parameterIndex
=
0
;
parameterIndex
<
parametersCount
;
parameterIndex
++)
{
BinaryProtocolValue
binaryProtocolValue
=
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
b
inaryStatement
.
getParameterTypes
().
get
(
parameterIndex
).
getMySQLColumnType
());
result
.
add
(
nullBitmap
.
isNullParameter
(
parameterIndex
)
?
null
:
b
inaryProtocolValue
.
read
(
payload
));
MySQLBinaryProtocolValue
mySQLBinaryProtocolValue
=
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
mySQLB
inaryStatement
.
getParameterTypes
().
get
(
parameterIndex
).
getMySQLColumnType
());
result
.
add
(
mySQLNullBitmap
.
isNullParameter
(
parameterIndex
)
?
null
:
mySQLB
inaryProtocolValue
.
read
(
payload
));
}
return
result
;
}
...
...
@@ -118,13 +119,13 @@ public final class ComStmtExecutePacket implements QueryCommandPacket {
payload
.
writeInt4
(
statementId
);
payload
.
writeInt1
(
flags
);
payload
.
writeInt4
(
ITERATION_COUNT
);
for
(
int
each
:
n
ullBitmap
.
getNullBitmap
())
{
for
(
int
each
:
mySQLN
ullBitmap
.
getNullBitmap
())
{
payload
.
writeInt1
(
each
);
}
payload
.
writeInt1
(
mySQLNewParametersBoundFlag
.
getValue
());
int
count
=
0
;
for
(
Object
each
:
parameters
)
{
BinaryStatementParameterType
parameterType
=
b
inaryStatement
.
getParameterTypes
().
get
(
count
);
MySQLBinaryStatementParameterType
parameterType
=
mySQLB
inaryStatement
.
getParameterTypes
().
get
(
count
);
payload
.
writeInt1
(
parameterType
.
getMySQLColumnType
().
getValue
());
payload
.
writeInt1
(
parameterType
.
getUnsignedFlag
());
payload
.
writeStringLenenc
(
null
==
each
?
""
:
each
.
toString
());
...
...
@@ -136,7 +137,7 @@ public final class ComStmtExecutePacket implements QueryCommandPacket {
public
Optional
<
CommandResponsePackets
>
execute
()
{
log
.
debug
(
"COM_STMT_EXECUTE received for Sharding-Proxy: {}"
,
statementId
);
if
(
GlobalRegistry
.
getInstance
().
isCircuitBreak
())
{
return
Optional
.
of
(
new
CommandResponsePackets
(
new
ErrPacket
(
1
,
MySQLServerErrorCode
.
ER_CIRCUIT_BREAK_MODE
)));
return
Optional
.
of
(
new
CommandResponsePackets
(
new
MySQL
ErrPacket
(
1
,
MySQLServerErrorCode
.
ER_CIRCUIT_BREAK_MODE
)));
}
return
Optional
.
of
(
databaseCommunicationEngine
.
execute
());
}
...
...
@@ -155,6 +156,6 @@ public final class ComStmtExecutePacket implements QueryCommandPacket {
for
(
int
i
=
0
;
i
<
columnCount
;
i
++)
{
mySQLColumnTypes
.
add
(
MySQLColumnType
.
valueOfJDBCType
(
jdbcColumnTypes
.
get
(
i
)));
}
return
new
BinaryResultSetRowPacket
(
resultPacket
.
getSequenceId
(),
columnCount
,
resultPacket
.
getData
(),
mySQLColumnTypes
);
return
new
MySQL
BinaryResultSetRowPacket
(
resultPacket
.
getSequenceId
(),
columnCount
,
resultPacket
.
getData
(),
mySQLColumnTypes
);
}
}
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/BinaryProtocolValue.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
BinaryProtocolValue.java
浏览文件 @
069934b5
...
...
@@ -29,7 +29,7 @@ import java.sql.SQLException;
* @author zhangyonglun
* @author zhangliang
*/
public
interface
BinaryProtocolValue
{
public
interface
MySQL
BinaryProtocolValue
{
/**
* Read binary protocol value.
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/BinaryProtocolValueFactory.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
BinaryProtocolValueFactory.java
浏览文件 @
069934b5
...
...
@@ -31,9 +31,9 @@ import java.util.Map;
* @author zhangliang
*/
@NoArgsConstructor
(
access
=
AccessLevel
.
PRIVATE
)
public
final
class
BinaryProtocolValueFactory
{
public
final
class
MySQL
BinaryProtocolValueFactory
{
private
static
final
Map
<
MySQLColumnType
,
BinaryProtocolValue
>
BINARY_PROTOCOL_VALUES
=
new
HashMap
<>();
private
static
final
Map
<
MySQLColumnType
,
MySQL
BinaryProtocolValue
>
BINARY_PROTOCOL_VALUES
=
new
HashMap
<>();
static
{
setStringLenencBinaryProtocolValue
();
...
...
@@ -48,7 +48,7 @@ public final class BinaryProtocolValueFactory {
}
private
static
void
setStringLenencBinaryProtocolValue
()
{
StringLenencBinaryProtocolValue
binaryProtocolValue
=
new
StringLenencBinaryProtocolValue
();
MySQLStringLenencBinaryProtocolValue
binaryProtocolValue
=
new
MySQL
StringLenencBinaryProtocolValue
();
BINARY_PROTOCOL_VALUES
.
put
(
MySQLColumnType
.
MYSQL_TYPE_STRING
,
binaryProtocolValue
);
BINARY_PROTOCOL_VALUES
.
put
(
MySQLColumnType
.
MYSQL_TYPE_VARCHAR
,
binaryProtocolValue
);
BINARY_PROTOCOL_VALUES
.
put
(
MySQLColumnType
.
MYSQL_TYPE_VAR_STRING
,
binaryProtocolValue
);
...
...
@@ -65,46 +65,46 @@ public final class BinaryProtocolValueFactory {
}
private
static
void
setInt8BinaryProtocolValue
()
{
Int8BinaryProtocolValue
binaryProtocolValue
=
new
Int8BinaryProtocolValue
();
MySQLInt8BinaryProtocolValue
binaryProtocolValue
=
new
MySQL
Int8BinaryProtocolValue
();
BINARY_PROTOCOL_VALUES
.
put
(
MySQLColumnType
.
MYSQL_TYPE_LONGLONG
,
binaryProtocolValue
);
}
private
static
void
setInt4BinaryProtocolValue
()
{
Int4BinaryProtocolValue
binaryProtocolValue
=
new
Int4BinaryProtocolValue
();
MySQLInt4BinaryProtocolValue
binaryProtocolValue
=
new
MySQL
Int4BinaryProtocolValue
();
BINARY_PROTOCOL_VALUES
.
put
(
MySQLColumnType
.
MYSQL_TYPE_LONG
,
binaryProtocolValue
);
BINARY_PROTOCOL_VALUES
.
put
(
MySQLColumnType
.
MYSQL_TYPE_INT24
,
binaryProtocolValue
);
}
private
static
void
setInt2BinaryProtocolValue
()
{
Int2BinaryProtocolValue
binaryProtocolValue
=
new
Int2BinaryProtocolValue
();
MySQLInt2BinaryProtocolValue
binaryProtocolValue
=
new
MySQL
Int2BinaryProtocolValue
();
BINARY_PROTOCOL_VALUES
.
put
(
MySQLColumnType
.
MYSQL_TYPE_SHORT
,
binaryProtocolValue
);
BINARY_PROTOCOL_VALUES
.
put
(
MySQLColumnType
.
MYSQL_TYPE_YEAR
,
binaryProtocolValue
);
}
private
static
void
setInt1BinaryProtocolValue
()
{
Int1BinaryProtocolValue
binaryProtocolValue
=
new
Int1BinaryProtocolValue
();
MySQLInt1BinaryProtocolValue
binaryProtocolValue
=
new
MySQL
Int1BinaryProtocolValue
();
BINARY_PROTOCOL_VALUES
.
put
(
MySQLColumnType
.
MYSQL_TYPE_TINY
,
binaryProtocolValue
);
}
private
static
void
setDoubleBinaryProtocolValue
()
{
DoubleBinaryProtocolValue
binaryProtocolValue
=
new
DoubleBinaryProtocolValue
();
MySQLDoubleBinaryProtocolValue
binaryProtocolValue
=
new
MySQL
DoubleBinaryProtocolValue
();
BINARY_PROTOCOL_VALUES
.
put
(
MySQLColumnType
.
MYSQL_TYPE_DOUBLE
,
binaryProtocolValue
);
}
private
static
void
setFloatBinaryProtocolValue
()
{
FloatBinaryProtocolValue
binaryProtocolValue
=
new
FloatBinaryProtocolValue
();
MySQLFloatBinaryProtocolValue
binaryProtocolValue
=
new
MySQL
FloatBinaryProtocolValue
();
BINARY_PROTOCOL_VALUES
.
put
(
MySQLColumnType
.
MYSQL_TYPE_FLOAT
,
binaryProtocolValue
);
}
private
static
void
setDateBinaryProtocolValue
()
{
DateBinaryProtocolValue
binaryProtocolValue
=
new
DateBinaryProtocolValue
();
MySQLDateBinaryProtocolValue
binaryProtocolValue
=
new
MySQL
DateBinaryProtocolValue
();
BINARY_PROTOCOL_VALUES
.
put
(
MySQLColumnType
.
MYSQL_TYPE_DATE
,
binaryProtocolValue
);
BINARY_PROTOCOL_VALUES
.
put
(
MySQLColumnType
.
MYSQL_TYPE_DATETIME
,
binaryProtocolValue
);
BINARY_PROTOCOL_VALUES
.
put
(
MySQLColumnType
.
MYSQL_TYPE_TIMESTAMP
,
binaryProtocolValue
);
}
private
static
void
setTimeBinaryProtocolValue
()
{
TimeBinaryProtocolValue
binaryProtocolValue
=
new
TimeBinaryProtocolValue
();
MySQLTimeBinaryProtocolValue
binaryProtocolValue
=
new
MySQL
TimeBinaryProtocolValue
();
BINARY_PROTOCOL_VALUES
.
put
(
MySQLColumnType
.
MYSQL_TYPE_TIME
,
binaryProtocolValue
);
}
...
...
@@ -114,7 +114,7 @@ public final class BinaryProtocolValueFactory {
* @param mySQLColumnType column type
* @return binary protocol value
*/
public
static
BinaryProtocolValue
getBinaryProtocolValue
(
final
MySQLColumnType
mySQLColumnType
)
{
public
static
MySQL
BinaryProtocolValue
getBinaryProtocolValue
(
final
MySQLColumnType
mySQLColumnType
)
{
Preconditions
.
checkArgument
(
BINARY_PROTOCOL_VALUES
.
containsKey
(
mySQLColumnType
),
"Cannot find MySQL type '%s' in column type when process binary protocol value"
,
mySQLColumnType
);
return
BINARY_PROTOCOL_VALUES
.
get
(
mySQLColumnType
);
}
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/DateBinaryProtocolValue.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
DateBinaryProtocolValue.java
浏览文件 @
069934b5
...
...
@@ -30,7 +30,7 @@ import java.util.Calendar;
* @author zhangyonglun
* @author zhangliang
*/
public
final
class
DateBinaryProtocolValue
implements
BinaryProtocolValue
{
public
final
class
MySQLDateBinaryProtocolValue
implements
MySQL
BinaryProtocolValue
{
@Override
public
Object
read
(
final
MySQLPacketPayload
payload
)
throws
SQLException
{
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/DoubleBinaryProtocolValue.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
DoubleBinaryProtocolValue.java
浏览文件 @
069934b5
...
...
@@ -25,7 +25,7 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacke
* @author zhangyonglun
* @author zhangliang
*/
public
final
class
DoubleBinaryProtocolValue
implements
BinaryProtocolValue
{
public
final
class
MySQLDoubleBinaryProtocolValue
implements
MySQL
BinaryProtocolValue
{
@Override
public
Object
read
(
final
MySQLPacketPayload
payload
)
{
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/FloatBinaryProtocolValue.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
FloatBinaryProtocolValue.java
浏览文件 @
069934b5
...
...
@@ -25,7 +25,7 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacke
* @author zhangyonglun
* @author zhangliang
*/
public
final
class
FloatBinaryProtocolValue
implements
BinaryProtocolValue
{
public
final
class
MySQLFloatBinaryProtocolValue
implements
MySQL
BinaryProtocolValue
{
@Override
public
Object
read
(
final
MySQLPacketPayload
payload
)
{
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/Int1BinaryProtocolValue.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
Int1BinaryProtocolValue.java
浏览文件 @
069934b5
...
...
@@ -25,7 +25,7 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacke
* @author zhangyonglun
* @author zhangliang
*/
public
final
class
Int1BinaryProtocolValue
implements
BinaryProtocolValue
{
public
final
class
MySQLInt1BinaryProtocolValue
implements
MySQL
BinaryProtocolValue
{
@Override
public
Object
read
(
final
MySQLPacketPayload
payload
)
{
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/Int2BinaryProtocolValue.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
Int2BinaryProtocolValue.java
浏览文件 @
069934b5
...
...
@@ -25,7 +25,7 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacke
* @author zhangyonglun
* @author zhangliang
*/
public
final
class
Int2BinaryProtocolValue
implements
BinaryProtocolValue
{
public
final
class
MySQLInt2BinaryProtocolValue
implements
MySQL
BinaryProtocolValue
{
@Override
public
Object
read
(
final
MySQLPacketPayload
payload
)
{
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/Int4BinaryProtocolValue.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
Int4BinaryProtocolValue.java
浏览文件 @
069934b5
...
...
@@ -25,7 +25,7 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacke
* @author zhangyonglun
* @author zhangliang
*/
public
final
class
Int4BinaryProtocolValue
implements
BinaryProtocolValue
{
public
final
class
MySQLInt4BinaryProtocolValue
implements
MySQL
BinaryProtocolValue
{
@Override
public
Object
read
(
final
MySQLPacketPayload
payload
)
{
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/Int8BinaryProtocolValue.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
Int8BinaryProtocolValue.java
浏览文件 @
069934b5
...
...
@@ -27,7 +27,7 @@ import java.math.BigDecimal;
* @author zhangyonglun
* @author zhangliang
*/
public
final
class
Int8BinaryProtocolValue
implements
BinaryProtocolValue
{
public
final
class
MySQLInt8BinaryProtocolValue
implements
MySQL
BinaryProtocolValue
{
@Override
public
Object
read
(
final
MySQLPacketPayload
payload
)
{
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/StringLenencBinaryProtocolValue.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
StringLenencBinaryProtocolValue.java
浏览文件 @
069934b5
...
...
@@ -25,7 +25,7 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacke
* @author zhangyonglun
* @author zhangliang
*/
public
final
class
StringLenencBinaryProtocolValue
implements
BinaryProtocolValue
{
public
final
class
MySQLStringLenencBinaryProtocolValue
implements
MySQL
BinaryProtocolValue
{
@Override
public
Object
read
(
final
MySQLPacketPayload
payload
)
{
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/TimeBinaryProtocolValue.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
TimeBinaryProtocolValue.java
浏览文件 @
069934b5
...
...
@@ -29,7 +29,7 @@ import java.util.Calendar;
* @author zhangyonglun
* @author zhangliang
*/
public
final
class
TimeBinaryProtocolValue
implements
BinaryProtocolValue
{
public
final
class
MySQLTimeBinaryProtocolValue
implements
MySQL
BinaryProtocolValue
{
@Override
public
Object
read
(
final
MySQLPacketPayload
payload
)
{
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/prepare/ComStmtPrepareOKPacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/prepare/
MySQL
ComStmtPrepareOKPacket.java
浏览文件 @
069934b5
...
...
@@ -30,7 +30,7 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacke
* @author zhangliang
*/
@RequiredArgsConstructor
public
final
class
ComStmtPrepareOKPacket
implements
MySQLPacket
{
public
final
class
MySQL
ComStmtPrepareOKPacket
implements
MySQLPacket
{
private
static
final
int
STATUS
=
0x00
;
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/prepare/ComStmtPreparePacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/prepare/
MySQL
ComStmtPreparePacket.java
浏览文件 @
069934b5
...
...
@@ -32,11 +32,11 @@ import org.apache.shardingsphere.shardingproxy.runtime.schema.LogicSchema;
import
org.apache.shardingsphere.shardingproxy.runtime.schema.ShardingSchema
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLColumnType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.ColumnDefinition41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.BinaryStatementRegistry
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.EofPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.
MySQL
ColumnDefinition41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.
MySQL
BinaryStatementRegistry
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
EofPacket
;
/**
* COM_STMT_PREPARE command packet.
...
...
@@ -46,9 +46,9 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.Eo
* @author zhangliang
*/
@Slf4j
public
final
class
ComStmtPreparePacket
implements
CommandPacket
{
public
final
class
MySQLComStmtPreparePacket
implements
MySQL
CommandPacket
{
private
static
final
BinaryStatementRegistry
PREPARED_STATEMENT_REGISTRY
=
BinaryStatementRegistry
.
getInstance
();
private
static
final
MySQLBinaryStatementRegistry
PREPARED_STATEMENT_REGISTRY
=
MySQL
BinaryStatementRegistry
.
getInstance
();
@Getter
private
final
int
sequenceId
;
...
...
@@ -59,7 +59,7 @@ public final class ComStmtPreparePacket implements CommandPacket {
private
final
SQLParsingEngine
sqlParsingEngine
;
public
ComStmtPreparePacket
(
final
int
sequenceId
,
final
BackendConnection
backendConnection
,
final
MySQLPacketPayload
payload
)
{
public
MySQL
ComStmtPreparePacket
(
final
int
sequenceId
,
final
BackendConnection
backendConnection
,
final
MySQLPacketPayload
payload
)
{
this
.
sequenceId
=
sequenceId
;
sql
=
payload
.
readStringEOF
();
schemaName
=
backendConnection
.
getSchemaName
();
...
...
@@ -83,14 +83,14 @@ public final class ComStmtPreparePacket implements CommandPacket {
SQLStatement
sqlStatement
=
sqlParsingEngine
.
parse
(
true
);
int
parametersIndex
=
sqlStatement
.
getParametersIndex
();
CommandResponsePackets
result
=
new
CommandResponsePackets
(
new
ComStmtPrepareOKPacket
(++
currentSequenceId
,
PREPARED_STATEMENT_REGISTRY
.
register
(
sql
,
parametersIndex
),
getNumColumns
(
sqlStatement
),
parametersIndex
,
0
));
new
MySQL
ComStmtPrepareOKPacket
(++
currentSequenceId
,
PREPARED_STATEMENT_REGISTRY
.
register
(
sql
,
parametersIndex
),
getNumColumns
(
sqlStatement
),
parametersIndex
,
0
));
for
(
int
i
=
0
;
i
<
parametersIndex
;
i
++)
{
// TODO add column name
result
.
getPackets
().
add
(
new
ColumnDefinition41Packet
(++
currentSequenceId
,
schemaName
,
result
.
getPackets
().
add
(
new
MySQL
ColumnDefinition41Packet
(++
currentSequenceId
,
schemaName
,
sqlStatement
.
getTables
().
isSingleTable
()
?
sqlStatement
.
getTables
().
getSingleTableName
()
:
""
,
""
,
""
,
""
,
100
,
MySQLColumnType
.
MYSQL_TYPE_VARCHAR
,
0
));
}
if
(
parametersIndex
>
0
)
{
result
.
getPackets
().
add
(
new
EofPacket
(++
currentSequenceId
));
result
.
getPackets
().
add
(
new
MySQL
EofPacket
(++
currentSequenceId
));
}
// TODO add If numColumns > 0
return
Optional
.
of
(
result
);
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/TextResultSetRowPacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/
MySQL
TextResultSetRowPacket.java
浏览文件 @
069934b5
...
...
@@ -34,7 +34,7 @@ import java.util.List;
*/
@RequiredArgsConstructor
@Getter
public
final
class
TextResultSetRowPacket
implements
MySQLPacket
{
public
final
class
MySQL
TextResultSetRowPacket
implements
MySQLPacket
{
private
static
final
int
NULL
=
0xfb
;
...
...
@@ -42,7 +42,7 @@ public final class TextResultSetRowPacket implements MySQLPacket {
private
final
List
<
Object
>
data
;
public
TextResultSetRowPacket
(
final
MySQLPacketPayload
payload
,
final
int
columnCount
)
{
public
MySQL
TextResultSetRowPacket
(
final
MySQLPacketPayload
payload
,
final
int
columnCount
)
{
sequenceId
=
payload
.
readInt1
();
data
=
new
ArrayList
<>(
columnCount
);
for
(
int
i
=
0
;
i
<
columnCount
;
i
++)
{
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/fieldlist/ComFieldListPacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/fieldlist/
MySQL
ComFieldListPacket.java
浏览文件 @
069934b5
...
...
@@ -26,12 +26,12 @@ import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connec
import
org.apache.shardingsphere.shardingproxy.runtime.GlobalRegistry
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLColumnType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.ColumnDefinition41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.EofPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.
MySQL
ColumnDefinition41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
EofPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
ErrPacket
;
import
java.sql.SQLException
;
/**
...
...
@@ -42,7 +42,7 @@ import java.sql.SQLException;
* @see <a href="https://dev.mysql.com/doc/internals/en/com-field-list.html">COM_FIELD_LIST</a>
*/
@Slf4j
public
final
class
ComFieldListPacket
implements
CommandPacket
{
public
final
class
MySQLComFieldListPacket
implements
MySQL
CommandPacket
{
private
static
final
String
SQL
=
"SHOW COLUMNS FROM %s FROM %s"
;
...
...
@@ -57,7 +57,7 @@ public final class ComFieldListPacket implements CommandPacket {
private
final
DatabaseCommunicationEngine
databaseCommunicationEngine
;
public
ComFieldListPacket
(
final
int
sequenceId
,
final
MySQLPacketPayload
payload
,
final
BackendConnection
backendConnection
)
{
public
MySQL
ComFieldListPacket
(
final
int
sequenceId
,
final
MySQLPacketPayload
payload
,
final
BackendConnection
backendConnection
)
{
this
.
sequenceId
=
sequenceId
;
this
.
schemaName
=
backendConnection
.
getSchemaName
();
table
=
payload
.
readStringNul
();
...
...
@@ -68,7 +68,7 @@ public final class ComFieldListPacket implements CommandPacket {
@Override
public
void
write
(
final
MySQLPacketPayload
payload
)
{
payload
.
writeInt1
(
CommandPacketType
.
COM_FIELD_LIST
.
getValue
());
payload
.
writeInt1
(
MySQL
CommandPacketType
.
COM_FIELD_LIST
.
getValue
());
payload
.
writeStringNul
(
table
);
payload
.
writeStringEOF
(
fieldWildcard
);
}
...
...
@@ -78,7 +78,7 @@ public final class ComFieldListPacket implements CommandPacket {
log
.
debug
(
"Table name received for Sharding-Proxy: {}"
,
table
);
log
.
debug
(
"Field wildcard received for Sharding-Proxy: {}"
,
fieldWildcard
);
CommandResponsePackets
responsePackets
=
databaseCommunicationEngine
.
execute
();
return
Optional
.
of
(
responsePackets
.
getHeadPacket
()
instanceof
ErrPacket
?
responsePackets
:
getColumnDefinition41Packets
());
return
Optional
.
of
(
responsePackets
.
getHeadPacket
()
instanceof
MySQL
ErrPacket
?
responsePackets
:
getColumnDefinition41Packets
());
}
private
CommandResponsePackets
getColumnDefinition41Packets
()
throws
SQLException
{
...
...
@@ -86,9 +86,9 @@ public final class ComFieldListPacket implements CommandPacket {
int
currentSequenceId
=
0
;
while
(
databaseCommunicationEngine
.
next
())
{
String
columnName
=
databaseCommunicationEngine
.
getResultValue
().
getData
().
get
(
0
).
toString
();
result
.
getPackets
().
add
(
new
ColumnDefinition41Packet
(++
currentSequenceId
,
schemaName
,
table
,
table
,
columnName
,
columnName
,
100
,
MySQLColumnType
.
MYSQL_TYPE_VARCHAR
,
0
));
result
.
getPackets
().
add
(
new
MySQL
ColumnDefinition41Packet
(++
currentSequenceId
,
schemaName
,
table
,
table
,
columnName
,
columnName
,
100
,
MySQLColumnType
.
MYSQL_TYPE_VARCHAR
,
0
));
}
result
.
getPackets
().
add
(
new
EofPacket
(++
currentSequenceId
));
result
.
getPackets
().
add
(
new
MySQL
EofPacket
(++
currentSequenceId
));
return
result
;
}
}
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/query/
ComQueryPacket
.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/query/
MySQLComPacketQuery
.java
浏览文件 @
069934b5
...
...
@@ -28,11 +28,12 @@ import org.apache.shardingsphere.shardingproxy.runtime.GlobalRegistry;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.DatabasePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLServerErrorCode
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.QueryCommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.TextResultSetRowPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.MySQLQueryCommandPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.MySQLTextResultSetRowPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.MySQLErrPacket
;
import
java.sql.SQLException
;
/**
...
...
@@ -44,7 +45,7 @@ import java.sql.SQLException;
* @see <a href="https://dev.mysql.com/doc/internals/en/com-query.html">COM_QUERY</a>
*/
@Slf4j
public
final
class
ComQueryPacket
implements
QueryCommandPacket
{
public
final
class
MySQLComPacketQuery
implements
MySQL
QueryCommandPacket
{
@Getter
private
final
int
sequenceId
;
...
...
@@ -53,13 +54,13 @@ public final class ComQueryPacket implements QueryCommandPacket {
private
final
TextProtocolBackendHandler
textProtocolBackendHandler
;
public
ComQueryPacket
(
final
int
sequenceId
,
final
MySQLPacketPayload
payload
,
final
BackendConnection
backendConnection
)
{
public
MySQLComPacketQuery
(
final
int
sequenceId
,
final
MySQLPacketPayload
payload
,
final
BackendConnection
backendConnection
)
{
this
.
sequenceId
=
sequenceId
;
sql
=
payload
.
readStringEOF
();
textProtocolBackendHandler
=
ComQueryBackendHandlerFactory
.
createTextProtocolBackendHandler
(
sequenceId
,
sql
,
backendConnection
,
GlobalRegistry
.
getInstance
().
getDatabaseType
());
}
public
ComQueryPacket
(
final
int
sequenceId
,
final
String
sql
)
{
public
MySQLComPacketQuery
(
final
int
sequenceId
,
final
String
sql
)
{
this
.
sequenceId
=
sequenceId
;
this
.
sql
=
sql
;
textProtocolBackendHandler
=
null
;
...
...
@@ -67,7 +68,7 @@ public final class ComQueryPacket implements QueryCommandPacket {
@Override
public
void
write
(
final
MySQLPacketPayload
payload
)
{
payload
.
writeInt1
(
CommandPacketType
.
COM_QUERY
.
getValue
());
payload
.
writeInt1
(
MySQL
CommandPacketType
.
COM_QUERY
.
getValue
());
payload
.
writeStringEOF
(
sql
);
}
...
...
@@ -75,7 +76,7 @@ public final class ComQueryPacket implements QueryCommandPacket {
public
Optional
<
CommandResponsePackets
>
execute
()
{
log
.
debug
(
"COM_QUERY received for Sharding-Proxy: {}"
,
sql
);
return
GlobalRegistry
.
getInstance
().
isCircuitBreak
()
?
Optional
.
of
(
new
CommandResponsePackets
(
new
ErrPacket
(
1
,
MySQLServerErrorCode
.
ER_CIRCUIT_BREAK_MODE
)))
:
Optional
.
of
(
textProtocolBackendHandler
.
execute
());
?
Optional
.
of
(
new
CommandResponsePackets
(
new
MySQL
ErrPacket
(
1
,
MySQLServerErrorCode
.
ER_CIRCUIT_BREAK_MODE
)))
:
Optional
.
of
(
textProtocolBackendHandler
.
execute
());
}
@Override
...
...
@@ -86,6 +87,6 @@ public final class ComQueryPacket implements QueryCommandPacket {
@Override
public
DatabasePacket
getResultValue
()
throws
SQLException
{
ResultPacket
resultPacket
=
textProtocolBackendHandler
.
getResultValue
();
return
new
TextResultSetRowPacket
(
resultPacket
.
getSequenceId
(),
resultPacket
.
getData
());
return
new
MySQL
TextResultSetRowPacket
(
resultPacket
.
getSequenceId
(),
resultPacket
.
getData
());
}
}
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/EofPacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/
MySQL
EofPacket.java
浏览文件 @
069934b5
...
...
@@ -33,7 +33,7 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacke
*/
@RequiredArgsConstructor
@Getter
public
final
class
EofPacket
implements
MySQLPacket
{
public
final
class
MySQL
EofPacket
implements
MySQLPacket
{
/**
* Header of EOF packet.
...
...
@@ -46,7 +46,7 @@ public final class EofPacket implements MySQLPacket {
private
final
int
statusFlags
;
public
EofPacket
(
final
int
sequenceId
)
{
public
MySQL
EofPacket
(
final
int
sequenceId
)
{
this
(
sequenceId
,
0
,
MySQLStatusFlag
.
SERVER_STATUS_AUTOCOMMIT
.
getValue
());
}
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/ErrPacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/
MySQL
ErrPacket.java
浏览文件 @
069934b5
...
...
@@ -36,7 +36,7 @@ import java.sql.SQLException;
*/
@RequiredArgsConstructor
@Getter
public
final
class
ErrPacket
implements
MySQLPacket
{
public
final
class
MySQL
ErrPacket
implements
MySQLPacket
{
/**
* Header of ERR packet.
...
...
@@ -53,15 +53,15 @@ public final class ErrPacket implements MySQLPacket {
private
final
String
errorMessage
;
public
ErrPacket
(
final
int
sequenceId
,
final
MySQLServerErrorCode
mySQLServerErrorCode
,
final
Object
...
errorMessageArguments
)
{
public
MySQL
ErrPacket
(
final
int
sequenceId
,
final
MySQLServerErrorCode
mySQLServerErrorCode
,
final
Object
...
errorMessageArguments
)
{
this
(
sequenceId
,
mySQLServerErrorCode
.
getErrorCode
(),
mySQLServerErrorCode
.
getSqlState
(),
String
.
format
(
mySQLServerErrorCode
.
getErrorMessage
(),
errorMessageArguments
));
}
public
ErrPacket
(
final
int
sequenceId
,
final
SQLException
cause
)
{
public
MySQL
ErrPacket
(
final
int
sequenceId
,
final
SQLException
cause
)
{
this
(
sequenceId
,
cause
.
getErrorCode
(),
cause
.
getSQLState
(),
cause
.
getMessage
());
}
public
ErrPacket
(
final
DatabaseFailurePacket
databaseFailurePacket
)
{
public
MySQL
ErrPacket
(
final
DatabaseFailurePacket
databaseFailurePacket
)
{
this
(
databaseFailurePacket
.
getSequenceId
(),
databaseFailurePacket
.
getErrorCode
(),
databaseFailurePacket
.
getSqlState
(),
databaseFailurePacket
.
getErrorMessage
());
}
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/OKPacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/
MySQL
OKPacket.java
浏览文件 @
069934b5
...
...
@@ -34,7 +34,7 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacke
*/
@RequiredArgsConstructor
@Getter
public
final
class
OKPacket
implements
MySQLPacket
{
public
final
class
MySQL
OKPacket
implements
MySQLPacket
{
/**
* Header of OK packet.
...
...
@@ -53,15 +53,15 @@ public final class OKPacket implements MySQLPacket {
private
final
String
info
;
public
OKPacket
(
final
int
sequenceId
)
{
public
MySQL
OKPacket
(
final
int
sequenceId
)
{
this
(
sequenceId
,
0L
,
0L
,
0
,
""
);
}
public
OKPacket
(
final
int
sequenceId
,
final
long
affectedRows
,
final
long
lastInsertId
)
{
public
MySQL
OKPacket
(
final
int
sequenceId
,
final
long
affectedRows
,
final
long
lastInsertId
)
{
this
(
sequenceId
,
affectedRows
,
lastInsertId
,
0
,
""
);
}
public
OKPacket
(
final
DatabaseSuccessPacket
databaseSuccessPacket
)
{
public
MySQL
OKPacket
(
final
DatabaseSuccessPacket
databaseSuccessPacket
)
{
this
(
databaseSuccessPacket
.
getSequenceId
(),
databaseSuccessPacket
.
getAffectedRows
(),
databaseSuccessPacket
.
getLastInsertId
(),
0
,
""
);
}
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/AuthPluginData.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/
MySQL
AuthPluginData.java
浏览文件 @
069934b5
...
...
@@ -31,17 +31,17 @@ import lombok.Getter;
* @author zhangliang
*/
@Getter
public
final
class
AuthPluginData
{
public
final
class
MySQL
AuthPluginData
{
private
final
byte
[]
authPluginDataPart1
;
private
final
byte
[]
authPluginDataPart2
;
public
AuthPluginData
()
{
this
(
RandomGenerator
.
getInstance
().
generateRandomBytes
(
8
),
RandomGenerator
.
getInstance
().
generateRandomBytes
(
12
));
public
MySQL
AuthPluginData
()
{
this
(
MySQLRandomGenerator
.
getInstance
().
generateRandomBytes
(
8
),
MySQL
RandomGenerator
.
getInstance
().
generateRandomBytes
(
12
));
}
public
AuthPluginData
(
final
byte
[]
authPluginDataPart1
,
final
byte
[]
authPluginDataPart2
)
{
public
MySQL
AuthPluginData
(
final
byte
[]
authPluginDataPart1
,
final
byte
[]
authPluginDataPart2
)
{
this
.
authPluginDataPart1
=
authPluginDataPart1
;
this
.
authPluginDataPart2
=
authPluginDataPart2
;
}
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/AuthenticationHandler.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/
MySQL
AuthenticationHandler.java
浏览文件 @
069934b5
...
...
@@ -31,11 +31,11 @@ import java.util.Arrays;
* @author panjuan
*/
@Getter
public
final
class
AuthenticationHandler
{
public
final
class
MySQL
AuthenticationHandler
{
private
static
final
GlobalRegistry
GLOBAL_REGISTRY
=
GlobalRegistry
.
getInstance
();
private
final
AuthPluginData
authPluginData
=
new
AuthPluginData
();
private
final
MySQLAuthPluginData
mySQLAuthPluginData
=
new
MySQL
AuthPluginData
();
/**
* Login.
...
...
@@ -55,9 +55,9 @@ public final class AuthenticationHandler {
private
byte
[]
getAuthCipherBytes
(
final
String
password
)
{
byte
[]
sha1Password
=
DigestUtils
.
sha1
(
password
);
byte
[]
doubleSha1Password
=
DigestUtils
.
sha1
(
sha1Password
);
byte
[]
concatBytes
=
new
byte
[
a
uthPluginData
.
getAuthPluginData
().
length
+
doubleSha1Password
.
length
];
System
.
arraycopy
(
authPluginData
.
getAuthPluginData
(),
0
,
concatBytes
,
0
,
a
uthPluginData
.
getAuthPluginData
().
length
);
System
.
arraycopy
(
doubleSha1Password
,
0
,
concatBytes
,
a
uthPluginData
.
getAuthPluginData
().
length
,
doubleSha1Password
.
length
);
byte
[]
concatBytes
=
new
byte
[
mySQLA
uthPluginData
.
getAuthPluginData
().
length
+
doubleSha1Password
.
length
];
System
.
arraycopy
(
mySQLAuthPluginData
.
getAuthPluginData
(),
0
,
concatBytes
,
0
,
mySQLA
uthPluginData
.
getAuthPluginData
().
length
);
System
.
arraycopy
(
doubleSha1Password
,
0
,
concatBytes
,
mySQLA
uthPluginData
.
getAuthPluginData
().
length
,
doubleSha1Password
.
length
);
byte
[]
sha1ConcatBytes
=
DigestUtils
.
sha1
(
concatBytes
);
return
xor
(
sha1Password
,
sha1ConcatBytes
);
}
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/ConnectionIdGenerator.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/
MySQL
ConnectionIdGenerator.java
浏览文件 @
069934b5
...
...
@@ -26,9 +26,9 @@ import lombok.NoArgsConstructor;
* @author zhangliang
*/
@NoArgsConstructor
(
access
=
AccessLevel
.
NONE
)
public
final
class
ConnectionIdGenerator
{
public
final
class
MySQL
ConnectionIdGenerator
{
private
static
final
ConnectionIdGenerator
INSTANCE
=
new
ConnectionIdGenerator
();
private
static
final
MySQLConnectionIdGenerator
INSTANCE
=
new
MySQL
ConnectionIdGenerator
();
private
int
currentId
;
...
...
@@ -37,7 +37,7 @@ public final class ConnectionIdGenerator {
*
* @return instance
*/
public
static
ConnectionIdGenerator
getInstance
()
{
public
static
MySQL
ConnectionIdGenerator
getInstance
()
{
return
INSTANCE
;
}
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/HandshakePacket.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/
MySQL
HandshakePacket.java
浏览文件 @
069934b5
...
...
@@ -33,7 +33,7 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacke
* @author zhangliang
* @author linjiaqi
*/
public
final
class
HandshakePacket
implements
MySQLPacket
{
public
final
class
MySQL
HandshakePacket
implements
MySQLPacket
{
private
final
int
protocolVersion
=
MySQLServerInfo
.
PROTOCOL_VERSION
;
...
...
@@ -52,15 +52,15 @@ public final class HandshakePacket implements MySQLPacket {
private
final
int
connectionId
;
@Getter
private
final
AuthPluginData
a
uthPluginData
;
private
final
MySQLAuthPluginData
mySQLA
uthPluginData
;
public
HandshakePacket
(
final
int
connectionId
,
final
AuthPluginData
a
uthPluginData
)
{
public
MySQLHandshakePacket
(
final
int
connectionId
,
final
MySQLAuthPluginData
mySQLA
uthPluginData
)
{
sequenceId
=
0
;
this
.
connectionId
=
connectionId
;
this
.
authPluginData
=
a
uthPluginData
;
this
.
mySQLAuthPluginData
=
mySQLA
uthPluginData
;
}
public
HandshakePacket
(
final
MySQLPacketPayload
payload
)
{
public
MySQL
HandshakePacket
(
final
MySQLPacketPayload
payload
)
{
sequenceId
=
payload
.
readInt1
();
Preconditions
.
checkArgument
(
protocolVersion
==
payload
.
readInt1
());
payload
.
readStringNul
();
...
...
@@ -73,7 +73,7 @@ public final class HandshakePacket implements MySQLPacket {
payload
.
readInt1
();
payload
.
skipReserved
(
10
);
byte
[]
authPluginDataPart2
=
payload
.
readStringNulByBytes
();
authPluginData
=
new
AuthPluginData
(
authPluginDataPart1
,
authPluginDataPart2
);
mySQLAuthPluginData
=
new
MySQL
AuthPluginData
(
authPluginDataPart1
,
authPluginDataPart2
);
}
@Override
...
...
@@ -81,13 +81,13 @@ public final class HandshakePacket implements MySQLPacket {
payload
.
writeInt1
(
protocolVersion
);
payload
.
writeStringNul
(
serverVersion
);
payload
.
writeInt4
(
connectionId
);
payload
.
writeStringNul
(
new
String
(
a
uthPluginData
.
getAuthPluginDataPart1
()));
payload
.
writeStringNul
(
new
String
(
mySQLA
uthPluginData
.
getAuthPluginDataPart1
()));
payload
.
writeInt2
(
capabilityFlagsLower
);
payload
.
writeInt1
(
MySQLServerInfo
.
CHARSET
);
payload
.
writeInt2
(
mySQLStatusFlag
.
getValue
());
payload
.
writeInt2
(
capabilityFlagsUpper
);
payload
.
writeInt1
(
0
);
payload
.
writeReserved
(
10
);
payload
.
writeStringNul
(
new
String
(
a
uthPluginData
.
getAuthPluginDataPart2
()));
payload
.
writeStringNul
(
new
String
(
mySQLA
uthPluginData
.
getAuthPluginDataPart2
()));
}
}
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/HandshakeResponse41Packet.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/
MySQL
HandshakeResponse41Packet.java
浏览文件 @
069934b5
...
...
@@ -32,7 +32,7 @@ import org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacke
* @author wangkai
*/
@RequiredArgsConstructor
public
final
class
HandshakeResponse41Packet
implements
MySQLPacket
{
public
final
class
MySQL
HandshakeResponse41Packet
implements
MySQLPacket
{
@Getter
private
final
int
sequenceId
;
...
...
@@ -52,7 +52,7 @@ public final class HandshakeResponse41Packet implements MySQLPacket {
@Getter
private
final
String
database
;
public
HandshakeResponse41Packet
(
final
MySQLPacketPayload
payload
)
{
public
MySQL
HandshakeResponse41Packet
(
final
MySQLPacketPayload
payload
)
{
sequenceId
=
payload
.
readInt1
();
capabilityFlags
=
payload
.
readInt4
();
maxPacketSize
=
payload
.
readInt4
();
...
...
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/RandomGenerator.java
→
sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/
MySQL
RandomGenerator.java
浏览文件 @
069934b5
...
...
@@ -29,10 +29,10 @@ import java.util.Random;
* @author zhangliang
*/
@NoArgsConstructor
(
access
=
AccessLevel
.
NONE
)
public
final
class
RandomGenerator
{
public
final
class
MySQL
RandomGenerator
{
@Getter
private
static
RandomGenerator
instance
=
new
RandomGenerator
();
private
static
MySQLRandomGenerator
instance
=
new
MySQL
RandomGenerator
();
private
static
final
byte
[]
SEED
=
{
'a'
,
'b'
,
'e'
,
'd'
,
'e'
,
'f'
,
'g'
,
'h'
,
'i'
,
'j'
,
'k'
,
'l'
,
'm'
,
'n'
,
'o'
,
'p'
,
'q'
,
'r'
,
's'
,
't'
,
'u'
,
'v'
,
'w'
,
'x'
,
'y'
,
'z'
,
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/UnicastBackendHandlerTest.java
浏览文件 @
069934b5
...
...
@@ -25,7 +25,7 @@ import org.apache.shardingsphere.shardingproxy.backend.communication.DatabaseCom
import
org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection
;
import
org.apache.shardingsphere.shardingproxy.runtime.schema.LogicSchema
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
OKPacket
;
import
org.apache.shardingsphere.transaction.core.TransactionType
;
import
org.junit.Before
;
import
org.junit.Test
;
...
...
@@ -54,7 +54,7 @@ public final class UnicastBackendHandlerTest {
@Before
public
void
setUp
()
{
MockGlobalRegistryUtil
.
setLogicSchemas
(
"schema"
,
10
);
setUnderlyingHandler
(
new
CommandResponsePackets
(
new
OKPacket
(
1
)));
setUnderlyingHandler
(
new
CommandResponsePackets
(
new
MySQL
OKPacket
(
1
)));
}
@Test
...
...
@@ -62,7 +62,7 @@ public final class UnicastBackendHandlerTest {
UnicastBackendHandler
backendHandler
=
new
UnicastBackendHandler
(
1
,
"show variable like %s"
,
backendConnection
,
DatabaseType
.
MySQL
);
setDatabaseCommunicationEngine
(
backendHandler
);
CommandResponsePackets
actual
=
backendHandler
.
execute
();
assertThat
(
actual
.
getHeadPacket
(),
instanceOf
(
OKPacket
.
class
));
assertThat
(
actual
.
getHeadPacket
(),
instanceOf
(
MySQL
OKPacket
.
class
));
backendHandler
.
execute
();
}
...
...
@@ -72,7 +72,7 @@ public final class UnicastBackendHandlerTest {
UnicastBackendHandler
backendHandler
=
new
UnicastBackendHandler
(
1
,
"show variable like %s"
,
backendConnection
,
DatabaseType
.
MySQL
);
setDatabaseCommunicationEngine
(
backendHandler
);
CommandResponsePackets
actual
=
backendHandler
.
execute
();
assertThat
(
actual
.
getHeadPacket
(),
instanceOf
(
OKPacket
.
class
));
assertThat
(
actual
.
getHeadPacket
(),
instanceOf
(
MySQL
OKPacket
.
class
));
backendHandler
.
execute
();
}
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/frontend/mysql/MySQLFrontendHandlerTest.java
浏览文件 @
069934b5
...
...
@@ -25,10 +25,10 @@ import lombok.SneakyThrows;
import
org.apache.shardingsphere.core.constant.properties.ShardingProperties
;
import
org.apache.shardingsphere.core.rule.Authentication
;
import
org.apache.shardingsphere.shardingproxy.runtime.GlobalRegistry
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.ConnectionIdGenerator
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.HandshakePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.
MySQL
ConnectionIdGenerator
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.
MySQL
HandshakePacket
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
...
...
@@ -54,9 +54,9 @@ public final class MySQLFrontendHandlerTest {
@Before
@SneakyThrows
public
void
resetConnectionIdGenerator
()
{
Field
field
=
ConnectionIdGenerator
.
class
.
getDeclaredField
(
"currentId"
);
Field
field
=
MySQL
ConnectionIdGenerator
.
class
.
getDeclaredField
(
"currentId"
);
field
.
setAccessible
(
true
);
field
.
set
(
ConnectionIdGenerator
.
getInstance
(),
0
);
field
.
set
(
MySQL
ConnectionIdGenerator
.
getInstance
(),
0
);
mysqlFrontendHandler
=
new
MySQLFrontendHandler
();
}
...
...
@@ -68,7 +68,7 @@ public final class MySQLFrontendHandlerTest {
when
(
channel
.
id
()).
thenReturn
(
channelId
);
when
(
context
.
channel
()).
thenReturn
(
channel
);
mysqlFrontendHandler
.
handshake
(
context
);
verify
(
context
).
writeAndFlush
(
isA
(
HandshakePacket
.
class
));
verify
(
context
).
writeAndFlush
(
isA
(
MySQL
HandshakePacket
.
class
));
}
@Test
...
...
@@ -76,7 +76,7 @@ public final class MySQLFrontendHandlerTest {
Authentication
authentication
=
new
Authentication
(
""
,
""
);
setAuthentication
(
authentication
);
mysqlFrontendHandler
.
auth
(
context
,
mock
(
ByteBuf
.
class
));
verify
(
context
).
writeAndFlush
(
isA
(
OKPacket
.
class
));
verify
(
context
).
writeAndFlush
(
isA
(
MySQL
OKPacket
.
class
));
}
@Test
...
...
@@ -84,7 +84,7 @@ public final class MySQLFrontendHandlerTest {
Authentication
authentication
=
new
Authentication
(
"root"
,
"root"
);
setAuthentication
(
authentication
);
mysqlFrontendHandler
.
auth
(
context
,
mock
(
ByteBuf
.
class
));
verify
(
context
).
writeAndFlush
(
isA
(
ErrPacket
.
class
));
verify
(
context
).
writeAndFlush
(
isA
(
MySQL
ErrPacket
.
class
));
}
@Test
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/AllMySQLPacketTests.java
浏览文件 @
069934b5
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.shardingproxy.transport.mysql.packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.AllMySQLCommandPacketTests
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.AllMySQL
MySQL
CommandPacketTests
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.AllMySQLGenericPacketTests
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.handshake.AllMySQLHandshakeTests
;
import
org.junit.runner.RunWith
;
...
...
@@ -29,7 +29,7 @@ import org.junit.runners.Suite.SuiteClasses;
MySQLPacketPayloadTest
.
class
,
AllMySQLGenericPacketTests
.
class
,
AllMySQLHandshakeTests
.
class
,
AllMySQLCommandPacketTests
.
class
AllMySQL
MySQL
CommandPacketTests
.
class
})
public
final
class
AllMySQLPacketTests
{
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/AllMySQLCommandPacketTests.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/AllMySQL
MySQL
CommandPacketTests.java
浏览文件 @
069934b5
...
...
@@ -17,51 +17,51 @@
package
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.UnsupportedCommandPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.initdb.ComInitDbPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.ping.ComPingPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.quit.ComQuitPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.ColumnDefinition41PacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.FieldCountPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.
MySQL
UnsupportedCommandPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.initdb.
MySQL
ComInitDbPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.ping.
MySQL
ComPingPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.admin.quit.
MySQL
ComQuitPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.
MySQL
ColumnDefinition41PacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.
MySQL
FieldCountPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.QueryResponsePacketsTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.BinaryStatementRegistryTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.close.ComStmtClosePacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.execute.BinaryResultSetRowPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.execute.ComStmtExecutePacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.execute.NullBitmapTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.
MySQLMySQL
BinaryStatementRegistryTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.close.
MySQL
ComStmtClosePacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.execute.
MySQL
BinaryResultSetRowPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.execute.
MySQL
ComStmtExecutePacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.execute.
MySQL
NullBitmapTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.execute.protocol.AllMySQLBinaryProtocolTests
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.prepare.
ComStmtPrepare
OKPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.prepare.ComStmtPreparePacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.TextResultSetRowPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.fieldlist.ComFieldListPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.query.ComQueryPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.prepare.
MySQLComStmtPrepareMySQL
OKPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.prepare.
MySQL
ComStmtPreparePacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.
MySQL
TextResultSetRowPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.fieldlist.
MySQL
ComFieldListPacketTest
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.query.
MySQL
ComQueryPacketTest
;
import
org.junit.runner.RunWith
;
import
org.junit.runners.Suite
;
import
org.junit.runners.Suite.SuiteClasses
;
@RunWith
(
Suite
.
class
)
@SuiteClasses
({
CommandPacketTypeTest
.
class
,
CommandPacketFactoryTest
.
class
,
MySQLMySQLCommandPacketTypeTest
.
class
,
MySQLMySQLCommandPacketFactoryTest
.
class
,
CommandResponsePacketsTest
.
class
,
QueryResponsePacketsTest
.
class
,
BinaryStatementRegistryTest
.
class
,
NullBitmapTest
.
class
,
MySQLMySQLBinaryStatementRegistryTest
.
class
,
MySQL
NullBitmapTest
.
class
,
AllMySQLBinaryProtocolTests
.
class
,
FieldCountPacketTest
.
class
,
ColumnDefinition41PacketTest
.
class
,
TextResultSetRowPacketTest
.
class
,
ComFieldListPacketTest
.
class
,
ComQueryPacketTest
.
class
,
ComStmtPreparePacketTest
.
class
,
ComStmtPrepareOKPacketTest
.
class
,
BinaryResultSetRowPacketTest
.
class
,
ComStmtExecutePacketTest
.
class
,
ComStmtClosePacketTest
.
class
,
ComInitDbPacketTest
.
class
,
ComPingPacketTest
.
class
,
ComQuitPacketTest
.
class
,
UnsupportedCommandPacketTest
.
class
MySQLFieldCountPacketTest
.
class
,
MySQLColumnDefinition41PacketTest
.
class
,
MySQLTextResultSetRowPacketTest
.
class
,
MySQLComFieldListPacketTest
.
class
,
MySQLComQueryPacketTest
.
class
,
MySQLComStmtPreparePacketTest
.
class
,
MySQLComStmtPrepareMySQLOKPacketTest
.
class
,
MySQLBinaryResultSetRowPacketTest
.
class
,
MySQLComStmtExecutePacketTest
.
class
,
MySQLComStmtClosePacketTest
.
class
,
MySQLComInitDbPacketTest
.
class
,
MySQLComPingPacketTest
.
class
,
MySQLComQuitPacketTest
.
class
,
MySQL
UnsupportedCommandPacketTest
.
class
})
public
final
class
AllMySQLCommandPacketTests
{
public
final
class
AllMySQL
MySQL
CommandPacketTests
{
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/CommandResponsePacketsTest.java
浏览文件 @
069934b5
...
...
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.DatabasePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
OKPacket
;
import
org.junit.Test
;
import
static
org
.
hamcrest
.
CoreMatchers
.
is
;
...
...
@@ -29,8 +29,8 @@ public final class CommandResponsePacketsTest {
@Test
public
void
assertGetHeadPacket
()
{
DatabasePacket
packet1
=
new
OKPacket
(
1
);
DatabasePacket
packet2
=
new
OKPacket
(
2
);
DatabasePacket
packet1
=
new
MySQL
OKPacket
(
1
);
DatabasePacket
packet2
=
new
MySQL
OKPacket
(
2
);
CommandResponsePackets
actual
=
new
CommandResponsePackets
(
packet1
);
actual
.
getPackets
().
add
(
packet2
);
assertThat
(
actual
.
getHeadPacket
(),
is
(
packet1
));
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/CommandPacketFactoryTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/
MySQLMySQL
CommandPacketFactoryTest.java
浏览文件 @
069934b5
此差异已折叠。
点击以展开。
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/CommandPacketTypeTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/
MySQLMySQL
CommandPacketTypeTest.java
浏览文件 @
069934b5
...
...
@@ -22,15 +22,15 @@ import org.junit.Test;
import
static
org
.
hamcrest
.
CoreMatchers
.
is
;
import
static
org
.
junit
.
Assert
.
assertThat
;
public
final
class
CommandPacketTypeTest
{
public
final
class
MySQLMySQL
CommandPacketTypeTest
{
@Test
public
void
assertGetValue
()
{
assertThat
(
CommandPacketType
.
valueOf
(
CommandPacketType
.
COM_SLEEP
.
getValue
()),
is
(
CommandPacketType
.
COM_SLEEP
));
assertThat
(
MySQLCommandPacketType
.
valueOf
(
MySQLCommandPacketType
.
COM_SLEEP
.
getValue
()),
is
(
MySQL
CommandPacketType
.
COM_SLEEP
));
}
@Test
(
expected
=
IllegalArgumentException
.
class
)
public
void
assertGetValueWithIllegalArgument
()
{
CommandPacketType
.
valueOf
(-
1
);
MySQL
CommandPacketType
.
valueOf
(-
1
);
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/UnsupportedCommandPacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/
MySQL
UnsupportedCommandPacketTest.java
浏览文件 @
069934b5
...
...
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.a
import
com.google.common.base.Optional
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLServerErrorCode
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
ErrPacket
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.mockito.Mock
;
...
...
@@ -33,25 +33,25 @@ import static org.junit.Assert.assertThat;
import
static
org
.
junit
.
Assert
.
assertTrue
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
UnsupportedCommandPacketTest
{
public
final
class
MySQL
UnsupportedCommandPacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
@Test
public
void
assertExecute
()
{
Optional
<
CommandResponsePackets
>
actual
=
new
UnsupportedCommandPacket
(
1
,
CommandPacketType
.
COM_SLEEP
).
execute
();
Optional
<
CommandResponsePackets
>
actual
=
new
MySQLUnsupportedCommandPacket
(
1
,
MySQL
CommandPacketType
.
COM_SLEEP
).
execute
();
assertTrue
(
actual
.
isPresent
());
assertThat
(
actual
.
get
().
getPackets
().
size
(),
is
(
1
));
assertThat
(
actual
.
get
().
getHeadPacket
().
getSequenceId
(),
is
(
2
));
assertThat
(((
ErrPacket
)
actual
.
get
().
getHeadPacket
()).
getErrorCode
(),
is
(
MySQLServerErrorCode
.
ER_UNSUPPORTED_COMMAND
.
getErrorCode
()));
assertThat
(((
ErrPacket
)
actual
.
get
().
getHeadPacket
()).
getSqlState
(),
is
(
MySQLServerErrorCode
.
ER_UNSUPPORTED_COMMAND
.
getSqlState
()));
assertThat
(((
ErrPacket
)
actual
.
get
().
getHeadPacket
()).
getErrorMessage
(),
is
(
String
.
format
(
MySQLServerErrorCode
.
ER_UNSUPPORTED_COMMAND
.
getErrorMessage
(),
CommandPacketType
.
COM_SLEEP
.
name
())));
assertThat
(((
MySQL
ErrPacket
)
actual
.
get
().
getHeadPacket
()).
getErrorCode
(),
is
(
MySQLServerErrorCode
.
ER_UNSUPPORTED_COMMAND
.
getErrorCode
()));
assertThat
(((
MySQL
ErrPacket
)
actual
.
get
().
getHeadPacket
()).
getSqlState
(),
is
(
MySQLServerErrorCode
.
ER_UNSUPPORTED_COMMAND
.
getSqlState
()));
assertThat
(((
MySQLErrPacket
)
actual
.
get
().
getHeadPacket
()).
getErrorMessage
(),
is
(
String
.
format
(
MySQLServerErrorCode
.
ER_UNSUPPORTED_COMMAND
.
getErrorMessage
(),
MySQL
CommandPacketType
.
COM_SLEEP
.
name
())));
}
@Test
public
void
assertWrite
()
{
UnsupportedCommandPacket
actual
=
new
UnsupportedCommandPacket
(
1
,
CommandPacketType
.
COM_SLEEP
);
MySQLUnsupportedCommandPacket
actual
=
new
MySQLUnsupportedCommandPacket
(
1
,
MySQL
CommandPacketType
.
COM_SLEEP
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
actual
.
write
(
payload
);
}
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/initdb/ComInitDbPacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/initdb/
MySQL
ComInitDbPacketTest.java
浏览文件 @
069934b5
...
...
@@ -25,10 +25,10 @@ import org.apache.shardingsphere.shardingproxy.runtime.GlobalRegistry;
import
org.apache.shardingsphere.shardingproxy.runtime.schema.LogicSchema
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLServerErrorCode
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
OKPacket
;
import
org.apache.shardingsphere.transaction.core.TransactionType
;
import
org.junit.Before
;
import
org.junit.Test
;
...
...
@@ -48,7 +48,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
ComInitDbPacketTest
{
public
final
class
MySQL
ComInitDbPacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
...
...
@@ -67,36 +67,36 @@ public final class ComInitDbPacketTest {
@Test
public
void
assertExecuteWithValidSchemaName
()
{
when
(
payload
.
readStringEOF
()).
thenReturn
(
ShardingConstant
.
LOGIC_SCHEMA_NAME
);
Optional
<
CommandResponsePackets
>
actual
=
new
ComInitDbPacket
(
1
,
payload
,
backendConnection
).
execute
();
Optional
<
CommandResponsePackets
>
actual
=
new
MySQL
ComInitDbPacket
(
1
,
payload
,
backendConnection
).
execute
();
assertTrue
(
actual
.
isPresent
());
assertThat
(
actual
.
get
().
getPackets
().
size
(),
is
(
1
));
assertThat
(
actual
.
get
().
getHeadPacket
().
getSequenceId
(),
is
(
2
));
assertThat
(((
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getAffectedRows
(),
is
(
0L
));
assertThat
(((
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getLastInsertId
(),
is
(
0L
));
assertThat
(((
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getWarnings
(),
is
(
0
));
assertThat
(((
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getInfo
(),
is
(
""
));
assertThat
(((
MySQL
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getAffectedRows
(),
is
(
0L
));
assertThat
(((
MySQL
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getLastInsertId
(),
is
(
0L
));
assertThat
(((
MySQL
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getWarnings
(),
is
(
0
));
assertThat
(((
MySQL
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getInfo
(),
is
(
""
));
}
@Test
public
void
assertExecuteWithInvalidSchemaName
()
{
String
invalidSchema
=
"invalid_schema"
;
when
(
payload
.
readStringEOF
()).
thenReturn
(
invalidSchema
);
Optional
<
CommandResponsePackets
>
actual
=
new
ComInitDbPacket
(
1
,
payload
,
backendConnection
).
execute
();
Optional
<
CommandResponsePackets
>
actual
=
new
MySQL
ComInitDbPacket
(
1
,
payload
,
backendConnection
).
execute
();
assertTrue
(
actual
.
isPresent
());
assertThat
(
actual
.
get
().
getPackets
().
size
(),
is
(
1
));
assertThat
(
actual
.
get
().
getHeadPacket
().
getSequenceId
(),
is
(
2
));
assertThat
(((
ErrPacket
)
actual
.
get
().
getHeadPacket
()).
getErrorCode
(),
is
(
MySQLServerErrorCode
.
ER_BAD_DB_ERROR
.
getErrorCode
()));
assertThat
(((
ErrPacket
)
actual
.
get
().
getHeadPacket
()).
getSqlState
(),
is
(
MySQLServerErrorCode
.
ER_BAD_DB_ERROR
.
getSqlState
()));
assertThat
(((
ErrPacket
)
actual
.
get
().
getHeadPacket
()).
getErrorMessage
(),
is
(
String
.
format
(
MySQLServerErrorCode
.
ER_BAD_DB_ERROR
.
getErrorMessage
(),
invalidSchema
)));
assertThat
(((
MySQL
ErrPacket
)
actual
.
get
().
getHeadPacket
()).
getErrorCode
(),
is
(
MySQLServerErrorCode
.
ER_BAD_DB_ERROR
.
getErrorCode
()));
assertThat
(((
MySQL
ErrPacket
)
actual
.
get
().
getHeadPacket
()).
getSqlState
(),
is
(
MySQLServerErrorCode
.
ER_BAD_DB_ERROR
.
getSqlState
()));
assertThat
(((
MySQL
ErrPacket
)
actual
.
get
().
getHeadPacket
()).
getErrorMessage
(),
is
(
String
.
format
(
MySQLServerErrorCode
.
ER_BAD_DB_ERROR
.
getErrorMessage
(),
invalidSchema
)));
}
@Test
public
void
assertWrite
()
{
when
(
payload
.
readStringEOF
()).
thenReturn
(
ShardingConstant
.
LOGIC_SCHEMA_NAME
);
ComInitDbPacket
actual
=
new
ComInitDbPacket
(
1
,
payload
,
backendConnection
);
MySQLComInitDbPacket
actual
=
new
MySQL
ComInitDbPacket
(
1
,
payload
,
backendConnection
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
actual
.
write
(
payload
);
verify
(
payload
).
writeInt1
(
CommandPacketType
.
COM_INIT_DB
.
getValue
());
verify
(
payload
).
writeInt1
(
MySQL
CommandPacketType
.
COM_INIT_DB
.
getValue
());
verify
(
payload
).
writeStringEOF
(
ShardingConstant
.
LOGIC_SCHEMA_NAME
);
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/ping/ComPingPacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/ping/
MySQL
ComPingPacketTest.java
浏览文件 @
069934b5
...
...
@@ -19,9 +19,9 @@ package org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.a
import
com.google.common.base.Optional
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
OKPacket
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.mockito.Mock
;
...
...
@@ -33,28 +33,28 @@ import static org.junit.Assert.assertTrue;
import
static
org
.
mockito
.
Mockito
.
verify
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
ComPingPacketTest
{
public
final
class
MySQL
ComPingPacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
@Test
public
void
assertExecute
()
{
Optional
<
CommandResponsePackets
>
actual
=
new
ComPingPacket
(
1
).
execute
();
Optional
<
CommandResponsePackets
>
actual
=
new
MySQL
ComPingPacket
(
1
).
execute
();
assertTrue
(
actual
.
isPresent
());
assertThat
(
actual
.
get
().
getPackets
().
size
(),
is
(
1
));
assertThat
(
actual
.
get
().
getHeadPacket
().
getSequenceId
(),
is
(
2
));
assertThat
(((
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getAffectedRows
(),
is
(
0L
));
assertThat
(((
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getLastInsertId
(),
is
(
0L
));
assertThat
(((
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getWarnings
(),
is
(
0
));
assertThat
(((
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getInfo
(),
is
(
""
));
assertThat
(((
MySQL
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getAffectedRows
(),
is
(
0L
));
assertThat
(((
MySQL
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getLastInsertId
(),
is
(
0L
));
assertThat
(((
MySQL
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getWarnings
(),
is
(
0
));
assertThat
(((
MySQL
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getInfo
(),
is
(
""
));
}
@Test
public
void
assertWrite
()
{
ComPingPacket
actual
=
new
ComPingPacket
(
1
);
MySQLComPingPacket
actual
=
new
MySQL
ComPingPacket
(
1
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
actual
.
write
(
payload
);
verify
(
payload
).
writeInt1
(
CommandPacketType
.
COM_PING
.
getValue
());
verify
(
payload
).
writeInt1
(
MySQL
CommandPacketType
.
COM_PING
.
getValue
());
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/quit/ComQuitPacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/admin/quit/
MySQL
ComQuitPacketTest.java
浏览文件 @
069934b5
...
...
@@ -19,9 +19,9 @@ package org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.a
import
com.google.common.base.Optional
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.OKPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
OKPacket
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.mockito.Mock
;
...
...
@@ -33,28 +33,28 @@ import static org.junit.Assert.assertTrue;
import
static
org
.
mockito
.
Mockito
.
verify
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
ComQuitPacketTest
{
public
final
class
MySQL
ComQuitPacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
@Test
public
void
assertExecute
()
{
Optional
<
CommandResponsePackets
>
actual
=
new
ComQuitPacket
(
1
).
execute
();
Optional
<
CommandResponsePackets
>
actual
=
new
MySQL
ComQuitPacket
(
1
).
execute
();
assertTrue
(
actual
.
isPresent
());
assertThat
(
actual
.
get
().
getPackets
().
size
(),
is
(
1
));
assertThat
(
actual
.
get
().
getHeadPacket
().
getSequenceId
(),
is
(
2
));
assertThat
(((
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getAffectedRows
(),
is
(
0L
));
assertThat
(((
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getLastInsertId
(),
is
(
0L
));
assertThat
(((
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getWarnings
(),
is
(
0
));
assertThat
(((
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getInfo
(),
is
(
""
));
assertThat
(((
MySQL
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getAffectedRows
(),
is
(
0L
));
assertThat
(((
MySQL
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getLastInsertId
(),
is
(
0L
));
assertThat
(((
MySQL
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getWarnings
(),
is
(
0
));
assertThat
(((
MySQL
OKPacket
)
actual
.
get
().
getHeadPacket
()).
getInfo
(),
is
(
""
));
}
@Test
public
void
assertWrite
()
{
ComQuitPacket
actual
=
new
ComQuitPacket
(
1
);
MySQLComQuitPacket
actual
=
new
MySQL
ComQuitPacket
(
1
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
actual
.
write
(
payload
);
verify
(
payload
).
writeInt1
(
CommandPacketType
.
COM_QUIT
.
getValue
());
verify
(
payload
).
writeInt1
(
MySQL
CommandPacketType
.
COM_QUIT
.
getValue
());
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/ColumnDefinition41PacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/
MySQL
ColumnDefinition41PacketTest.java
浏览文件 @
069934b5
...
...
@@ -37,7 +37,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
ColumnDefinition41PacketTest
{
public
final
class
MySQL
ColumnDefinition41PacketTest
{
@Mock
private
ResultSetMetaData
resultSetMetaData
;
...
...
@@ -53,7 +53,7 @@ public final class ColumnDefinition41PacketTest {
when
(
resultSetMetaData
.
getColumnName
(
1
)).
thenReturn
(
"id"
);
when
(
resultSetMetaData
.
getColumnDisplaySize
(
1
)).
thenReturn
(
10
);
when
(
resultSetMetaData
.
getColumnType
(
1
)).
thenReturn
(
Types
.
INTEGER
);
ColumnDefinition41Packet
actual
=
new
ColumnDefinition41Packet
(
1
,
resultSetMetaData
,
1
);
MySQLColumnDefinition41Packet
actual
=
new
MySQL
ColumnDefinition41Packet
(
1
,
resultSetMetaData
,
1
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
actual
.
write
(
payload
);
verifyWrite
();
...
...
@@ -66,7 +66,7 @@ public final class ColumnDefinition41PacketTest {
when
(
payload
.
readInt4
()).
thenReturn
(
10
);
when
(
payload
.
readIntLenenc
()).
thenReturn
((
long
)
0x0c
);
when
(
payload
.
readStringLenenc
()).
thenReturn
(
"def"
,
ShardingConstant
.
LOGIC_SCHEMA_NAME
,
"tbl"
,
"tbl"
,
"id"
,
"id"
);
ColumnDefinition41Packet
actual
=
new
ColumnDefinition41Packet
(
payload
);
MySQLColumnDefinition41Packet
actual
=
new
MySQL
ColumnDefinition41Packet
(
payload
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
actual
.
write
(
payload
);
verifyWrite
();
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/FieldCountPacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/
MySQL
FieldCountPacketTest.java
浏览文件 @
069934b5
...
...
@@ -29,7 +29,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
FieldCountPacketTest
{
public
final
class
MySQL
FieldCountPacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
...
...
@@ -37,7 +37,7 @@ public final class FieldCountPacketTest {
@Test
public
void
assertWrite
()
{
when
(
payload
.
readInt1
()).
thenReturn
(
1
,
3
);
FieldCountPacket
actual
=
new
FieldCountPacket
(
payload
);
MySQLFieldCountPacket
actual
=
new
MySQL
FieldCountPacket
(
payload
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
actual
.
write
(
payload
);
verify
(
payload
).
writeIntLenenc
(
3
);
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/BinaryStatementRegistryTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/
MySQLMySQL
BinaryStatementRegistryTest.java
浏览文件 @
069934b5
...
...
@@ -25,7 +25,7 @@ import org.junit.Test;
import
static
org
.
hamcrest
.
CoreMatchers
.
is
;
import
static
org
.
junit
.
Assert
.
assertThat
;
public
final
class
BinaryStatementRegistryTest
{
public
final
class
MySQLMySQL
BinaryStatementRegistryTest
{
private
final
String
sql
=
"SELECT * FROM tbl WHERE id=?"
;
...
...
@@ -37,17 +37,17 @@ public final class BinaryStatementRegistryTest {
@Test
public
void
assertRegisterIfAbsent
()
{
assertThat
(
BinaryStatementRegistry
.
getInstance
().
register
(
sql
,
1
),
is
(
1
));
BinaryStatement
actual
=
BinaryStatementRegistry
.
getInstance
().
getBinaryStatement
(
1
);
assertThat
(
MySQL
BinaryStatementRegistry
.
getInstance
().
register
(
sql
,
1
),
is
(
1
));
MySQLBinaryStatement
actual
=
MySQL
BinaryStatementRegistry
.
getInstance
().
getBinaryStatement
(
1
);
assertThat
(
actual
.
getSql
(),
is
(
sql
));
assertThat
(
actual
.
getParametersCount
(),
is
(
1
));
}
@Test
public
void
assertRegisterIfPresent
()
{
assertThat
(
BinaryStatementRegistry
.
getInstance
().
register
(
sql
,
1
),
is
(
1
));
assertThat
(
BinaryStatementRegistry
.
getInstance
().
register
(
sql
,
1
),
is
(
1
));
BinaryStatement
actual
=
BinaryStatementRegistry
.
getInstance
().
getBinaryStatement
(
1
);
assertThat
(
MySQL
BinaryStatementRegistry
.
getInstance
().
register
(
sql
,
1
),
is
(
1
));
assertThat
(
MySQL
BinaryStatementRegistry
.
getInstance
().
register
(
sql
,
1
),
is
(
1
));
MySQLBinaryStatement
actual
=
MySQL
BinaryStatementRegistry
.
getInstance
().
getBinaryStatement
(
1
);
assertThat
(
actual
.
getSql
(),
is
(
sql
));
assertThat
(
actual
.
getParametersCount
(),
is
(
1
));
}
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/close/ComStmtClosePacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/close/
MySQL
ComStmtClosePacketTest.java
浏览文件 @
069934b5
...
...
@@ -31,7 +31,7 @@ import static org.junit.Assert.assertThat;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
ComStmtClosePacketTest
{
public
final
class
MySQL
ComStmtClosePacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
...
...
@@ -39,14 +39,14 @@ public final class ComStmtClosePacketTest {
@Test
public
void
assertExecute
()
{
when
(
payload
.
readInt4
()).
thenReturn
(
1
);
Optional
<
CommandResponsePackets
>
actual
=
new
ComStmtClosePacket
(
1
,
payload
).
execute
();
Optional
<
CommandResponsePackets
>
actual
=
new
MySQL
ComStmtClosePacket
(
1
,
payload
).
execute
();
assertFalse
(
actual
.
isPresent
());
}
@Test
public
void
assertWrite
()
{
when
(
payload
.
readInt4
()).
thenReturn
(
1
);
ComStmtClosePacket
actual
=
new
ComStmtClosePacket
(
1
,
payload
);
MySQLComStmtClosePacket
actual
=
new
MySQL
ComStmtClosePacket
(
1
,
payload
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
actual
.
write
(
payload
);
}
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/BinaryResultSetRowPacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/
MySQL
BinaryResultSetRowPacketTest.java
浏览文件 @
069934b5
...
...
@@ -31,14 +31,14 @@ import static org.junit.Assert.assertThat;
import
static
org
.
mockito
.
Mockito
.
verify
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
BinaryResultSetRowPacketTest
{
public
final
class
MySQL
BinaryResultSetRowPacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
@Test
public
void
assertWrite
()
{
BinaryResultSetRowPacket
actual
=
new
BinaryResultSetRowPacket
(
1
,
2
,
Arrays
.<
Object
>
asList
(
"value"
,
null
),
Arrays
.
asList
(
MySQLColumnType
.
MYSQL_TYPE_STRING
,
MySQLColumnType
.
MYSQL_TYPE_STRING
));
MySQLBinaryResultSetRowPacket
actual
=
new
MySQL
BinaryResultSetRowPacket
(
1
,
2
,
Arrays
.<
Object
>
asList
(
"value"
,
null
),
Arrays
.
asList
(
MySQLColumnType
.
MYSQL_TYPE_STRING
,
MySQLColumnType
.
MYSQL_TYPE_STRING
));
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
assertThat
(
actual
.
getData
(),
is
(
Arrays
.<
Object
>
asList
(
"value"
,
null
)));
actual
.
write
(
payload
);
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/ComStmtExecutePacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/
MySQL
ComStmtExecutePacketTest.java
浏览文件 @
069934b5
...
...
@@ -25,7 +25,7 @@ import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connec
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.DatabasePacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.BinaryStatementRegistry
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.
MySQL
BinaryStatementRegistry
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.fixture.BinaryStatementRegistryUtil
;
import
org.junit.After
;
import
org.junit.Before
;
...
...
@@ -49,7 +49,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
ComStmtExecutePacketTest
{
public
final
class
MySQL
ComStmtExecutePacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
...
...
@@ -65,10 +65,10 @@ public final class ComStmtExecutePacketTest {
@Test
public
void
assertWrite
()
throws
SQLException
{
BinaryStatementRegistry
.
getInstance
().
register
(
"SELECT id FROM tbl WHERE id=?"
,
1
);
MySQL
BinaryStatementRegistry
.
getInstance
().
register
(
"SELECT id FROM tbl WHERE id=?"
,
1
);
when
(
payload
.
readInt4
()).
thenReturn
(
1
);
when
(
payload
.
readInt1
()).
thenReturn
(
0
,
1
);
ComStmtExecutePacket
actual
=
new
ComStmtExecutePacket
(
1
,
payload
,
backendConnection
);
MySQLQueryComStmtExecutePacket
actual
=
new
MySQLQuery
ComStmtExecutePacket
(
1
,
payload
,
backendConnection
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
actual
.
write
(
payload
);
verify
(
payload
,
times
(
2
)).
writeInt4
(
1
);
...
...
@@ -79,7 +79,7 @@ public final class ComStmtExecutePacketTest {
@Test
public
void
assertExecute
()
throws
SQLException
{
BinaryStatementRegistry
.
getInstance
().
register
(
"SELECT id FROM tbl WHERE id=?"
,
1
);
MySQL
BinaryStatementRegistry
.
getInstance
().
register
(
"SELECT id FROM tbl WHERE id=?"
,
1
);
DatabaseCommunicationEngine
databaseCommunicationEngine
=
mock
(
DatabaseCommunicationEngine
.
class
);
when
(
payload
.
readInt4
()).
thenReturn
(
1
);
when
(
payload
.
readInt1
()).
thenReturn
(
0
,
1
);
...
...
@@ -87,7 +87,7 @@ public final class ComStmtExecutePacketTest {
when
(
databaseCommunicationEngine
.
execute
()).
thenReturn
(
expectedCommandResponsePackets
);
when
(
databaseCommunicationEngine
.
next
()).
thenReturn
(
true
,
false
);
when
(
databaseCommunicationEngine
.
getResultValue
()).
thenReturn
(
new
ResultPacket
(
2
,
Collections
.<
Object
>
singletonList
(
99999L
),
1
,
Collections
.
singletonList
(
Types
.
BIGINT
)));
ComStmtExecutePacket
packet
=
new
ComStmtExecutePacket
(
1
,
payload
,
backendConnection
);
MySQLQueryComStmtExecutePacket
packet
=
new
MySQLQuery
ComStmtExecutePacket
(
1
,
payload
,
backendConnection
);
setBackendHandler
(
packet
,
databaseCommunicationEngine
);
Optional
<
CommandResponsePackets
>
actualCommandResponsePackets
=
packet
.
execute
();
assertTrue
(
actualCommandResponsePackets
.
isPresent
());
...
...
@@ -95,13 +95,13 @@ public final class ComStmtExecutePacketTest {
assertTrue
(
packet
.
next
());
DatabasePacket
actualResultValue
=
packet
.
getResultValue
();
assertThat
(
actualResultValue
.
getSequenceId
(),
is
(
2
));
assertThat
(((
BinaryResultSetRowPacket
)
actualResultValue
).
getData
(),
is
(
Collections
.<
Object
>
singletonList
(
99999L
)));
assertThat
(((
MySQL
BinaryResultSetRowPacket
)
actualResultValue
).
getData
(),
is
(
Collections
.<
Object
>
singletonList
(
99999L
)));
assertFalse
(
packet
.
next
());
}
@SneakyThrows
private
void
setBackendHandler
(
final
ComStmtExecutePacket
packet
,
final
DatabaseCommunicationEngine
databaseCommunicationEngine
)
{
Field
field
=
ComStmtExecutePacket
.
class
.
getDeclaredField
(
"databaseCommunicationEngine"
);
private
void
setBackendHandler
(
final
MySQLQuery
ComStmtExecutePacket
packet
,
final
DatabaseCommunicationEngine
databaseCommunicationEngine
)
{
Field
field
=
MySQLQuery
ComStmtExecutePacket
.
class
.
getDeclaredField
(
"databaseCommunicationEngine"
);
field
.
setAccessible
(
true
);
field
.
set
(
packet
,
databaseCommunicationEngine
);
}
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/NullBitmapTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/
MySQL
NullBitmapTest.java
浏览文件 @
069934b5
...
...
@@ -24,25 +24,25 @@ import static org.junit.Assert.assertFalse;
import
static
org
.
junit
.
Assert
.
assertThat
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
public
final
class
NullBitmapTest
{
public
final
class
MySQL
NullBitmapTest
{
@Test
public
void
assertGetNullBitmap
()
{
NullBitmap
actual
=
new
NullBitmap
(
8
,
0
);
MySQLNullBitmap
actual
=
new
MySQL
NullBitmap
(
8
,
0
);
assertThat
(
actual
.
getNullBitmap
().
length
,
is
(
1
));
actual
=
new
NullBitmap
(
9
,
0
);
actual
=
new
MySQL
NullBitmap
(
9
,
0
);
assertThat
(
actual
.
getNullBitmap
().
length
,
is
(
2
));
}
@Test
public
void
assertIsNotNullParameter
()
{
NullBitmap
actual
=
new
NullBitmap
(
8
,
0
);
MySQLNullBitmap
actual
=
new
MySQL
NullBitmap
(
8
,
0
);
assertFalse
(
actual
.
isNullParameter
(
0
));
}
@Test
public
void
assertIsNullParameter
()
{
NullBitmap
actual
=
new
NullBitmap
(
8
,
0
);
MySQLNullBitmap
actual
=
new
MySQL
NullBitmap
(
8
,
0
);
actual
.
setNullBit
(
0
);
assertTrue
(
actual
.
isNullParameter
(
0
));
}
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/AllMySQLBinaryProtocolTests.java
浏览文件 @
069934b5
...
...
@@ -23,16 +23,16 @@ import org.junit.runners.Suite.SuiteClasses;
@RunWith
(
Suite
.
class
)
@SuiteClasses
({
BinaryProtocolValueFactoryTest
.
class
,
StringLenencBinaryProtocolValueTest
.
class
,
Int8BinaryProtocolValueTest
.
class
,
Int4BinaryProtocolValueTest
.
class
,
Int2BinaryProtocolValueTest
.
class
,
Int1BinaryProtocolValueTest
.
class
,
DoubleBinaryProtocolValueTest
.
class
,
FloatBinaryProtocolValueTest
.
class
,
DateBinaryProtocolValueTest
.
class
,
TimeBinaryProtocolValueTest
.
class
MySQLMySQLBinaryProtocolValueFactoryTest
.
class
,
MySQLStringLenencBinaryProtocolValueTest
.
class
,
MySQLInt8BinaryProtocolValueTest
.
class
,
MySQLInt4BinaryProtocolValueTest
.
class
,
MySQLInt2BinaryProtocolValueTest
.
class
,
MySQLInt1BinaryProtocolValueTest
.
class
,
MySQLDoubleBinaryProtocolValueTest
.
class
,
MySQLFloatBinaryProtocolValueTest
.
class
,
MySQLDateBinaryProtocolValueTest
.
class
,
MySQL
TimeBinaryProtocolValueTest
.
class
})
public
final
class
AllMySQLBinaryProtocolTests
{
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/DateBinaryProtocolValueTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
DateBinaryProtocolValueTest.java
浏览文件 @
069934b5
...
...
@@ -33,14 +33,14 @@ import static org.junit.Assert.assertThat;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
DateBinaryProtocolValueTest
{
public
final
class
MySQL
DateBinaryProtocolValueTest
{
@Mock
private
MySQLPacketPayload
payload
;
@Test
(
expected
=
SQLFeatureNotSupportedException
.
class
)
public
void
assertReadWithZeroByte
()
throws
SQLException
{
new
DateBinaryProtocolValue
().
read
(
payload
);
new
MySQL
DateBinaryProtocolValue
().
read
(
payload
);
}
@Test
...
...
@@ -48,7 +48,7 @@ public final class DateBinaryProtocolValueTest {
when
(
payload
.
readInt1
()).
thenReturn
(
4
,
12
,
31
);
when
(
payload
.
readInt2
()).
thenReturn
(
2018
);
Calendar
actual
=
Calendar
.
getInstance
();
actual
.
setTimeInMillis
(((
Timestamp
)
new
DateBinaryProtocolValue
().
read
(
payload
)).
getTime
());
actual
.
setTimeInMillis
(((
Timestamp
)
new
MySQL
DateBinaryProtocolValue
().
read
(
payload
)).
getTime
());
assertThat
(
actual
.
get
(
Calendar
.
YEAR
),
is
(
2018
));
assertThat
(
actual
.
get
(
Calendar
.
MONTH
),
is
(
Calendar
.
DECEMBER
));
assertThat
(
actual
.
get
(
Calendar
.
DAY_OF_MONTH
),
is
(
31
));
...
...
@@ -59,7 +59,7 @@ public final class DateBinaryProtocolValueTest {
when
(
payload
.
readInt1
()).
thenReturn
(
7
,
12
,
31
,
10
,
59
,
0
);
when
(
payload
.
readInt2
()).
thenReturn
(
2018
);
Calendar
actual
=
Calendar
.
getInstance
();
actual
.
setTimeInMillis
(((
Timestamp
)
new
DateBinaryProtocolValue
().
read
(
payload
)).
getTime
());
actual
.
setTimeInMillis
(((
Timestamp
)
new
MySQL
DateBinaryProtocolValue
().
read
(
payload
)).
getTime
());
assertThat
(
actual
.
get
(
Calendar
.
YEAR
),
is
(
2018
));
assertThat
(
actual
.
get
(
Calendar
.
MONTH
),
is
(
Calendar
.
DECEMBER
));
assertThat
(
actual
.
get
(
Calendar
.
DAY_OF_MONTH
),
is
(
31
));
...
...
@@ -74,7 +74,7 @@ public final class DateBinaryProtocolValueTest {
when
(
payload
.
readInt2
()).
thenReturn
(
2018
);
when
(
payload
.
readInt4
()).
thenReturn
(
500
);
Calendar
actual
=
Calendar
.
getInstance
();
actual
.
setTimeInMillis
(((
Timestamp
)
new
DateBinaryProtocolValue
().
read
(
payload
)).
getTime
());
actual
.
setTimeInMillis
(((
Timestamp
)
new
MySQL
DateBinaryProtocolValue
().
read
(
payload
)).
getTime
());
assertThat
(
actual
.
get
(
Calendar
.
YEAR
),
is
(
2018
));
assertThat
(
actual
.
get
(
Calendar
.
MONTH
),
is
(
Calendar
.
DECEMBER
));
assertThat
(
actual
.
get
(
Calendar
.
DAY_OF_MONTH
),
is
(
31
));
...
...
@@ -86,6 +86,6 @@ public final class DateBinaryProtocolValueTest {
@Test
(
expected
=
IllegalArgumentException
.
class
)
public
void
assertReadWithIllegalArgument
()
throws
SQLException
{
when
(
payload
.
readInt1
()).
thenReturn
(
100
);
new
DateBinaryProtocolValue
().
read
(
payload
);
new
MySQL
DateBinaryProtocolValue
().
read
(
payload
);
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/DoubleBinaryProtocolValueTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
DoubleBinaryProtocolValueTest.java
浏览文件 @
069934b5
...
...
@@ -30,7 +30,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
DoubleBinaryProtocolValueTest
{
public
final
class
MySQL
DoubleBinaryProtocolValueTest
{
@Mock
private
ByteBuf
byteBuf
;
...
...
@@ -38,12 +38,12 @@ public final class DoubleBinaryProtocolValueTest {
@Test
public
void
assertRead
()
{
when
(
byteBuf
.
readDoubleLE
()).
thenReturn
(
1
d
);
assertThat
(
new
DoubleBinaryProtocolValue
().
read
(
new
MySQLPacketPayload
(
byteBuf
)),
CoreMatchers
.<
Object
>
is
(
1
d
));
assertThat
(
new
MySQL
DoubleBinaryProtocolValue
().
read
(
new
MySQLPacketPayload
(
byteBuf
)),
CoreMatchers
.<
Object
>
is
(
1
d
));
}
@Test
public
void
assertWrite
()
{
new
DoubleBinaryProtocolValue
().
write
(
new
MySQLPacketPayload
(
byteBuf
),
1
d
);
new
MySQL
DoubleBinaryProtocolValue
().
write
(
new
MySQLPacketPayload
(
byteBuf
),
1
d
);
verify
(
byteBuf
).
writeDoubleLE
(
1
d
);
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/FloatBinaryProtocolValueTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
FloatBinaryProtocolValueTest.java
浏览文件 @
069934b5
...
...
@@ -30,7 +30,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
FloatBinaryProtocolValueTest
{
public
final
class
MySQL
FloatBinaryProtocolValueTest
{
@Mock
private
ByteBuf
byteBuf
;
...
...
@@ -38,12 +38,12 @@ public final class FloatBinaryProtocolValueTest {
@Test
public
void
assertRead
()
{
when
(
byteBuf
.
readFloatLE
()).
thenReturn
(
1
f
);
assertThat
(
new
FloatBinaryProtocolValue
().
read
(
new
MySQLPacketPayload
(
byteBuf
)),
CoreMatchers
.<
Object
>
is
(
1
f
));
assertThat
(
new
MySQL
FloatBinaryProtocolValue
().
read
(
new
MySQLPacketPayload
(
byteBuf
)),
CoreMatchers
.<
Object
>
is
(
1
f
));
}
@Test
public
void
assertWrite
()
{
new
FloatBinaryProtocolValue
().
write
(
new
MySQLPacketPayload
(
byteBuf
),
1
f
);
new
MySQL
FloatBinaryProtocolValue
().
write
(
new
MySQLPacketPayload
(
byteBuf
),
1
f
);
verify
(
byteBuf
).
writeFloatLE
(
1
f
);
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/Int1BinaryProtocolValueTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
Int1BinaryProtocolValueTest.java
浏览文件 @
069934b5
...
...
@@ -29,7 +29,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
Int1BinaryProtocolValueTest
{
public
final
class
MySQL
Int1BinaryProtocolValueTest
{
@Mock
private
MySQLPacketPayload
payload
;
...
...
@@ -37,12 +37,12 @@ public final class Int1BinaryProtocolValueTest {
@Test
public
void
assertRead
()
{
when
(
payload
.
readInt1
()).
thenReturn
(
1
);
assertThat
(
new
Int1BinaryProtocolValue
().
read
(
payload
),
CoreMatchers
.<
Object
>
is
(
1
));
assertThat
(
new
MySQL
Int1BinaryProtocolValue
().
read
(
payload
),
CoreMatchers
.<
Object
>
is
(
1
));
}
@Test
public
void
assertWrite
()
{
new
Int1BinaryProtocolValue
().
write
(
payload
,
1
);
new
MySQL
Int1BinaryProtocolValue
().
write
(
payload
,
1
);
verify
(
payload
).
writeInt1
(
1
);
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/Int2BinaryProtocolValueTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
Int2BinaryProtocolValueTest.java
浏览文件 @
069934b5
...
...
@@ -29,7 +29,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
Int2BinaryProtocolValueTest
{
public
final
class
MySQL
Int2BinaryProtocolValueTest
{
@Mock
private
MySQLPacketPayload
payload
;
...
...
@@ -37,12 +37,12 @@ public final class Int2BinaryProtocolValueTest {
@Test
public
void
assertRead
()
{
when
(
payload
.
readInt2
()).
thenReturn
(
1
);
assertThat
(
new
Int2BinaryProtocolValue
().
read
(
payload
),
CoreMatchers
.<
Object
>
is
(
1
));
assertThat
(
new
MySQL
Int2BinaryProtocolValue
().
read
(
payload
),
CoreMatchers
.<
Object
>
is
(
1
));
}
@Test
public
void
assertWrite
()
{
new
Int2BinaryProtocolValue
().
write
(
payload
,
1
);
new
MySQL
Int2BinaryProtocolValue
().
write
(
payload
,
1
);
verify
(
payload
).
writeInt2
(
1
);
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/Int4BinaryProtocolValueTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
Int4BinaryProtocolValueTest.java
浏览文件 @
069934b5
...
...
@@ -29,7 +29,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
Int4BinaryProtocolValueTest
{
public
final
class
MySQL
Int4BinaryProtocolValueTest
{
@Mock
private
MySQLPacketPayload
payload
;
...
...
@@ -37,12 +37,12 @@ public final class Int4BinaryProtocolValueTest {
@Test
public
void
assertRead
()
{
when
(
payload
.
readInt4
()).
thenReturn
(
1
);
assertThat
(
new
Int4BinaryProtocolValue
().
read
(
payload
),
CoreMatchers
.<
Object
>
is
(
1
));
assertThat
(
new
MySQL
Int4BinaryProtocolValue
().
read
(
payload
),
CoreMatchers
.<
Object
>
is
(
1
));
}
@Test
public
void
assertWrite
()
{
new
Int4BinaryProtocolValue
().
write
(
payload
,
1
);
new
MySQL
Int4BinaryProtocolValue
().
write
(
payload
,
1
);
verify
(
payload
).
writeInt4
(
1
);
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/Int8BinaryProtocolValueTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
Int8BinaryProtocolValueTest.java
浏览文件 @
069934b5
...
...
@@ -31,7 +31,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
Int8BinaryProtocolValueTest
{
public
final
class
MySQL
Int8BinaryProtocolValueTest
{
@Mock
private
MySQLPacketPayload
payload
;
...
...
@@ -39,18 +39,18 @@ public final class Int8BinaryProtocolValueTest {
@Test
public
void
assertRead
()
{
when
(
payload
.
readInt8
()).
thenReturn
(
1L
);
assertThat
(
new
Int8BinaryProtocolValue
().
read
(
payload
),
CoreMatchers
.<
Object
>
is
(
1L
));
assertThat
(
new
MySQL
Int8BinaryProtocolValue
().
read
(
payload
),
CoreMatchers
.<
Object
>
is
(
1L
));
}
@Test
public
void
assertWriteWithLong
()
{
new
Int8BinaryProtocolValue
().
write
(
payload
,
1L
);
new
MySQL
Int8BinaryProtocolValue
().
write
(
payload
,
1L
);
verify
(
payload
).
writeInt8
(
1L
);
}
@Test
public
void
assertWriteWithBigDecimal
()
{
new
Int8BinaryProtocolValue
().
write
(
payload
,
new
BigDecimal
(
1L
));
new
MySQL
Int8BinaryProtocolValue
().
write
(
payload
,
new
BigDecimal
(
1L
));
verify
(
payload
).
writeInt8
(
1L
);
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/BinaryProtocolValueFactoryTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQLMySQL
BinaryProtocolValueFactoryTest.java
浏览文件 @
069934b5
...
...
@@ -23,135 +23,135 @@ import org.junit.Test;
import
static
org
.
hamcrest
.
CoreMatchers
.
instanceOf
;
import
static
org
.
junit
.
Assert
.
assertThat
;
public
final
class
BinaryProtocolValueFactoryTest
{
public
final
class
MySQLMySQL
BinaryProtocolValueFactoryTest
{
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeString
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_STRING
),
instanceOf
(
StringLenencBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_STRING
),
instanceOf
(
MySQL
StringLenencBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeVarchar
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_VARCHAR
),
instanceOf
(
StringLenencBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_VARCHAR
),
instanceOf
(
MySQL
StringLenencBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeVarString
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_VAR_STRING
),
instanceOf
(
StringLenencBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_VAR_STRING
),
instanceOf
(
MySQL
StringLenencBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeEnum
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_ENUM
),
instanceOf
(
StringLenencBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_ENUM
),
instanceOf
(
MySQL
StringLenencBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeSet
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_SET
),
instanceOf
(
StringLenencBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_SET
),
instanceOf
(
MySQL
StringLenencBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeLongBlob
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_LONG_BLOB
),
instanceOf
(
StringLenencBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_LONG_BLOB
),
instanceOf
(
MySQL
StringLenencBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeMediumBlob
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_MEDIUM_BLOB
),
instanceOf
(
StringLenencBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_MEDIUM_BLOB
),
instanceOf
(
MySQL
StringLenencBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeBlob
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_BLOB
),
instanceOf
(
StringLenencBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_BLOB
),
instanceOf
(
MySQL
StringLenencBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeTinyBlob
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_TINY_BLOB
),
instanceOf
(
StringLenencBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_TINY_BLOB
),
instanceOf
(
MySQL
StringLenencBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeGeometry
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_GEOMETRY
),
instanceOf
(
StringLenencBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_GEOMETRY
),
instanceOf
(
MySQL
StringLenencBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeBit
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_BIT
),
instanceOf
(
StringLenencBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_BIT
),
instanceOf
(
MySQL
StringLenencBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeDecimal
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_DECIMAL
),
instanceOf
(
StringLenencBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_DECIMAL
),
instanceOf
(
MySQL
StringLenencBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeNewDecimal
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_NEWDECIMAL
),
instanceOf
(
StringLenencBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_NEWDECIMAL
),
instanceOf
(
MySQL
StringLenencBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeLongLong
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_LONGLONG
),
instanceOf
(
Int8BinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_LONGLONG
),
instanceOf
(
MySQL
Int8BinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeLong
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_LONG
),
instanceOf
(
Int4BinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_LONG
),
instanceOf
(
MySQL
Int4BinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeInt24
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_INT24
),
instanceOf
(
Int4BinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_INT24
),
instanceOf
(
MySQL
Int4BinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeShort
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_SHORT
),
instanceOf
(
Int2BinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_SHORT
),
instanceOf
(
MySQL
Int2BinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeYear
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_YEAR
),
instanceOf
(
Int2BinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_YEAR
),
instanceOf
(
MySQL
Int2BinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeTiny
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_TINY
),
instanceOf
(
Int1BinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_TINY
),
instanceOf
(
MySQL
Int1BinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeDouble
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_DOUBLE
),
instanceOf
(
DoubleBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_DOUBLE
),
instanceOf
(
MySQL
DoubleBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeFloat
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_FLOAT
),
instanceOf
(
FloatBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_FLOAT
),
instanceOf
(
MySQL
FloatBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeDate
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_DATE
),
instanceOf
(
DateBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_DATE
),
instanceOf
(
MySQL
DateBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeDatetime
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_DATETIME
),
instanceOf
(
DateBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_DATETIME
),
instanceOf
(
MySQL
DateBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeTimestamp
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_TIMESTAMP
),
instanceOf
(
DateBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_TIMESTAMP
),
instanceOf
(
MySQL
DateBinaryProtocolValue
.
class
));
}
@Test
public
void
assertGetBinaryProtocolValueWithMySQLTypeTime
()
{
assertThat
(
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_TIME
),
instanceOf
(
TimeBinaryProtocolValue
.
class
));
assertThat
(
MySQLBinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_TIME
),
instanceOf
(
MySQL
TimeBinaryProtocolValue
.
class
));
}
@Test
(
expected
=
IllegalArgumentException
.
class
)
public
void
assertGetBinaryProtocolValueWithUnsupportedType
()
{
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_NULL
);
MySQL
BinaryProtocolValueFactory
.
getBinaryProtocolValue
(
MySQLColumnType
.
MYSQL_TYPE_NULL
);
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/StringLenencBinaryProtocolValueTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
StringLenencBinaryProtocolValueTest.java
浏览文件 @
069934b5
...
...
@@ -29,7 +29,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
StringLenencBinaryProtocolValueTest
{
public
final
class
MySQL
StringLenencBinaryProtocolValueTest
{
@Mock
private
MySQLPacketPayload
payload
;
...
...
@@ -37,12 +37,12 @@ public final class StringLenencBinaryProtocolValueTest {
@Test
public
void
assertReadStringLenenc
()
{
when
(
payload
.
readStringLenenc
()).
thenReturn
(
"value"
);
assertThat
(
new
StringLenencBinaryProtocolValue
().
read
(
payload
),
is
((
Object
)
"value"
));
assertThat
(
new
MySQL
StringLenencBinaryProtocolValue
().
read
(
payload
),
is
((
Object
)
"value"
));
}
@Test
public
void
assertWriteStringLenenc
()
{
new
StringLenencBinaryProtocolValue
().
write
(
payload
,
"value"
);
new
MySQL
StringLenencBinaryProtocolValue
().
write
(
payload
,
"value"
);
verify
(
payload
).
writeStringLenenc
(
"value"
);
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/TimeBinaryProtocolValueTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/protocol/
MySQL
TimeBinaryProtocolValueTest.java
浏览文件 @
069934b5
...
...
@@ -32,21 +32,21 @@ import static org.junit.Assert.assertThat;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
TimeBinaryProtocolValueTest
{
public
final
class
MySQL
TimeBinaryProtocolValueTest
{
@Mock
private
MySQLPacketPayload
payload
;
@Test
public
void
assertReadWithZeroByte
()
{
assertThat
(
new
TimeBinaryProtocolValue
().
read
(
payload
),
CoreMatchers
.<
Object
>
is
(
new
Timestamp
(
0
)));
assertThat
(
new
MySQL
TimeBinaryProtocolValue
().
read
(
payload
),
CoreMatchers
.<
Object
>
is
(
new
Timestamp
(
0
)));
}
@Test
public
void
assertReadWithEightBytes
()
{
when
(
payload
.
readInt1
()).
thenReturn
(
8
,
0
,
10
,
59
,
0
);
Calendar
actual
=
Calendar
.
getInstance
();
actual
.
setTimeInMillis
(((
Timestamp
)
new
TimeBinaryProtocolValue
().
read
(
payload
)).
getTime
());
actual
.
setTimeInMillis
(((
Timestamp
)
new
MySQL
TimeBinaryProtocolValue
().
read
(
payload
)).
getTime
());
assertThat
(
actual
.
get
(
Calendar
.
HOUR_OF_DAY
),
is
(
10
));
assertThat
(
actual
.
get
(
Calendar
.
MINUTE
),
is
(
59
));
assertThat
(
actual
.
get
(
Calendar
.
SECOND
),
is
(
0
));
...
...
@@ -56,7 +56,7 @@ public final class TimeBinaryProtocolValueTest {
public
void
assertReadWithTwelveBytes
()
{
when
(
payload
.
readInt1
()).
thenReturn
(
12
,
0
,
10
,
59
,
0
);
Calendar
actual
=
Calendar
.
getInstance
();
actual
.
setTimeInMillis
(((
Timestamp
)
new
TimeBinaryProtocolValue
().
read
(
payload
)).
getTime
());
actual
.
setTimeInMillis
(((
Timestamp
)
new
MySQL
TimeBinaryProtocolValue
().
read
(
payload
)).
getTime
());
assertThat
(
actual
.
get
(
Calendar
.
HOUR_OF_DAY
),
is
(
10
));
assertThat
(
actual
.
get
(
Calendar
.
MINUTE
),
is
(
59
));
assertThat
(
actual
.
get
(
Calendar
.
SECOND
),
is
(
0
));
...
...
@@ -65,6 +65,6 @@ public final class TimeBinaryProtocolValueTest {
@Test
(
expected
=
IllegalArgumentException
.
class
)
public
void
assertReadWithIllegalArgument
()
{
when
(
payload
.
readInt1
()).
thenReturn
(
100
);
new
TimeBinaryProtocolValue
().
read
(
payload
);
new
MySQL
TimeBinaryProtocolValue
().
read
(
payload
);
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/fixture/BinaryStatementRegistryUtil.java
浏览文件 @
069934b5
...
...
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.q
import
lombok.AccessLevel
;
import
lombok.NoArgsConstructor
;
import
lombok.SneakyThrows
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.BinaryStatementRegistry
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.
MySQL
BinaryStatementRegistry
;
import
java.lang.reflect.Field
;
import
java.util.Map
;
...
...
@@ -30,18 +30,18 @@ import java.util.concurrent.atomic.AtomicInteger;
public
final
class
BinaryStatementRegistryUtil
{
/**
* Reset {@code BinaryStatementRegistry}.
* Reset {@code
MySQL
BinaryStatementRegistry}.
*/
@SneakyThrows
public
static
void
reset
()
{
Field
statementIdAssignerField
=
BinaryStatementRegistry
.
class
.
getDeclaredField
(
"statementIdAssigner"
);
Field
statementIdAssignerField
=
MySQL
BinaryStatementRegistry
.
class
.
getDeclaredField
(
"statementIdAssigner"
);
statementIdAssignerField
.
setAccessible
(
true
);
((
Map
)
statementIdAssignerField
.
get
(
BinaryStatementRegistry
.
getInstance
())).
clear
();
Field
binaryStatementsField
=
BinaryStatementRegistry
.
class
.
getDeclaredField
(
"binaryStatements"
);
((
Map
)
statementIdAssignerField
.
get
(
MySQL
BinaryStatementRegistry
.
getInstance
())).
clear
();
Field
binaryStatementsField
=
MySQL
BinaryStatementRegistry
.
class
.
getDeclaredField
(
"binaryStatements"
);
binaryStatementsField
.
setAccessible
(
true
);
((
Map
)
binaryStatementsField
.
get
(
BinaryStatementRegistry
.
getInstance
())).
clear
();
Field
sequenceField
=
BinaryStatementRegistry
.
class
.
getDeclaredField
(
"sequence"
);
((
Map
)
binaryStatementsField
.
get
(
MySQL
BinaryStatementRegistry
.
getInstance
())).
clear
();
Field
sequenceField
=
MySQL
BinaryStatementRegistry
.
class
.
getDeclaredField
(
"sequence"
);
sequenceField
.
setAccessible
(
true
);
((
AtomicInteger
)
sequenceField
.
get
(
BinaryStatementRegistry
.
getInstance
())).
set
(
0
);
((
AtomicInteger
)
sequenceField
.
get
(
MySQL
BinaryStatementRegistry
.
getInstance
())).
set
(
0
);
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/prepare/
ComStmtPrepare
OKPacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/prepare/
MySQLComStmtPrepareMySQL
OKPacketTest.java
浏览文件 @
069934b5
...
...
@@ -29,14 +29,14 @@ import static org.mockito.Mockito.times;
import
static
org
.
mockito
.
Mockito
.
verify
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
ComStmtPrepare
OKPacketTest
{
public
final
class
MySQLComStmtPrepareMySQL
OKPacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
@Test
public
void
assertWrite
()
{
ComStmtPrepareOKPacket
actual
=
new
ComStmtPrepareOKPacket
(
1
,
1
,
1
,
1
,
0
);
MySQLComStmtPrepareOKPacket
actual
=
new
MySQL
ComStmtPrepareOKPacket
(
1
,
1
,
1
,
1
,
0
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
actual
.
write
(
payload
);
verify
(
payload
).
writeInt1
(
0x00
);
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/prepare/ComStmtPreparePacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/prepare/
MySQL
ComStmtPreparePacketTest.java
浏览文件 @
069934b5
...
...
@@ -35,9 +35,9 @@ import org.apache.shardingsphere.shardingproxy.transport.common.packet.DatabaseP
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLColumnType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.ColumnDefinition41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.
MySQL
ColumnDefinition41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.binary.fixture.BinaryStatementRegistryUtil
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.EofPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
EofPacket
;
import
org.apache.shardingsphere.transaction.core.TransactionType
;
import
org.hamcrest.CoreMatchers
;
import
org.junit.After
;
...
...
@@ -61,7 +61,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
ComStmtPreparePacketTest
{
public
final
class
MySQL
ComStmtPreparePacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
...
...
@@ -96,7 +96,7 @@ public final class ComStmtPreparePacketTest {
@Test
public
void
assertWrite
()
{
when
(
payload
.
readStringEOF
()).
thenReturn
(
"SELECT id FROM tbl WHERE id=?"
);
ComStmtPreparePacket
actual
=
new
ComStmtPreparePacket
(
1
,
backendConnection
,
payload
);
MySQLComStmtPreparePacket
actual
=
new
MySQL
ComStmtPreparePacket
(
1
,
backendConnection
,
payload
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
actual
.
write
(
payload
);
verify
(
payload
).
writeStringEOF
(
"SELECT id FROM tbl WHERE id=?"
);
...
...
@@ -112,14 +112,14 @@ public final class ComStmtPreparePacketTest {
assertTrue
(
actual
.
isPresent
());
assertThat
(
actual
.
get
().
getPackets
().
size
(),
is
(
3
));
Iterator
<
DatabasePacket
>
packets
=
actual
.
get
().
getPackets
().
iterator
();
ComStmtPrepareOKPacket
comStmtPrepareOKPacket
=
(
ComStmtPrepareOKPacket
)
packets
.
next
();
assertThat
(
c
omStmtPrepareOKPacket
.
getSequenceId
(),
is
(
1
));
ColumnDefinition41Packet
columnDefinition41Packet
=
(
ColumnDefinition41Packet
)
packets
.
next
();
assertThat
(
c
olumnDefinition41Packet
.
getSequenceId
(),
is
(
2
));
assertThat
(
c
olumnDefinition41Packet
.
getName
(),
is
(
""
));
assertThat
(
c
olumnDefinition41Packet
.
getMySQLColumnType
(),
is
(
MySQLColumnType
.
MYSQL_TYPE_VARCHAR
));
EofPacket
eofPacket
=
(
EofPacket
)
packets
.
next
();
assertThat
(
e
ofPacket
.
getSequenceId
(),
is
(
3
));
MySQLComStmtPrepareOKPacket
mySQLComStmtPrepareOKPacket
=
(
MySQL
ComStmtPrepareOKPacket
)
packets
.
next
();
assertThat
(
mySQLC
omStmtPrepareOKPacket
.
getSequenceId
(),
is
(
1
));
MySQLColumnDefinition41Packet
mySQLColumnDefinition41Packet
=
(
MySQL
ColumnDefinition41Packet
)
packets
.
next
();
assertThat
(
mySQLC
olumnDefinition41Packet
.
getSequenceId
(),
is
(
2
));
assertThat
(
mySQLC
olumnDefinition41Packet
.
getName
(),
is
(
""
));
assertThat
(
mySQLC
olumnDefinition41Packet
.
getMySQLColumnType
(),
is
(
MySQLColumnType
.
MYSQL_TYPE_VARCHAR
));
MySQLEofPacket
mySQLEofPacket
=
(
MySQL
EofPacket
)
packets
.
next
();
assertThat
(
mySQLE
ofPacket
.
getSequenceId
(),
is
(
3
));
}
@Test
...
...
@@ -130,7 +130,7 @@ public final class ComStmtPreparePacketTest {
Optional
<
CommandResponsePackets
>
actual
=
getComStmtPreparePacketWithMockedSQLParsingEngine
(
"SELECT 1"
,
selectStatement
).
execute
();
assertTrue
(
actual
.
isPresent
());
assertThat
(
actual
.
get
().
getPackets
().
size
(),
is
(
1
));
assertThat
(
actual
.
get
().
getHeadPacket
(),
CoreMatchers
.<
DatabasePacket
>
instanceOf
(
ComStmtPrepareOKPacket
.
class
));
assertThat
(
actual
.
get
().
getHeadPacket
(),
CoreMatchers
.<
DatabasePacket
>
instanceOf
(
MySQL
ComStmtPrepareOKPacket
.
class
));
assertThat
(
actual
.
get
().
getHeadPacket
().
getSequenceId
(),
is
(
1
));
}
...
...
@@ -141,7 +141,7 @@ public final class ComStmtPreparePacketTest {
Optional
<
CommandResponsePackets
>
actual
=
getComStmtPreparePacketWithMockedSQLParsingEngine
(
"INSERT INTO tbl VALUES(1)"
,
insertStatement
).
execute
();
assertTrue
(
actual
.
isPresent
());
assertThat
(
actual
.
get
().
getPackets
().
size
(),
is
(
1
));
assertThat
(
actual
.
get
().
getHeadPacket
(),
CoreMatchers
.<
DatabasePacket
>
instanceOf
(
ComStmtPrepareOKPacket
.
class
));
assertThat
(
actual
.
get
().
getHeadPacket
(),
CoreMatchers
.<
DatabasePacket
>
instanceOf
(
MySQL
ComStmtPrepareOKPacket
.
class
));
assertThat
(
actual
.
get
().
getHeadPacket
().
getSequenceId
(),
is
(
1
));
}
...
...
@@ -151,17 +151,17 @@ public final class ComStmtPreparePacketTest {
Optional
<
CommandResponsePackets
>
actual
=
getComStmtPreparePacketWithMockedSQLParsingEngine
(
"SHOW TABLES"
,
showTablesStatement
).
execute
();
assertTrue
(
actual
.
isPresent
());
assertThat
(
actual
.
get
().
getPackets
().
size
(),
is
(
1
));
assertThat
(
actual
.
get
().
getHeadPacket
(),
CoreMatchers
.<
DatabasePacket
>
instanceOf
(
ComStmtPrepareOKPacket
.
class
));
assertThat
(
actual
.
get
().
getHeadPacket
(),
CoreMatchers
.<
DatabasePacket
>
instanceOf
(
MySQL
ComStmtPrepareOKPacket
.
class
));
assertThat
(
actual
.
get
().
getHeadPacket
().
getSequenceId
(),
is
(
1
));
}
@SneakyThrows
private
ComStmtPreparePacket
getComStmtPreparePacketWithMockedSQLParsingEngine
(
final
String
sql
,
final
SQLStatement
sqlStatement
)
{
private
MySQL
ComStmtPreparePacket
getComStmtPreparePacketWithMockedSQLParsingEngine
(
final
String
sql
,
final
SQLStatement
sqlStatement
)
{
when
(
payload
.
readStringEOF
()).
thenReturn
(
sql
);
ComStmtPreparePacket
result
=
new
ComStmtPreparePacket
(
1
,
backendConnection
,
payload
);
MySQLComStmtPreparePacket
result
=
new
MySQL
ComStmtPreparePacket
(
1
,
backendConnection
,
payload
);
SQLParsingEngine
sqlParsingEngine
=
mock
(
SQLParsingEngine
.
class
);
when
(
sqlParsingEngine
.
parse
(
true
)).
thenReturn
(
sqlStatement
);
Field
field
=
ComStmtPreparePacket
.
class
.
getDeclaredField
(
"sqlParsingEngine"
);
Field
field
=
MySQL
ComStmtPreparePacket
.
class
.
getDeclaredField
(
"sqlParsingEngine"
);
field
.
setAccessible
(
true
);
field
.
set
(
result
,
sqlParsingEngine
);
return
result
;
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/TextResultSetRowPacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/
MySQL
TextResultSetRowPacketTest.java
浏览文件 @
069934b5
...
...
@@ -29,7 +29,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
TextResultSetRowPacketTest
{
public
final
class
MySQL
TextResultSetRowPacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
...
...
@@ -38,7 +38,7 @@ public final class TextResultSetRowPacketTest {
public
void
assertWrite
()
{
when
(
payload
.
readInt1
()).
thenReturn
(
1
);
when
(
payload
.
readStringLenenc
()).
thenReturn
(
"value_a"
,
null
,
"value_c"
);
TextResultSetRowPacket
actual
=
new
TextResultSetRowPacket
(
payload
,
3
);
MySQLTextResultSetRowPacket
actual
=
new
MySQL
TextResultSetRowPacket
(
payload
,
3
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
actual
.
write
(
payload
);
verify
(
payload
).
writeStringLenenc
(
"value_a"
);
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/fieldlist/ComFieldListPacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/fieldlist/
MySQL
ComFieldListPacketTest.java
浏览文件 @
069934b5
...
...
@@ -29,12 +29,12 @@ import org.apache.shardingsphere.shardingproxy.transport.common.packet.DatabaseP
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLColumnType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLServerErrorCode
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.ColumnDefinition41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.FieldCountPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.EofPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.ErrPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.
MySQL
ColumnDefinition41Packet
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.
MySQL
FieldCountPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
EofPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.generic.
MySQL
ErrPacket
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
...
...
@@ -55,7 +55,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
ComFieldListPacketTest
{
public
final
class
MySQL
ComFieldListPacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
...
...
@@ -83,10 +83,10 @@ public final class ComFieldListPacketTest {
public
void
assertWrite
()
{
when
(
payload
.
readStringNul
()).
thenReturn
(
"tbl"
);
when
(
payload
.
readStringEOF
()).
thenReturn
(
"-"
);
ComFieldListPacket
actual
=
new
ComFieldListPacket
(
1
,
payload
,
backendConnection
);
MySQLComFieldListPacket
actual
=
new
MySQL
ComFieldListPacket
(
1
,
payload
,
backendConnection
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
actual
.
write
(
payload
);
verify
(
payload
).
writeInt1
(
CommandPacketType
.
COM_FIELD_LIST
.
getValue
());
verify
(
payload
).
writeInt1
(
MySQL
CommandPacketType
.
COM_FIELD_LIST
.
getValue
());
verify
(
payload
).
writeStringNul
(
"tbl"
);
verify
(
payload
).
writeStringEOF
(
"-"
);
}
...
...
@@ -97,24 +97,24 @@ public final class ComFieldListPacketTest {
when
(
payload
.
readStringEOF
()).
thenReturn
(
"-"
);
when
(
databaseCommunicationEngine
.
next
()).
thenReturn
(
true
,
false
);
when
(
databaseCommunicationEngine
.
getResultValue
()).
thenReturn
(
new
ResultPacket
(
1
,
Collections
.<
Object
>
singletonList
(
"id"
),
1
,
Collections
.
singletonList
(
Types
.
VARCHAR
)));
when
(
databaseCommunicationEngine
.
execute
()).
thenReturn
(
new
CommandResponsePackets
(
new
FieldCountPacket
(
1
,
1
)));
ComFieldListPacket
packet
=
new
ComFieldListPacket
(
1
,
payload
,
backendConnection
);
when
(
databaseCommunicationEngine
.
execute
()).
thenReturn
(
new
CommandResponsePackets
(
new
MySQL
FieldCountPacket
(
1
,
1
)));
MySQLComFieldListPacket
packet
=
new
MySQL
ComFieldListPacket
(
1
,
payload
,
backendConnection
);
setBackendHandler
(
packet
);
Optional
<
CommandResponsePackets
>
actual
=
packet
.
execute
();
assertTrue
(
actual
.
isPresent
());
assertThat
(
actual
.
get
().
getPackets
().
size
(),
is
(
2
));
Iterator
<
DatabasePacket
>
databasePackets
=
actual
.
get
().
getPackets
().
iterator
();
assertColumnDefinition41Packet
((
ColumnDefinition41Packet
)
databasePackets
.
next
());
assertEofPacket
((
EofPacket
)
databasePackets
.
next
());
assertColumnDefinition41Packet
((
MySQL
ColumnDefinition41Packet
)
databasePackets
.
next
());
assertEofPacket
((
MySQL
EofPacket
)
databasePackets
.
next
());
}
private
void
assertColumnDefinition41Packet
(
final
ColumnDefinition41Packet
actual
)
{
private
void
assertColumnDefinition41Packet
(
final
MySQL
ColumnDefinition41Packet
actual
)
{
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
assertThat
(
actual
.
getName
(),
is
(
"id"
));
assertThat
(
actual
.
getMySQLColumnType
(),
is
(
MySQLColumnType
.
MYSQL_TYPE_VARCHAR
));
}
private
void
assertEofPacket
(
final
EofPacket
actual
)
{
private
void
assertEofPacket
(
final
MySQL
EofPacket
actual
)
{
assertThat
(
actual
.
getSequenceId
(),
is
(
2
));
}
...
...
@@ -122,9 +122,9 @@ public final class ComFieldListPacketTest {
public
void
assertExecuteWhenFailure
()
throws
SQLException
{
when
(
payload
.
readStringNul
()).
thenReturn
(
"tbl"
);
when
(
payload
.
readStringEOF
()).
thenReturn
(
"-"
);
CommandResponsePackets
expected
=
new
CommandResponsePackets
(
new
ErrPacket
(
1
,
MySQLServerErrorCode
.
ER_STD_UNKNOWN_EXCEPTION
,
"unknown"
));
CommandResponsePackets
expected
=
new
CommandResponsePackets
(
new
MySQL
ErrPacket
(
1
,
MySQLServerErrorCode
.
ER_STD_UNKNOWN_EXCEPTION
,
"unknown"
));
when
(
databaseCommunicationEngine
.
execute
()).
thenReturn
(
expected
);
ComFieldListPacket
packet
=
new
ComFieldListPacket
(
1
,
payload
,
backendConnection
);
MySQLComFieldListPacket
packet
=
new
MySQL
ComFieldListPacket
(
1
,
payload
,
backendConnection
);
setBackendHandler
(
packet
);
Optional
<
CommandResponsePackets
>
actual
=
packet
.
execute
();
assertTrue
(
actual
.
isPresent
());
...
...
@@ -132,8 +132,8 @@ public final class ComFieldListPacketTest {
}
@SneakyThrows
private
void
setBackendHandler
(
final
ComFieldListPacket
packet
)
{
Field
field
=
ComFieldListPacket
.
class
.
getDeclaredField
(
"databaseCommunicationEngine"
);
private
void
setBackendHandler
(
final
MySQL
ComFieldListPacket
packet
)
{
Field
field
=
MySQL
ComFieldListPacket
.
class
.
getDeclaredField
(
"databaseCommunicationEngine"
);
field
.
setAccessible
(
true
);
field
.
set
(
packet
,
databaseCommunicationEngine
);
}
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/query/ComQueryPacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/query/
MySQL
ComQueryPacketTest.java
浏览文件 @
069934b5
...
...
@@ -30,9 +30,9 @@ import org.apache.shardingsphere.shardingproxy.transport.common.packet.DatabaseP
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.command.CommandResponsePackets
;
import
org.apache.shardingsphere.shardingproxy.transport.common.packet.generic.DatabaseSuccessPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.MySQLPacketPayload
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.FieldCountPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.TextResultSetRowPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.
MySQL
CommandPacketType
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.
MySQL
FieldCountPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.
MySQL
TextResultSetRowPacket
;
import
org.apache.shardingsphere.shardingproxy.transport.mysql.packet.command.query.text.query.fixture.ShardingTransactionManagerFixture
;
import
org.apache.shardingsphere.transaction.core.TransactionOperationType
;
import
org.apache.shardingsphere.transaction.core.TransactionType
;
...
...
@@ -60,7 +60,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
ComQueryPacketTest
{
public
final
class
MySQL
ComQueryPacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
...
...
@@ -90,38 +90,38 @@ public final class ComQueryPacketTest {
@Test
public
void
assertWrite
()
{
ComQueryPacket
actual
=
new
ComQueryPacket
(
1
,
"SELECT id FROM tbl"
);
MySQLComPacketQuery
actual
=
new
MySQLComPacketQuery
(
1
,
"SELECT id FROM tbl"
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
actual
.
write
(
payload
);
verify
(
payload
).
writeInt1
(
CommandPacketType
.
COM_QUERY
.
getValue
());
verify
(
payload
).
writeInt1
(
MySQL
CommandPacketType
.
COM_QUERY
.
getValue
());
verify
(
payload
).
writeStringEOF
(
"SELECT id FROM tbl"
);
}
@Test
public
void
assertExecuteWithoutTransaction
()
throws
SQLException
{
when
(
payload
.
readStringEOF
()).
thenReturn
(
"SELECT id FROM tbl"
);
ComQueryPacket
packet
=
new
ComQueryPacket
(
1
,
payload
,
backendConnection
);
FieldCountPacket
expectedFieldCountPacket
=
new
FieldCountPacket
(
1
,
1
);
setBackendHandler
(
packet
,
expectedFieldCountPacket
);
MySQLComPacketQuery
packet
=
new
MySQLComPacketQuery
(
1
,
payload
,
backendConnection
);
MySQLFieldCountPacket
expectedMySQLFieldCountPacket
=
new
MySQL
FieldCountPacket
(
1
,
1
);
setBackendHandler
(
packet
,
expected
MySQL
FieldCountPacket
);
Optional
<
CommandResponsePackets
>
actual
=
packet
.
execute
();
assertTrue
(
actual
.
isPresent
());
assertThat
(
actual
.
get
().
getPackets
().
size
(),
is
(
1
));
assertThat
(
actual
.
get
().
getPackets
().
iterator
().
next
(),
is
((
DatabasePacket
)
expectedFieldCountPacket
));
assertThat
(
actual
.
get
().
getPackets
().
iterator
().
next
(),
is
((
DatabasePacket
)
expected
MySQL
FieldCountPacket
));
assertTrue
(
packet
.
next
());
assertThat
(
packet
.
getResultValue
().
getSequenceId
(),
is
(
2
));
assertThat
(((
TextResultSetRowPacket
)
packet
.
getResultValue
()).
getData
(),
is
(
Collections
.<
Object
>
singletonList
(
99999L
)));
assertThat
(((
MySQL
TextResultSetRowPacket
)
packet
.
getResultValue
()).
getData
(),
is
(
Collections
.<
Object
>
singletonList
(
99999L
)));
assertFalse
(
packet
.
next
());
}
@SneakyThrows
private
void
setBackendHandler
(
final
ComQueryPacket
packet
,
final
FieldCountPacket
expected
FieldCountPacket
)
{
private
void
setBackendHandler
(
final
MySQLComPacketQuery
packet
,
final
MySQLFieldCountPacket
expectedMySQL
FieldCountPacket
)
{
TextProtocolBackendHandler
textProtocolBackendHandler
=
mock
(
TextProtocolBackendHandler
.
class
);
when
(
textProtocolBackendHandler
.
next
()).
thenReturn
(
true
,
false
);
when
(
textProtocolBackendHandler
.
getResultValue
()).
thenReturn
(
new
ResultPacket
(
1
,
Collections
.<
Object
>
singletonList
(
"id"
),
1
,
Collections
.
singletonList
(
Types
.
VARCHAR
)));
when
(
textProtocolBackendHandler
.
execute
()).
thenReturn
(
new
CommandResponsePackets
(
expectedFieldCountPacket
));
when
(
textProtocolBackendHandler
.
execute
()).
thenReturn
(
new
CommandResponsePackets
(
expected
MySQL
FieldCountPacket
));
when
(
textProtocolBackendHandler
.
next
()).
thenReturn
(
true
,
false
);
when
(
textProtocolBackendHandler
.
getResultValue
()).
thenReturn
(
new
ResultPacket
(
2
,
Collections
.<
Object
>
singletonList
(
99999L
),
1
,
Collections
.
singletonList
(
Types
.
BIGINT
)));
Field
field
=
ComQueryPacket
.
class
.
getDeclaredField
(
"textProtocolBackendHandler"
);
Field
field
=
MySQLComPacketQuery
.
class
.
getDeclaredField
(
"textProtocolBackendHandler"
);
field
.
setAccessible
(
true
);
field
.
set
(
packet
,
textProtocolBackendHandler
);
}
...
...
@@ -129,7 +129,7 @@ public final class ComQueryPacketTest {
@Test
public
void
assertExecuteTCLWithLocalTransaction
()
{
when
(
payload
.
readStringEOF
()).
thenReturn
(
"COMMIT"
);
ComQueryPacket
packet
=
new
ComQueryPacket
(
1
,
payload
,
backendConnection
);
MySQLComPacketQuery
packet
=
new
MySQLComPacketQuery
(
1
,
payload
,
backendConnection
);
backendConnection
.
getStateHandler
().
getAndSetStatus
(
ConnectionStatus
.
TRANSACTION
);
Optional
<
CommandResponsePackets
>
actual
=
packet
.
execute
();
assertTrue
(
actual
.
isPresent
());
...
...
@@ -140,7 +140,7 @@ public final class ComQueryPacketTest {
public
void
assertExecuteTCLWithXATransaction
()
{
backendConnection
.
setTransactionType
(
TransactionType
.
XA
);
when
(
payload
.
readStringEOF
()).
thenReturn
(
"ROLLBACK"
);
ComQueryPacket
packet
=
new
ComQueryPacket
(
1
,
payload
,
backendConnection
);
MySQLComPacketQuery
packet
=
new
MySQLComPacketQuery
(
1
,
payload
,
backendConnection
);
backendConnection
.
getStateHandler
().
getAndSetStatus
(
ConnectionStatus
.
TRANSACTION
);
Optional
<
CommandResponsePackets
>
actual
=
packet
.
execute
();
assertTrue
(
actual
.
isPresent
());
...
...
@@ -152,7 +152,7 @@ public final class ComQueryPacketTest {
public
void
assertExecuteRollbackWithXATransaction
()
{
backendConnection
.
setTransactionType
(
TransactionType
.
XA
);
when
(
payload
.
readStringEOF
()).
thenReturn
(
"COMMIT"
);
ComQueryPacket
packet
=
new
ComQueryPacket
(
1
,
payload
,
backendConnection
);
MySQLComPacketQuery
packet
=
new
MySQLComPacketQuery
(
1
,
payload
,
backendConnection
);
backendConnection
.
getStateHandler
().
getAndSetStatus
(
ConnectionStatus
.
TRANSACTION
);
Optional
<
CommandResponsePackets
>
actual
=
packet
.
execute
();
assertTrue
(
actual
.
isPresent
());
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/AllMySQLGenericPacketTests.java
浏览文件 @
069934b5
...
...
@@ -23,9 +23,9 @@ import org.junit.runners.Suite.SuiteClasses;
@RunWith
(
Suite
.
class
)
@SuiteClasses
({
OKPacketTest
.
class
,
EofPacketTest
.
class
,
ErrPacketTest
.
class
MySQLOKPacketTest
.
class
,
MySQL
EofPacketTest
.
class
,
MySQL
ErrPacketTest
.
class
})
public
final
class
AllMySQLGenericPacketTests
{
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/EofPacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/
MySQL
EofPacketTest.java
浏览文件 @
069934b5
...
...
@@ -29,14 +29,14 @@ import static org.junit.Assert.assertThat;
import
static
org
.
mockito
.
Mockito
.
verify
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
EofPacketTest
{
public
final
class
MySQL
EofPacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
@Test
public
void
assertNewEofPacketWithSequenceId
()
{
EofPacket
actual
=
new
EofPacket
(
1
);
MySQLEofPacket
actual
=
new
MySQL
EofPacket
(
1
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
assertThat
(
actual
.
getWarnings
(),
is
(
0
));
assertThat
(
actual
.
getStatusFlags
(),
is
(
MySQLStatusFlag
.
SERVER_STATUS_AUTOCOMMIT
.
getValue
()));
...
...
@@ -44,8 +44,8 @@ public final class EofPacketTest {
@Test
public
void
assertWrite
()
{
new
EofPacket
(
1
).
write
(
payload
);
verify
(
payload
).
writeInt1
(
EofPacket
.
HEADER
);
new
MySQL
EofPacket
(
1
).
write
(
payload
);
verify
(
payload
).
writeInt1
(
MySQL
EofPacket
.
HEADER
);
verify
(
payload
).
writeInt2
(
0
);
verify
(
payload
).
writeInt2
(
MySQLStatusFlag
.
SERVER_STATUS_AUTOCOMMIT
.
getValue
());
}
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/ErrPacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/
MySQL
ErrPacketTest.java
浏览文件 @
069934b5
...
...
@@ -31,14 +31,14 @@ import static org.junit.Assert.assertThat;
import
static
org
.
mockito
.
Mockito
.
verify
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
ErrPacketTest
{
public
final
class
MySQL
ErrPacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
@Test
public
void
assertNewErrPacketWithServerErrorCode
()
{
ErrPacket
actual
=
new
ErrPacket
(
1
,
MySQLServerErrorCode
.
ER_ACCESS_DENIED_ERROR
,
"root"
,
"localhost"
,
"root"
);
MySQLErrPacket
actual
=
new
MySQL
ErrPacket
(
1
,
MySQLServerErrorCode
.
ER_ACCESS_DENIED_ERROR
,
"root"
,
"localhost"
,
"root"
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
assertThat
(
actual
.
getErrorCode
(),
is
(
MySQLServerErrorCode
.
ER_ACCESS_DENIED_ERROR
.
getErrorCode
()));
assertThat
(
actual
.
getSqlState
(),
is
(
MySQLServerErrorCode
.
ER_ACCESS_DENIED_ERROR
.
getSqlState
()));
...
...
@@ -47,7 +47,7 @@ public final class ErrPacketTest {
@Test
public
void
assertNewErrPacketWithException
()
{
ErrPacket
actual
=
new
ErrPacket
(
1
,
new
SQLException
(
"no reason"
,
"X999"
,
-
1
));
MySQLErrPacket
actual
=
new
MySQL
ErrPacket
(
1
,
new
SQLException
(
"no reason"
,
"X999"
,
-
1
));
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
assertThat
(
actual
.
getErrorCode
(),
is
(-
1
));
assertThat
(
actual
.
getSqlState
(),
is
(
"X999"
));
...
...
@@ -56,8 +56,8 @@ public final class ErrPacketTest {
@Test
public
void
assertWrite
()
{
new
ErrPacket
(
1
,
new
SQLException
(
"no reason"
,
"X999"
,
-
1
)).
write
(
payload
);
verify
(
payload
).
writeInt1
(
ErrPacket
.
HEADER
);
new
MySQL
ErrPacket
(
1
,
new
SQLException
(
"no reason"
,
"X999"
,
-
1
)).
write
(
payload
);
verify
(
payload
).
writeInt1
(
MySQL
ErrPacket
.
HEADER
);
verify
(
payload
).
writeInt2
(-
1
);
verify
(
payload
).
writeStringFix
(
"#"
);
verify
(
payload
).
writeStringFix
(
"X999"
);
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/OKPacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/generic/
MySQL
OKPacketTest.java
浏览文件 @
069934b5
...
...
@@ -29,14 +29,14 @@ import static org.junit.Assert.assertThat;
import
static
org
.
mockito
.
Mockito
.
verify
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
OKPacketTest
{
public
final
class
MySQL
OKPacketTest
{
@Mock
private
MySQLPacketPayload
packetPayload
;
@Test
public
void
assertNewOKPacketWithSequenceId
()
{
OKPacket
actual
=
new
OKPacket
(
1
);
MySQLOKPacket
actual
=
new
MySQL
OKPacket
(
1
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
assertThat
(
actual
.
getAffectedRows
(),
is
(
0L
));
assertThat
(
actual
.
getLastInsertId
(),
is
(
0L
));
...
...
@@ -46,7 +46,7 @@ public final class OKPacketTest {
@Test
public
void
assertNewOKPacketWithAffectedRowsAndLastInsertId
()
{
OKPacket
actual
=
new
OKPacket
(
1
,
100L
,
9999L
);
MySQLOKPacket
actual
=
new
MySQL
OKPacket
(
1
,
100L
,
9999L
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
assertThat
(
actual
.
getAffectedRows
(),
is
(
100L
));
assertThat
(
actual
.
getLastInsertId
(),
is
(
9999L
));
...
...
@@ -56,8 +56,8 @@ public final class OKPacketTest {
@Test
public
void
assertWrite
()
{
new
OKPacket
(
1
,
100L
,
9999L
).
write
(
packetPayload
);
verify
(
packetPayload
).
writeInt1
(
OKPacket
.
HEADER
);
new
MySQL
OKPacket
(
1
,
100L
,
9999L
).
write
(
packetPayload
);
verify
(
packetPayload
).
writeInt1
(
MySQL
OKPacket
.
HEADER
);
verify
(
packetPayload
).
writeIntLenenc
(
100L
);
verify
(
packetPayload
).
writeIntLenenc
(
9999L
);
verify
(
packetPayload
).
writeInt2
(
MySQLStatusFlag
.
SERVER_STATUS_AUTOCOMMIT
.
getValue
());
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/AllMySQLHandshakeTests.java
浏览文件 @
069934b5
...
...
@@ -23,12 +23,12 @@ import org.junit.runners.Suite.SuiteClasses;
@RunWith
(
Suite
.
class
)
@SuiteClasses
({
RandomGeneratorTest
.
class
,
AuthenticationHandlerTest
.
class
,
AuthPluginDataTest
.
class
,
ConnectionIdGeneratorTest
.
class
,
HandshakePacketTest
.
class
,
HandshakeResponse41PacketTest
.
class
MySQLRandomGeneratorTest
.
class
,
MySQL
AuthenticationHandlerTest
.
class
,
MySQLAuthPluginDataTest
.
class
,
MySQLConnectionIdGeneratorTest
.
class
,
MySQLHandshakePacketTest
.
class
,
MySQL
HandshakeResponse41PacketTest
.
class
})
public
final
class
AllMySQLHandshakeTests
{
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/AuthPluginDataTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/
MySQL
AuthPluginDataTest.java
浏览文件 @
069934b5
...
...
@@ -23,13 +23,13 @@ import org.junit.Test;
import
static
org
.
hamcrest
.
CoreMatchers
.
is
;
import
static
org
.
junit
.
Assert
.
assertThat
;
public
final
class
AuthPluginDataTest
{
public
final
class
MySQL
AuthPluginDataTest
{
@Test
public
void
assertGetAuthPluginData
()
{
byte
[]
actualPart1
=
{
106
,
105
,
55
,
122
,
117
,
98
,
115
,
109
};
byte
[]
actualPart2
=
{
68
,
102
,
53
,
122
,
65
,
49
,
84
,
79
,
85
,
115
,
116
,
113
};
AuthPluginData
actual
=
new
AuthPluginData
(
actualPart1
,
actualPart2
);
MySQLAuthPluginData
actual
=
new
MySQL
AuthPluginData
(
actualPart1
,
actualPart2
);
assertThat
(
actual
.
getAuthPluginDataPart1
(),
is
(
actualPart1
));
assertThat
(
actual
.
getAuthPluginDataPart2
(),
is
(
actualPart2
));
assertThat
(
actual
.
getAuthPluginData
(),
is
(
Bytes
.
concat
(
actualPart1
,
actualPart2
)));
...
...
@@ -37,7 +37,7 @@ public final class AuthPluginDataTest {
@Test
public
void
assertGetAuthPluginDataWithoutArguments
()
{
AuthPluginData
actual
=
new
AuthPluginData
();
MySQLAuthPluginData
actual
=
new
MySQL
AuthPluginData
();
assertThat
(
actual
.
getAuthPluginDataPart1
().
length
,
is
(
8
));
assertThat
(
actual
.
getAuthPluginDataPart2
().
length
,
is
(
12
));
assertThat
(
actual
.
getAuthPluginData
().
length
,
is
(
20
));
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/AuthenticationHandlerTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/
MySQL
AuthenticationHandlerTest.java
浏览文件 @
069934b5
...
...
@@ -30,9 +30,9 @@ import static org.hamcrest.CoreMatchers.is;
import
static
org
.
junit
.
Assert
.
assertThat
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
public
final
class
AuthenticationHandlerTest
{
public
final
class
MySQL
AuthenticationHandlerTest
{
private
final
AuthenticationHandler
authenticationHandler
=
new
AuthenticationHandler
();
private
final
MySQLAuthenticationHandler
mySQLAuthenticationHandler
=
new
MySQL
AuthenticationHandler
();
private
final
byte
[]
part1
=
{
84
,
85
,
115
,
77
,
68
,
116
,
85
,
78
};
...
...
@@ -45,24 +45,24 @@ public final class AuthenticationHandlerTest {
@SneakyThrows
private
void
initAuthPluginDataForAuthenticationHandler
()
{
AuthPluginData
authPluginData
=
new
AuthPluginData
(
part1
,
part2
);
Field
field
=
AuthenticationHandler
.
class
.
getDeclaredField
(
"authPluginData"
);
MySQLAuthPluginData
mySQLAuthPluginData
=
new
MySQL
AuthPluginData
(
part1
,
part2
);
Field
field
=
MySQL
AuthenticationHandler
.
class
.
getDeclaredField
(
"authPluginData"
);
field
.
setAccessible
(
true
);
field
.
set
(
authenticationHandler
,
a
uthPluginData
);
field
.
set
(
mySQLAuthenticationHandler
,
mySQLA
uthPluginData
);
}
@Test
public
void
assertLoginWithPassword
()
{
setAuthentication
(
new
Authentication
(
"root"
,
"root"
));
byte
[]
authResponse
=
{-
27
,
89
,
-
20
,
-
27
,
65
,
-
120
,
-
64
,
-
101
,
86
,
-
100
,
-
108
,
-
100
,
6
,
-
125
,
-
37
,
117
,
14
,
-
43
,
95
,
-
113
};
assertTrue
(
a
uthenticationHandler
.
login
(
"root"
,
authResponse
));
assertTrue
(
mySQLA
uthenticationHandler
.
login
(
"root"
,
authResponse
));
}
@Test
public
void
assertLoginWithoutPassword
()
{
setAuthentication
(
new
Authentication
(
"root"
,
null
));
byte
[]
authResponse
=
{-
27
,
89
,
-
20
,
-
27
,
65
,
-
120
,
-
64
,
-
101
,
86
,
-
100
,
-
108
,
-
100
,
6
,
-
125
,
-
37
,
117
,
14
,
-
43
,
95
,
-
113
};
assertTrue
(
a
uthenticationHandler
.
login
(
"root"
,
authResponse
));
assertTrue
(
mySQLA
uthenticationHandler
.
login
(
"root"
,
authResponse
));
}
@SneakyThrows
...
...
@@ -74,6 +74,6 @@ public final class AuthenticationHandlerTest {
@Test
public
void
assertGetAuthPluginData
()
{
assertThat
(
authenticationHandler
.
get
AuthPluginData
().
getAuthPluginData
(),
is
(
Bytes
.
concat
(
part1
,
part2
)));
assertThat
(
mySQLAuthenticationHandler
.
getMySQL
AuthPluginData
().
getAuthPluginData
(),
is
(
Bytes
.
concat
(
part1
,
part2
)));
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/ConnectionIdGeneratorTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/
MySQL
ConnectionIdGeneratorTest.java
浏览文件 @
069934b5
...
...
@@ -28,7 +28,7 @@ import static org.hamcrest.CoreMatchers.is;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertThat
;
public
final
class
ConnectionIdGeneratorTest
{
public
final
class
MySQL
ConnectionIdGeneratorTest
{
@Before
@After
...
...
@@ -38,19 +38,19 @@ public final class ConnectionIdGeneratorTest {
@Test
public
void
assertNextId
()
{
assertEquals
(
ConnectionIdGenerator
.
getInstance
().
nextId
(),
1
);
assertEquals
(
MySQL
ConnectionIdGenerator
.
getInstance
().
nextId
(),
1
);
}
@Test
public
void
assertMaxNextId
()
{
setCurrentConnectionId
(
Integer
.
MAX_VALUE
);
assertThat
(
ConnectionIdGenerator
.
getInstance
().
nextId
(),
is
(
1
));
assertThat
(
MySQL
ConnectionIdGenerator
.
getInstance
().
nextId
(),
is
(
1
));
}
@SneakyThrows
private
void
setCurrentConnectionId
(
final
int
connectionId
)
{
Field
field
=
ConnectionIdGenerator
.
class
.
getDeclaredField
(
"currentId"
);
Field
field
=
MySQL
ConnectionIdGenerator
.
class
.
getDeclaredField
(
"currentId"
);
field
.
setAccessible
(
true
);
field
.
set
(
ConnectionIdGenerator
.
getInstance
(),
connectionId
);
field
.
set
(
MySQL
ConnectionIdGenerator
.
getInstance
(),
connectionId
);
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/HandshakePacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/
MySQL
HandshakePacketTest.java
浏览文件 @
069934b5
...
...
@@ -32,7 +32,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
HandshakePacketTest
{
public
final
class
MySQL
HandshakePacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
...
...
@@ -49,28 +49,28 @@ public final class HandshakePacketTest {
when
(
payload
.
readInt4
()).
thenReturn
(
1000
);
when
(
payload
.
readInt2
()).
thenReturn
(
MySQLCapabilityFlag
.
calculateHandshakeCapabilityFlagsLower
(),
MySQLStatusFlag
.
SERVER_STATUS_AUTOCOMMIT
.
getValue
(),
MySQLCapabilityFlag
.
calculateHandshakeCapabilityFlagsUpper
());
HandshakePacket
actual
=
new
HandshakePacket
(
payload
);
MySQLHandshakePacket
actual
=
new
MySQL
HandshakePacket
(
payload
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
assertThat
(
actual
.
getConnectionId
(),
is
(
1000
));
assertThat
(
actual
.
getAuthPluginData
().
getAuthPluginDataPart1
(),
is
(
part1
));
assertThat
(
actual
.
getAuthPluginData
().
getAuthPluginDataPart2
(),
is
(
part2
));
assertThat
(
actual
.
get
MySQL
AuthPluginData
().
getAuthPluginDataPart1
(),
is
(
part1
));
assertThat
(
actual
.
get
MySQL
AuthPluginData
().
getAuthPluginDataPart2
(),
is
(
part2
));
verify
(
payload
).
skipReserved
(
10
);
}
@Test
public
void
assertWrite
()
{
AuthPluginData
authPluginData
=
new
AuthPluginData
(
part1
,
part2
);
new
HandshakePacket
(
1000
,
a
uthPluginData
).
write
(
payload
);
MySQLAuthPluginData
mySQLAuthPluginData
=
new
MySQL
AuthPluginData
(
part1
,
part2
);
new
MySQLHandshakePacket
(
1000
,
mySQLA
uthPluginData
).
write
(
payload
);
verify
(
payload
).
writeInt1
(
MySQLServerInfo
.
PROTOCOL_VERSION
);
verify
(
payload
).
writeStringNul
(
MySQLServerInfo
.
SERVER_VERSION
);
verify
(
payload
).
writeInt4
(
1000
);
verify
(
payload
).
writeStringNul
(
new
String
(
a
uthPluginData
.
getAuthPluginDataPart1
()));
verify
(
payload
).
writeStringNul
(
new
String
(
mySQLA
uthPluginData
.
getAuthPluginDataPart1
()));
verify
(
payload
).
writeInt2
(
MySQLCapabilityFlag
.
calculateHandshakeCapabilityFlagsLower
());
verify
(
payload
).
writeInt1
(
MySQLServerInfo
.
CHARSET
);
verify
(
payload
).
writeInt2
(
MySQLStatusFlag
.
SERVER_STATUS_AUTOCOMMIT
.
getValue
());
verify
(
payload
).
writeInt2
(
MySQLCapabilityFlag
.
calculateHandshakeCapabilityFlagsUpper
());
verify
(
payload
).
writeInt1
(
0
);
verify
(
payload
).
writeReserved
(
10
);
verify
(
payload
).
writeStringNul
(
new
String
(
a
uthPluginData
.
getAuthPluginDataPart2
()));
verify
(
payload
).
writeStringNul
(
new
String
(
mySQLA
uthPluginData
.
getAuthPluginDataPart2
()));
}
}
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/HandshakeResponse41PacketTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/
MySQL
HandshakeResponse41PacketTest.java
浏览文件 @
069934b5
...
...
@@ -31,7 +31,7 @@ import static org.mockito.Mockito.verify;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
final
class
HandshakeResponse41PacketTest
{
public
final
class
MySQL
HandshakeResponse41PacketTest
{
@Mock
private
MySQLPacketPayload
payload
;
...
...
@@ -42,7 +42,7 @@ public final class HandshakeResponse41PacketTest {
when
(
payload
.
readInt4
()).
thenReturn
(
MySQLCapabilityFlag
.
CLIENT_CONNECT_WITH_DB
.
getValue
(),
1000
);
when
(
payload
.
readStringNul
()).
thenReturn
(
"root"
,
"sharding_db"
);
when
(
payload
.
readStringNulByBytes
()).
thenReturn
(
new
byte
[]
{
1
});
HandshakeResponse41Packet
actual
=
new
HandshakeResponse41Packet
(
payload
);
MySQLHandshakeResponse41Packet
actual
=
new
MySQL
HandshakeResponse41Packet
(
payload
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
assertThat
(
actual
.
getUsername
(),
is
(
"root"
));
assertThat
(
actual
.
getAuthResponse
(),
is
(
new
byte
[]
{
1
}));
...
...
@@ -55,7 +55,7 @@ public final class HandshakeResponse41PacketTest {
when
(
payload
.
readInt4
()).
thenReturn
(
MySQLCapabilityFlag
.
CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA
.
getValue
(),
1000
);
when
(
payload
.
readStringNul
()).
thenReturn
(
"root"
);
when
(
payload
.
readStringLenencByBytes
()).
thenReturn
(
new
byte
[]
{
1
});
HandshakeResponse41Packet
actual
=
new
HandshakeResponse41Packet
(
payload
);
MySQLHandshakeResponse41Packet
actual
=
new
MySQL
HandshakeResponse41Packet
(
payload
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
assertThat
(
actual
.
getUsername
(),
is
(
"root"
));
assertThat
(
actual
.
getAuthResponse
(),
is
(
new
byte
[]
{
1
}));
...
...
@@ -68,7 +68,7 @@ public final class HandshakeResponse41PacketTest {
when
(
payload
.
readInt4
()).
thenReturn
(
MySQLCapabilityFlag
.
CLIENT_SECURE_CONNECTION
.
getValue
(),
1000
);
when
(
payload
.
readStringNul
()).
thenReturn
(
"root"
);
when
(
payload
.
readStringFixByBytes
(
1
)).
thenReturn
(
new
byte
[]
{
1
});
HandshakeResponse41Packet
actual
=
new
HandshakeResponse41Packet
(
payload
);
MySQLHandshakeResponse41Packet
actual
=
new
MySQL
HandshakeResponse41Packet
(
payload
);
assertThat
(
actual
.
getSequenceId
(),
is
(
1
));
assertThat
(
actual
.
getUsername
(),
is
(
"root"
));
assertThat
(
actual
.
getAuthResponse
(),
is
(
new
byte
[]
{
1
}));
...
...
@@ -77,7 +77,7 @@ public final class HandshakeResponse41PacketTest {
@Test
public
void
assertWriteWithDatabase
()
{
new
HandshakeResponse41Packet
(
1
,
MySQLCapabilityFlag
.
CLIENT_CONNECT_WITH_DB
.
getValue
(),
100
,
MySQLServerInfo
.
CHARSET
,
"root"
,
new
byte
[]
{
1
},
"sharding_db"
).
write
(
payload
);
new
MySQL
HandshakeResponse41Packet
(
1
,
MySQLCapabilityFlag
.
CLIENT_CONNECT_WITH_DB
.
getValue
(),
100
,
MySQLServerInfo
.
CHARSET
,
"root"
,
new
byte
[]
{
1
},
"sharding_db"
).
write
(
payload
);
verify
(
payload
).
writeInt4
(
MySQLCapabilityFlag
.
CLIENT_CONNECT_WITH_DB
.
getValue
());
verify
(
payload
).
writeInt4
(
100
);
verify
(
payload
).
writeInt1
(
MySQLServerInfo
.
CHARSET
);
...
...
@@ -89,7 +89,7 @@ public final class HandshakeResponse41PacketTest {
@Test
public
void
assertWriteWithClientPluginAuthLenencClientData
()
{
new
HandshakeResponse41Packet
(
1
,
MySQLCapabilityFlag
.
CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA
.
getValue
(),
100
,
MySQLServerInfo
.
CHARSET
,
"root"
,
new
byte
[]
{
1
},
null
).
write
(
payload
);
new
MySQL
HandshakeResponse41Packet
(
1
,
MySQLCapabilityFlag
.
CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA
.
getValue
(),
100
,
MySQLServerInfo
.
CHARSET
,
"root"
,
new
byte
[]
{
1
},
null
).
write
(
payload
);
verify
(
payload
).
writeInt4
(
MySQLCapabilityFlag
.
CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA
.
getValue
());
verify
(
payload
).
writeInt4
(
100
);
verify
(
payload
).
writeInt1
(
MySQLServerInfo
.
CHARSET
);
...
...
@@ -100,7 +100,7 @@ public final class HandshakeResponse41PacketTest {
@Test
public
void
assertWriteWithClientSecureConnection
()
{
new
HandshakeResponse41Packet
(
1
,
MySQLCapabilityFlag
.
CLIENT_SECURE_CONNECTION
.
getValue
(),
100
,
MySQLServerInfo
.
CHARSET
,
"root"
,
new
byte
[]
{
1
},
null
).
write
(
payload
);
new
MySQL
HandshakeResponse41Packet
(
1
,
MySQLCapabilityFlag
.
CLIENT_SECURE_CONNECTION
.
getValue
(),
100
,
MySQLServerInfo
.
CHARSET
,
"root"
,
new
byte
[]
{
1
},
null
).
write
(
payload
);
verify
(
payload
).
writeInt4
(
MySQLCapabilityFlag
.
CLIENT_SECURE_CONNECTION
.
getValue
());
verify
(
payload
).
writeInt4
(
100
);
verify
(
payload
).
writeInt1
(
MySQLServerInfo
.
CHARSET
);
...
...
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/RandomGeneratorTest.java
→
sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/handshake/
MySQL
RandomGeneratorTest.java
浏览文件 @
069934b5
...
...
@@ -22,11 +22,11 @@ import org.junit.Test;
import
static
org
.
hamcrest
.
CoreMatchers
.
is
;
import
static
org
.
junit
.
Assert
.
assertThat
;
public
final
class
RandomGeneratorTest
{
public
final
class
MySQL
RandomGeneratorTest
{
@Test
public
void
assertGenerateRandomBytes
()
{
assertThat
(
RandomGenerator
.
getInstance
().
generateRandomBytes
(
8
).
length
,
is
(
8
));
assertThat
(
RandomGenerator
.
getInstance
().
generateRandomBytes
(
12
).
length
,
is
(
12
));
assertThat
(
MySQL
RandomGenerator
.
getInstance
().
generateRandomBytes
(
8
).
length
,
is
(
8
));
assertThat
(
MySQL
RandomGenerator
.
getInstance
().
generateRandomBytes
(
12
).
length
,
is
(
12
));
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录