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]

Reply via email to