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 a2b9daff0b3 Migrate global rule (SQLTranslatorRule) to 
shardingsphere-sql-translator-distsql module. (#20941)
a2b9daff0b3 is described below

commit a2b9daff0b340fa20dda068b6f5e6cd182660c68
Author: yx9o <[email protected]>
AuthorDate: Wed Sep 14 18:29:05 2022 +0800

    Migrate global rule (SQLTranslatorRule) to 
shardingsphere-sql-translator-distsql module. (#20941)
    
    * Migrate global rule (SQLTranslatorRule) to 
shardingsphere-sql-translator-distsql module.
    
    * Update transaction-it-test.
    
    * Update transaction.
---
 .../src/main/antlr4/imports/Keyword.g4             | 20 -------
 .../src/main/antlr4/imports/RALStatement.g4        |  4 --
 .../parser/autogen/KernelDistSQLStatement.g4       |  1 -
 .../core/kernel/KernelDistSQLStatementVisitor.java |  7 ---
 .../handler/AuthorityRuleQueryResultSet.java       |  9 +--
 .../handler/AuthorityRuleQueryResultSetTest.java   |  4 +-
 .../handler/query/SQLParserRuleQueryResultSet.java |  9 +--
 .../query/SQLParserRuleQueryResultSetTest.java     | 20 ++++---
 .../shardingsphere-sql-translator/pom.xml          |  1 +
 .../YamlSQLTranslatorRuleConfigurationSwapper.java |  1 +
 .../pom.xml                                        | 11 ++--
 .../pom.xml                                        | 28 ++++++---
 .../handler/SQLTranslatorRuleQueryResultSet.java}  | 29 ++++-----
 ...dingsphere.infra.distsql.query.DistSQLResultSet | 18 ++++++
 .../SQLTranslatorRuleQueryResultSetTest.java       | 59 ++++++++++++++++++
 .../pom.xml                                        | 69 ++++++++++++++++++++++
 .../main/antlr4/imports/sqltranslator/Alphabet.g4  | 36 ++++++++---
 .../main/antlr4/imports/sqltranslator/Keyword.g4   | 24 +++++---
 .../antlr4/imports/sqltranslator/RALStatement.g4   | 12 ++--
 .../main/antlr4/imports/sqltranslator/Symbol.g4    | 62 +++++++++++++++++++
 .../autogen/SQLTranslatorDistSQLStatement.g4       | 12 ++--
 .../parser/core/SQLTranslatorDistSQLLexer.java     | 14 +++--
 .../parser/core/SQLTranslatorDistSQLParser.java    | 40 +++++++++++++
 .../core/SQLTranslatorDistSQLStatementVisitor.java | 35 +++++++++++
 .../SQLTranslatorDistSQLStatementParserFacade.java | 52 ++++++++++++++++
 ...engine.spi.FeaturedDistSQLStatementParserFacade | 18 ++++++
 .../pom.xml                                        | 18 +++---
 .../statement}/ShowSQLTranslatorRuleStatement.java |  6 +-
 .../query/TrafficRulesQueryResultSetTest.java      |  4 +-
 .../query/TransactionRuleQueryResultSet.java       |  2 +-
 .../query/TransactionRuleQueryResultSetTest.java   | 18 ++++--
 .../shardingsphere-proxy-backend/pom.xml           |  5 ++
 .../distsql/ral/RALBackendHandlerFactory.java      |  3 -
 .../queryable/ShowSQLTranslatorRuleHandler.java    | 50 ----------------
 .../ShowSQLTranslatorRuleHandlerTest.java          | 61 -------------------
 .../src/test/resources/env/common/command.xml      |  2 +-
 .../shardingsphere-parser-test/pom.xml             |  5 ++
 .../ral/impl/QueryableRALStatementAssert.java      |  2 +-
 .../ShowSQLTranslatorRuleStatementAssert.java      |  2 +-
 39 files changed, 521 insertions(+), 252 deletions(-)

diff --git 
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/Keyword.g4
 
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/Keyword.g4
index a80064da811..09773174d73 100644
--- 
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/Keyword.g4
+++ 
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/Keyword.g4
@@ -127,10 +127,6 @@ INSTANCE
     : I N S T A N C E
     ;
 
-IP
-    : I P
-    ;
-
 IGNORE
     : I G N O R E
     ;
@@ -159,10 +155,6 @@ TABLE
     : T A B L E
     ;
 
-TRANSACTION
-    : T R A N S A C T I O N
-    ;
-
 RULES
     : R U L E S
     ;
@@ -179,10 +171,6 @@ METADATA
     : M E T A D A T A
     ;
 
-AUTHORITY
-    : A U T H O R I T Y
-    ;
-
 TRUE
     : T R U E
     ;
@@ -223,10 +211,6 @@ UNLABEL
     : U N L A B E L
     ;
 
-LABELS
-    : L A B E L S
-    ;
-
 EXPORT
     : E X P O R T
     ;
@@ -287,10 +271,6 @@ SINGLE_TABLE
     : S I N G L E UL_ T A B L E
     ;
 
-SQL_TRANSLATOR
-    : S Q L UL_ T R A N S L A T O R
-    ;
-
 INFO
     : I N F O
     ;
diff --git 
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/RALStatement.g4
 
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/RALStatement.g4
index 497ecd3fb5d..341d9064525 100644
--- 
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/RALStatement.g4
+++ 
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/RALStatement.g4
@@ -87,10 +87,6 @@ convertYamlConfiguration
     : CONVERT YAML (CONFIGURATION | CONFIG) FILE EQ filePath
     ;
 
-showSQLTranslatorRule
-    : SHOW SQL_TRANSLATOR RULE
-    ;
-
 showMigrationProcessConfiguration
     : SHOW MIGRATION PROCESS CONFIGURATION
     ;
diff --git 
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/KernelDistSQLStatement.g4
 
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/KernelDistSQLStatement.g4
index d551ddbd684..d27e5546715 100644
--- 
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/KernelDistSQLStatement.g4
+++ 
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/KernelDistSQLStatement.g4
@@ -53,7 +53,6 @@ execute
     | showRulesUsedResource
     | importDatabaseConfiguration
     | convertYamlConfiguration
-    | showSQLTranslatorRule
     | showMigrationProcessConfiguration
     | createMigrationProcessConfiguration
     | alterMigrationProcessConfiguration
diff --git 
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
 
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
index 6188d9c3ccb..0d677e5579b 100644
--- 
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
+++ 
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
@@ -63,7 +63,6 @@ import 
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementPa
 import 
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowModeInfoContext;
 import 
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowResourcesContext;
 import 
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowRulesUsedResourceContext;
-import 
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowSQLTranslatorRuleContext;
 import 
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowSingleTableContext;
 import 
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowSingleTableRulesContext;
 import 
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowTableMetadataContext;
@@ -87,7 +86,6 @@ import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInst
 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.ShowSQLTranslatorRuleStatement;
 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.updatable.AlterInstanceStatement;
@@ -351,11 +349,6 @@ public final class KernelDistSQLStatementVisitor extends 
KernelDistSQLStatementB
         return new 
ImportDatabaseConfigurationStatement(getIdentifierValue(ctx.filePath()));
     }
     
-    @Override
-    public ASTNode visitShowSQLTranslatorRule(final 
ShowSQLTranslatorRuleContext ctx) {
-        return new ShowSQLTranslatorRuleStatement();
-    }
-    
     @Override
     public ASTNode visitShowMigrationProcessConfiguration(final 
ShowMigrationProcessConfigurationContext ctx) {
         return new ShowMigrationProcessConfigurationStatement();
diff --git 
a/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-distsql/shardingsphere-authority-distsql-handler/src/main/java/org/apache/shardingsphere/authority/distsql/handler/AuthorityRuleQueryResultSet.java
 
b/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-distsql/shardingsphere-authority-distsql-handler/src/main/java/org/apache/shardingsphere/authority/distsql/handler/AuthorityRuleQueryResultSet.java
index 8309d79f020..755c47bf4b3 100644
--- 
a/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-distsql/shardingsphere-authority-distsql-handler/src/main/java/org/apache/shardingsphere/authority/distsql/handler/AuthorityRuleQueryResultSet.java
+++ 
b/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-distsql/shardingsphere-authority-distsql-handler/src/main/java/org/apache/shardingsphere/authority/distsql/handler/AuthorityRuleQueryResultSet.java
@@ -28,8 +28,6 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Optional;
 import java.util.stream.Collectors;
 
 /**
@@ -47,15 +45,12 @@ public final class AuthorityRuleQueryResultSet implements 
GlobalRuleDistSQLResul
     
     @Override
     public void init(final ShardingSphereRuleMetaData ruleMetaData, final 
SQLStatement sqlStatement) {
-        Optional<AuthorityRule> rule = 
ruleMetaData.findSingleRule(AuthorityRule.class);
-        rule.ifPresent(optional -> data = 
buildData(optional.getConfiguration()).iterator());
+        ruleMetaData.findSingleRule(AuthorityRule.class).ifPresent(optional -> 
data = buildData(optional.getConfiguration()).iterator());
     }
     
     private Collection<Collection<Object>> buildData(final 
AuthorityRuleConfiguration ruleConfig) {
-        Collection<Collection<Object>> result = new LinkedList<>();
-        result.add(Arrays.asList(ruleConfig.getUsers().stream().map(each -> 
each.getGrantee().toString()).collect(Collectors.joining("; ")),
+        return 
Collections.singleton(Arrays.asList(ruleConfig.getUsers().stream().map(each -> 
each.getGrantee().toString()).collect(Collectors.joining("; ")),
                 ruleConfig.getProvider().getType(), 
ruleConfig.getProvider().getProps().isEmpty() ? "" : 
ruleConfig.getProvider().getProps()));
-        return result;
     }
     
     @Override
diff --git 
a/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-distsql/shardingsphere-authority-distsql-handler/src/test/java/org/apache/shardingsphere/authority/distsql/handler/AuthorityRuleQueryResultSetTest.java
 
b/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-distsql/shardingsphere-authority-distsql-handler/src/test/java/org/apache/shardingsphere/authority/distsql/handler/AuthorityRuleQueryResultSetTest.java
index 335bbf6eb13..0b498bb39e8 100644
--- 
a/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-distsql/shardingsphere-authority-distsql-handler/src/test/java/org/apache/shardingsphere/authority/distsql/handler/AuthorityRuleQueryResultSetTest.java
+++ 
b/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-distsql/shardingsphere-authority-distsql-handler/src/test/java/org/apache/shardingsphere/authority/distsql/handler/AuthorityRuleQueryResultSetTest.java
@@ -41,7 +41,7 @@ public final class AuthorityRuleQueryResultSetTest {
     
     @Test
     public void assertExecute() {
-        ShardingSphereRuleMetaData ruleMetaData = mockRuleMetaData();
+        ShardingSphereRuleMetaData ruleMetaData = mockGlobalRuleMetaData();
         GlobalRuleDistSQLResultSet resultSet = new 
AuthorityRuleQueryResultSet();
         resultSet.init(ruleMetaData, mock(ShowAuthorityRuleStatement.class));
         Collection<Object> actual = resultSet.getRowData();
@@ -51,7 +51,7 @@ public final class AuthorityRuleQueryResultSetTest {
         assertTrue(actual.contains(""));
     }
     
-    private ShardingSphereRuleMetaData mockRuleMetaData() {
+    private ShardingSphereRuleMetaData mockGlobalRuleMetaData() {
         AuthorityRule authorityRule = mock(AuthorityRule.class);
         
when(authorityRule.getConfiguration()).thenReturn(createAuthorityRuleConfiguration());
         ShardingSphereRuleMetaData result = 
mock(ShardingSphereRuleMetaData.class);
diff --git 
a/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-distsql/shardingsphere-parser-distsql-handler/src/main/java/org/apache/shardingsphere/parser/distsql/handler/query/SQLParserRuleQueryResultSet.java
 
b/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-distsql/shardingsphere-parser-distsql-handler/src/main/java/org/apache/shardingsphere/parser/distsql/handler/query/SQLParserRuleQueryResultSet.java
index 0b99067d0c3..cdffb51e5b4 100644
--- 
a/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-distsql/shardingsphere-parser-distsql-handler/src/main/java/org/apache/shardingsphere/parser/distsql/handler/query/SQLParserRuleQueryResultSet.java
+++ 
b/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-distsql/shardingsphere-parser-distsql-handler/src/main/java/org/apache/shardingsphere/parser/distsql/handler/query/SQLParserRuleQueryResultSet.java
@@ -19,6 +19,7 @@ package 
org.apache.shardingsphere.parser.distsql.handler.query;
 
 import 
org.apache.shardingsphere.infra.distsql.query.GlobalRuleDistSQLResultSet;
 import 
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
+import org.apache.shardingsphere.parser.config.SQLParserRuleConfiguration;
 import 
org.apache.shardingsphere.parser.distsql.parser.statement.queryable.ShowSQLParserRuleStatement;
 import org.apache.shardingsphere.parser.rule.SQLParserRule;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
@@ -43,12 +44,12 @@ public final class SQLParserRuleQueryResultSet implements 
GlobalRuleDistSQLResul
     
     @Override
     public void init(final ShardingSphereRuleMetaData ruleMetaData, final 
SQLStatement sqlStatement) {
-        ruleMetaData.findSingleRule(SQLParserRule.class).ifPresent(optional -> 
data = buildData(optional).iterator());
+        ruleMetaData.findSingleRule(SQLParserRule.class).ifPresent(optional -> 
data = buildData(optional.getConfiguration()).iterator());
     }
     
-    private Collection<Collection<Object>> buildData(final SQLParserRule rule) 
{
-        return 
Collections.singleton(Arrays.asList(String.valueOf(rule.isSqlCommentParseEnabled()),
-                null != rule.getParseTreeCache() ? 
rule.getParseTreeCache().toString() : "", null != rule.getSqlStatementCache() ? 
rule.getSqlStatementCache().toString() : ""));
+    private Collection<Collection<Object>> buildData(final 
SQLParserRuleConfiguration ruleConfig) {
+        return 
Collections.singleton(Arrays.asList(String.valueOf(ruleConfig.isSqlCommentParseEnabled()),
 null != ruleConfig.getParseTreeCache() ? 
ruleConfig.getParseTreeCache().toString() : "",
+                null != ruleConfig.getSqlStatementCache() ? 
ruleConfig.getSqlStatementCache().toString() : ""));
     }
     
     @Override
diff --git 
a/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-distsql/shardingsphere-parser-distsql-handler/src/test/java/org/apache/shardingsphere/parser/distsql/handler/query/SQLParserRuleQueryResultSetTest.java
 
b/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-distsql/shardingsphere-parser-distsql-handler/src/test/java/org/apache/shardingsphere/parser/distsql/handler/query/SQLParserRuleQueryResultSetTest.java
index 303a6d2d9a1..38114d30bca 100644
--- 
a/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-distsql/shardingsphere-parser-distsql-handler/src/test/java/org/apache/shardingsphere/parser/distsql/handler/query/SQLParserRuleQueryResultSetTest.java
+++ 
b/shardingsphere-kernel/shardingsphere-parser/shardingsphere-parser-distsql/shardingsphere-parser-distsql-handler/src/test/java/org/apache/shardingsphere/parser/distsql/handler/query/SQLParserRuleQueryResultSetTest.java
@@ -25,19 +25,20 @@ import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.junit.Test;
 
 import java.util.Collection;
-import java.util.Collections;
 import java.util.Iterator;
+import java.util.Optional;
 
 import static org.hamcrest.CoreMatchers.containsString;
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 public final class SQLParserRuleQueryResultSetTest {
     
     @Test
     public void assertSQLParserRule() {
-        ShardingSphereRuleMetaData ruleMetaData = createGlobalRuleMetaData();
+        ShardingSphereRuleMetaData ruleMetaData = mockGlobalRuleMetaData();
         SQLParserRuleQueryResultSet resultSet = new 
SQLParserRuleQueryResultSet();
         resultSet.init(ruleMetaData, mock(ShowSQLParserRuleStatement.class));
         Collection<Object> actual = resultSet.getRowData();
@@ -52,10 +53,15 @@ public final class SQLParserRuleQueryResultSetTest {
         assertThat(sqlStatementCache, containsString("maximumSize: 65535"));
     }
     
-    private ShardingSphereRuleMetaData createGlobalRuleMetaData() {
-        CacheOption parseTreeCache = new CacheOption(128, 1024);
-        CacheOption sqlStatementCache = new CacheOption(2000, 65535);
-        SQLParserRuleConfiguration config = new 
SQLParserRuleConfiguration(true, parseTreeCache, sqlStatementCache);
-        return new ShardingSphereRuleMetaData(Collections.singleton(new 
SQLParserRule(config)));
+    private ShardingSphereRuleMetaData mockGlobalRuleMetaData() {
+        SQLParserRule sqlParserRule = mock(SQLParserRule.class);
+        
when(sqlParserRule.getConfiguration()).thenReturn(createSQLParserRuleConfiguration());
+        ShardingSphereRuleMetaData result = 
mock(ShardingSphereRuleMetaData.class);
+        
when(result.findSingleRule(SQLParserRule.class)).thenReturn(Optional.of(sqlParserRule));
+        return result;
+    }
+    
+    private SQLParserRuleConfiguration createSQLParserRuleConfiguration() {
+        return new SQLParserRuleConfiguration(true, new CacheOption(128, 
1024), new CacheOption(2000, 65535));
     }
 }
diff --git a/shardingsphere-kernel/shardingsphere-sql-translator/pom.xml 
b/shardingsphere-kernel/shardingsphere-sql-translator/pom.xml
index 9c36a18f0e3..0f35ec5cf3e 100644
--- a/shardingsphere-kernel/shardingsphere-sql-translator/pom.xml
+++ b/shardingsphere-kernel/shardingsphere-sql-translator/pom.xml
@@ -33,5 +33,6 @@
         <module>shardingsphere-sql-translator-core</module>
         <module>shardingsphere-sql-translator-provider</module>
         <module>shardingsphere-sql-translator-spring</module>
+        <module>shardingsphere-sql-translator-distsql</module>
     </modules>
 </project>
diff --git 
a/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-core/src/main/java/org/apache/shardingsphere/sqltranslator/yaml/swapper/YamlSQLTranslatorRuleConfigurationSwapper.java
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-core/src/main/java/org/apache/shardingsphere/sqltranslator/yaml/swapper/YamlSQLTranslatorRuleConfigurationSwapper.java
index d5852b3f742..4ba5f4605da 100644
--- 
a/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-core/src/main/java/org/apache/shardingsphere/sqltranslator/yaml/swapper/YamlSQLTranslatorRuleConfigurationSwapper.java
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-core/src/main/java/org/apache/shardingsphere/sqltranslator/yaml/swapper/YamlSQLTranslatorRuleConfigurationSwapper.java
@@ -31,6 +31,7 @@ public final class YamlSQLTranslatorRuleConfigurationSwapper 
implements YamlRule
     public YamlSQLTranslatorRuleConfiguration swapToYamlConfiguration(final 
SQLTranslatorRuleConfiguration data) {
         YamlSQLTranslatorRuleConfiguration result = new 
YamlSQLTranslatorRuleConfiguration();
         result.setType(data.getType());
+        
result.setUseOriginalSQLWhenTranslatingFailed(data.isUseOriginalSQLWhenTranslatingFailed());
         return result;
     }
     
diff --git a/shardingsphere-kernel/shardingsphere-sql-translator/pom.xml 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/pom.xml
similarity index 78%
copy from shardingsphere-kernel/shardingsphere-sql-translator/pom.xml
copy to 
shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/pom.xml
index 9c36a18f0e3..902d40b1ea5 100644
--- a/shardingsphere-kernel/shardingsphere-sql-translator/pom.xml
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/pom.xml
@@ -21,17 +21,16 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.shardingsphere</groupId>
-        <artifactId>shardingsphere-kernel</artifactId>
+        <artifactId>shardingsphere-sql-translator</artifactId>
         <version>5.2.1-SNAPSHOT</version>
     </parent>
-    <artifactId>shardingsphere-sql-translator</artifactId>
+    <artifactId>shardingsphere-sql-translator-distsql</artifactId>
     <packaging>pom</packaging>
     <name>${project.artifactId}</name>
     
     <modules>
-        <module>shardingsphere-sql-translator-api</module>
-        <module>shardingsphere-sql-translator-core</module>
-        <module>shardingsphere-sql-translator-provider</module>
-        <module>shardingsphere-sql-translator-spring</module>
+        <module>shardingsphere-sql-translator-distsql-statement</module>
+        <module>shardingsphere-sql-translator-distsql-parser</module>
+        <module>shardingsphere-sql-translator-distsql-handler</module>
     </modules>
 </project>
diff --git a/shardingsphere-kernel/shardingsphere-sql-translator/pom.xml 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-handler/pom.xml
similarity index 59%
copy from shardingsphere-kernel/shardingsphere-sql-translator/pom.xml
copy to 
shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-handler/pom.xml
index 9c36a18f0e3..36fa6cdb09d 100644
--- a/shardingsphere-kernel/shardingsphere-sql-translator/pom.xml
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-handler/pom.xml
@@ -21,17 +21,27 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.shardingsphere</groupId>
-        <artifactId>shardingsphere-kernel</artifactId>
+        <artifactId>shardingsphere-sql-translator-distsql</artifactId>
         <version>5.2.1-SNAPSHOT</version>
     </parent>
-    <artifactId>shardingsphere-sql-translator</artifactId>
-    <packaging>pom</packaging>
+    <artifactId>shardingsphere-sql-translator-distsql-handler</artifactId>
     <name>${project.artifactId}</name>
     
-    <modules>
-        <module>shardingsphere-sql-translator-api</module>
-        <module>shardingsphere-sql-translator-core</module>
-        <module>shardingsphere-sql-translator-provider</module>
-        <module>shardingsphere-sql-translator-spring</module>
-    </modules>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-sql-translator-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            
<artifactId>shardingsphere-sql-translator-distsql-statement</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            
<artifactId>shardingsphere-sql-translator-distsql-parser</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
 </project>
diff --git 
a/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-distsql/shardingsphere-transaction-distsql-handler/src/main/java/org/apache/shardingsphere/transaction/distsql/handler/query/TransactionRuleQueryResultSet.java
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-handler/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/handler/SQLTranslatorRuleQueryResultSet.java
similarity index 58%
copy from 
shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-distsql/shardingsphere-transaction-distsql-handler/src/main/java/org/apache/shardingsphere/transaction/distsql/handler/query/TransactionRuleQueryResultSet.java
copy to 
shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-handler/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/handler/SQLTranslatorRuleQueryResultSet.java
index 809154d4ee6..9adc76b3f18 100644
--- 
a/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-distsql/shardingsphere-transaction-distsql-handler/src/main/java/org/apache/shardingsphere/transaction/distsql/handler/query/TransactionRuleQueryResultSet.java
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-handler/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/handler/SQLTranslatorRuleQueryResultSet.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.transaction.distsql.handler.query;
+package org.apache.shardingsphere.sqltranslator.distsql.handler;
 
 import 
org.apache.shardingsphere.infra.distsql.query.GlobalRuleDistSQLResultSet;
 import 
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
-import org.apache.shardingsphere.infra.util.props.PropertiesConverter;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import 
org.apache.shardingsphere.transaction.distsql.parser.statement.queryable.ShowTransactionRuleStatement;
-import org.apache.shardingsphere.transaction.rule.TransactionRule;
+import 
org.apache.shardingsphere.sqltranslator.api.config.SQLTranslatorRuleConfiguration;
+import 
org.apache.shardingsphere.sqltranslator.distsql.parser.statement.ShowSQLTranslatorRuleStatement;
+import org.apache.shardingsphere.sqltranslator.rule.SQLTranslatorRule;
 
 import java.util.Arrays;
 import java.util.Collection;
@@ -30,31 +30,28 @@ import java.util.Collections;
 import java.util.Iterator;
 
 /**
- * Query result set for transaction rule.
+ * Query result set for SQL translator rule.
  */
-public final class TransactionRuleQueryResultSet implements 
GlobalRuleDistSQLResultSet {
+public final class SQLTranslatorRuleQueryResultSet implements 
GlobalRuleDistSQLResultSet {
     
-    private static final String DEFAULT_TYPE = "default_type";
+    private static final String TYPE = "type";
     
-    private static final String PROVIDER_TYPE = "provider_type";
-    
-    private static final String PROPS = "props";
+    private static final String USE_ORIGINAL_SQL_WHEN_TRANSLATING_FAILED = 
"use_original_sql_when_translating_failed";
     
     private Iterator<Collection<Object>> data = Collections.emptyIterator();
     
     @Override
     public void init(final ShardingSphereRuleMetaData ruleMetaData, final 
SQLStatement sqlStatement) {
-        ruleMetaData.findSingleRule(TransactionRule.class).ifPresent(optional 
-> data = buildData(optional).iterator());
+        
ruleMetaData.findSingleRule(SQLTranslatorRule.class).ifPresent(optional -> data 
= buildData(optional.getConfiguration()).iterator());
     }
     
-    private Collection<Collection<Object>> buildData(final TransactionRule 
rule) {
-        return Collections.singleton(Arrays.asList(
-                rule.getDefaultType().name(), null != rule.getProviderType() ? 
rule.getProviderType() : "", null != rule.getProps() ? 
PropertiesConverter.convert(rule.getProps()) : ""));
+    private Collection<Collection<Object>> buildData(final 
SQLTranslatorRuleConfiguration ruleConfig) {
+        return Collections.singleton(Arrays.asList(null != 
ruleConfig.getType() ? ruleConfig.getType() : "", 
String.valueOf(ruleConfig.isUseOriginalSQLWhenTranslatingFailed())));
     }
     
     @Override
     public Collection<String> getColumnNames() {
-        return Arrays.asList(DEFAULT_TYPE, PROVIDER_TYPE, PROPS);
+        return Arrays.asList(TYPE, USE_ORIGINAL_SQL_WHEN_TRANSLATING_FAILED);
     }
     
     @Override
@@ -69,6 +66,6 @@ public final class TransactionRuleQueryResultSet implements 
GlobalRuleDistSQLRes
     
     @Override
     public String getType() {
-        return ShowTransactionRuleStatement.class.getName();
+        return ShowSQLTranslatorRuleStatement.class.getName();
     }
 }
diff --git 
a/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-handler/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.distsql.query.DistSQLResultSet
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-handler/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.distsql.query.DistSQLResultSet
new file mode 100644
index 00000000000..3559ce0cc6a
--- /dev/null
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-handler/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.distsql.query.DistSQLResultSet
@@ -0,0 +1,18 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+org.apache.shardingsphere.sqltranslator.distsql.handler.SQLTranslatorRuleQueryResultSet
diff --git 
a/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-handler/src/test/java/org/apache/shardingsphere/sqltranslator/distsql/handler/SQLTranslatorRuleQueryResultSetTest.java
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-handler/src/test/java/org/apache/shardingsphere/sqltranslator/distsql/handler/SQLTranslatorRuleQueryRes
 [...]
new file mode 100644
index 00000000000..f49986aef49
--- /dev/null
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-handler/src/test/java/org/apache/shardingsphere/sqltranslator/distsql/handler/SQLTranslatorRuleQueryResultSetTest.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.sqltranslator.distsql.handler;
+
+import 
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
+import 
org.apache.shardingsphere.sqltranslator.api.config.SQLTranslatorRuleConfiguration;
+import 
org.apache.shardingsphere.sqltranslator.distsql.parser.statement.ShowSQLTranslatorRuleStatement;
+import org.apache.shardingsphere.sqltranslator.rule.SQLTranslatorRule;
+import org.junit.Test;
+
+import java.util.Collection;
+import java.util.Optional;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public final class SQLTranslatorRuleQueryResultSetTest {
+    
+    @Test
+    public void assertExecute() {
+        ShardingSphereRuleMetaData ruleMetaData = mockGlobalRuleMetaData();
+        SQLTranslatorRuleQueryResultSet resultSet = new 
SQLTranslatorRuleQueryResultSet();
+        resultSet.init(ruleMetaData, 
mock(ShowSQLTranslatorRuleStatement.class));
+        Collection<Object> actual = resultSet.getRowData();
+        assertThat(actual.size(), is(2));
+        assertTrue(actual.contains("NATIVE"));
+        assertTrue(actual.contains(Boolean.TRUE.toString()));
+    }
+    
+    private ShardingSphereRuleMetaData mockGlobalRuleMetaData() {
+        SQLTranslatorRule authorityRule = mock(SQLTranslatorRule.class);
+        
when(authorityRule.getConfiguration()).thenReturn(createSQLTranslatorRuleConfiguration());
+        ShardingSphereRuleMetaData result = 
mock(ShardingSphereRuleMetaData.class);
+        
when(result.findSingleRule(SQLTranslatorRule.class)).thenReturn(Optional.of(authorityRule));
+        return result;
+    }
+    
+    private SQLTranslatorRuleConfiguration 
createSQLTranslatorRuleConfiguration() {
+        return new SQLTranslatorRuleConfiguration("NATIVE", true);
+    }
+}
diff --git 
a/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/pom.xml
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/pom.xml
new file mode 100644
index 00000000000..ada9e9ce015
--- /dev/null
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/pom.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.shardingsphere</groupId>
+        <artifactId>shardingsphere-sql-translator-distsql</artifactId>
+        <version>5.2.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>shardingsphere-sql-translator-distsql-parser</artifactId>
+    <name>${project.artifactId}</name>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-sql-parser-spi</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-distsql-parser</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            
<artifactId>shardingsphere-sql-translator-distsql-statement</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.antlr</groupId>
+                <artifactId>antlr4-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>antlr</id>
+                        <goals>
+                            <goal>antlr4</goal>
+                        </goals>
+                        <configuration>
+                            
<libDirectory>src/main/antlr4/imports/sqltranslator/</libDirectory>
+                            <listener>false</listener>
+                            <visitor>true</visitor>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git 
a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/antlr4/imports/sqltranslator/Alphabet.g4
similarity index 56%
copy from 
shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
copy to 
shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/antlr4/imports/sqltranslator/Alphabet.g4
index ff0816c905e..f7603cc7e63 100644
--- 
a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/antlr4/imports/sqltranslator/Alphabet.g4
@@ -15,12 +15,34 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.distsql.parser.statement.ral.queryable;
+lexer grammar Alphabet;
 
-import 
org.apache.shardingsphere.distsql.parser.statement.ral.QueryableRALStatement;
+FOR_GENERATOR: 'DO NOT MATCH ANY THING, JUST FOR GENERATOR';
 
-/**
- * Show SQL translator rule statement.
- */
-public final class ShowSQLTranslatorRuleStatement extends 
QueryableRALStatement {
-}
+fragment A:   [Aa];
+fragment B:   [Bb];
+fragment C:   [Cc];
+fragment D:   [Dd];
+fragment E:   [Ee];
+fragment F:   [Ff];
+fragment G:   [Gg];
+fragment H:   [Hh];
+fragment I:   [Ii];
+fragment J:   [Jj];
+fragment K:   [Kk];
+fragment L:   [Ll];
+fragment M:   [Mm];
+fragment N:   [Nn];
+fragment O:   [Oo];
+fragment P:   [Pp];
+fragment Q:   [Qq];
+fragment R:   [Rr];
+fragment S:   [Ss];
+fragment T:   [Tt];
+fragment U:   [Uu];
+fragment V:   [Vv];
+fragment W:   [Ww];
+fragment X:   [Xx];
+fragment Y:   [Yy];
+fragment Z:   [Zz];
+fragment UL_: '_';
diff --git 
a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/antlr4/imports/sqltranslator/Keyword.g4
similarity index 73%
copy from 
shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
copy to 
shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/antlr4/imports/sqltranslator/Keyword.g4
index ff0816c905e..088bfbdbe1f 100644
--- 
a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/antlr4/imports/sqltranslator/Keyword.g4
@@ -15,12 +15,22 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.distsql.parser.statement.ral.queryable;
+lexer grammar Keyword;
 
-import 
org.apache.shardingsphere.distsql.parser.statement.ral.QueryableRALStatement;
+import Alphabet;
 
-/**
- * Show SQL translator rule statement.
- */
-public final class ShowSQLTranslatorRuleStatement extends 
QueryableRALStatement {
-}
+WS
+    : [ \t\r\n] + ->skip
+    ;
+
+SHOW
+    : S H O W
+    ;
+
+RULE
+    : R U L E
+    ;
+
+SQL_TRANSLATOR
+    : S Q L UL_ T R A N S L A T O R
+    ;
diff --git 
a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/antlr4/imports/sqltranslator/RALStatement.g4
similarity index 73%
copy from 
shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
copy to 
shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/antlr4/imports/sqltranslator/RALStatement.g4
index ff0816c905e..98ca33b2abe 100644
--- 
a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/antlr4/imports/sqltranslator/RALStatement.g4
@@ -15,12 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.distsql.parser.statement.ral.queryable;
+grammar RALStatement;
 
-import 
org.apache.shardingsphere.distsql.parser.statement.ral.QueryableRALStatement;
+import Keyword;
 
-/**
- * Show SQL translator rule statement.
- */
-public final class ShowSQLTranslatorRuleStatement extends 
QueryableRALStatement {
-}
+showSQLTranslatorRule
+    : SHOW SQL_TRANSLATOR RULE
+    ;
diff --git 
a/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/antlr4/imports/sqltranslator/Symbol.g4
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/antlr4/imports/sqltranslator/Symbol.g4
new file mode 100644
index 00000000000..3322b09bb3a
--- /dev/null
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/antlr4/imports/sqltranslator/Symbol.g4
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+lexer grammar Symbol;
+
+AND:                '&&';
+OR:                 '||';
+NOT:                '!';
+TILDE:              '~';
+VERTICALBAR:       '|';
+AMPERSAND:          '&';
+SIGNEDLEFTSHIFT:  '<<';
+SIGNEDRIGHTSHIFT: '>>';
+CARET:              '^';
+MOD:                '%';
+COLON:              ':';
+PLUS:               '+';
+MINUS:              '-';
+ASTERISK:           '*';
+SLASH:              '/';
+BACKSLASH:          '\\';
+DOT:                '.';
+DOTASTERISK:       '.*';
+SAFEEQ:            '<=>';
+DEQ:                '==';
+EQ:                 '=';
+NEQ:                '<>' | '!=';
+GT:                 '>';
+GTE:                '>=';
+LT:                 '<';
+LTE:                '<=';
+POUND:              '#';
+LP:                 '(';
+RP:                 ')';
+LBE:                '{';
+RBE:                '}';
+LBT:                '[';
+RBT:                ']';
+COMMA:              ',';
+DQ:                 '"';
+SQ:                 '\'';
+BQ:                 '`';
+QUESTION:           '?';
+AT:                 '@';
+SEMI:               ';';
+JSONSEPARATOR:      '->>';
+UL:                 '_';
+DL:                 '$';
diff --git 
a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/SQLTranslatorDistSQLStatement.g4
similarity index 73%
copy from 
shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
copy to 
shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/SQLTranslatorDistSQLStatement.g4
index ff0816c905e..e2fa280d0d7 100644
--- 
a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/SQLTranslatorDistSQLStatement.g4
@@ -15,12 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.distsql.parser.statement.ral.queryable;
+grammar SQLTranslatorDistSQLStatement;
 
-import 
org.apache.shardingsphere.distsql.parser.statement.ral.QueryableRALStatement;
+import Symbol, RALStatement;
 
-/**
- * Show SQL translator rule statement.
- */
-public final class ShowSQLTranslatorRuleStatement extends 
QueryableRALStatement {
-}
+execute
+    : (showSQLTranslatorRule) SEMI?
+    ;
diff --git 
a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLLexer.java
similarity index 61%
copy from 
shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
copy to 
shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLLexer.java
index ff0816c905e..3246cd19dc1 100644
--- 
a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLLexer.java
@@ -15,12 +15,18 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.distsql.parser.statement.ral.queryable;
+package org.apache.shardingsphere.sqltranslator.distsql.parser.core;
 
-import 
org.apache.shardingsphere.distsql.parser.statement.ral.QueryableRALStatement;
+import org.antlr.v4.runtime.CharStream;
+import 
org.apache.shardingsphere.distsql.parser.autogen.SQLTranslatorDistSQLStatementLexer;
+import org.apache.shardingsphere.sql.parser.api.parser.SQLLexer;
 
 /**
- * Show SQL translator rule statement.
+ * SQL lexer for SQL translator dist SQL.
  */
-public final class ShowSQLTranslatorRuleStatement extends 
QueryableRALStatement {
+public final class SQLTranslatorDistSQLLexer extends 
SQLTranslatorDistSQLStatementLexer implements SQLLexer {
+    
+    public SQLTranslatorDistSQLLexer(final CharStream input) {
+        super(input);
+    }
 }
diff --git 
a/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLParser.java
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLParser.java
new file mode 100644
index 00000000000..a75b4d9d4ff
--- /dev/null
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLParser.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.sqltranslator.distsql.parser.core;
+
+import org.antlr.v4.runtime.CommonTokenStream;
+import org.antlr.v4.runtime.TokenStream;
+import 
org.apache.shardingsphere.distsql.parser.autogen.SQLTranslatorDistSQLStatementParser;
+import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
+import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
+
+/**
+ * SQL parser for SQL translator dist SQL.
+ */
+public final class SQLTranslatorDistSQLParser extends 
SQLTranslatorDistSQLStatementParser implements SQLParser {
+    
+    public SQLTranslatorDistSQLParser(final TokenStream input) {
+        super(input);
+    }
+    
+    @Override
+    public ASTNode parse() {
+        return new ParseASTNode(execute(), (CommonTokenStream) 
getTokenStream());
+    }
+}
diff --git 
a/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLStatementVisitor.java
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistS
 [...]
new file mode 100644
index 00000000000..e436dbbac85
--- /dev/null
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLStatementVisitor.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.sqltranslator.distsql.parser.core;
+
+import 
org.apache.shardingsphere.distsql.parser.autogen.SQLTranslatorDistSQLStatementBaseVisitor;
+import 
org.apache.shardingsphere.distsql.parser.autogen.SQLTranslatorDistSQLStatementParser.ShowSQLTranslatorRuleContext;
+import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
+import 
org.apache.shardingsphere.sqltranslator.distsql.parser.statement.ShowSQLTranslatorRuleStatement;
+
+/**
+ * SQL statement visitor for SQL translator dist SQL.
+ */
+public final class SQLTranslatorDistSQLStatementVisitor extends 
SQLTranslatorDistSQLStatementBaseVisitor<ASTNode> implements SQLVisitor {
+    
+    @Override
+    public ASTNode visitShowSQLTranslatorRule(final 
ShowSQLTranslatorRuleContext ctx) {
+        return new ShowSQLTranslatorRuleStatement();
+    }
+}
diff --git 
a/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/facade/SQLTranslatorDistSQLStatementParserFacade.java
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/facade/SQLTransl
 [...]
new file mode 100644
index 00000000000..38c45fbfbe5
--- /dev/null
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/facade/SQLTranslatorDistSQLStatementParserFacade.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.sqltranslator.distsql.parser.facade;
+
+import 
org.apache.shardingsphere.distsql.parser.engine.spi.FeaturedDistSQLStatementParserFacade;
+import org.apache.shardingsphere.sql.parser.api.parser.SQLLexer;
+import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
+import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
+import 
org.apache.shardingsphere.sqltranslator.distsql.parser.core.SQLTranslatorDistSQLLexer;
+import 
org.apache.shardingsphere.sqltranslator.distsql.parser.core.SQLTranslatorDistSQLParser;
+import 
org.apache.shardingsphere.sqltranslator.distsql.parser.core.SQLTranslatorDistSQLStatementVisitor;
+
+/**
+ * SQL parser facade for SQL translator dist SQL statement.
+ */
+public final class SQLTranslatorDistSQLStatementParserFacade implements 
FeaturedDistSQLStatementParserFacade {
+    
+    @Override
+    public Class<? extends SQLLexer> getLexerClass() {
+        return SQLTranslatorDistSQLLexer.class;
+    }
+    
+    @Override
+    public Class<? extends SQLParser> getParserClass() {
+        return SQLTranslatorDistSQLParser.class;
+    }
+    
+    @Override
+    public Class<? extends SQLVisitor> getVisitorClass() {
+        return SQLTranslatorDistSQLStatementVisitor.class;
+    }
+    
+    @Override
+    public String getType() {
+        return "sql_translator";
+    }
+}
diff --git 
a/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.parser.engine.spi.FeaturedDistSQLStatementParserFacade
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.parser.engi
 [...]
new file mode 100644
index 00000000000..2692af6c84a
--- /dev/null
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-parser/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.parser.engine.spi.FeaturedDistSQLStatementParserFacade
@@ -0,0 +1,18 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+org.apache.shardingsphere.sqltranslator.distsql.parser.facade.SQLTranslatorDistSQLStatementParserFacade
diff --git a/shardingsphere-kernel/shardingsphere-sql-translator/pom.xml 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-statement/pom.xml
similarity index 75%
copy from shardingsphere-kernel/shardingsphere-sql-translator/pom.xml
copy to 
shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-statement/pom.xml
index 9c36a18f0e3..43d6bf680e1 100644
--- a/shardingsphere-kernel/shardingsphere-sql-translator/pom.xml
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-statement/pom.xml
@@ -21,17 +21,17 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.shardingsphere</groupId>
-        <artifactId>shardingsphere-kernel</artifactId>
+        <artifactId>shardingsphere-sql-translator-distsql</artifactId>
         <version>5.2.1-SNAPSHOT</version>
     </parent>
-    <artifactId>shardingsphere-sql-translator</artifactId>
-    <packaging>pom</packaging>
+    <artifactId>shardingsphere-sql-translator-distsql-statement</artifactId>
     <name>${project.artifactId}</name>
     
-    <modules>
-        <module>shardingsphere-sql-translator-api</module>
-        <module>shardingsphere-sql-translator-core</module>
-        <module>shardingsphere-sql-translator-provider</module>
-        <module>shardingsphere-sql-translator-spring</module>
-    </modules>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-distsql-statement</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
 </project>
diff --git 
a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-statement/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/statement/ShowSQLTranslatorRuleStatement.java
similarity index 88%
rename from 
shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
rename to 
shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-statement/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/statement/ShowSQLTranslatorRuleStatement.java
index ff0816c905e..22a99cef5d4 100644
--- 
a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowSQLTranslatorRuleStatement.java
+++ 
b/shardingsphere-kernel/shardingsphere-sql-translator/shardingsphere-sql-translator-distsql/shardingsphere-sql-translator-distsql-statement/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/statement/ShowSQLTranslatorRuleStatement.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.distsql.parser.statement.ral.queryable;
+package org.apache.shardingsphere.sqltranslator.distsql.parser.statement;
 
-import 
org.apache.shardingsphere.distsql.parser.statement.ral.QueryableRALStatement;
+import 
org.apache.shardingsphere.distsql.parser.statement.ral.QueryableGlobalRuleRALStatement;
 
 /**
  * Show SQL translator rule statement.
  */
-public final class ShowSQLTranslatorRuleStatement extends 
QueryableRALStatement {
+public final class ShowSQLTranslatorRuleStatement extends 
QueryableGlobalRuleRALStatement {
 }
diff --git 
a/shardingsphere-kernel/shardingsphere-traffic/shardingsphere-traffic-distsql/shardingsphere-traffic-distsql-handler/src/test/java/org/apache/shardingsphere/traffic/distsql/handler/query/TrafficRulesQueryResultSetTest.java
 
b/shardingsphere-kernel/shardingsphere-traffic/shardingsphere-traffic-distsql/shardingsphere-traffic-distsql-handler/src/test/java/org/apache/shardingsphere/traffic/distsql/handler/query/TrafficRulesQueryResultSetTest.java
index 4ab5da5a041..a998b7e2c1f 100644
--- 
a/shardingsphere-kernel/shardingsphere-traffic/shardingsphere-traffic-distsql/shardingsphere-traffic-distsql-handler/src/test/java/org/apache/shardingsphere/traffic/distsql/handler/query/TrafficRulesQueryResultSetTest.java
+++ 
b/shardingsphere-kernel/shardingsphere-traffic/shardingsphere-traffic-distsql/shardingsphere-traffic-distsql-handler/src/test/java/org/apache/shardingsphere/traffic/distsql/handler/query/TrafficRulesQueryResultSetTest.java
@@ -42,7 +42,7 @@ public final class TrafficRulesQueryResultSetTest {
     
     @Test
     public void assertExecute() {
-        ShardingSphereRuleMetaData ruleMetaData = mockRuleMetaData();
+        ShardingSphereRuleMetaData ruleMetaData = mockGlobalRuleMetaData();
         GlobalRuleDistSQLResultSet resultSet = new 
TrafficRulesQueryResultSet();
         resultSet.init(ruleMetaData, mock(ShowTrafficRulesStatement.class));
         Collection<Object> actual = resultSet.getRowData();
@@ -55,7 +55,7 @@ public final class TrafficRulesQueryResultSetTest {
         assertTrue(actual.contains(""));
     }
     
-    private ShardingSphereRuleMetaData mockRuleMetaData() {
+    private ShardingSphereRuleMetaData mockGlobalRuleMetaData() {
         TrafficRule trafficRule = mock(TrafficRule.class);
         
when(trafficRule.getConfiguration()).thenReturn(createTrafficRuleConfiguration());
         ShardingSphereRuleMetaData result = 
mock(ShardingSphereRuleMetaData.class);
diff --git 
a/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-distsql/shardingsphere-transaction-distsql-handler/src/main/java/org/apache/shardingsphere/transaction/distsql/handler/query/TransactionRuleQueryResultSet.java
 
b/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-distsql/shardingsphere-transaction-distsql-handler/src/main/java/org/apache/shardingsphere/transaction/distsql/handler/query/TransactionRuleQueryResultSet.java
index 809154d4ee6..c18dff36740 100644
--- 
a/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-distsql/shardingsphere-transaction-distsql-handler/src/main/java/org/apache/shardingsphere/transaction/distsql/handler/query/TransactionRuleQueryResultSet.java
+++ 
b/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-distsql/shardingsphere-transaction-distsql-handler/src/main/java/org/apache/shardingsphere/transaction/distsql/handler/query/TransactionRuleQueryResultSet.java
@@ -49,7 +49,7 @@ public final class TransactionRuleQueryResultSet implements 
GlobalRuleDistSQLRes
     
     private Collection<Collection<Object>> buildData(final TransactionRule 
rule) {
         return Collections.singleton(Arrays.asList(
-                rule.getDefaultType().name(), null != rule.getProviderType() ? 
rule.getProviderType() : "", null != rule.getProps() ? 
PropertiesConverter.convert(rule.getProps()) : ""));
+                rule.getDefaultType().name(), null != rule.getProviderType() ? 
rule.getProviderType() : "", !rule.getProps().isEmpty() ? 
PropertiesConverter.convert(rule.getProps()) : ""));
     }
     
     @Override
diff --git 
a/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-distsql/shardingsphere-transaction-distsql-handler/src/test/java/org/apache/shardingsphere/transaction/distsql/handler/query/TransactionRuleQueryResultSetTest.java
 
b/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-distsql/shardingsphere-transaction-distsql-handler/src/test/java/org/apache/shardingsphere/transaction/distsql/handler/query/TransactionRuleQueryResultSetTest.java
index 0bc0f90551b..f1b6d79bfb0 100644
--- 
a/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-distsql/shardingsphere-transaction-distsql-handler/src/test/java/org/apache/shardingsphere/transaction/distsql/handler/query/TransactionRuleQueryResultSetTest.java
+++ 
b/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-distsql/shardingsphere-transaction-distsql-handler/src/test/java/org/apache/shardingsphere/transaction/distsql/handler/query/TransactionRuleQueryResultSetTest.java
@@ -27,19 +27,21 @@ import org.junit.Test;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
+import java.util.Optional;
 import java.util.Properties;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 public final class TransactionRuleQueryResultSetTest {
     
     @Test
     public void assertExecuteWithXA() {
         TransactionRuleQueryResultSet resultSet = new 
TransactionRuleQueryResultSet();
-        ShardingSphereRuleMetaData ruleMetaData = 
createGlobalRuleMetaData("XA", "Atomikos", createProperties());
+        ShardingSphereRuleMetaData ruleMetaData = mockGlobalRuleMetaData("XA", 
"Atomikos", createProperties());
         resultSet.init(ruleMetaData, mock(ShowTransactionRuleStatement.class));
         Collection<Object> actual = resultSet.getRowData();
         Iterator<Object> rowData = actual.iterator();
@@ -54,7 +56,7 @@ public final class TransactionRuleQueryResultSetTest {
     @Test
     public void assertExecuteWithLocal() {
         TransactionRuleQueryResultSet resultSet = new 
TransactionRuleQueryResultSet();
-        ShardingSphereRuleMetaData ruleMetaData = 
createGlobalRuleMetaData("LOCAL", null, null);
+        ShardingSphereRuleMetaData ruleMetaData = 
mockGlobalRuleMetaData("LOCAL", null, new Properties());
         resultSet.init(ruleMetaData, mock(ShowTransactionRuleStatement.class));
         Collection<Object> actual = resultSet.getRowData();
         assertThat(actual.size(), is(3));
@@ -62,9 +64,15 @@ public final class TransactionRuleQueryResultSetTest {
         assertTrue(actual.contains(""));
     }
     
-    private ShardingSphereRuleMetaData createGlobalRuleMetaData(final String 
defaultType, final String providerType, final Properties props) {
-        TransactionRule rule = new TransactionRule(new 
TransactionRuleConfiguration(defaultType, providerType, props), 
Collections.emptyMap(), mock(InstanceContext.class));
-        return new ShardingSphereRuleMetaData(Collections.singleton(rule));
+    private ShardingSphereRuleMetaData mockGlobalRuleMetaData(final String 
defaultType, final String providerType, final Properties props) {
+        TransactionRule rule = new 
TransactionRule(createAuthorityRuleConfiguration(defaultType, providerType, 
props), Collections.emptyMap(), mock(InstanceContext.class));
+        ShardingSphereRuleMetaData result = 
mock(ShardingSphereRuleMetaData.class);
+        
when(result.findSingleRule(TransactionRule.class)).thenReturn(Optional.of(rule));
+        return result;
+    }
+    
+    private TransactionRuleConfiguration 
createAuthorityRuleConfiguration(final String defaultType, final String 
providerType, final Properties props) {
+        return new TransactionRuleConfiguration(defaultType, providerType, 
props);
     }
     
     private Properties createProperties() {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/pom.xml 
b/shardingsphere-proxy/shardingsphere-proxy-backend/pom.xml
index 8d8cb234543..e2ff7f71389 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/pom.xml
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/pom.xml
@@ -148,6 +148,11 @@
             <artifactId>shardingsphere-parser-distsql-handler</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            
<artifactId>shardingsphere-sql-translator-distsql-handler</artifactId>
+            <version>${project.version}</version>
+        </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere-authority-core</artifactId>
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java
index 07b0d110bfb..c30ac19d53b 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java
@@ -29,7 +29,6 @@ import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllV
 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.ShowSQLTranslatorRuleStatement;
 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.scaling.QueryableScalingRALStatement;
@@ -59,7 +58,6 @@ import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.Sho
 import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowInstanceListHandler;
 import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowModeInfoHandler;
 import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowReadwriteSplittingReadResourcesHandler;
-import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowSQLTranslatorRuleHandler;
 import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowTableMetadataHandler;
 import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowVariableHandler;
 import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable.ApplyDistSQLHandler;
@@ -105,7 +103,6 @@ public final class RALBackendHandlerFactory {
         HANDLERS.put(ShowTableMetadataStatement.class, 
ShowTableMetadataHandler.class);
         HANDLERS.put(ExportDatabaseConfigurationStatement.class, 
ExportDatabaseConfigurationHandler.class);
         HANDLERS.put(ConvertYamlConfigurationStatement.class, 
ConvertYamlConfigurationHandler.class);
-        HANDLERS.put(ShowSQLTranslatorRuleStatement.class, 
ShowSQLTranslatorRuleHandler.class);
         HANDLERS.put(ShowInstanceInfoStatement.class, 
ShowInstanceInfoHandler.class);
         HANDLERS.put(ShowModeInfoStatement.class, ShowModeInfoHandler.class);
     }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowSQLTranslatorRuleHandler.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowSQLTranslatorRuleHandler.java
deleted file mode 100644
index 7362764b87d..00000000000
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowSQLTranslatorRuleHandler.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable;
-
-import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowSQLTranslatorRuleStatement;
-import 
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
-import org.apache.shardingsphere.mode.manager.ContextManager;
-import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.QueryableRALBackendHandler;
-import org.apache.shardingsphere.sqltranslator.rule.SQLTranslatorRule;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-
-/**
- * Show SQL translator rule handler.
- */
-public final class ShowSQLTranslatorRuleHandler extends 
QueryableRALBackendHandler<ShowSQLTranslatorRuleStatement> {
-    
-    private static final String TYPE = "type";
-    
-    private static final String USE_ORIGINAL_SQL_WHEN_TRANSLATING_FAILED = 
"use_original_sql_when_translating_failed";
-    
-    @Override
-    protected Collection<String> getColumnNames() {
-        return Arrays.asList(TYPE, USE_ORIGINAL_SQL_WHEN_TRANSLATING_FAILED);
-    }
-    
-    @Override
-    protected Collection<LocalDataQueryResultRow> getRows(final ContextManager 
contextManager) {
-        SQLTranslatorRule sqlTranslatorRule = 
contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getSingleRule(SQLTranslatorRule.class);
-        return Collections.singleton(new LocalDataQueryResultRow(null == 
sqlTranslatorRule.getConfiguration().getType() ? "" : 
sqlTranslatorRule.getConfiguration().getType(),
-                
String.valueOf(sqlTranslatorRule.getConfiguration().isUseOriginalSQLWhenTranslatingFailed())));
-    }
-}
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowSQLTranslatorRuleHandlerTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowSQLTranslatorRuleHandlerTest.java
deleted file mode 100644
index dd362985340..00000000000
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowSQLTranslatorRuleHandlerTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable;
-
-import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowSQLTranslatorRuleStatement;
-import 
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
-import org.apache.shardingsphere.mode.manager.ContextManager;
-import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
-import org.apache.shardingsphere.proxy.backend.util.ProxyContextRestorer;
-import 
org.apache.shardingsphere.sqltranslator.api.config.SQLTranslatorRuleConfiguration;
-import org.apache.shardingsphere.sqltranslator.rule.SQLTranslatorRule;
-import org.junit.Test;
-
-import java.sql.SQLException;
-import java.util.Collections;
-import java.util.List;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-public final class ShowSQLTranslatorRuleHandlerTest extends 
ProxyContextRestorer {
-    
-    @Test
-    public void assertExecute() throws SQLException {
-        ShowSQLTranslatorRuleHandler handler = new 
ShowSQLTranslatorRuleHandler();
-        handler.init(new ShowSQLTranslatorRuleStatement(), null);
-        ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
-        ShardingSphereRuleMetaData metaData = 
createGlobalRuleMetaData("MYSQL", true);
-        
when(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData()).thenReturn(metaData);
-        ProxyContext.init(contextManager);
-        handler.execute();
-        handler.next();
-        List<Object> data = handler.getRowData().getData();
-        assertThat(data.size(), is(2));
-        assertThat(data.get(0), is("MYSQL"));
-        assertThat(data.get(1), is("true"));
-    }
-    
-    private ShardingSphereRuleMetaData createGlobalRuleMetaData(final String 
type, final boolean useOriginalSQLWhenTranslatingFailed) {
-        SQLTranslatorRule rule = new SQLTranslatorRule(new 
SQLTranslatorRuleConfiguration(type, useOriginalSQLWhenTranslatingFailed));
-        return new ShardingSphereRuleMetaData(Collections.singleton(rule));
-    }
-}
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-transaction/src/test/resources/env/common/command.xml
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-transaction/src/test/resources/env/common/command.xml
index 3721cd02255..4850545f09f 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-transaction/src/test/resources/env/common/command.xml
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-transaction/src/test/resources/env/common/command.xml
@@ -94,7 +94,7 @@
     </create-address-broadcast-table-rule>
     
     <alter-local-transaction-rule>
-        ALTER TRANSACTION RULE ( DEFAULT=LOCAL )
+        ALTER TRANSACTION RULE (DEFAULT='LOCAL')
     </alter-local-transaction-rule>
 
     <alter-xa-transaction-rule>
diff --git a/shardingsphere-test/shardingsphere-parser-test/pom.xml 
b/shardingsphere-test/shardingsphere-parser-test/pom.xml
index 93374dc7545..382c5d512e6 100644
--- a/shardingsphere-test/shardingsphere-parser-test/pom.xml
+++ b/shardingsphere-test/shardingsphere-parser-test/pom.xml
@@ -92,6 +92,11 @@
             <artifactId>shardingsphere-parser-distsql-parser</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            
<artifactId>shardingsphere-sql-translator-distsql-parser</artifactId>
+            <version>${project.version}</version>
+        </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere-shadow-distsql-parser</artifactId>
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/QueryableRALStatementAssert.java
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/QueryableRALStatementAssert.java
index 978f584d5eb..764c37aa7ba 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/QueryableRALStatementAssert.java
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/QueryableRALStatementAssert.java
@@ -27,11 +27,11 @@ import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllV
 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.ShowSQLTranslatorRuleStatement;
 import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowTableMetadataStatement;
 import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowVariableStatement;
 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;
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowSQLTranslatorRuleStatementAssert.java
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowSQLTranslatorRuleStatementAssert.java
index cae4a17b29f..28e92609035 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowSQLTranslatorRuleStatementAssert.java
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowSQLTranslatorRuleStatementAssert.java
@@ -17,7 +17,7 @@
 
 package 
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable;
 
-import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowSQLTranslatorRuleStatement;
+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.jaxb.cases.domain.statement.distsql.ral.ShowSQLTranslatorRuleStatementTestCase;
 

Reply via email to