-
Notifications
You must be signed in to change notification settings - Fork 320
Closed
Labels
Priority/Lowexpect fix as devs arrangementexpect fix as devs arrangementautotest-waitissue waits to be added to autotestissue waits to be added to autotestresolveproblem has been fixed by developerproblem has been fixed by developer
Milestone
Description
- dble version: 5.6.29-dble-9.9.9.9-67d04aa94d912fb01583096c6d8cba52f513996e-20190619021040
- preconditions :
1.add follows to my.cnf of backend mysql:
sql_mode=NO_ENGINE_SUBSTITUTION
2.restart mysql server
- configs:
schema.xml
<schema name="mytest" sqlMaxLimit="100" dataNode="dn1">
<schema name="testdb" sqlMaxLimit="100" dataNode="dn4">
<table name="sharding_four" dataNode="dn1,dn2,dn3,dn4" rule="hash-four"/>
<table name="sharding_table" dataNode="dn1,dn2" rule="hash-two"/>
<table name="test" dataNode="dn3,dn4" type="global"/>
</schema>
<dataNode name="dn1" dataHost="localhost1" database="db1"/>
<dataNode name="dn2" dataHost="localhost1" database="db2"/>
<dataNode name="dn3" dataHost="localhost1" database="db3"/>
<dataNode name="dn4" dataHost="localhost1" database="db4"/>
<dataHost balance="0" maxCon="1000" minCon="10" name="localhost1" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="10.186.61.87:3306" password="123" user="root"/>
</dataHost>
- steps:
- show variables like 'sql_mode%' in backend mysql;
mysql> show variables like 'sql_mode%';
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| sql_mode | NO_ENGINE_SUBSTITUTION |
+---------------+------------------------+
2.execute java code in java IDE:
public static void main(String[] args) throws Exception {
Connection connection = DriverManager.getConnection("jdbc:mysql://10.186.61.87:8066?useServerPrepStmts=true", "test", "123");
}
- expect result:
- no err returns in step2
- real result:
- step 2 returns err as follows:
Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: set autocommit cmd can't used in multi-set statement
Query is : set session autocommit=1,sql_mode='IGNORE_SPACE,NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES'
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readErrorPacket(AbstractQueryProtocol.java:1115)
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1047)
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1002)
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:142)
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:125)
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.setSessionOptions(AbstractConnectProtocol.java:451)
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:393)
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:823)
at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:469)
at org.mariadb.jdbc.Driver.connect(Driver.java:104)
... 3 more
- supplements:
- mariadb drive version: mariadb-java-client-1.5.8.jar
Metadata
Metadata
Assignees
Labels
Priority/Lowexpect fix as devs arrangementexpect fix as devs arrangementautotest-waitissue waits to be added to autotestissue waits to be added to autotestresolveproblem has been fixed by developerproblem has been fixed by developer