You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ji...@apache.org on 2022/10/22 00:01:41 UTC

[shardingsphere] branch master updated: Refactor DistSQL VARIABLE (#21678)

This is an automated email from the ASF dual-hosted git repository.

jianglongtao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 451bf96677d Refactor DistSQL VARIABLE (#21678)
451bf96677d is described below

commit 451bf96677dd28a95f6eb348bd418763c6658421
Author: ChenJiaHao <37...@users.noreply.github.com>
AuthorDate: Sat Oct 22 08:01:33 2022 +0800

    Refactor DistSQL VARIABLE (#21678)
    
    * Change DistSQL keyword SHOW ALL VARIABLES to SHOW DIST VARIABLES
    
    * Change DistSQL keyword SET VARIABLE to SET DIST VARIABLE & Change SHOW VARIABLE to SHOW DIST VARIABLE
    
    * Revise document for DistSQL
    
    * Fix document
    
    * Rename Variable statement & test cases
    
    * Fix unit test
    
    * Fix UT & IT
---
 distsql/parser/src/main/antlr4/imports/Keyword.g4  |  8 +++++
 .../parser/src/main/antlr4/imports/RALStatement.g4 | 12 ++++----
 .../parser/autogen/KernelDistSQLStatement.g4       |  6 ++--
 .../core/kernel/KernelDistSQLStatementVisitor.java | 24 +++++++--------
 ...atement.java => ShowDistVariableStatement.java} |  4 +--
 ...tement.java => ShowDistVariablesStatement.java} |  4 +--
 ...tatement.java => SetDistVariableStatement.java} |  4 +--
 .../distsql/syntax/ral/_index.cn.md                | 34 +++++++++++-----------
 .../distsql/syntax/ral/_index.en.md                | 12 ++++----
 .../distsql/ral/RALBackendHandlerFactory.java      | 12 ++++----
 .../ral/queryable/ShowAllVariablesHandler.java     |  4 +--
 .../distsql/ral/queryable/ShowVariableHandler.java |  4 +--
 .../distsql/ral/updatable/SetVariableHandler.java  |  4 +--
 .../handler/ProxyBackendHandlerFactoryTest.java    |  6 ++--
 .../ral/queryable/ShowAllVariablesHandlerTest.java |  4 +--
 .../queryable/ShowVariableBackendHandlerTest.java  | 12 ++++----
 .../updatable/SetVariableBackendHandlerTest.java   | 18 ++++++------
 .../ral/updatable/SetVariableExecutorTest.java     |  8 ++---
 .../parse/PostgreSQLComParseExecutorTest.java      |  6 ++--
 .../cases/ral/ral-integration-test-cases.xml       | 10 +++----
 .../ral/impl/QueryableRALStatementAssert.java      | 20 ++++++-------
 .../ral/impl/UpdatableRALStatementAssert.java      | 10 +++----
 ...t.java => ShowDistVariableStatementAssert.java} | 16 +++++-----
 ....java => ShowDistVariablesStatementAssert.java} | 16 +++++-----
 ...rt.java => SetDistVariableStatementAssert.java} | 16 +++++-----
 .../jaxb/cases/domain/SQLParserTestCases.java      | 18 ++++++------
 ....java => SetDistVariableStatementTestCase.java} |  4 +--
 ...java => ShowDistVariableStatementTestCase.java} |  4 +--
 ...ava => ShowDistVariablesStatementTestCase.java} |  4 +--
 .../src/main/resources/case/ral/queryable.xml      |  4 +--
 .../src/main/resources/case/ral/updatable.xml      |  2 +-
 .../main/resources/sql/supported/ral/queryable.xml |  4 +--
 .../main/resources/sql/supported/ral/updatable.xml |  2 +-
 33 files changed, 162 insertions(+), 154 deletions(-)

diff --git a/distsql/parser/src/main/antlr4/imports/Keyword.g4 b/distsql/parser/src/main/antlr4/imports/Keyword.g4
index 09773174d73..0228da6f749 100644
--- a/distsql/parser/src/main/antlr4/imports/Keyword.g4
+++ b/distsql/parser/src/main/antlr4/imports/Keyword.g4
@@ -310,3 +310,11 @@ RATE_LIMITER
 STREAM_CHANNEL
     : S T R E A M UL_ C H A N N E L
     ;
+
+DIST
+    : D I S T
+    ;
+
+WHERE
+    : W H E R E
+    ;
diff --git a/distsql/parser/src/main/antlr4/imports/RALStatement.g4 b/distsql/parser/src/main/antlr4/imports/RALStatement.g4
index 341d9064525..c7eb3c9f2b4 100644
--- a/distsql/parser/src/main/antlr4/imports/RALStatement.g4
+++ b/distsql/parser/src/main/antlr4/imports/RALStatement.g4
@@ -19,16 +19,16 @@ grammar RALStatement;
 
 import BaseRule;
 
-setVariable
-    : SET VARIABLE variableName EQ variableValue
+setDistVariable
+    : SET DIST VARIABLE variableName EQ variableValue
     ;
 
-showVariable
-    : SHOW VARIABLE variableName
+showDistVariable
+    : SHOW DIST VARIABLE WHERE NAME EQ variableName
     ;
 
-showAllVariables
-    : SHOW ALL VARIABLES
+showDistVariables
+    : SHOW DIST VARIABLES
     ;
 
 alterInstance
diff --git a/distsql/parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/KernelDistSQLStatement.g4 b/distsql/parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/KernelDistSQLStatement.g4
index 2724e158d6a..8b06cf80755 100644
--- a/distsql/parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/KernelDistSQLStatement.g4
+++ b/distsql/parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/KernelDistSQLStatement.g4
@@ -25,9 +25,9 @@ execute
     | dropResource
     | showResources
     | showUnusedResources
-    | setVariable
-    | showVariable
-    | showAllVariables
+    | setDistVariable
+    | showDistVariable
+    | showDistVariables
     | clearHint
     | enableInstance
     | disableInstance
diff --git a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
index 0ffef2cc0ec..d056ac0c8c7 100644
--- a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
+++ b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
@@ -53,9 +53,10 @@ import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementPa
 import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ReadDefinitionContext;
 import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.RefreshTableMetadataContext;
 import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ResourceDefinitionContext;
-import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.SetVariableContext;
+import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.SetDistVariableContext;
 import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShardingSizeContext;
-import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowAllVariablesContext;
+import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowDistVariableContext;
+import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowDistVariablesContext;
 import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowInstanceInfoContext;
 import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowInstanceListContext;
 import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowMigrationProcessConfigurationContext;
@@ -66,7 +67,6 @@ import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementPa
 import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowSingleTableRulesContext;
 import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowTableMetadataContext;
 import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowUnusedResourcesContext;
-import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowVariableContext;
 import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.StreamChannelContext;
 import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.UnlabelInstanceContext;
 import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.WorkerThreadContext;
@@ -80,13 +80,13 @@ import org.apache.shardingsphere.distsql.parser.segment.URLBasedDataSourceSegmen
 import org.apache.shardingsphere.distsql.parser.statement.ral.hint.ClearHintStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ConvertYamlConfigurationStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ExportDatabaseConfigurationStatement;
-import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllVariablesStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowDistVariablesStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInstanceInfoStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInstanceListStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowMigrationProcessConfigurationStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowModeInfoStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowTableMetadataStatement;
-import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowVariableStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowDistVariableStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.AlterInstanceStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.AlterInventoryIncrementalProcessConfigurationStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.ApplyDistSQLStatement;
@@ -97,8 +97,8 @@ import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.ImportDa
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.LabelInstanceStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.PrepareDistSQLStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.RefreshTableMetadataStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetDistVariableStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetInstanceStatusStatement;
-import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetVariableStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.UnlabelInstanceStatement;
 import org.apache.shardingsphere.distsql.parser.statement.rdl.alter.AlterDefaultSingleTableRuleStatement;
 import org.apache.shardingsphere.distsql.parser.statement.rdl.alter.AlterResourceStatement;
@@ -262,8 +262,8 @@ public final class KernelDistSQLStatementVisitor extends KernelDistSQLStatementB
     }
     
     @Override
-    public ASTNode visitSetVariable(final SetVariableContext ctx) {
-        return new SetVariableStatement(getIdentifierValue(ctx.variableName()), getIdentifierValue(ctx.variableValue()));
+    public ASTNode visitSetDistVariable(final SetDistVariableContext ctx) {
+        return new SetDistVariableStatement(getIdentifierValue(ctx.variableName()), getIdentifierValue(ctx.variableValue()));
     }
     
     @Override
@@ -277,13 +277,13 @@ public final class KernelDistSQLStatementVisitor extends KernelDistSQLStatementB
     }
     
     @Override
-    public ASTNode visitShowVariable(final ShowVariableContext ctx) {
-        return new ShowVariableStatement(getIdentifierValue(ctx.variableName()).toUpperCase());
+    public ASTNode visitShowDistVariable(final ShowDistVariableContext ctx) {
+        return new ShowDistVariableStatement(getIdentifierValue(ctx.variableName()).toUpperCase());
     }
     
     @Override
-    public ASTNode visitShowAllVariables(final ShowAllVariablesContext ctx) {
-        return new ShowAllVariablesStatement();
+    public ASTNode visitShowDistVariables(final ShowDistVariablesContext ctx) {
+        return new ShowDistVariablesStatement();
     }
     
     @Override
diff --git a/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowVariableStatement.java b/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowDistVariableStatement.java
similarity index 90%
rename from distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowVariableStatement.java
rename to distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowDistVariableStatement.java
index 442dd543b92..ed93fad3c86 100644
--- a/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowVariableStatement.java
+++ b/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowDistVariableStatement.java
@@ -22,11 +22,11 @@ import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.parser.statement.ral.QueryableRALStatement;
 
 /**
- * Show variable statement.
+ * Show dist variable statement.
  */
 @RequiredArgsConstructor
 @Getter
-public final class ShowVariableStatement extends QueryableRALStatement {
+public final class ShowDistVariableStatement extends QueryableRALStatement {
     
     private final String name;
 }
diff --git a/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowAllVariablesStatement.java b/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowDistVariablesStatement.java
similarity index 89%
rename from distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowAllVariablesStatement.java
rename to distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowDistVariablesStatement.java
index d6e932d05d6..e36aaecfe72 100644
--- a/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowAllVariablesStatement.java
+++ b/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowDistVariablesStatement.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.distsql.parser.statement.ral.queryable;
 import org.apache.shardingsphere.distsql.parser.statement.ral.QueryableRALStatement;
 
 /**
- * Show all variables statement.
+ * Show dist variables statement.
  */
-public final class ShowAllVariablesStatement extends QueryableRALStatement {
+public final class ShowDistVariablesStatement extends QueryableRALStatement {
 }
diff --git a/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/updatable/SetVariableStatement.java b/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/updatable/SetDistVariableStatement.java
similarity index 91%
rename from distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/updatable/SetVariableStatement.java
rename to distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/updatable/SetDistVariableStatement.java
index 97f7f3e3da0..87d0520da76 100644
--- a/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/updatable/SetVariableStatement.java
+++ b/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/updatable/SetDistVariableStatement.java
@@ -22,11 +22,11 @@ import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.parser.statement.ral.UpdatableRALStatement;
 
 /**
- * Set variable statement.
+ * Set dist variable statement.
  */
 @RequiredArgsConstructor
 @Getter
-public final class SetVariableStatement extends UpdatableRALStatement {
+public final class SetDistVariableStatement extends UpdatableRALStatement {
     
     private final String name;
     
diff --git a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/_index.cn.md b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/_index.cn.md
index 3f64799709e..3c33d637540 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/_index.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/_index.cn.md
@@ -54,23 +54,23 @@ RAL (Resource & Rule Administration Language) 为 Apache ShardingSphere 的管
 
 ## 其他
 
-| 语句                                                                 | 说明                                                                                                            | 示例                                                       |
-| :------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------- |
-| SHOW INSTANCE INFO                                                  | 查询当前 proxy 的实例信息                                                                                          | SHOW INSTANCE INFO                                        |
-| SHOW MODE INFO                                                      | 查询当前 proxy 的 mode 配置                                                                                       | SHOW MODE INFO                                            |
-| SET VARIABLE proxy_property_name = xx                               | proxy_property_name 为 proxy 的[属性配置](/cn/user-manual/shardingsphere-proxy/yaml-config/props/),需使用下划线命名 | SET VARIABLE sql_show = true                              |
-| SET VARIABLE transaction_type = xx                                  | 修改当前连接的事务类型, 支持 LOCAL,XA,BASE                                                                         | SET VARIABLE transaction_type = "XA"                      |
-| SET VARIABLE agent_plugins_enabled = [TRUE / FALSE]                 | 设置 agent 插件的启用状态,默认值 false                                                                             | SET VARIABLE agent_plugins_enabled = TRUE                 |
-| SHOW ALL VARIABLES                                                  | 查询 proxy 所有的属性配置                                                                                          | SHOW ALL VARIABLES                                        |
-| SHOW VARIABLE variable_name                                         | 查询 proxy 属性,需使用下划线命名                                                                                   | SHOW VARIABLE sql_show                                    |
-| REFRESH TABLE METADATA                                              | 刷新所有表的元数据                                                                                                 | REFRESH TABLE METADATA                                    |
-| REFRESH TABLE METADATA tableName                                    | 刷新指定表的元数据                                                                                                 | REFRESH TABLE METADATA t_order                            |
-| REFRESH TABLE METADATA tableName FROM RESOURCE resourceName         | 刷新指定数据源中表的元数据                                                                                          | REFRESH TABLE METADATA t_order FROM RESOURCE ds_1          |
-| REFRESH TABLE METADATA FROM RESOURCE resourceName SCHEMA schemaName | 刷新指定 schema 中表的元数据,如果 schema 中不存在表,则会删除该 schema                                                 | REFRESH TABLE METADATA FROM RESOURCE ds_1 SCHEMA db_schema |
-| SHOW TABLE METADATA tableName [, tableName] ...                     | 查询表的元数据                                                                                                    | SHOW TABLE METADATA t_order                               |
-| EXPORT DATABASE CONFIG [FROM database_name] [, file="file_path"]    | 将 database 中的资源和规则配置导出为 YAML 格式                                                                       | EXPORT DATABASE CONFIG FROM readwrite_splitting_db        |
-| IMPORT DATABASE CONFIG FILE="file_path"                             | 将 YAML 中的配置导入到 database 中,仅支持对空库进行导入操作                                                            | IMPORT DATABASE CONFIG FILE = "/xxx/config-sharding.yaml" |
-| SHOW RULES USED RESOURCE resourceName [from database]               | 查询 database 中使用指定资源的规则                                                                                  | SHOW RULES USED RESOURCE ds_0 FROM databaseName           |
+| 语句                                                                  | 说明                                                                                                            | 示例                                                              |
+|:---------------------------------------------------------------------| :-------------------------------------------------------------------------------------------------------------- |:-----------------------------------------------------------------|
+| SHOW INSTANCE INFO                                                   | 查询当前 proxy 的实例信息                                                                                          | SHOW INSTANCE INFO                                               |
+| SHOW MODE INFO                                                       | 查询当前 proxy 的 mode 配置                                                                                       | SHOW MODE INFO                                                   |
+| SET DIST VARIABLE proxy_property_name = xx                           | proxy_property_name 为 proxy 的[属性配置](/cn/user-manual/shardingsphere-proxy/yaml-config/props/),需使用下划线命名 | SET DIST VARIABLE sql_show = true                                |
+| SET DIST VARIABLE transaction_type = xx                              | 修改当前连接的事务类型, 支持 LOCAL,XA,BASE                                                                         | SET DIST VARIABLE transaction_type = "XA"                        |
+| SET DIST VARIABLE agent_plugins_enabled = [TRUE / FALSE]             | 设置 agent 插件的启用状态,默认值 false                                                                             | SET DIST VARIABLE agent_plugins_enabled = TRUE                   |
+| SHOW DIST VARIABLES                                                  | 查询 proxy 所有的属性配置                                                                                          | SHOW DIST VARIABLES                                              |
+| SHOW DIST VARIABLE WHERE name = variable_name                        | 查询 proxy 属性,需使用下划线命名                                                                                   | SHOW DIST VARIABLE WHERE name = sql_show                         |
+| REFRESH TABLE METADATA                                               | 刷新所有表的元数据                                                                                                 | REFRESH TABLE METADATA                                           |
+| REFRESH TABLE METADATA tableName                                     | 刷新指定表的元数据                                                                                                 | REFRESH TABLE METADATA t_order                                   |
+| REFRESH TABLE METADATA tableName FROM RESOURCE resourceName          | 刷新指定数据源中表的元数据                                                                                          | REFRESH TABLE METADATA t_order FROM RESOURCE ds_1                |
+| REFRESH TABLE METADATA FROM RESOURCE resourceName SCHEMA schemaName  | 刷新指定 schema 中表的元数据,如果 schema 中不存在表,则会删除该 schema                                                 | REFRESH TABLE METADATA FROM RESOURCE ds_1 SCHEMA db_schema       |
+| SHOW TABLE METADATA tableName [, tableName] ...                      | 查询表的元数据                                                                                                    | SHOW TABLE METADATA t_order                                      |
+| EXPORT DATABASE CONFIG [FROM database_name] [, file="file_path"]     | 将 database 中的资源和规则配置导出为 YAML 格式                                                                       | EXPORT DATABASE CONFIG FROM readwrite_splitting_db               |
+| IMPORT DATABASE CONFIG FILE="file_path"                              | 将 YAML 中的配置导入到 database 中,仅支持对空库进行导入操作                                                           | IMPORT DATABASE CONFIG FILE = "/xxx/config-sharding.yaml"        |
+| SHOW RULES USED RESOURCE resourceName [from database]                | 查询 database 中使用指定资源的规则                                                                                  | SHOW RULES USED RESOURCE ds_0 FROM databaseName                  |
 
 ## 注意事项
 
diff --git a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/_index.en.md b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/_index.en.md
index ec4ed232f62..e4dbe807128 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/_index.en.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/ral/_index.en.md
@@ -55,14 +55,14 @@ RAL (Resource & Rule Administration Language) responsible for hint, circuit brea
 ## Other
 
 | Statement                                                           | Function                                                                                                                                                | Example                                                    |
-| :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------- |
+|:--------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------------------------------------------------------ |:-----------------------------------------------------------|
 | SHOW INSTANCE INFO                                                  | Query the instance information of the proxy                                                                                                             | SHOW INSTANCE INFO                                         |
 | SHOW MODE INFO                                                      | Query the mode configuration of the proxy                                                                                                               | SHOW MODE INFO                                             |
-| SET VARIABLE proxy_property_name = xx                               | proxy_property_name is one of [properties configuration](/en/user-manual/shardingsphere-proxy/yaml-config/props/) of proxy, name is split by underscore | SET VARIABLE sql_show = true                               |  
-| SET VARIABLE transaction_type = xx                                  | Modify transaction_type of the current connection, supports LOCAL, XA, BASE                                                                             | SET VARIABLE transaction_type = "XA"                       |
-| SET VARIABLE agent_plugins_enabled = [TRUE / FALSE]                 | Set whether the agent plugins are enabled, the default value is false                                                                                   | SET VARIABLE agent_plugins_enabled = TRUE                  |
-| SHOW ALL VARIABLES                                                  | Query proxy all properties configuration                                                                                                                | SHOW ALL VARIABLES                                         |
-| SHOW VARIABLE variable_name                                         | Query proxy variable, name is split by underscore                                                                                                       | SHOW VARIABLE sql_show                                     |
+| SET DIST VARIABLE proxy_property_name = xx                          | proxy_property_name is one of [properties configuration](/en/user-manual/shardingsphere-proxy/yaml-config/props/) of proxy, name is split by underscore | SET DIST VARIABLE sql_show = true                          |
+| SET DIST VARIABLE transaction_type = xx                             | Modify transaction_type of the current connection, supports LOCAL, XA, BASE                                                                             | SET DIST VARIABLE transaction_type = "XA"                  |
+| SET DIST VARIABLE agent_plugins_enabled = [TRUE / FALSE]            | Set whether the agent plugins are enabled, the default value is false                                                                                   | SET DIST VARIABLE agent_plugins_enabled = TRUE             |
+| SHOW DIST VARIABLES                                                 | Query proxy all properties configuration                                                                                                                | SHOW DIST VARIABLES                                        |
+| SHOW DIST VARIABLE WHERE name = variable_name                       | Query proxy variable, name is split by underscore                                                                                                       | SHOW DIST VARIABLE WHERE name = sql_show                   |
 | REFRESH TABLE METADATA                                              | Refresh the metadata of all tables                                                                                                                      | REFRESH TABLE METADATA                                     |
 | REFRESH TABLE METADATA tableName                                    | Refresh the metadata of the specified table                                                                                                             | REFRESH TABLE METADATA t_order                             |
 | REFRESH TABLE METADATA tableName FROM RESOURCE resourceName         | Refresh the tables' metadata in the specified data source                                                                                               | REFRESH TABLE METADATA t_order FROM RESOURCE ds_1          |
diff --git a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java
index 51d6aa0a11a..3beadd84e2f 100644
--- a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java
+++ b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java
@@ -25,12 +25,12 @@ import org.apache.shardingsphere.distsql.parser.statement.ral.RALStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.UpdatableGlobalRuleRALStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ConvertYamlConfigurationStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ExportDatabaseConfigurationStatement;
-import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllVariablesStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowDistVariablesStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInstanceInfoStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInstanceListStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowModeInfoStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowTableMetadataStatement;
-import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowVariableStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowDistVariableStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.scaling.QueryableScalingRALStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.scaling.UpdatableScalingRALStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.ApplyDistSQLStatement;
@@ -40,7 +40,7 @@ import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.LabelIns
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.PrepareDistSQLStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.RefreshTableMetadataStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetInstanceStatusStatement;
-import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetVariableStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetDistVariableStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.UnlabelInstanceStatement;
 import org.apache.shardingsphere.infra.distsql.query.DatabaseDistSQLResultSet;
 import org.apache.shardingsphere.infra.distsql.query.DistSQLResultSet;
@@ -89,7 +89,7 @@ public final class RALBackendHandlerFactory {
         HANDLERS.put(LabelInstanceStatement.class, LabelInstanceHandler.class);
         HANDLERS.put(UnlabelInstanceStatement.class, UnlabelInstanceHandler.class);
         HANDLERS.put(SetInstanceStatusStatement.class, SetInstanceStatusHandler.class);
-        HANDLERS.put(SetVariableStatement.class, SetVariableHandler.class);
+        HANDLERS.put(SetDistVariableStatement.class, SetVariableHandler.class);
         HANDLERS.put(SetReadwriteSplittingStatusStatement.class, SetReadwriteSplittingStatusHandler.class);
         HANDLERS.put(RefreshTableMetadataStatement.class, RefreshTableMetadataHandler.class);
         HANDLERS.put(PrepareDistSQLStatement.class, PrepareDistSQLHandler.class);
@@ -97,8 +97,8 @@ public final class RALBackendHandlerFactory {
         HANDLERS.put(DiscardDistSQLStatement.class, DiscardDistSQLHandler.class);
         HANDLERS.put(ImportDatabaseConfigurationStatement.class, ImportDatabaseConfigurationHandler.class);
         HANDLERS.put(ShowInstanceListStatement.class, ShowInstanceListHandler.class);
-        HANDLERS.put(ShowVariableStatement.class, ShowVariableHandler.class);
-        HANDLERS.put(ShowAllVariablesStatement.class, ShowAllVariablesHandler.class);
+        HANDLERS.put(ShowDistVariableStatement.class, ShowVariableHandler.class);
+        HANDLERS.put(ShowDistVariablesStatement.class, ShowAllVariablesHandler.class);
         HANDLERS.put(ShowReadwriteSplittingReadResourcesStatement.class, ShowReadwriteSplittingReadResourcesHandler.class);
         HANDLERS.put(ShowTableMetadataStatement.class, ShowTableMetadataHandler.class);
         HANDLERS.put(ExportDatabaseConfigurationStatement.class, ExportDatabaseConfigurationHandler.class);
diff --git a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowAllVariablesHandler.java b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowAllVariablesHandler.java
index 65bfe29b9b4..e4e4dabb3c5 100644
--- a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowAllVariablesHandler.java
+++ b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowAllVariablesHandler.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable;
 
-import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllVariablesStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowDistVariablesStatement;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
 /**
  * Show all variables handler.
  */
-public final class ShowAllVariablesHandler extends QueryableRALBackendHandler<ShowAllVariablesStatement> {
+public final class ShowAllVariablesHandler extends QueryableRALBackendHandler<ShowDistVariablesStatement> {
     
     private static final String VARIABLE_NAME = "variable_name";
     
diff --git a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowVariableHandler.java b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowVariableHandler.java
index 00b302b618f..27775863dea 100644
--- a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowVariableHandler.java
+++ b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowVariableHandler.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable;
 
-import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowVariableStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowDistVariableStatement;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
 import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -35,7 +35,7 @@ import java.util.Collections;
 /**
  * Show variable handler.
  */
-public final class ShowVariableHandler extends QueryableRALBackendHandler<ShowVariableStatement> {
+public final class ShowVariableHandler extends QueryableRALBackendHandler<ShowDistVariableStatement> {
     
     private static final String VARIABLE_NAME = "variable_name";
     
diff --git a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetVariableHandler.java b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetVariableHandler.java
index 0b1024c1a52..2f745af6949 100644
--- a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetVariableHandler.java
+++ b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetVariableHandler.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable;
 
 import org.apache.commons.lang3.BooleanUtils;
-import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetVariableStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetDistVariableStatement;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.util.props.TypedPropertyValue;
 import org.apache.shardingsphere.infra.util.props.exception.TypedPropertyValueException;
@@ -38,7 +38,7 @@ import java.util.Properties;
 /**
  * Set variable statement handler.
  */
-public final class SetVariableHandler extends UpdatableRALBackendHandler<SetVariableStatement> {
+public final class SetVariableHandler extends UpdatableRALBackendHandler<SetDistVariableStatement> {
     
     @Override
     protected void update(final ContextManager contextManager) {
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java
index 50470c1f207..4e88f8fb252 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java
@@ -114,13 +114,13 @@ public final class ProxyBackendHandlerFactoryTest extends ProxyContextRestorer {
     
     @Test
     public void assertNewInstanceWithDistSQL() throws SQLException {
-        String sql = "set variable transaction_type='LOCAL'";
+        String sql = "set dist variable transaction_type='LOCAL'";
         ProxyBackendHandler actual = ProxyBackendHandlerFactory.newInstance(databaseType, sql, connectionSession);
         assertThat(actual, instanceOf(SetVariableHandler.class));
-        sql = "show variable transaction_type";
+        sql = "show dist variable where name = transaction_type";
         actual = ProxyBackendHandlerFactory.newInstance(databaseType, sql, connectionSession);
         assertThat(actual, instanceOf(QueryableRALBackendHandler.class));
-        sql = "show all variables";
+        sql = "show dist variables";
         actual = ProxyBackendHandlerFactory.newInstance(databaseType, sql, connectionSession);
         assertThat(actual, instanceOf(QueryableRALBackendHandler.class));
         sql = "set sharding hint database_value=1";
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowAllVariablesHandlerTest.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowAllVariablesHandlerTest.java
index 4e04e4959c9..180f903beca 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowAllVariablesHandlerTest.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowAllVariablesHandlerTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable;
 
 import io.netty.util.DefaultAttributeMap;
-import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllVariablesStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowDistVariablesStatement;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
@@ -66,7 +66,7 @@ public final class ShowAllVariablesHandlerTest extends ProxyContextRestorer {
         ConnectionSession connectionSession = new ConnectionSession(mock(MySQLDatabaseType.class), TransactionType.LOCAL, new DefaultAttributeMap());
         connectionSession.setCurrentDatabase("foo_db");
         ShowAllVariablesHandler handler = new ShowAllVariablesHandler();
-        handler.init(new ShowAllVariablesStatement(), connectionSession);
+        handler.init(new ShowDistVariablesStatement(), connectionSession);
         ResponseHeader actual = handler.execute();
         assertThat(((QueryResponseHeader) actual).getQueryHeaders().size(), is(2));
         handler.next();
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowVariableBackendHandlerTest.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowVariableBackendHandlerTest.java
index bc3a534aae2..a9814e4aff5 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowVariableBackendHandlerTest.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowVariableBackendHandlerTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable;
 
 import io.netty.util.DefaultAttributeMap;
-import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowVariableStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowDistVariableStatement;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
@@ -62,7 +62,7 @@ public final class ShowVariableBackendHandlerTest extends ProxyContextRestorer {
     public void assertShowTransactionType() throws SQLException {
         connectionSession.setCurrentDatabase("db");
         ShowVariableHandler backendHandler = new ShowVariableHandler();
-        backendHandler.init(new ShowVariableStatement("transaction_type"), connectionSession);
+        backendHandler.init(new ShowDistVariableStatement("transaction_type"), connectionSession);
         ResponseHeader actual = backendHandler.execute();
         assertThat(actual, instanceOf(QueryResponseHeader.class));
         assertThat(((QueryResponseHeader) actual).getQueryHeaders().size(), is(2));
@@ -76,7 +76,7 @@ public final class ShowVariableBackendHandlerTest extends ProxyContextRestorer {
     public void assertShowCachedConnections() throws SQLException {
         connectionSession.setCurrentDatabase("db");
         ShowVariableHandler backendHandler = new ShowVariableHandler();
-        backendHandler.init(new ShowVariableStatement("cached_connections"), connectionSession);
+        backendHandler.init(new ShowDistVariableStatement("cached_connections"), connectionSession);
         ResponseHeader actual = backendHandler.execute();
         assertThat(actual, instanceOf(QueryResponseHeader.class));
         assertThat(((QueryResponseHeader) actual).getQueryHeaders().size(), is(2));
@@ -90,7 +90,7 @@ public final class ShowVariableBackendHandlerTest extends ProxyContextRestorer {
     public void assertShowCachedConnectionFailed() {
         connectionSession.setCurrentDatabase("db");
         ShowVariableHandler backendHandler = new ShowVariableHandler();
-        backendHandler.init(new ShowVariableStatement("cached_connectionss"), connectionSession);
+        backendHandler.init(new ShowDistVariableStatement("cached_connectionss"), connectionSession);
         backendHandler.execute();
     }
     
@@ -99,7 +99,7 @@ public final class ShowVariableBackendHandlerTest extends ProxyContextRestorer {
         SystemPropertyUtil.setSystemProperty(VariableEnum.AGENT_PLUGINS_ENABLED.name(), Boolean.TRUE.toString());
         connectionSession.setCurrentDatabase("db");
         ShowVariableHandler backendHandler = new ShowVariableHandler();
-        backendHandler.init(new ShowVariableStatement(VariableEnum.AGENT_PLUGINS_ENABLED.name()), connectionSession);
+        backendHandler.init(new ShowDistVariableStatement(VariableEnum.AGENT_PLUGINS_ENABLED.name()), connectionSession);
         ResponseHeader actual = backendHandler.execute();
         assertThat(actual, instanceOf(QueryResponseHeader.class));
         assertThat(((QueryResponseHeader) actual).getQueryHeaders().size(), is(2));
@@ -120,7 +120,7 @@ public final class ShowVariableBackendHandlerTest extends ProxyContextRestorer {
         props.put("sql-show", Boolean.TRUE.toString());
         when(metaDataContexts.getMetaData().getProps()).thenReturn(new ConfigurationProperties(props));
         ShowVariableHandler backendHandler = new ShowVariableHandler();
-        backendHandler.init(new ShowVariableStatement("SQL_SHOW"), connectionSession);
+        backendHandler.init(new ShowDistVariableStatement("SQL_SHOW"), connectionSession);
         ResponseHeader actual = backendHandler.execute();
         assertThat(actual, instanceOf(QueryResponseHeader.class));
         assertThat(((QueryResponseHeader) actual).getQueryHeaders().size(), is(2));
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetVariableBackendHandlerTest.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetVariableBackendHandlerTest.java
index 4a48be5469b..1bc3d92d10f 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetVariableBackendHandlerTest.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetVariableBackendHandlerTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable;
 
 import io.netty.util.DefaultAttributeMap;
-import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetVariableStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetDistVariableStatement;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.database.DefaultDatabase;
@@ -94,7 +94,7 @@ public final class SetVariableBackendHandlerTest extends ProxyContextRestorer {
     public void assertSwitchTransactionTypeXA() throws SQLException {
         connectionSession.setCurrentDatabase(String.format(DATABASE_PATTERN, 0));
         SetVariableHandler handler = new SetVariableHandler();
-        handler.init(new SetVariableStatement("transaction_type", "XA"), connectionSession);
+        handler.init(new SetDistVariableStatement("transaction_type", "XA"), connectionSession);
         ResponseHeader actual = handler.execute();
         assertThat(actual, instanceOf(UpdateResponseHeader.class));
         assertThat(connectionSession.getTransactionStatus().getTransactionType(), is(TransactionType.XA));
@@ -104,7 +104,7 @@ public final class SetVariableBackendHandlerTest extends ProxyContextRestorer {
     public void assertSwitchTransactionTypeBASE() throws SQLException {
         connectionSession.setCurrentDatabase(String.format(DATABASE_PATTERN, 0));
         SetVariableHandler handler = new SetVariableHandler();
-        handler.init(new SetVariableStatement("transaction_type", "BASE"), connectionSession);
+        handler.init(new SetDistVariableStatement("transaction_type", "BASE"), connectionSession);
         ResponseHeader actual = handler.execute();
         assertThat(actual, instanceOf(UpdateResponseHeader.class));
         assertThat(connectionSession.getTransactionStatus().getTransactionType(), is(TransactionType.BASE));
@@ -114,7 +114,7 @@ public final class SetVariableBackendHandlerTest extends ProxyContextRestorer {
     public void assertSwitchTransactionTypeLOCAL() throws SQLException {
         connectionSession.setCurrentDatabase(String.format(DATABASE_PATTERN, 0));
         SetVariableHandler handler = new SetVariableHandler();
-        handler.init(new SetVariableStatement("transaction_type", "LOCAL"), connectionSession);
+        handler.init(new SetDistVariableStatement("transaction_type", "LOCAL"), connectionSession);
         ResponseHeader actual = handler.execute();
         assertThat(actual, instanceOf(UpdateResponseHeader.class));
         assertThat(connectionSession.getTransactionStatus().getTransactionType(), is(TransactionType.LOCAL));
@@ -124,14 +124,14 @@ public final class SetVariableBackendHandlerTest extends ProxyContextRestorer {
     public void assertSwitchTransactionTypeFailed() throws SQLException {
         SetVariableHandler handler = new SetVariableHandler();
         connectionSession.setCurrentDatabase(String.format(DATABASE_PATTERN, 0));
-        handler.init(new SetVariableStatement("transaction_type", "XXX"), connectionSession);
+        handler.init(new SetDistVariableStatement("transaction_type", "XXX"), connectionSession);
         handler.execute();
     }
     
     @Test(expected = UnsupportedVariableException.class)
     public void assertNotSupportedVariable() throws SQLException {
         SetVariableHandler handler = new SetVariableHandler();
-        handler.init(new SetVariableStatement("@@session", "XXX"), connectionSession);
+        handler.init(new SetDistVariableStatement("@@session", "XXX"), connectionSession);
         handler.execute();
     }
     
@@ -139,7 +139,7 @@ public final class SetVariableBackendHandlerTest extends ProxyContextRestorer {
     public void assertSetAgentPluginsEnabledTrue() throws SQLException {
         SetVariableHandler handler = new SetVariableHandler();
         connectionSession.setCurrentDatabase(String.format(DATABASE_PATTERN, 0));
-        handler.init(new SetVariableStatement(VariableEnum.AGENT_PLUGINS_ENABLED.name(), Boolean.TRUE.toString()), null);
+        handler.init(new SetDistVariableStatement(VariableEnum.AGENT_PLUGINS_ENABLED.name(), Boolean.TRUE.toString()), null);
         ResponseHeader actual = handler.execute();
         assertThat(actual, instanceOf(UpdateResponseHeader.class));
         assertThat(SystemPropertyUtil.getSystemProperty(VariableEnum.AGENT_PLUGINS_ENABLED.name(), Boolean.FALSE.toString()), is(Boolean.TRUE.toString()));
@@ -149,7 +149,7 @@ public final class SetVariableBackendHandlerTest extends ProxyContextRestorer {
     public void assertSetAgentPluginsEnabledFalse() throws SQLException {
         SetVariableHandler handler = new SetVariableHandler();
         connectionSession.setCurrentDatabase(String.format(DATABASE_PATTERN, 0));
-        handler.init(new SetVariableStatement(VariableEnum.AGENT_PLUGINS_ENABLED.name(), Boolean.FALSE.toString()), null);
+        handler.init(new SetDistVariableStatement(VariableEnum.AGENT_PLUGINS_ENABLED.name(), Boolean.FALSE.toString()), null);
         ResponseHeader actual = handler.execute();
         assertThat(actual, instanceOf(UpdateResponseHeader.class));
         assertThat(SystemPropertyUtil.getSystemProperty(VariableEnum.AGENT_PLUGINS_ENABLED.name(), Boolean.FALSE.toString()), is(Boolean.FALSE.toString()));
@@ -159,7 +159,7 @@ public final class SetVariableBackendHandlerTest extends ProxyContextRestorer {
     public void assertSetAgentPluginsEnabledFalseWithUnknownValue() throws SQLException {
         SetVariableHandler handler = new SetVariableHandler();
         connectionSession.setCurrentDatabase(String.format(DATABASE_PATTERN, 0));
-        handler.init(new SetVariableStatement(VariableEnum.AGENT_PLUGINS_ENABLED.name(), "xxx"), connectionSession);
+        handler.init(new SetDistVariableStatement(VariableEnum.AGENT_PLUGINS_ENABLED.name(), "xxx"), connectionSession);
         ResponseHeader actual = handler.execute();
         assertThat(actual, instanceOf(UpdateResponseHeader.class));
         assertThat(SystemPropertyUtil.getSystemProperty(VariableEnum.AGENT_PLUGINS_ENABLED.name(), Boolean.FALSE.toString()), is(Boolean.FALSE.toString()));
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetVariableExecutorTest.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetVariableExecutorTest.java
index 21ad793253f..9e00e6d193e 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetVariableExecutorTest.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetVariableExecutorTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable;
 
-import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetVariableStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetDistVariableStatement;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -50,7 +50,7 @@ public final class SetVariableExecutorTest extends ProxyContextRestorer {
     
     @Test
     public void assertExecuteWithTransactionType() throws SQLException {
-        SetVariableStatement statement = new SetVariableStatement("transaction_type", "local");
+        SetDistVariableStatement statement = new SetDistVariableStatement("transaction_type", "local");
         when(connectionSession.getTransactionStatus()).thenReturn(new TransactionStatus(TransactionType.XA));
         SetVariableHandler handler = new SetVariableHandler();
         handler.init(statement, connectionSession);
@@ -60,7 +60,7 @@ public final class SetVariableExecutorTest extends ProxyContextRestorer {
     
     @Test
     public void assertExecuteWithAgent() throws SQLException {
-        SetVariableStatement statement = new SetVariableStatement("AGENT_PLUGINS_ENABLED", Boolean.FALSE.toString());
+        SetDistVariableStatement statement = new SetDistVariableStatement("AGENT_PLUGINS_ENABLED", Boolean.FALSE.toString());
         SetVariableHandler handler = new SetVariableHandler();
         handler.init(statement, connectionSession);
         handler.execute();
@@ -72,7 +72,7 @@ public final class SetVariableExecutorTest extends ProxyContextRestorer {
     public void assertExecuteWithConfigurationKey() throws SQLException {
         ContextManager contextManager = new ContextManager(new MetaDataContexts(mock(MetaDataPersistService.class), new ShardingSphereMetaData()), null);
         ProxyContext.init(contextManager);
-        SetVariableStatement statement = new SetVariableStatement("proxy_frontend_flush_threshold", "1024");
+        SetDistVariableStatement statement = new SetDistVariableStatement("proxy_frontend_flush_threshold", "1024");
         SetVariableHandler handler = new SetVariableHandler();
         handler.init(statement, connectionSession);
         handler.execute();
diff --git a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/parse/PostgreSQLComParseExecutorTest.java b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/parse/PostgreSQLComParseExecutorTest.java
index 73cfce35982..cb2d2b669e8 100644
--- a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/parse/PostgreSQLComParseExecutorTest.java
+++ b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/parse/PostgreSQLComParseExecutorTest.java
@@ -22,7 +22,7 @@ import org.apache.shardingsphere.db.protocol.packet.DatabasePacket;
 import org.apache.shardingsphere.db.protocol.postgresql.packet.command.query.extended.PostgreSQLColumnType;
 import org.apache.shardingsphere.db.protocol.postgresql.packet.command.query.extended.parse.PostgreSQLComParsePacket;
 import org.apache.shardingsphere.db.protocol.postgresql.packet.command.query.extended.parse.PostgreSQLParseCompletePacket;
-import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowVariableStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowDistVariableStatement;
 import org.apache.shardingsphere.infra.database.type.dialect.PostgreSQLDatabaseType;
 import org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
 import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -127,7 +127,7 @@ public final class PostgreSQLComParseExecutorTest extends ProxyContextRestorer {
     
     @Test
     public void assertExecuteWithDistSQL() {
-        String sql = "SHOW VARIABLE sql_show";
+        String sql = "SHOW DIST VARIABLE WHERE NAME = sql_show";
         String statementId = "";
         when(parsePacket.getSql()).thenReturn(sql);
         when(parsePacket.getStatementId()).thenReturn(statementId);
@@ -142,7 +142,7 @@ public final class PostgreSQLComParseExecutorTest extends ProxyContextRestorer {
         assertThat(actualPackets.iterator().next(), is(PostgreSQLParseCompletePacket.getInstance()));
         PostgreSQLServerPreparedStatement actualPreparedStatement = connectionSession.getServerPreparedStatementRegistry().getPreparedStatement(statementId);
         assertThat(actualPreparedStatement.getSql(), is(sql));
-        assertThat(actualPreparedStatement.getSqlStatement(), instanceOf(ShowVariableStatement.class));
+        assertThat(actualPreparedStatement.getSqlStatement(), instanceOf(ShowDistVariableStatement.class));
         assertThat(actualPreparedStatement.getSqlStatementContext(), is(Optional.empty()));
         assertThat(actualPreparedStatement.getParameterTypes(), is(Collections.emptyList()));
     }
diff --git a/test/integration-test/test-suite/src/test/resources/cases/ral/ral-integration-test-cases.xml b/test/integration-test/test-suite/src/test/resources/cases/ral/ral-integration-test-cases.xml
index 917e78828d7..a7291af0d71 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/ral/ral-integration-test-cases.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/ral/ral-integration-test-cases.xml
@@ -50,18 +50,18 @@
         </assertion>
     </test-case>
 
-    <test-case sql="show variable transaction_type">
+    <test-case sql="show dist variable where name = transaction_type">
         <assertion expected-data-file="default_transaction_type.xml"/>
     </test-case>
 
-    <test-case sql="show variable transaction_type">
+    <test-case sql="show dist variable where name = transaction_type">
         <assertion expected-data-file="transaction_type.xml">
-            <initial-sql sql="set variable transaction_type = 'XA'"/>
-            <destroy-sql sql="set variable transaction_type = 'LOCAL'"/>
+            <initial-sql sql="set dist variable transaction_type = 'XA'"/>
+            <destroy-sql sql="set dist variable transaction_type = 'LOCAL'"/>
         </assertion>
     </test-case>
 
-    <test-case sql="show variable cached_connections">
+    <test-case sql="show dist variable where name = cached_connections">
         <assertion expected-data-file="cached_connections.xml"/>
     </test-case>
 
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/QueryableRALStatementAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/QueryableRALStatementAssert.java
index 764c37aa7ba..5338b51428b 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/QueryableRALStatementAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/QueryableRALStatementAssert.java
@@ -23,19 +23,19 @@ import org.apache.shardingsphere.authority.distsql.parser.statement.ShowAuthorit
 import org.apache.shardingsphere.distsql.parser.statement.ral.QueryableRALStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ConvertYamlConfigurationStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ExportDatabaseConfigurationStatement;
-import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllVariablesStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowDistVariablesStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInstanceInfoStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInstanceListStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowModeInfoStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowTableMetadataStatement;
-import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowVariableStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowDistVariableStatement;
 import org.apache.shardingsphere.parser.distsql.parser.statement.queryable.ShowSQLParserRuleStatement;
 import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.ShowReadwriteSplittingReadResourcesStatement;
 import org.apache.shardingsphere.sqltranslator.distsql.parser.statement.ShowSQLTranslatorRuleStatement;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable.ConvertYamlConfigurationStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable.ExportDatabaseConfigurationStatementAssert;
-import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable.ShowAllVariablesStatementAssert;
+import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable.ShowDistVariablesStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable.ShowAuthorityRuleStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable.ShowInstanceInfoStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable.ShowInstanceListStatementAssert;
@@ -46,11 +46,11 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable.ShowTableMetadataStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable.ShowTrafficRulesStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable.ShowTransactionRuleStatementAssert;
-import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable.ShowVariableStatementAssert;
+import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable.ShowDistVariableStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ConvertYamlConfigurationStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ExportDatabaseConfigurationStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowAllVariablesStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowDistVariablesStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowAuthorityRuleStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowInstanceInfoStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowInstanceListStatementTestCase;
@@ -61,7 +61,7 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowTableMetadataStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowTrafficRulesStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowTransactionRuleStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowVariableStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowDistVariableStatementTestCase;
 import org.apache.shardingsphere.traffic.distsql.parser.statement.queryable.ShowTrafficRulesStatement;
 import org.apache.shardingsphere.transaction.distsql.parser.statement.queryable.ShowTransactionRuleStatement;
 
@@ -79,10 +79,10 @@ public final class QueryableRALStatementAssert {
      * @param expected expected queryable RAL statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final QueryableRALStatement actual, final SQLParserTestCase expected) {
-        if (actual instanceof ShowVariableStatement) {
-            ShowVariableStatementAssert.assertIs(assertContext, (ShowVariableStatement) actual, (ShowVariableStatementTestCase) expected);
-        } else if (actual instanceof ShowAllVariablesStatement) {
-            ShowAllVariablesStatementAssert.assertIs(assertContext, (ShowAllVariablesStatement) actual, (ShowAllVariablesStatementTestCase) expected);
+        if (actual instanceof ShowDistVariableStatement) {
+            ShowDistVariableStatementAssert.assertIs(assertContext, (ShowDistVariableStatement) actual, (ShowDistVariableStatementTestCase) expected);
+        } else if (actual instanceof ShowDistVariablesStatement) {
+            ShowDistVariablesStatementAssert.assertIs(assertContext, (ShowDistVariablesStatement) actual, (ShowDistVariablesStatementTestCase) expected);
         } else if (actual instanceof ShowInstanceListStatement) {
             ShowInstanceListStatementAssert.assertIs(assertContext, (ShowInstanceListStatement) actual, (ShowInstanceListStatementTestCase) expected);
         } else if (actual instanceof ShowReadwriteSplittingReadResourcesStatement) {
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/UpdatableRALStatementAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/UpdatableRALStatementAssert.java
index 8605b009702..50c2aa2da9f 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/UpdatableRALStatementAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/UpdatableRALStatementAssert.java
@@ -24,7 +24,7 @@ import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.AlterIns
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.ImportDatabaseConfigurationStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.LabelInstanceStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.RefreshTableMetadataStatement;
-import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetVariableStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetDistVariableStatement;
 import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.UnlabelInstanceStatement;
 import org.apache.shardingsphere.parser.distsql.parser.statement.updatable.AlterSQLParserRuleStatement;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
@@ -37,7 +37,7 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.updatable.ImportDatabaseConfigurationStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.updatable.LabelInstanceStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.updatable.RefreshTableMetadataStatementAssert;
-import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.updatable.SetVariableStatementAssert;
+import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.updatable.SetDistVariableStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.updatable.UnlabelInstanceStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.AlterInstanceStatementTestCase;
@@ -48,7 +48,7 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ImportDatabaseConfigurationStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.LabelInstanceStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.RefreshTableMetadataStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.SetVariableStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.SetDistVariableStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.UnlabelInstanceStatementTestCase;
 import org.apache.shardingsphere.traffic.distsql.parser.statement.updatable.AlterTrafficRuleStatement;
 import org.apache.shardingsphere.traffic.distsql.parser.statement.updatable.CreateTrafficRuleStatement;
@@ -75,8 +75,8 @@ public final class UpdatableRALStatementAssert {
             UnlabelInstanceStatementAssert.assertIs(assertContext, (UnlabelInstanceStatement) actual, (UnlabelInstanceStatementTestCase) expected);
         } else if (actual instanceof AlterInstanceStatement) {
             AlterInstanceStatementAssert.assertIs(assertContext, (AlterInstanceStatement) actual, (AlterInstanceStatementTestCase) expected);
-        } else if (actual instanceof SetVariableStatement) {
-            SetVariableStatementAssert.assertIs(assertContext, (SetVariableStatement) actual, (SetVariableStatementTestCase) expected);
+        } else if (actual instanceof SetDistVariableStatement) {
+            SetDistVariableStatementAssert.assertIs(assertContext, (SetDistVariableStatement) actual, (SetDistVariableStatementTestCase) expected);
         } else if (actual instanceof RefreshTableMetadataStatement) {
             RefreshTableMetadataStatementAssert.assertIs(assertContext, (RefreshTableMetadataStatement) actual, (RefreshTableMetadataStatementTestCase) expected);
         } else if (actual instanceof AlterSQLParserRuleStatement) {
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowVariableStatementAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowDistVariableStatementAssert.java
similarity index 77%
rename from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowVariableStatementAssert.java
rename to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowDistVariableStatementAssert.java
index bb2f591e825..e37a26b4487 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowVariableStatementAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowDistVariableStatementAssert.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable;
 
-import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowVariableStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowDistVariableStatement;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowVariableStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowDistVariableStatementTestCase;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertNotNull;
@@ -27,18 +27,18 @@ import static org.junit.Assert.assertNull;
 import static org.hamcrest.MatcherAssert.assertThat;
 
 /**
- * Show variable statement assert.
+ * Show dist variable statement assert.
  */
-public final class ShowVariableStatementAssert {
+public final class ShowDistVariableStatementAssert {
     
     /**
-     * Assert show variable statement is correct with expected parser result.
+     * Assert show dist variable statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual actual show variable statement
-     * @param expected expected show variable statement test case
+     * @param actual actual show dist variable statement
+     * @param expected expected show dist variable statement test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, final ShowVariableStatement actual, final ShowVariableStatementTestCase expected) {
+    public static void assertIs(final SQLCaseAssertContext assertContext, final ShowDistVariableStatement actual, final ShowDistVariableStatementTestCase expected) {
         if (null == expected) {
             assertNull(assertContext.getText("Actual statement should not exist."), actual);
         } else {
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowAllVariablesStatementAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowDistVariablesStatementAssert.java
similarity index 73%
rename from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowAllVariablesStatementAssert.java
rename to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowDistVariablesStatementAssert.java
index e31e7170fc7..89a97704e56 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowAllVariablesStatementAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowDistVariablesStatementAssert.java
@@ -17,25 +17,25 @@
 
 package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable;
 
-import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllVariablesStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowDistVariablesStatement;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowAllVariablesStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowDistVariablesStatementTestCase;
 
 import static org.junit.Assert.assertNull;
 
 /**
- * Show all variables statement assert.
+ * Show dist variables statement assert.
  */
-public final class ShowAllVariablesStatementAssert {
+public final class ShowDistVariablesStatementAssert {
     
     /**
-     * Assert show all variables statement is correct with expected parser result.
+     * Assert show dist variables statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual actual show all variables statement
-     * @param expected expected show all variables statement test case
+     * @param actual actual show dist variables statement
+     * @param expected expected show dist variables statement test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, final ShowAllVariablesStatement actual, final ShowAllVariablesStatementTestCase expected) {
+    public static void assertIs(final SQLCaseAssertContext assertContext, final ShowDistVariablesStatement actual, final ShowDistVariablesStatementTestCase expected) {
         if (null == expected) {
             assertNull(assertContext.getText("Actual statement should not exist."), actual);
         }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/updatable/SetVariableStatementAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/updatable/SetDistVariableStatementAssert.java
similarity index 71%
rename from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/updatable/SetVariableStatementAssert.java
rename to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/updatable/SetDistVariableStatementAssert.java
index d07077c2db4..6f6bef64d52 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/updatable/SetVariableStatementAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/updatable/SetDistVariableStatementAssert.java
@@ -17,22 +17,22 @@
 
 package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.updatable;
 
-import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetVariableStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetDistVariableStatement;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.SetVariableStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.SetDistVariableStatementTestCase;
 
 /**
- * Set variable statement assert.
+ * Set dist variable statement assert.
  */
-public final class SetVariableStatementAssert {
+public final class SetDistVariableStatementAssert {
     
     /**
-     * Assert set variable statement is correct with expected parser result.
+     * Assert set dist variable statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual actual set variable statement
-     * @param expected expected set variable statement test case
+     * @param actual actual set dist variable statement
+     * @param expected expected set dist variable statement test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, final SetVariableStatement actual, final SetVariableStatementTestCase expected) {
+    public static void assertIs(final SQLCaseAssertContext assertContext, final SetDistVariableStatement actual, final SetDistVariableStatementTestCase expected) {
     }
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
index d8eba88a095..c36e23e2c11 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
@@ -297,8 +297,8 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.RefreshTableMetadataStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.SetReadwriteSplittingHintStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.SetShardingHintDatabaseValueStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.SetVariableStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowAllVariablesStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.SetDistVariableStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowDistVariablesStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowAuthorityRuleStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowInstanceInfoStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowInstanceListStatementTestCase;
@@ -312,7 +312,7 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowTableMetadataStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowTrafficRulesStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowTransactionRuleStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowVariableStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowDistVariableStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.UnlabelInstanceStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.migration.AddMigrationSourceResourceStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.migration.CheckMigrationStatementTestCase;
@@ -1049,14 +1049,14 @@ public final class SQLParserTestCases {
     @XmlElement(name = "format-sql")
     private final List<FormatSQLStatementTestCase> formatSQLStatementAsserts = new LinkedList<>();
     
-    @XmlElement(name = "show-variable")
-    private final List<ShowVariableStatementTestCase> showVariableTestCases = new LinkedList<>();
+    @XmlElement(name = "show-dist-variable")
+    private final List<ShowDistVariableStatementTestCase> showVariableTestCases = new LinkedList<>();
     
-    @XmlElement(name = "show-all-variables")
-    private final List<ShowAllVariablesStatementTestCase> showAllVariableTestCases = new LinkedList<>();
+    @XmlElement(name = "show-dist-variables")
+    private final List<ShowDistVariablesStatementTestCase> showDistVariableTestCases = new LinkedList<>();
     
-    @XmlElement(name = "set-variable")
-    private final List<SetVariableStatementTestCase> setVariableTestCases = new LinkedList<>();
+    @XmlElement(name = "set-dist-variable")
+    private final List<SetDistVariableStatementTestCase> setDistVariableTestCases = new LinkedList<>();
     
     @XmlElement(name = "set-readwrite-splitting-hint-source")
     private final List<SetReadwriteSplittingHintStatementTestCase> setReadwriteSplittingHintTestCases = new LinkedList<>();
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/SetVariableStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/SetDistVariableStatementTestCase.java
similarity index 89%
rename from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/SetVariableStatementTestCase.java
rename to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/SetDistVariableStatementTestCase.java
index d8c4d676d62..ade89764016 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/SetVariableStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/SetDistVariableStatementTestCase.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domai
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
 
 /**
- * Set variable statement test case.
+ * Set dist variable statement test case.
  */
-public final class SetVariableStatementTestCase extends SQLParserTestCase {
+public final class SetDistVariableStatementTestCase extends SQLParserTestCase {
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/ShowVariableStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/ShowDistVariableStatementTestCase.java
similarity index 90%
rename from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/ShowVariableStatementTestCase.java
rename to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/ShowDistVariableStatementTestCase.java
index e1437fde293..f898dda27d4 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/ShowVariableStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/ShowDistVariableStatementTestCase.java
@@ -24,11 +24,11 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import javax.xml.bind.annotation.XmlAttribute;
 
 /**
- * Show variable statement test case.
+ * Show dist variable statement test case.
  */
 @Setter
 @Getter
-public final class ShowVariableStatementTestCase extends SQLParserTestCase {
+public final class ShowDistVariableStatementTestCase extends SQLParserTestCase {
     
     @XmlAttribute
     private String name;
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/ShowAllVariablesStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/ShowDistVariablesStatementTestCase.java
similarity index 89%
rename from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/ShowAllVariablesStatementTestCase.java
rename to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/ShowDistVariablesStatementTestCase.java
index 8f01f29bd5d..189ff9763b8 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/ShowAllVariablesStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/ShowDistVariablesStatementTestCase.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domai
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
 
 /**
- * Show all variables statement test case.
+ * Show dist variables statement test case.
  */
-public final class ShowAllVariablesStatementTestCase extends SQLParserTestCase {
+public final class ShowDistVariablesStatementTestCase extends SQLParserTestCase {
 }
diff --git a/test/parser/src/main/resources/case/ral/queryable.xml b/test/parser/src/main/resources/case/ral/queryable.xml
index a64b72bcae4..330c4aaefef 100644
--- a/test/parser/src/main/resources/case/ral/queryable.xml
+++ b/test/parser/src/main/resources/case/ral/queryable.xml
@@ -17,8 +17,8 @@
   -->
 
 <sql-parser-test-cases>
-    <show-variable sql-case-id="show-variable" name="CACHED_CONNECTIONS" />
-    <show-all-variables sql-case-id="show-all-variables" />
+    <show-dist-variable sql-case-id="show-dist-variable" name="CACHED_CONNECTIONS" />
+    <show-dist-variables sql-case-id="show-dist-variables" />
     
     <show-readwrite-splitting-read-resources sql-case-id="show-readwrite-splitting-read-resources" />
     
diff --git a/test/parser/src/main/resources/case/ral/updatable.xml b/test/parser/src/main/resources/case/ral/updatable.xml
index 60e902c09f3..8da41d79639 100644
--- a/test/parser/src/main/resources/case/ral/updatable.xml
+++ b/test/parser/src/main/resources/case/ral/updatable.xml
@@ -17,7 +17,7 @@
   -->
 
 <sql-parser-test-cases>
-    <set-variable sql-case-id="set-variable" />
+    <set-dist-variable sql-case-id="set-dist-variable" />
     
     <refresh-table-metadata sql-case-id="refresh-table-metadata" />
     <refresh-table-metadata sql-case-id="refresh-table-metadata-with-table-name" table-name="t_order" />
diff --git a/test/parser/src/main/resources/sql/supported/ral/queryable.xml b/test/parser/src/main/resources/sql/supported/ral/queryable.xml
index 6c4fcdaf9aa..c7c8e3e9090 100644
--- a/test/parser/src/main/resources/sql/supported/ral/queryable.xml
+++ b/test/parser/src/main/resources/sql/supported/ral/queryable.xml
@@ -17,8 +17,8 @@
   -->
 
 <sql-cases>
-    <distsql-case id="show-variable" value="SHOW VARIABLE CACHED_CONNECTIONS" />
-    <distsql-case id="show-all-variables" value="SHOW ALL VARIABLES" />
+    <distsql-case id="show-dist-variable" value="SHOW DIST VARIABLE WHERE NAME = CACHED_CONNECTIONS" />
+    <distsql-case id="show-dist-variables" value="SHOW DIST VARIABLES" />
     
     <distsql-case id="show-readwrite-splitting-read-resources" value="SHOW READWRITE_SPLITTING READ RESOURCES" />
     
diff --git a/test/parser/src/main/resources/sql/supported/ral/updatable.xml b/test/parser/src/main/resources/sql/supported/ral/updatable.xml
index f5d1b98bea8..a8aca45c60c 100644
--- a/test/parser/src/main/resources/sql/supported/ral/updatable.xml
+++ b/test/parser/src/main/resources/sql/supported/ral/updatable.xml
@@ -17,7 +17,7 @@
   -->
 
 <sql-cases>
-    <distsql-case id="set-variable" value="SET VARIABLE TRANSACTION_TYPE='LOCAL'" />
+    <distsql-case id="set-dist-variable" value="SET DIST VARIABLE TRANSACTION_TYPE='LOCAL'" />
     
     <distsql-case id="refresh-table-metadata" value="REFRESH TABLE METADATA" />
     <distsql-case id="refresh-table-metadata-with-table-name" value="REFRESH TABLE METADATA t_order" />