This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
The following commit(s) were added to refs/heads/master by this push:
new d5b6428 [improvement] Upgrade MySQL version to 5.7.37 to reduce
unnecessary CVE issues (#8247)
d5b6428 is described below
commit d5b6428c6df4952e4262b882ab579aa4ee8e6b4e
Author: aopangzi <[email protected]>
AuthorDate: Wed Mar 2 10:16:02 2022 +0800
[improvement] Upgrade MySQL version to 5.7.37 to reduce unnecessary CVE
issues (#8247)
---
docs/en/administrator-guide/variables.md | 12 +++++++++
docs/zh-CN/administrator-guide/variables.md | 12 +++++++++
.../apache/doris/mysql/MysqlHandshakePacket.java | 2 +-
.../java/org/apache/doris/qe/GlobalVariable.java | 4 ++-
.../java/org/apache/doris/qe/SessionVariable.java | 30 +++++++++++++++++++++-
.../doris/mysql/MysqlHandshakePacketTest.java | 2 +-
6 files changed, 58 insertions(+), 4 deletions(-)
diff --git a/docs/en/administrator-guide/variables.md
b/docs/en/administrator-guide/variables.md
index b03a85d..e6d6e22 100644
--- a/docs/en/administrator-guide/variables.md
+++ b/docs/en/administrator-guide/variables.md
@@ -373,6 +373,18 @@ Translated with www.DeepL.com/Translator (free version)
Used for compatibility with MySQL clients. No practical effect.
+* `tx_read_only`
+
+ Used for compatibility with MySQL clients. No practical effect.
+
+* `transaction_read_only`
+
+ Used for compatibility with MySQL clients. No practical effect.
+
+* `transaction_isolation`
+
+ Used for compatibility with MySQL clients. No practical effect.
+
* `version`
Used for compatibility with MySQL clients. No practical effect.
diff --git a/docs/zh-CN/administrator-guide/variables.md
b/docs/zh-CN/administrator-guide/variables.md
index 7506abe..219e860 100644
--- a/docs/zh-CN/administrator-guide/variables.md
+++ b/docs/zh-CN/administrator-guide/variables.md
@@ -367,6 +367,18 @@ SELECT /*+ SET_VAR(query_timeout = 1,
enable_partition_cache=true) */ sleep(3);
用于兼容 MySQL 客户端。无实际作用。
+* `tx_read_only`
+
+ 用于兼容 MySQL 客户端。无实际作用。
+
+* `transaction_read_only`
+
+ 用于兼容 MySQL 客户端。无实际作用。
+
+* `transaction_isolation`
+
+ 用于兼容 MySQL 客户端。无实际作用。
+
* `version`
用于兼容 MySQL 客户端。无实际作用。
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlHandshakePacket.java
b/fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlHandshakePacket.java
index ed7aec9..856b2e4 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlHandshakePacket.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlHandshakePacket.java
@@ -23,7 +23,7 @@ public class MysqlHandshakePacket extends MysqlPacket {
// Version of handshake packet, since MySQL 3.21.0, Handshake of protocol
10 is used
private static final int PROTOCOL_VERSION = 10;
// JDBC uses this version to check which protocol the server support
- private static final String SERVER_VERSION = "5.1.73";
+ public static final String SERVER_VERSION = "5.7.37";
// 33 stands for UTF-8 character set
private static final int CHARACTER_SET = 33;
// use default capability for all
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/GlobalVariable.java
b/fe/fe-core/src/main/java/org/apache/doris/qe/GlobalVariable.java
index b6612a2..9a0e817 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/GlobalVariable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/GlobalVariable.java
@@ -20,6 +20,8 @@ package org.apache.doris.qe;
import org.apache.doris.common.Version;
import org.apache.doris.common.util.TimeUtils;
+import org.apache.doris.mysql.MysqlHandshakePacket;
+
import com.google.common.collect.Lists;
import java.lang.reflect.Field;
@@ -47,7 +49,7 @@ public final class GlobalVariable {
Version.DORIS_BUILD_VERSION + "-" + Version.DORIS_BUILD_SHORT_HASH;
@VariableMgr.VarAttr(name = VERSION, flag = VariableMgr.READ_ONLY)
- public static String version = "5.1.0";
+ public static String version = MysqlHandshakePacket.SERVER_VERSION;
// 0: table names are stored as specified and comparisons are case
sensitive.
// 1: table names are stored in lowercase on disk and comparisons are not
case sensitive.
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
index 1f55f39..c15f717 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
@@ -48,6 +48,9 @@ public class SessionVariable implements Serializable,
Writable {
public static final String RESOURCE_VARIABLE = "resource_group";
public static final String AUTO_COMMIT = "autocommit";
public static final String TX_ISOLATION = "tx_isolation";
+ public static final String TX_READ_ONLY = "tx_read_only";
+ public static final String TRANSACTION_READ_ONLY = "transaction_read_only";
+ public static final String TRANSACTION_ISOLATION = "transaction_isolation";
public static final String CHARACTER_SET_CLIENT = "character_set_client";
public static final String CHARACTER_SET_CONNNECTION =
"character_set_connection";
public static final String CHARACTER_SET_RESULTS = "character_set_results";
@@ -214,7 +217,19 @@ public class SessionVariable implements Serializable,
Writable {
// this is used to make c3p0 library happy
@VariableMgr.VarAttr(name = TX_ISOLATION)
public String txIsolation = "REPEATABLE-READ";
-
+
+ // this is used to make mysql client happy
+ @VariableMgr.VarAttr(name = TX_READ_ONLY)
+ public boolean txReadonly = false;
+
+ // this is used to make mysql client happy
+ @VariableMgr.VarAttr(name = TRANSACTION_READ_ONLY)
+ public boolean transactionReadonly = false;
+
+ // this is used to make mysql client happy
+ @VariableMgr.VarAttr(name = TRANSACTION_ISOLATION)
+ public String transactionIsolation = "REPEATABLE-READ";
+
// this is used to make c3p0 library happy
@VariableMgr.VarAttr(name = CHARACTER_SET_CLIENT)
public String charsetClient = "utf8";
@@ -454,7 +469,19 @@ public class SessionVariable implements Serializable,
Writable {
public boolean isAutoCommit() {
return autoCommit;
}
+
+ public boolean isTxReadonly() {
+ return txReadonly;
+ }
+ public boolean isTransactionReadonly() {
+ return transactionReadonly;
+ }
+
+ public String getTransactionIsolation() {
+ return transactionIsolation;
+ }
+
public String getTxIsolation() {
return txIsolation;
}
@@ -949,6 +976,7 @@ public class SessionVariable implements Serializable,
Writable {
Text.writeString(out, root.toString());
}
+
public void readFields(DataInput in) throws IOException {
readFromJson(in);
}
diff --git
a/fe/fe-core/src/test/java/org/apache/doris/mysql/MysqlHandshakePacketTest.java
b/fe/fe-core/src/test/java/org/apache/doris/mysql/MysqlHandshakePacketTest.java
index 86ea229..40d138f 100644
---
a/fe/fe-core/src/test/java/org/apache/doris/mysql/MysqlHandshakePacketTest.java
+++
b/fe/fe-core/src/test/java/org/apache/doris/mysql/MysqlHandshakePacketTest.java
@@ -62,7 +62,7 @@ public class MysqlHandshakePacketTest {
// assert protocol version
Assert.assertEquals(10, MysqlProto.readInt1(buffer));
// server version
- Assert.assertEquals("5.1.0", new
String(MysqlProto.readNulTerminateString(buffer)));
+ Assert.assertEquals("5.7.37", new
String(MysqlProto.readNulTerminateString(buffer)));
// connection id
Assert.assertEquals(1090, MysqlProto.readInt4(buffer));
// plugin data 1
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]