You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2022/07/13 14:54:39 UTC
[shardingsphere] branch master updated: Split ShowVariableStatement to ShowVariableStatement and ShowAllVariablesStatement (#19092)
This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 fda10184181 Split ShowVariableStatement to ShowVariableStatement and ShowAllVariablesStatement (#19092)
fda10184181 is described below
commit fda101841811d4745a02dd9c5ba5caee2c209680
Author: liguoping <xd...@163.com>
AuthorDate: Wed Jul 13 22:54:31 2022 +0800
Split ShowVariableStatement to ShowVariableStatement and ShowAllVariablesStatement (#19092)
* ShowAllVariableStatement
* show all variable
* add test case
---
.../core/common/CommonDistSQLStatementVisitor.java | 3 +-
...tatement.java => ShowAllVariableStatement.java} | 12 +---
.../ral/queryable/ShowVariableStatement.java | 8 +--
.../text/distsql/ral/RALBackendHandlerFactory.java | 15 +++--
...bleHandler.java => ShowAllVariableHandler.java} | 55 ++--------------
.../distsql/ral/queryable/ShowVariableHandler.java | 30 +--------
.../ShowAllVariableBackendHandlerTest.java | 76 ++++++++++++++++++++++
.../queryable/ShowVariableBackendHandlerTest.java | 19 ------
.../ral/impl/QueryableRALStatementAssert.java | 5 ++
.../queryable/ShowAllVariableStatementAssert.java | 43 ++++++++++++
.../jaxb/cases/domain/SQLParserTestCases.java | 11 +++-
.../ral/ShowAllVariableStatementTestCase.java | 16 ++---
.../src/main/resources/case/ral/common.xml | 2 +-
13 files changed, 160 insertions(+), 135 deletions(-)
diff --git a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/common/CommonDistSQLStatementVisitor.java b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/common/CommonDistSQLStatementVisitor.java
index 7da73e198b0..f8c6b888d0a 100644
--- a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/common/CommonDistSQLStatementVisitor.java
+++ b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/common/CommonDistSQLStatementVisitor.java
@@ -83,6 +83,7 @@ import org.apache.shardingsphere.distsql.parser.segment.TrafficRuleSegment;
import org.apache.shardingsphere.distsql.parser.segment.TransactionProviderSegment;
import org.apache.shardingsphere.distsql.parser.statement.ral.hint.ClearHintStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ExportDatabaseConfigurationStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllVariableStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAuthorityRuleStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInstanceModeStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInstanceStatement;
@@ -295,7 +296,7 @@ public final class CommonDistSQLStatementVisitor extends CommonDistSQLStatementB
@Override
public ASTNode visitShowAllVariables(final ShowAllVariablesContext ctx) {
- return new ShowVariableStatement();
+ return new ShowAllVariableStatement();
}
@Override
diff --git a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowVariableStatement.java b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowAllVariableStatement.java
similarity index 78%
copy from shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowVariableStatement.java
copy to shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowAllVariableStatement.java
index 27401883461..f7eca67584c 100644
--- a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowVariableStatement.java
+++ b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowAllVariableStatement.java
@@ -17,18 +17,10 @@
package org.apache.shardingsphere.distsql.parser.statement.ral.queryable;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
import org.apache.shardingsphere.distsql.parser.statement.ral.QueryableRALStatement;
/**
- * Show variable statement.
+ * Show all variable statement.
*/
-@AllArgsConstructor
-@NoArgsConstructor
-@Getter
-public final class ShowVariableStatement extends QueryableRALStatement {
-
- private String name;
+public final class ShowAllVariableStatement extends QueryableRALStatement {
}
diff --git a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowVariableStatement.java b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowVariableStatement.java
index 27401883461..442dd543b92 100644
--- a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowVariableStatement.java
+++ b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowVariableStatement.java
@@ -17,18 +17,16 @@
package org.apache.shardingsphere.distsql.parser.statement.ral.queryable;
-import lombok.AllArgsConstructor;
import lombok.Getter;
-import lombok.NoArgsConstructor;
+import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.distsql.parser.statement.ral.QueryableRALStatement;
/**
* Show variable statement.
*/
-@AllArgsConstructor
-@NoArgsConstructor
+@RequiredArgsConstructor
@Getter
public final class ShowVariableStatement extends QueryableRALStatement {
- private String name;
+ private final String name;
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/RALBackendHandlerFactory.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/RALBackendHandlerFactory.java
index 581aa4b00df..286911cfe21 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/RALBackendHandlerFactory.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/RALBackendHandlerFactory.java
@@ -19,12 +19,13 @@ package org.apache.shardingsphere.proxy.backend.text.distsql.ral;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.distsql.parser.statement.ral.HintRALStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.RALStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.advanced.FormatStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.advanced.ParseStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.advanced.PreviewStatement;
-import org.apache.shardingsphere.distsql.parser.statement.ral.HintRALStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ExportDatabaseConfigurationStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllVariableStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAuthorityRuleStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInstanceModeStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInstanceStatement;
@@ -33,6 +34,8 @@ import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowTabl
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowTrafficRulesStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowTransactionRuleStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowVariableStatement;
+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.AlterSQLParserRuleStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.AlterTrafficRuleStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.AlterTransactionRuleStatement;
@@ -47,8 +50,6 @@ import org.apache.shardingsphere.distsql.parser.statement.ral.updatable.RefreshT
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.ral.scaling.QueryableScalingRALStatement;
-import org.apache.shardingsphere.distsql.parser.statement.ral.scaling.UpdatableScalingRALStatement;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import org.apache.shardingsphere.proxy.backend.text.TextProtocolBackendHandler;
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.advanced.FormatSQLHandler;
@@ -56,6 +57,7 @@ import org.apache.shardingsphere.proxy.backend.text.distsql.ral.advanced.ParseDi
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.advanced.PreviewHandler;
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.hint.HintRALBackendHandler;
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.queryable.ExportDatabaseConfigurationHandler;
+import org.apache.shardingsphere.proxy.backend.text.distsql.ral.queryable.ShowAllVariableHandler;
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.queryable.ShowAuthorityRuleHandler;
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.queryable.ShowInstanceHandler;
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.queryable.ShowInstanceModeHandler;
@@ -65,6 +67,9 @@ import org.apache.shardingsphere.proxy.backend.text.distsql.ral.queryable.ShowTa
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.queryable.ShowTrafficRulesHandler;
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.queryable.ShowTransactionRuleHandler;
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.queryable.ShowVariableHandler;
+import org.apache.shardingsphere.proxy.backend.text.distsql.ral.scaling.query.QueryableScalingRALBackendHandler;
+import org.apache.shardingsphere.proxy.backend.text.distsql.ral.scaling.query.QueryableScalingRALBackendHandlerFactory;
+import org.apache.shardingsphere.proxy.backend.text.distsql.ral.scaling.update.UpdatableScalingRALBackendHandler;
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.updatable.AlterSQLParserRuleHandler;
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.updatable.AlterTrafficRuleHandler;
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.updatable.AlterTransactionRuleHandler;
@@ -80,9 +85,6 @@ import org.apache.shardingsphere.proxy.backend.text.distsql.ral.updatable.SetIns
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.updatable.SetReadwriteSplittingStatusHandler;
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.updatable.SetVariableHandler;
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.updatable.UnlabelInstanceHandler;
-import org.apache.shardingsphere.proxy.backend.text.distsql.ral.scaling.query.QueryableScalingRALBackendHandler;
-import org.apache.shardingsphere.proxy.backend.text.distsql.ral.scaling.query.QueryableScalingRALBackendHandlerFactory;
-import org.apache.shardingsphere.proxy.backend.text.distsql.ral.scaling.update.UpdatableScalingRALBackendHandler;
import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.ShowReadwriteSplittingReadResourcesStatement;
import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.status.SetReadwriteSplittingStatusStatement;
@@ -117,6 +119,7 @@ public final class RALBackendHandlerFactory {
HANDLERS.put(ShowInstanceStatement.class, ShowInstanceHandler.class);
HANDLERS.put(ShowInstanceModeStatement.class, ShowInstanceModeHandler.class);
HANDLERS.put(ShowVariableStatement.class, ShowVariableHandler.class);
+ HANDLERS.put(ShowAllVariableStatement.class, ShowAllVariableHandler.class);
HANDLERS.put(ShowReadwriteSplittingReadResourcesStatement.class, ShowReadwriteSplittingReadResourcesHandler.class);
HANDLERS.put(ShowAuthorityRuleStatement.class, ShowAuthorityRuleHandler.class);
HANDLERS.put(ShowSQLParserRuleStatement.class, ShowSQLParserRuleHandler.class);
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowVariableHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowAllVariableHandler.java
similarity index 57%
copy from shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowVariableHandler.java
copy to shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowAllVariableHandler.java
index 2cd7c1009d6..9ee040f5719 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowVariableHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowAllVariableHandler.java
@@ -17,8 +17,7 @@
package org.apache.shardingsphere.proxy.backend.text.distsql.ral.queryable;
-import com.google.common.base.Strings;
-import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowVariableStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllVariableStatement;
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;
@@ -26,20 +25,17 @@ import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.JDBCBackendConnection;
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.QueryableRALBackendHandler;
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.common.enums.VariableEnum;
-import org.apache.shardingsphere.proxy.backend.text.distsql.ral.common.exception.UnsupportedVariableException;
import org.apache.shardingsphere.proxy.backend.util.SystemPropertyUtil;
-import org.apache.shardingsphere.transaction.core.TransactionType;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
/**
- * Show variable handler.
+ * Show all variable handler.
*/
-public final class ShowVariableHandler extends QueryableRALBackendHandler<ShowVariableStatement> {
+public final class ShowAllVariableHandler extends QueryableRALBackendHandler<ShowAllVariableStatement> {
private static final String VARIABLE_NAME = "variable_name";
@@ -52,15 +48,7 @@ public final class ShowVariableHandler extends QueryableRALBackendHandler<ShowVa
@Override
protected Collection<LocalDataQueryResultRow> getRows(final ContextManager contextManager) {
- if (hasSpecifiedKey()) {
- return buildSpecifiedRow(contextManager, getSqlStatement().getName());
- } else {
- return buildAllVariableRows(contextManager);
- }
- }
-
- private boolean hasSpecifiedKey() {
- return !Strings.isNullOrEmpty(getSqlStatement().getName());
+ return buildAllVariableRows(contextManager);
}
private Collection<LocalDataQueryResultRow> buildAllVariableRows(final ContextManager contextManager) {
@@ -78,39 +66,4 @@ public final class ShowVariableHandler extends QueryableRALBackendHandler<ShowVa
result.add(new LocalDataQueryResultRow(VariableEnum.TRANSACTION_TYPE.name().toLowerCase(), getConnectionSession().getTransactionStatus().getTransactionType().name()));
return result;
}
-
- private Collection<LocalDataQueryResultRow> buildSpecifiedRow(final ContextManager contextManager, final String key) {
- if (isConfigurationKey(key)) {
- return Collections.singletonList(new LocalDataQueryResultRow(key.toLowerCase(), getConfigurationValue(contextManager, key)));
- } else {
- return Collections.singletonList(new LocalDataQueryResultRow(key.toLowerCase(), getSpecialValue(key)));
- }
- }
-
- private boolean isConfigurationKey(final String key) {
- return ConfigurationPropertyKey.getKeyNames().contains(key);
- }
-
- private String getConfigurationValue(final ContextManager contextManager, final String key) {
- return contextManager.getMetaDataContexts().getMetaData().getProps().getValue(ConfigurationPropertyKey.valueOf(key)).toString();
- }
-
- private String getSpecialValue(final String key) {
- VariableEnum variable = VariableEnum.getValueOf(key);
- switch (variable) {
- case AGENT_PLUGINS_ENABLED:
- return SystemPropertyUtil.getSystemProperty(variable.name(), Boolean.TRUE.toString());
- case CACHED_CONNECTIONS:
- if (getConnectionSession().getBackendConnection() instanceof JDBCBackendConnection) {
- int connectionSize = ((JDBCBackendConnection) getConnectionSession().getBackendConnection()).getConnectionSize();
- return String.valueOf(connectionSize);
- }
- break;
- case TRANSACTION_TYPE:
- TransactionType transactionType = getConnectionSession().getTransactionStatus().getTransactionType();
- return transactionType.name();
- default:
- }
- throw new UnsupportedVariableException(key);
- }
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowVariableHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowVariableHandler.java
index 2cd7c1009d6..a8e1804ff06 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowVariableHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowVariableHandler.java
@@ -17,9 +17,7 @@
package org.apache.shardingsphere.proxy.backend.text.distsql.ral.queryable;
-import com.google.common.base.Strings;
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowVariableStatement;
-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;
import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -33,8 +31,6 @@ import org.apache.shardingsphere.transaction.core.TransactionType;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
/**
* Show variable handler.
@@ -52,31 +48,7 @@ public final class ShowVariableHandler extends QueryableRALBackendHandler<ShowVa
@Override
protected Collection<LocalDataQueryResultRow> getRows(final ContextManager contextManager) {
- if (hasSpecifiedKey()) {
- return buildSpecifiedRow(contextManager, getSqlStatement().getName());
- } else {
- return buildAllVariableRows(contextManager);
- }
- }
-
- private boolean hasSpecifiedKey() {
- return !Strings.isNullOrEmpty(getSqlStatement().getName());
- }
-
- private Collection<LocalDataQueryResultRow> buildAllVariableRows(final ContextManager contextManager) {
- List<LocalDataQueryResultRow> result = new LinkedList<>();
- ConfigurationProperties props = contextManager.getMetaDataContexts().getMetaData().getProps();
- ConfigurationPropertyKey.getKeyNames().forEach(each -> {
- String propertyValue = props.getValue(ConfigurationPropertyKey.valueOf(each)).toString();
- result.add(new LocalDataQueryResultRow(each.toLowerCase(), propertyValue));
- });
- result.add(new LocalDataQueryResultRow(
- VariableEnum.AGENT_PLUGINS_ENABLED.name().toLowerCase(), SystemPropertyUtil.getSystemProperty(VariableEnum.AGENT_PLUGINS_ENABLED.name(), Boolean.TRUE.toString())));
- if (getConnectionSession().getBackendConnection() instanceof JDBCBackendConnection) {
- result.add(new LocalDataQueryResultRow(VariableEnum.CACHED_CONNECTIONS.name().toLowerCase(), ((JDBCBackendConnection) getConnectionSession().getBackendConnection()).getConnectionSize()));
- }
- result.add(new LocalDataQueryResultRow(VariableEnum.TRANSACTION_TYPE.name().toLowerCase(), getConnectionSession().getTransactionStatus().getTransactionType().name()));
- return result;
+ return buildSpecifiedRow(contextManager, getSqlStatement().getName());
}
private Collection<LocalDataQueryResultRow> buildSpecifiedRow(final ContextManager contextManager, final String key) {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowAllVariableBackendHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowAllVariableBackendHandlerTest.java
new file mode 100644
index 00000000000..e77826561ce
--- /dev/null
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowAllVariableBackendHandlerTest.java
@@ -0,0 +1,76 @@
+/*
+ * 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.text.distsql.ral.queryable;
+
+import io.netty.util.DefaultAttributeMap;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllVariableStatement;
+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;
+import org.apache.shardingsphere.mode.manager.ContextManager;
+import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
+import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
+import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
+import org.apache.shardingsphere.proxy.backend.response.header.query.QueryResponseHeader;
+import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
+import org.apache.shardingsphere.proxy.backend.util.ProxyContextRestorer;
+import org.apache.shardingsphere.transaction.core.TransactionType;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.sql.SQLException;
+import java.util.List;
+import java.util.Properties;
+
+import static org.hamcrest.CoreMatchers.instanceOf;
+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 ShowAllVariableBackendHandlerTest extends ProxyContextRestorer {
+
+ private ConnectionSession connectionSession;
+
+ @Before
+ public void setup() {
+ ProxyContext.init(mock(ContextManager.class, RETURNS_DEEP_STUBS));
+ when(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getProps().getValue(ConfigurationPropertyKey.PROXY_BACKEND_DRIVER_TYPE)).thenReturn("JDBC");
+ connectionSession = new ConnectionSession(mock(MySQLDatabaseType.class), TransactionType.LOCAL, new DefaultAttributeMap());
+ }
+
+ @Test
+ public void assertShowAllVariables() throws SQLException {
+ connectionSession.setCurrentDatabase("db");
+ ContextManager contextManager = mock(ContextManager.class);
+ ProxyContext.init(contextManager);
+ MetaDataContexts metaDataContexts = mock(MetaDataContexts.class, RETURNS_DEEP_STUBS);
+ when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
+ when(metaDataContexts.getMetaData().getProps()).thenReturn(new ConfigurationProperties(new Properties()));
+ ShowAllVariableHandler backendHandler = new ShowAllVariableHandler();
+ backendHandler.init(new ShowAllVariableStatement(), connectionSession);
+ ResponseHeader actual = backendHandler.execute();
+ assertThat(actual, instanceOf(QueryResponseHeader.class));
+ assertThat(((QueryResponseHeader) actual).getQueryHeaders().size(), is(2));
+ backendHandler.next();
+ List<Object> rowData = backendHandler.getRowData().getData();
+ assertThat(rowData.get(0), is("sql_show"));
+ assertThat(rowData.get(1), is(Boolean.FALSE.toString()));
+ }
+}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowVariableBackendHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowVariableBackendHandlerTest.java
index cfdafe821b7..30bdcd0de8e 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowVariableBackendHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ShowVariableBackendHandlerTest.java
@@ -129,23 +129,4 @@ public final class ShowVariableBackendHandlerTest extends ProxyContextRestorer {
assertThat(rowData.get(0), is("sql_show"));
assertThat(rowData.get(1), is(Boolean.TRUE.toString()));
}
-
- @Test
- public void assertShowAllVariables() throws SQLException {
- connectionSession.setCurrentDatabase("db");
- ContextManager contextManager = mock(ContextManager.class);
- ProxyContext.init(contextManager);
- MetaDataContexts metaDataContexts = mock(MetaDataContexts.class, RETURNS_DEEP_STUBS);
- when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
- when(metaDataContexts.getMetaData().getProps()).thenReturn(new ConfigurationProperties(new Properties()));
- ShowVariableHandler backendHandler = new ShowVariableHandler();
- backendHandler.init(new ShowVariableStatement(), connectionSession);
- ResponseHeader actual = backendHandler.execute();
- assertThat(actual, instanceOf(QueryResponseHeader.class));
- assertThat(((QueryResponseHeader) actual).getQueryHeaders().size(), is(2));
- backendHandler.next();
- List<Object> rowData = backendHandler.getRowData().getData();
- assertThat(rowData.get(0), is("sql_show"));
- assertThat(rowData.get(1), is(Boolean.FALSE.toString()));
- }
}
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 4b100175e22..06efb8f328d 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
@@ -23,6 +23,7 @@ import org.apache.shardingsphere.distsql.parser.statement.ral.QueryableRALStatem
import org.apache.shardingsphere.distsql.parser.statement.ral.advanced.ParseStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.advanced.PreviewStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ExportDatabaseConfigurationStatement;
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllVariableStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAuthorityRuleStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInstanceStatement;
import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowSQLParserRuleStatement;
@@ -35,6 +36,7 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAs
import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.advanced.ParseStatementAssert;
import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.advanced.PreviewStatementAssert;
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.ShowAllVariableStatementAssert;
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.ShowInstanceStatementAssert;
import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable.ShowReadwriteSplittingReadResourcesStatementAssert;
@@ -47,6 +49,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.ExportDatabaseConfigurationStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ParseStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.PreviewStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowAllVariableStatementTestCase;
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.ShowInstanceStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowReadwriteSplittingReadResourcesStatementTestCase;
@@ -72,6 +75,8 @@ public final class QueryableRALStatementAssert {
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 ShowAllVariableStatement) {
+ ShowAllVariableStatementAssert.assertIs(assertContext, (ShowAllVariableStatement) actual, (ShowAllVariableStatementTestCase) expected);
} else if (actual instanceof ShowInstanceStatement) {
ShowInstanceStatementAssert.assertIs(assertContext, (ShowInstanceStatement) actual, (ShowInstanceStatementTestCase) expected);
} else if (actual instanceof ShowReadwriteSplittingReadResourcesStatement) {
diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowAllVariableStatementAssert.java b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowAllVariableStatementAssert.java
new file mode 100644
index 00000000000..3c17cff8f86
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/queryable/ShowAllVariableStatementAssert.java
@@ -0,0 +1,43 @@
+/*
+ * 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.test.sql.parser.parameterized.asserts.statement.distsql.ral.impl.queryable;
+
+import org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllVariableStatement;
+import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowAllVariableStatementTestCase;
+
+import static org.junit.Assert.assertNull;
+
+/**
+ * Show all variable statement assert.
+ */
+public final class ShowAllVariableStatementAssert {
+
+ /**
+ * Assert show all variable statement is correct with expected parser result.
+ *
+ * @param assertContext assert context
+ * @param actual actual show all variable statement
+ * @param expected expected show all variable statement test case
+ */
+ public static void assertIs(final SQLCaseAssertContext assertContext, final ShowAllVariableStatement actual, final ShowAllVariableStatementTestCase expected) {
+ if (null == expected) {
+ assertNull(assertContext.getText("Actual statement should not exist."), actual);
+ }
+ }
+}
diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
index 60db0de66b0..c6ac9db4a50 100644
--- a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
@@ -94,6 +94,8 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterAggregateStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterAnalyticViewStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterAttributeDimensionStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterAuditPolicyStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterClusterStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterCollationStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterConversionStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterDatabaseDictionaryStatementTestCase;
@@ -112,8 +114,6 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterIndexStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterInmemoryJoinGroupStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterJavaStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterAuditPolicyStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterClusterStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterLanguageStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterLibraryStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.ddl.AlterMaterializedViewStatementTestCase;
@@ -274,6 +274,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.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.ShowAllVariableStatementTestCase;
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.ShowInstanceStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowReadwriteSplittingHintStatusStatementTestCase;
@@ -387,10 +388,10 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.DeleteStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.DoStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.InsertStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.LockTableStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.MergeStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.SelectStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.UpdateStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.LockTableStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.tcl.BeginTransactionStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.tcl.CommitStatementTestCase;
import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.tcl.LockStatementTestCase;
@@ -1019,6 +1020,9 @@ public final class SQLParserTestCases {
@XmlElement(name = "show-variable")
private final List<ShowVariableStatementTestCase> showVariableTestCases = new LinkedList<>();
+ @XmlElement(name = "show-all-variable")
+ private final List<ShowAllVariableStatementTestCase> showAllVariableTestCases = new LinkedList<>();
+
@XmlElement(name = "set-variable")
private final List<SetVariableStatementTestCase> setVariableTestCases = new LinkedList<>();
@@ -1758,6 +1762,7 @@ public final class SQLParserTestCases {
putAll(disableShardingScalingRuleTestCases, result);
putAll(showShardingScalingRulesTestCases, result);
putAll(showVariableTestCases, result);
+ putAll(showAllVariableTestCases, result);
putAll(setVariableTestCases, result);
putAll(previewTestCases, result);
putAll(parseStatementAsserts, result);
diff --git a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowVariableStatement.java b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/ShowAllVariableStatementTestCase.java
similarity index 68%
copy from shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowVariableStatement.java
copy to shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/ShowAllVariableStatementTestCase.java
index 27401883461..432b21464f4 100644
--- a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowVariableStatement.java
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/ral/ShowAllVariableStatementTestCase.java
@@ -15,20 +15,16 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.distsql.parser.statement.ral.queryable;
+package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral;
-import lombok.AllArgsConstructor;
import lombok.Getter;
-import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.distsql.parser.statement.ral.QueryableRALStatement;
+import lombok.Setter;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
/**
- * Show variable statement.
+ * Show all variable statement test case.
*/
-@AllArgsConstructor
-@NoArgsConstructor
+@Setter
@Getter
-public final class ShowVariableStatement extends QueryableRALStatement {
-
- private String name;
+public final class ShowAllVariableStatementTestCase extends SQLParserTestCase {
}
diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ral/common.xml b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ral/common.xml
index 26155b9fe7b..85048b05879 100644
--- a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ral/common.xml
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ral/common.xml
@@ -26,7 +26,7 @@
<clear-sharding-hint sql-case-id="clear-sharding-hint" />
<clear-hint sql-case-id="clear-hint" />
<show-variable sql-case-id="show-variable" name="CACHED_CONNECTIONS" />
- <show-variable sql-case-id="show-all-variables" />
+ <show-all-variable sql-case-id="show-all-variables" />
<show-readwrite-splitting-hint-source sql-case-id="show-readwrite-splitting-hint-source" />
<show-sharding-hint-status sql-case-id="show-sharding-hint-status" />
<show-instance sql-case-id="show-instance" />