Loading sharding-jdbc-server/src/main/java/io/shardingjdbc/server/packet/command/ComInitDbPacket.java 0 → 100644 +40 −0 Original line number Diff line number Diff line package io.shardingjdbc.server.packet.command; import io.shardingjdbc.server.constant.StatusFlag; import io.shardingjdbc.server.packet.AbstractMySQLSentPacket; import io.shardingjdbc.server.packet.MySQLPacketPayload; import io.shardingjdbc.server.packet.ok.ErrPacket; import io.shardingjdbc.server.packet.ok.OKPacket; import lombok.extern.slf4j.Slf4j; import java.util.Collections; import java.util.List; /** * COM_INIT_DB command packet. * @see <a href="https://dev.mysql.com/doc/internals/en/com-init-db.html#packet-COM_INIT_DB">COM_INIT_DB</a> * * @author zhangliang */ @Slf4j public final class ComInitDbPacket extends AbstractCommandPacket { private static final String LOGIC_DATABASE_NAME = "sharding_db"; private String schemaName; @Override public ComInitDbPacket read(final MySQLPacketPayload mysqlPacketPayload) { schemaName = mysqlPacketPayload.readStringEOF(); log.debug("Schema name received for Sharding-JDBC-server: {}", schemaName); return this; } @Override public List<AbstractMySQLSentPacket> execute() { if (LOGIC_DATABASE_NAME.equalsIgnoreCase(schemaName)) { return Collections.<AbstractMySQLSentPacket>singletonList(new OKPacket(getSequenceId() + 1, 0, 0, StatusFlag.SERVER_STATUS_AUTOCOMMIT.getValue(), 0, "")); } return Collections.<AbstractMySQLSentPacket>singletonList(new ErrPacket(getSequenceId() + 1, 1049, "", "", String.format("Unknown database '%s'", schemaName))); } } sharding-jdbc-server/src/main/java/io/shardingjdbc/server/packet/command/ComQuitPacket.java +1 −3 Original line number Diff line number Diff line Loading @@ -4,7 +4,6 @@ import io.shardingjdbc.server.constant.StatusFlag; import io.shardingjdbc.server.packet.AbstractMySQLSentPacket; import io.shardingjdbc.server.packet.MySQLPacketPayload; import io.shardingjdbc.server.packet.ok.OKPacket; import lombok.RequiredArgsConstructor; import java.util.Collections; import java.util.List; Loading @@ -15,7 +14,6 @@ import java.util.List; * * @author zhangliang */ @RequiredArgsConstructor public final class ComQuitPacket extends AbstractCommandPacket { @Override Loading @@ -25,6 +23,6 @@ public final class ComQuitPacket extends AbstractCommandPacket { @Override public List<AbstractMySQLSentPacket> execute() { return Collections.<AbstractMySQLSentPacket>singletonList(new OKPacket(getSequenceId() + 1, 0, 0, StatusFlag.SERVER_STATUS_AUTOCOMMIT.getValue(), 0, "Quit OK")); return Collections.<AbstractMySQLSentPacket>singletonList(new OKPacket(getSequenceId() + 1, 0, 0, StatusFlag.SERVER_STATUS_AUTOCOMMIT.getValue(), 0, "")); } } sharding-jdbc-server/src/main/java/io/shardingjdbc/server/packet/command/CommandPacketFactory.java +2 −1 Original line number Diff line number Diff line Loading @@ -12,10 +12,11 @@ public final class CommandPacketFactory { switch (type) { case COM_QUIT: return new ComQuitPacket(); case COM_INIT_DB: return new ComInitDbPacket(); case COM_QUERY: return new ComQueryPacket(); case COM_SLEEP: case COM_INIT_DB: case COM_FIELD_LIST: case COM_CREATE_DB: case COM_DROP_DB: Loading Loading
sharding-jdbc-server/src/main/java/io/shardingjdbc/server/packet/command/ComInitDbPacket.java 0 → 100644 +40 −0 Original line number Diff line number Diff line package io.shardingjdbc.server.packet.command; import io.shardingjdbc.server.constant.StatusFlag; import io.shardingjdbc.server.packet.AbstractMySQLSentPacket; import io.shardingjdbc.server.packet.MySQLPacketPayload; import io.shardingjdbc.server.packet.ok.ErrPacket; import io.shardingjdbc.server.packet.ok.OKPacket; import lombok.extern.slf4j.Slf4j; import java.util.Collections; import java.util.List; /** * COM_INIT_DB command packet. * @see <a href="https://dev.mysql.com/doc/internals/en/com-init-db.html#packet-COM_INIT_DB">COM_INIT_DB</a> * * @author zhangliang */ @Slf4j public final class ComInitDbPacket extends AbstractCommandPacket { private static final String LOGIC_DATABASE_NAME = "sharding_db"; private String schemaName; @Override public ComInitDbPacket read(final MySQLPacketPayload mysqlPacketPayload) { schemaName = mysqlPacketPayload.readStringEOF(); log.debug("Schema name received for Sharding-JDBC-server: {}", schemaName); return this; } @Override public List<AbstractMySQLSentPacket> execute() { if (LOGIC_DATABASE_NAME.equalsIgnoreCase(schemaName)) { return Collections.<AbstractMySQLSentPacket>singletonList(new OKPacket(getSequenceId() + 1, 0, 0, StatusFlag.SERVER_STATUS_AUTOCOMMIT.getValue(), 0, "")); } return Collections.<AbstractMySQLSentPacket>singletonList(new ErrPacket(getSequenceId() + 1, 1049, "", "", String.format("Unknown database '%s'", schemaName))); } }
sharding-jdbc-server/src/main/java/io/shardingjdbc/server/packet/command/ComQuitPacket.java +1 −3 Original line number Diff line number Diff line Loading @@ -4,7 +4,6 @@ import io.shardingjdbc.server.constant.StatusFlag; import io.shardingjdbc.server.packet.AbstractMySQLSentPacket; import io.shardingjdbc.server.packet.MySQLPacketPayload; import io.shardingjdbc.server.packet.ok.OKPacket; import lombok.RequiredArgsConstructor; import java.util.Collections; import java.util.List; Loading @@ -15,7 +14,6 @@ import java.util.List; * * @author zhangliang */ @RequiredArgsConstructor public final class ComQuitPacket extends AbstractCommandPacket { @Override Loading @@ -25,6 +23,6 @@ public final class ComQuitPacket extends AbstractCommandPacket { @Override public List<AbstractMySQLSentPacket> execute() { return Collections.<AbstractMySQLSentPacket>singletonList(new OKPacket(getSequenceId() + 1, 0, 0, StatusFlag.SERVER_STATUS_AUTOCOMMIT.getValue(), 0, "Quit OK")); return Collections.<AbstractMySQLSentPacket>singletonList(new OKPacket(getSequenceId() + 1, 0, 0, StatusFlag.SERVER_STATUS_AUTOCOMMIT.getValue(), 0, "")); } }
sharding-jdbc-server/src/main/java/io/shardingjdbc/server/packet/command/CommandPacketFactory.java +2 −1 Original line number Diff line number Diff line Loading @@ -12,10 +12,11 @@ public final class CommandPacketFactory { switch (type) { case COM_QUIT: return new ComQuitPacket(); case COM_INIT_DB: return new ComInitDbPacket(); case COM_QUERY: return new ComQueryPacket(); case COM_SLEEP: case COM_INIT_DB: case COM_FIELD_LIST: case COM_CREATE_DB: case COM_DROP_DB: Loading