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 7cb445b9bc6 Refactor impl of FromDatabaseAvailable (#35731)
7cb445b9bc6 is described below
commit 7cb445b9bc6c0558530403c3163109625d65661b
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Jun 17 12:08:31 2025 +0800
Refactor impl of FromDatabaseAvailable (#35731)
* Refactor impl of FromDatabaseAvailable
* Refactor impl of FromDatabaseAvailable
* Refactor impl of FromDatabaseAvailable
---
.../core/advice/SQLParseCountAdviceTest.java | 3 +-
.../core/BroadcastDistSQLStatementVisitor.java | 5 +--
.../ShowBroadcastTableRulesStatement.java | 6 ++--
.../core/EncryptDistSQLStatementVisitor.java | 6 ++--
.../statement/ShowEncryptRulesStatement.java | 6 ++--
.../parser/core/MaskDistSQLStatementVisitor.java | 5 +--
.../distsql/statement/ShowMaskRulesStatement.java | 6 ++--
.../ReadwriteSplittingDistSQLStatementVisitor.java | 16 +++++----
...adwriteSplittingStorageUnitStatusStatement.java | 8 ++---
.../ShowReadwriteSplittingRulesStatement.java | 6 ++--
...StatusFromReadwriteSplittingRulesStatement.java | 8 ++---
.../parser/core/ShadowDistSQLStatementVisitor.java | 15 +++++----
.../ShowDefaultShadowAlgorithmStatement.java | 6 ++--
.../statement/ShowShadowAlgorithmsStatement.java | 6 ++--
.../statement/ShowShadowRulesStatement.java | 6 ++--
.../statement/ShowShadowTableRulesStatement.java | 6 ++--
.../core/ShardingDistSQLStatementVisitor.java | 39 +++++++++++++---------
.../ShowDefaultShardingStrategyStatement.java | 6 ++--
.../statement/ShowShardingAlgorithmsStatement.java | 6 ++--
.../statement/ShowShardingAuditorsStatement.java | 6 ++--
.../ShowShardingKeyGeneratorsStatement.java | 6 ++--
.../statement/ShowShardingTableNodesStatement.java | 6 ++--
.../ShowShardingTableReferenceRulesStatement.java | 6 ++--
.../statement/ShowShardingTableRulesStatement.java | 6 ++--
...owShardingTableRulesUsedAlgorithmStatement.java | 6 ++--
...ShowShardingTableRulesUsedAuditorStatement.java | 6 ++--
...hardingTableRulesUsedKeyGeneratorStatement.java | 6 ++--
.../ShowUnusedShardingAlgorithmsStatement.java | 6 ++--
.../ShowUnusedShardingAuditorsStatement.java | 6 ++--
.../ShowUnusedShardingKeyGeneratorsStatement.java | 6 ++--
.../type/dal/ShowColumnsStatementContextTest.java | 2 +-
.../distsql/handler/util/DatabaseNameUtils.java | 5 ++-
.../ShowRulesUsedStorageUnitExecutorTest.java | 6 ++--
.../rql/resource/ShowStorageUnitExecutorTest.java | 6 ++--
.../handler/util/DatabaseNameUtilsTest.java | 8 ++---
.../parser/core/SingleDistSQLStatementVisitor.java | 21 +++++++-----
...ShowDefaultSingleTableStorageUnitStatement.java | 6 ++--
.../statement/rql/ShowSingleTablesStatement.java | 6 ++--
.../rql/ShowUnloadedSingleTablesStatement.java | 6 ++--
.../core/kernel/KernelDistSQLStatementVisitor.java | 20 ++++++-----
.../ExportDatabaseConfigurationStatement.java | 14 ++++----
.../queryable/show/ShowTableMetaDataStatement.java | 8 ++---
.../rql/resource/ShowLogicalTablesStatement.java | 6 ++--
.../rql/resource/ShowStorageUnitsStatement.java | 14 ++++----
.../rql/resource/ShowTablesStatement.java | 19 ++++-------
.../rql/rule/database/CountRuleStatement.java | 6 ++--
.../rule/database/ShowDatabaseRulesStatement.java | 8 ++---
.../ShowRulesUsedStorageUnitStatement.java | 6 ++--
.../statement/type/DorisDALStatementVisitor.java | 2 +-
.../statement/type/MySQLDALStatementVisitor.java | 2 +-
.../core/segment/dal/FromDatabaseSegment.java | 11 ++++--
.../core/statement/FromDatabaseAvailable.java | 4 +--
.../distsql/DistSQLQueryBackendHandlerTest.java | 3 +-
.../ExportDatabaseConfigurationExecutorTest.java | 5 +--
.../export/ShowTableMetaDataExecutorTest.java | 3 +-
.../admin/executor/ShowTablesExecutorTest.java | 2 +-
.../ShowTableMetaDataStatementAssert.java | 2 +-
...eSplittingStorageUnitStatusStatementAssert.java | 2 +-
.../rql/impl/ShowRulesStatementAssert.java | 2 +-
.../rql/impl/ShowStorageUnitsStatementAssert.java | 2 +-
.../rql/impl/ShowTablesStatementAssert.java | 2 +-
61 files changed, 238 insertions(+), 202 deletions(-)
diff --git
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdviceTest.java
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdviceTest.java
index c53881002f0..553099c5dec 100644
---
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdviceTest.java
+++
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdviceTest.java
@@ -27,6 +27,7 @@ import
org.apache.shardingsphere.data.pipeline.migration.distsql.statement.query
import
org.apache.shardingsphere.distsql.statement.rdl.resource.unit.type.RegisterStorageUnitStatement;
import
org.apache.shardingsphere.distsql.statement.rql.resource.ShowStorageUnitsStatement;
import org.apache.shardingsphere.distsql.statement.rul.sql.ParseStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.SQLStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.ShowDatabasesStatement;
@@ -97,7 +98,7 @@ class SQLParseCountAdviceTest {
@Test
void assertParseRQL() {
- assertParse(new ShowStorageUnitsStatement(new DatabaseSegment(0, 0,
null), null), "RQL=1");
+ assertParse(new ShowStorageUnitsStatement(new FromDatabaseSegment(0,
new DatabaseSegment(0, 0, null)), null), "RQL=1");
}
@Test
diff --git
a/features/broadcast/distsql/parser/src/main/java/org/apache/shardingsphere/broadcast/distsql/parser/core/BroadcastDistSQLStatementVisitor.java
b/features/broadcast/distsql/parser/src/main/java/org/apache/shardingsphere/broadcast/distsql/parser/core/BroadcastDistSQLStatementVisitor.java
index 0545486c752..e15ba3fcae6 100644
---
a/features/broadcast/distsql/parser/src/main/java/org/apache/shardingsphere/broadcast/distsql/parser/core/BroadcastDistSQLStatementVisitor.java
+++
b/features/broadcast/distsql/parser/src/main/java/org/apache/shardingsphere/broadcast/distsql/parser/core/BroadcastDistSQLStatementVisitor.java
@@ -30,6 +30,7 @@ import
org.apache.shardingsphere.distsql.parser.autogen.BroadcastDistSQLStatemen
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.CountRuleStatement;
import org.apache.shardingsphere.sql.parser.api.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
@@ -54,12 +55,12 @@ public final class BroadcastDistSQLStatementVisitor extends
BroadcastDistSQLStat
@Override
public ASTNode visitShowBroadcastTableRules(final
ShowBroadcastTableRulesContext ctx) {
- return new ShowBroadcastTableRulesStatement(null == ctx.databaseName()
? null : (DatabaseSegment) visit(ctx.databaseName()));
+ return new ShowBroadcastTableRulesStatement(null == ctx.databaseName()
? null : new FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(),
(DatabaseSegment) visit(ctx.databaseName())));
}
@Override
public ASTNode visitCountBroadcastRule(final CountBroadcastRuleContext
ctx) {
- return new CountRuleStatement(null == ctx.databaseName() ? null :
(DatabaseSegment) visit(ctx.databaseName()), "BROADCAST");
+ return new CountRuleStatement(null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())), "BROADCAST");
}
@Override
diff --git
a/features/broadcast/distsql/statement/src/main/java/org/apache/shardingsphere/broadcast/distsql/statement/ShowBroadcastTableRulesStatement.java
b/features/broadcast/distsql/statement/src/main/java/org/apache/shardingsphere/broadcast/distsql/statement/ShowBroadcastTableRulesStatement.java
index 5b042dcd134..df18741983d 100644
---
a/features/broadcast/distsql/statement/src/main/java/org/apache/shardingsphere/broadcast/distsql/statement/ShowBroadcastTableRulesStatement.java
+++
b/features/broadcast/distsql/statement/src/main/java/org/apache/shardingsphere/broadcast/distsql/statement/ShowBroadcastTableRulesStatement.java
@@ -18,14 +18,14 @@
package org.apache.shardingsphere.broadcast.distsql.statement;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show broadcast table rules statement.
*/
public final class ShowBroadcastTableRulesStatement extends
ShowDatabaseRulesStatement {
- public ShowBroadcastTableRulesStatement(final DatabaseSegment database) {
- super(database);
+ public ShowBroadcastTableRulesStatement(final FromDatabaseSegment
fromDatabase) {
+ super(fromDatabase);
}
}
diff --git
a/features/encrypt/distsql/parser/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/core/EncryptDistSQLStatementVisitor.java
b/features/encrypt/distsql/parser/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/core/EncryptDistSQLStatementVisitor.java
index 75bd81c31af..5f3cf4bc1e4 100644
---
a/features/encrypt/distsql/parser/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/core/EncryptDistSQLStatementVisitor.java
+++
b/features/encrypt/distsql/parser/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/core/EncryptDistSQLStatementVisitor.java
@@ -45,6 +45,7 @@ import
org.apache.shardingsphere.encrypt.distsql.statement.ShowEncryptRulesState
import
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
import org.apache.shardingsphere.sql.parser.api.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.TableNameSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
@@ -76,7 +77,8 @@ public final class EncryptDistSQLStatementVisitor extends
EncryptDistSQLStatemen
public ASTNode visitShowEncryptRules(final ShowEncryptRulesContext ctx) {
return new ShowEncryptRulesStatement(null == ctx.tableRule()
? null
- : getIdentifierValue(ctx.tableRule().tableName()), null ==
ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()));
+ : getIdentifierValue(ctx.tableRule().tableName()),
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
@@ -138,7 +140,7 @@ public final class EncryptDistSQLStatementVisitor extends
EncryptDistSQLStatemen
@Override
public ASTNode visitCountEncryptRule(final CountEncryptRuleContext ctx) {
- return new CountRuleStatement(null == ctx.databaseName() ? null :
(DatabaseSegment) visit(ctx.databaseName()), "ENCRYPT");
+ return new CountRuleStatement(null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())), "ENCRYPT");
}
@Override
diff --git
a/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/statement/ShowEncryptRulesStatement.java
b/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/statement/ShowEncryptRulesStatement.java
index f01ccbcd177..4411b288a95 100644
---
a/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/statement/ShowEncryptRulesStatement.java
+++
b/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/statement/ShowEncryptRulesStatement.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.encrypt.distsql.statement;
import lombok.Getter;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show encrypt rules statement.
@@ -29,8 +29,8 @@ public final class ShowEncryptRulesStatement extends
ShowDatabaseRulesStatement
private final String tableName;
- public ShowEncryptRulesStatement(final String tableName, final
DatabaseSegment database) {
- super(database);
+ public ShowEncryptRulesStatement(final String tableName, final
FromDatabaseSegment fromDatabase) {
+ super(fromDatabase);
this.tableName = tableName;
}
}
diff --git
a/features/mask/distsql/parser/src/main/java/org/apache/shardingsphere/mask/distsql/parser/core/MaskDistSQLStatementVisitor.java
b/features/mask/distsql/parser/src/main/java/org/apache/shardingsphere/mask/distsql/parser/core/MaskDistSQLStatementVisitor.java
index 217d10ef84b..240cbcbf13f 100644
---
a/features/mask/distsql/parser/src/main/java/org/apache/shardingsphere/mask/distsql/parser/core/MaskDistSQLStatementVisitor.java
+++
b/features/mask/distsql/parser/src/main/java/org/apache/shardingsphere/mask/distsql/parser/core/MaskDistSQLStatementVisitor.java
@@ -43,6 +43,7 @@ import
org.apache.shardingsphere.mask.distsql.statement.DropMaskRuleStatement;
import org.apache.shardingsphere.mask.distsql.statement.ShowMaskRulesStatement;
import org.apache.shardingsphere.sql.parser.api.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
@@ -72,12 +73,12 @@ public final class MaskDistSQLStatementVisitor extends
MaskDistSQLStatementBaseV
@Override
public ASTNode visitShowMaskRules(final ShowMaskRulesContext ctx) {
return new ShowMaskRulesStatement(null == ctx.RULE() ? null :
getIdentifierValue(ctx.ruleName()),
- null == ctx.databaseName() ? null : (DatabaseSegment)
visit(ctx.databaseName()));
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
public ASTNode visitCountMaskRule(final CountMaskRuleContext ctx) {
- return new CountRuleStatement(null == ctx.databaseName() ? null :
(DatabaseSegment) visit(ctx.databaseName()), "MASK");
+ return new CountRuleStatement(null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())), "MASK");
}
@Override
diff --git
a/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/statement/ShowMaskRulesStatement.java
b/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/statement/ShowMaskRulesStatement.java
index 5c229321755..c9f5062d4ff 100644
---
a/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/statement/ShowMaskRulesStatement.java
+++
b/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/statement/ShowMaskRulesStatement.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.mask.distsql.statement;
import lombok.Getter;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show mask rules statement.
@@ -29,8 +29,8 @@ public final class ShowMaskRulesStatement extends
ShowDatabaseRulesStatement {
private final String tableName;
- public ShowMaskRulesStatement(final String tableName, final
DatabaseSegment database) {
- super(database);
+ public ShowMaskRulesStatement(final String tableName, final
FromDatabaseSegment fromDatabase) {
+ super(fromDatabase);
this.tableName = tableName;
}
}
diff --git
a/features/readwrite-splitting/distsql/parser/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/core/ReadwriteSplittingDistSQLStatementVisitor.java
b/features/readwrite-splitting/distsql/parser/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/core/ReadwriteSplittingDistSQLStatementVisitor.java
index c1d1cd5878f..f84442dddce 100644
---
a/features/readwrite-splitting/distsql/parser/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/core/ReadwriteSplittingDistSQLStatementVisitor.java
+++
b/features/readwrite-splitting/distsql/parser/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/core/ReadwriteSplittingDistSQLStatementVisitor.java
@@ -43,6 +43,7 @@ import
org.apache.shardingsphere.readwritesplitting.distsql.statement.ShowReadwr
import
org.apache.shardingsphere.readwritesplitting.distsql.statement.ShowStatusFromReadwriteSplittingRulesStatement;
import org.apache.shardingsphere.sql.parser.api.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
@@ -72,14 +73,15 @@ public final class
ReadwriteSplittingDistSQLStatementVisitor extends ReadwriteSp
@Override
public ASTNode visitAlterReadwriteSplittingStorageUnitStatus(final
AlterReadwriteSplittingStorageUnitStatusContext ctx) {
- DatabaseSegment databaseSegment = null == ctx.databaseName() ? null :
(DatabaseSegment) visit(ctx.databaseName());
- return new
AlterReadwriteSplittingStorageUnitStatusStatement(databaseSegment,
getIdentifierValue(ctx.ruleName()), getIdentifierValue(ctx.storageUnitName()),
null == ctx.DISABLE());
+ FromDatabaseSegment fromDatabase = new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(),
+ null == ctx.databaseName() ? null : (DatabaseSegment)
visit(ctx.databaseName()));
+ return new
AlterReadwriteSplittingStorageUnitStatusStatement(fromDatabase,
getIdentifierValue(ctx.ruleName()), getIdentifierValue(ctx.storageUnitName()),
null == ctx.DISABLE());
}
@Override
public ASTNode visitShowReadwriteSplittingRules(final
ShowReadwriteSplittingRulesContext ctx) {
return new ShowReadwriteSplittingRulesStatement(null == ctx.ruleName()
? null : getIdentifierValue(ctx.ruleName()),
- null != ctx.databaseName() ? (DatabaseSegment)
visit(ctx.databaseName()) : null);
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
@@ -102,9 +104,9 @@ public final class
ReadwriteSplittingDistSQLStatementVisitor extends ReadwriteSp
@Override
public ASTNode visitShowStatusFromReadwriteSplittingRules(final
ShowStatusFromReadwriteSplittingRulesContext ctx) {
- DatabaseSegment databaseSegment = null == ctx.databaseName() ? null :
(DatabaseSegment) visit(ctx.databaseName());
+ FromDatabaseSegment fromDatabase = new
FromDatabaseSegment(ctx.FROM().get(0).getSymbol().getStartIndex(), null ==
ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()));
String ruleName = getIdentifierValue(ctx.ruleName());
- return new
ShowStatusFromReadwriteSplittingRulesStatement(databaseSegment, ruleName);
+ return new
ShowStatusFromReadwriteSplittingRulesStatement(fromDatabase, ruleName);
}
private String getIdentifierValue(final ParseTree context) {
@@ -113,7 +115,9 @@ public final class
ReadwriteSplittingDistSQLStatementVisitor extends ReadwriteSp
@Override
public ASTNode visitCountReadwriteSplittingRule(final
CountReadwriteSplittingRuleContext ctx) {
- return new CountRuleStatement(null == ctx.databaseName() ? null :
(DatabaseSegment) visit(ctx.databaseName()), "READWRITE_SPLITTING");
+ return new CountRuleStatement(null == ctx.databaseName()
+ ? null
+ : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())), "READWRITE_SPLITTING");
}
private Properties getProperties(final PropertiesDefinitionContext ctx) {
diff --git
a/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/statement/AlterReadwriteSplittingStorageUnitStatusStatement.java
b/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/statement/AlterReadwriteSplittingStorageUnitStatusStatement.java
index 010459d8797..7dc48fdb8b9 100644
---
a/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/statement/AlterReadwriteSplittingStorageUnitStatusStatement.java
+++
b/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/statement/AlterReadwriteSplittingStorageUnitStatusStatement.java
@@ -20,7 +20,7 @@ package
org.apache.shardingsphere.readwritesplitting.distsql.statement;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.distsql.statement.ral.updatable.UpdatableRALStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.FromDatabaseAvailable;
import java.util.Optional;
@@ -32,7 +32,7 @@ import java.util.Optional;
@Getter
public final class AlterReadwriteSplittingStorageUnitStatusStatement extends
UpdatableRALStatement implements FromDatabaseAvailable {
- private final DatabaseSegment database;
+ private final FromDatabaseSegment fromDatabase;
private final String ruleName;
@@ -41,7 +41,7 @@ public final class
AlterReadwriteSplittingStorageUnitStatusStatement extends Upd
private final boolean enable;
@Override
- public Optional<DatabaseSegment> getFromDatabase() {
- return Optional.ofNullable(database);
+ public Optional<FromDatabaseSegment> getFromDatabase() {
+ return Optional.ofNullable(fromDatabase);
}
}
diff --git
a/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/statement/ShowReadwriteSplittingRulesStatement.java
b/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/statement/ShowReadwriteSplittingRulesStatement.java
index 42c23cf1a86..e28ed10322b 100644
---
a/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/statement/ShowReadwriteSplittingRulesStatement.java
+++
b/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/statement/ShowReadwriteSplittingRulesStatement.java
@@ -19,7 +19,7 @@ package
org.apache.shardingsphere.readwritesplitting.distsql.statement;
import lombok.Getter;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show readwrite-splitting rules statement.
@@ -29,8 +29,8 @@ public final class ShowReadwriteSplittingRulesStatement
extends ShowDatabaseRule
private final String ruleName;
- public ShowReadwriteSplittingRulesStatement(final String ruleName, final
DatabaseSegment database) {
- super(database);
+ public ShowReadwriteSplittingRulesStatement(final String ruleName, final
FromDatabaseSegment fromDatabase) {
+ super(fromDatabase);
this.ruleName = ruleName;
}
}
diff --git
a/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/statement/ShowStatusFromReadwriteSplittingRulesStatement.java
b/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/statement/ShowStatusFromReadwriteSplittingRulesStatement.java
index 7b2743057bf..81d656ae551 100644
---
a/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/statement/ShowStatusFromReadwriteSplittingRulesStatement.java
+++
b/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/statement/ShowStatusFromReadwriteSplittingRulesStatement.java
@@ -19,7 +19,7 @@ package
org.apache.shardingsphere.readwritesplitting.distsql.statement;
import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.distsql.statement.rql.resource.ResourceQueryStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.FromDatabaseAvailable;
import java.util.Optional;
@@ -30,13 +30,13 @@ import java.util.Optional;
@RequiredArgsConstructor
public final class ShowStatusFromReadwriteSplittingRulesStatement extends
ResourceQueryStatement implements FromDatabaseAvailable {
- private final DatabaseSegment database;
+ private final FromDatabaseSegment fromDatabase;
private final String ruleName;
@Override
- public Optional<DatabaseSegment> getFromDatabase() {
- return Optional.ofNullable(database);
+ public Optional<FromDatabaseSegment> getFromDatabase() {
+ return Optional.ofNullable(fromDatabase);
}
/**
diff --git
a/features/shadow/distsql/parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLStatementVisitor.java
b/features/shadow/distsql/parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLStatementVisitor.java
index 31802ff6d19..cf102df0bf4 100644
---
a/features/shadow/distsql/parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLStatementVisitor.java
+++
b/features/shadow/distsql/parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLStatementVisitor.java
@@ -56,6 +56,7 @@ import
org.apache.shardingsphere.shadow.distsql.statement.ShowShadowRulesStateme
import
org.apache.shardingsphere.shadow.distsql.statement.ShowShadowTableRulesStatement;
import org.apache.shardingsphere.sql.parser.api.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
@@ -98,12 +99,13 @@ public final class ShadowDistSQLStatementVisitor extends
ShadowDistSQLStatementB
@Override
public ASTNode visitShowShadowAlgorithms(final ShowShadowAlgorithmsContext
ctx) {
- return new ShowShadowAlgorithmsStatement(null == ctx.databaseName() ?
null : (DatabaseSegment) visit(ctx.databaseName()));
+ return new ShowShadowAlgorithmsStatement(null == ctx.databaseName() ?
null : new FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(),
(DatabaseSegment) visit(ctx.databaseName())));
}
@Override
public ASTNode visitShowDefaultShadowAlgorithm(final
ShowDefaultShadowAlgorithmContext ctx) {
- return new ShowDefaultShadowAlgorithmStatement(null ==
ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()));
+ return new ShowDefaultShadowAlgorithmStatement(
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
@@ -149,13 +151,14 @@ public final class ShadowDistSQLStatementVisitor extends
ShadowDistSQLStatementB
@Override
public ASTNode visitShowShadowRules(final ShowShadowRulesContext ctx) {
String ruleName = null == ctx.shadowRule() ? null :
getIdentifierValue(ctx.shadowRule().ruleName());
- DatabaseSegment databaseSegment = null == ctx.databaseName() ? null :
(DatabaseSegment) visit(ctx.databaseName());
- return new ShowShadowRulesStatement(ruleName, null ==
ctx.databaseName() ? null : databaseSegment);
+ FromDatabaseSegment fromDatabase = null == ctx.databaseName() ? null :
new FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(),
(DatabaseSegment) visit(ctx.databaseName()));
+ return new ShowShadowRulesStatement(ruleName, null ==
ctx.databaseName() ? null : fromDatabase);
}
@Override
public ASTNode visitShowShadowTableRules(final ShowShadowTableRulesContext
ctx) {
- return new ShowShadowTableRulesStatement(null == ctx.databaseName() ?
null : (DatabaseSegment) visit(ctx.databaseName()), ctx.TABLE().getText());
+ return new ShowShadowTableRulesStatement(null == ctx.databaseName() ?
null : new FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(),
(DatabaseSegment) visit(ctx.databaseName())),
+ ctx.TABLE().getText());
}
private String getIdentifierValue(final ParserRuleContext ctx) {
@@ -173,7 +176,7 @@ public final class ShadowDistSQLStatementVisitor extends
ShadowDistSQLStatementB
@Override
public ASTNode visitCountShadowRule(final CountShadowRuleContext ctx) {
- return new CountRuleStatement(null == ctx.databaseName() ? null :
(DatabaseSegment) visit(ctx.databaseName()), "SHADOW");
+ return new CountRuleStatement(null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())), "SHADOW");
}
private Collection<ShadowRuleSegment> autoCreateAlgorithmName(final
Collection<ShadowRuleSegment> shadowRuleSegments) {
diff --git
a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowDefaultShadowAlgorithmStatement.java
b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowDefaultShadowAlgorithmStatement.java
index ed27b796087..203292d805b 100644
---
a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowDefaultShadowAlgorithmStatement.java
+++
b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowDefaultShadowAlgorithmStatement.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shadow.distsql.statement;
import lombok.Getter;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show default shadow algorithm statement.
@@ -27,7 +27,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.Datab
@Getter
public final class ShowDefaultShadowAlgorithmStatement extends
ShowDatabaseRulesStatement {
- public ShowDefaultShadowAlgorithmStatement(final DatabaseSegment database)
{
- super(database);
+ public ShowDefaultShadowAlgorithmStatement(final FromDatabaseSegment
fromDatabase) {
+ super(fromDatabase);
}
}
diff --git
a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowShadowAlgorithmsStatement.java
b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowShadowAlgorithmsStatement.java
index a03503ba692..cad402300c8 100644
---
a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowShadowAlgorithmsStatement.java
+++
b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowShadowAlgorithmsStatement.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shadow.distsql.statement;
import lombok.Getter;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show shadow algorithms statement.
@@ -27,7 +27,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.Datab
@Getter
public final class ShowShadowAlgorithmsStatement extends
ShowDatabaseRulesStatement {
- public ShowShadowAlgorithmsStatement(final DatabaseSegment database) {
- super(database);
+ public ShowShadowAlgorithmsStatement(final FromDatabaseSegment
fromDatabase) {
+ super(fromDatabase);
}
}
diff --git
a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowShadowRulesStatement.java
b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowShadowRulesStatement.java
index f87b8d27021..2bf538ef4df 100644
---
a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowShadowRulesStatement.java
+++
b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowShadowRulesStatement.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shadow.distsql.statement;
import lombok.Getter;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show shadow rules statement.
@@ -29,8 +29,8 @@ public final class ShowShadowRulesStatement extends
ShowDatabaseRulesStatement {
private final String ruleName;
- public ShowShadowRulesStatement(final String ruleName, final
DatabaseSegment database) {
- super(database);
+ public ShowShadowRulesStatement(final String ruleName, final
FromDatabaseSegment fromDatabase) {
+ super(fromDatabase);
this.ruleName = ruleName;
}
}
diff --git
a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowShadowTableRulesStatement.java
b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowShadowTableRulesStatement.java
index 6302f5e827c..6c244b50cd8 100644
---
a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowShadowTableRulesStatement.java
+++
b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/statement/ShowShadowTableRulesStatement.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shadow.distsql.statement;
import lombok.Getter;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show shadow table rules statement.
@@ -29,8 +29,8 @@ public final class ShowShadowTableRulesStatement extends
ShowDatabaseRulesStatem
private final String tableName;
- public ShowShadowTableRulesStatement(final DatabaseSegment database, final
String tableName) {
- super(database);
+ public ShowShadowTableRulesStatement(final FromDatabaseSegment
fromDatabase, final String tableName) {
+ super(fromDatabase);
this.tableName = tableName;
}
}
diff --git
a/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
b/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
index 89d077f8565..252ee7410cc 100644
---
a/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
+++
b/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
@@ -102,6 +102,7 @@ import
org.apache.shardingsphere.sharding.distsql.statement.ShowUnusedShardingAu
import
org.apache.shardingsphere.sharding.distsql.statement.ShowUnusedShardingKeyGeneratorsStatement;
import org.apache.shardingsphere.sql.parser.api.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.TableNameSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
@@ -205,12 +206,12 @@ public final class ShardingDistSQLStatementVisitor
extends ShardingDistSQLStatem
@Override
public ASTNode visitShowShardingTableRules(final
ShowShardingTableRulesContext ctx) {
return new ShowShardingTableRulesStatement(null == ctx.tableRule() ?
null : getIdentifierValue(ctx.tableRule().tableName()),
- null == ctx.databaseName() ? null : (DatabaseSegment)
visit(ctx.databaseName()));
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
public ASTNode visitShowShardingAlgorithms(final
ShowShardingAlgorithmsContext ctx) {
- return new ShowShardingAlgorithmsStatement(null == ctx.databaseName()
? null : (DatabaseSegment) visit(ctx.databaseName()));
+ return new ShowShardingAlgorithmsStatement(null == ctx.databaseName()
? null : new FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(),
(DatabaseSegment) visit(ctx.databaseName())));
}
@Override
@@ -251,7 +252,7 @@ public final class ShardingDistSQLStatementVisitor extends
ShardingDistSQLStatem
@Override
public ASTNode visitShowShardingTableNodes(final
ShowShardingTableNodesContext ctx) {
return new ShowShardingTableNodesStatement(null == ctx.tableName() ?
null : getIdentifierValue(ctx.tableName()),
- null == ctx.databaseName() ? null : (DatabaseSegment)
visit(ctx.databaseName()));
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
@@ -325,7 +326,7 @@ public final class ShardingDistSQLStatementVisitor extends
ShardingDistSQLStatem
@Override
public ASTNode visitShowShardingTableReferenceRules(final
ShowShardingTableReferenceRulesContext ctx) {
return new ShowShardingTableReferenceRulesStatement(null ==
ctx.ruleName() ? null : getIdentifierValue(ctx.ruleName()),
- null == ctx.databaseName() ? null : (DatabaseSegment)
visit(ctx.databaseName()));
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
@@ -335,7 +336,8 @@ public final class ShardingDistSQLStatementVisitor extends
ShardingDistSQLStatem
@Override
public ASTNode visitShowShardingKeyGenerators(final
ShowShardingKeyGeneratorsContext ctx) {
- return new ShowShardingKeyGeneratorsStatement(null ==
ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()));
+ return new ShowShardingKeyGeneratorsStatement(
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
@@ -350,17 +352,20 @@ public final class ShardingDistSQLStatementVisitor
extends ShardingDistSQLStatem
@Override
public ASTNode visitShowShardingAuditors(final ShowShardingAuditorsContext
ctx) {
- return new ShowShardingAuditorsStatement(null == ctx.databaseName() ?
null : (DatabaseSegment) visit(ctx.databaseName()));
+ return new ShowShardingAuditorsStatement(null == ctx.databaseName() ?
null : new FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(),
(DatabaseSegment) visit(ctx.databaseName())));
}
@Override
public ASTNode visitShowDefaultShardingStrategy(final
ShowDefaultShardingStrategyContext ctx) {
- return new ShowDefaultShardingStrategyStatement(null ==
ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()));
+ return new ShowDefaultShardingStrategyStatement(null ==
ctx.databaseName()
+ ? null
+ : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
public ASTNode visitShowUnusedShardingAlgorithms(final
ShowUnusedShardingAlgorithmsContext ctx) {
- return new ShowUnusedShardingAlgorithmsStatement(null ==
ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()));
+ return new ShowUnusedShardingAlgorithmsStatement(
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
private String buildShardingColumn(final
AutoShardingColumnDefinitionContext ctx) {
@@ -375,33 +380,37 @@ public final class ShardingDistSQLStatementVisitor
extends ShardingDistSQLStatem
@Override
public ASTNode visitShowUnusedShardingKeyGenerators(final
ShowUnusedShardingKeyGeneratorsContext ctx) {
- return new ShowUnusedShardingKeyGeneratorsStatement(null ==
ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()));
+ return new ShowUnusedShardingKeyGeneratorsStatement(
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
public ASTNode visitShowUnusedShardingAuditors(final
ShowUnusedShardingAuditorsContext ctx) {
- return new ShowUnusedShardingAuditorsStatement(null ==
ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()));
+ return new ShowUnusedShardingAuditorsStatement(
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
public ASTNode visitShowShardingTableRulesUsedAlgorithm(final
ShowShardingTableRulesUsedAlgorithmContext ctx) {
- return new ShowShardingTableRulesUsedAlgorithmStatement(
- getIdentifierValue(ctx.shardingAlgorithmName()), null ==
ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()));
+ return new
ShowShardingTableRulesUsedAlgorithmStatement(getIdentifierValue(ctx.shardingAlgorithmName()),
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
public ASTNode visitShowShardingTableRulesUsedKeyGenerator(final
ShowShardingTableRulesUsedKeyGeneratorContext ctx) {
- return new
ShowShardingTableRulesUsedKeyGeneratorStatement(getIdentifierValue(ctx.keyGeneratorName()),
null == ctx.databaseName() ? null : (DatabaseSegment)
visit(ctx.databaseName()));
+ return new
ShowShardingTableRulesUsedKeyGeneratorStatement(getIdentifierValue(ctx.keyGeneratorName()),
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
public ASTNode visitShowShardingTableRulesUsedAuditor(final
ShowShardingTableRulesUsedAuditorContext ctx) {
- return new
ShowShardingTableRulesUsedAuditorStatement(getIdentifierValue(ctx.auditorName()),
null == ctx.databaseName() ? null : (DatabaseSegment)
visit(ctx.databaseName()));
+ return new
ShowShardingTableRulesUsedAuditorStatement(getIdentifierValue(ctx.auditorName()),
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
public ASTNode visitCountShardingRule(final CountShardingRuleContext ctx) {
- return new CountRuleStatement(null == ctx.databaseName() ? null :
(DatabaseSegment) visit(ctx.databaseName()), "SHARDING");
+ return new CountRuleStatement(null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())), "SHARDING");
}
@Override
diff --git
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowDefaultShardingStrategyStatement.java
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowDefaultShardingStrategyStatement.java
index 268a7da6fbd..8f63d0169f5 100644
---
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowDefaultShardingStrategyStatement.java
+++
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowDefaultShardingStrategyStatement.java
@@ -18,14 +18,14 @@
package org.apache.shardingsphere.sharding.distsql.statement;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show default sharding strategy statement.
*/
public final class ShowDefaultShardingStrategyStatement extends
ShowDatabaseRulesStatement {
- public ShowDefaultShardingStrategyStatement(final DatabaseSegment
database) {
- super(database);
+ public ShowDefaultShardingStrategyStatement(final FromDatabaseSegment
fromDatabase) {
+ super(fromDatabase);
}
}
diff --git
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingAlgorithmsStatement.java
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingAlgorithmsStatement.java
index b14355d8b79..d68ad5e84f4 100644
---
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingAlgorithmsStatement.java
+++
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingAlgorithmsStatement.java
@@ -18,14 +18,14 @@
package org.apache.shardingsphere.sharding.distsql.statement;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show sharding algorithms statement.
*/
public final class ShowShardingAlgorithmsStatement extends
ShowDatabaseRulesStatement {
- public ShowShardingAlgorithmsStatement(final DatabaseSegment database) {
- super(database);
+ public ShowShardingAlgorithmsStatement(final FromDatabaseSegment
fromDatabase) {
+ super(fromDatabase);
}
}
diff --git
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingAuditorsStatement.java
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingAuditorsStatement.java
index 74d80b5d4dd..ff120942a4f 100644
---
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingAuditorsStatement.java
+++
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingAuditorsStatement.java
@@ -18,14 +18,14 @@
package org.apache.shardingsphere.sharding.distsql.statement;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show sharding audit algorithms statement.
*/
public final class ShowShardingAuditorsStatement extends
ShowDatabaseRulesStatement {
- public ShowShardingAuditorsStatement(final DatabaseSegment database) {
- super(database);
+ public ShowShardingAuditorsStatement(final FromDatabaseSegment
fromDatabase) {
+ super(fromDatabase);
}
}
diff --git
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingKeyGeneratorsStatement.java
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingKeyGeneratorsStatement.java
index e5488d4f0ea..d2c87eb6400 100644
---
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingKeyGeneratorsStatement.java
+++
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingKeyGeneratorsStatement.java
@@ -18,14 +18,14 @@
package org.apache.shardingsphere.sharding.distsql.statement;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show sharding key generators statement.
*/
public final class ShowShardingKeyGeneratorsStatement extends
ShowDatabaseRulesStatement {
- public ShowShardingKeyGeneratorsStatement(final DatabaseSegment database) {
- super(database);
+ public ShowShardingKeyGeneratorsStatement(final FromDatabaseSegment
fromDatabase) {
+ super(fromDatabase);
}
}
diff --git
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableNodesStatement.java
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableNodesStatement.java
index 8d1d75088ae..15c486f6e86 100644
---
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableNodesStatement.java
+++
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableNodesStatement.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sharding.distsql.statement;
import lombok.Getter;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show sharding table nodes statement.
@@ -29,8 +29,8 @@ public final class ShowShardingTableNodesStatement extends
ShowDatabaseRulesStat
private final String tableName;
- public ShowShardingTableNodesStatement(final String tableName, final
DatabaseSegment database) {
- super(database);
+ public ShowShardingTableNodesStatement(final String tableName, final
FromDatabaseSegment fromDatabase) {
+ super(fromDatabase);
this.tableName = tableName;
}
}
diff --git
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableReferenceRulesStatement.java
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableReferenceRulesStatement.java
index 58bdf6f9a96..86902877945 100644
---
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableReferenceRulesStatement.java
+++
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableReferenceRulesStatement.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sharding.distsql.statement;
import lombok.Getter;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show sharding table reference rules statement.
@@ -29,8 +29,8 @@ public final class ShowShardingTableReferenceRulesStatement
extends ShowDatabase
private final String ruleName;
- public ShowShardingTableReferenceRulesStatement(final String ruleName,
final DatabaseSegment database) {
- super(database);
+ public ShowShardingTableReferenceRulesStatement(final String ruleName,
final FromDatabaseSegment fromDatabase) {
+ super(fromDatabase);
this.ruleName = ruleName;
}
}
diff --git
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesStatement.java
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesStatement.java
index 0d4920c1354..ba0aab234ef 100644
---
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesStatement.java
+++
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesStatement.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sharding.distsql.statement;
import lombok.Getter;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show sharding table rules statement.
@@ -29,8 +29,8 @@ public final class ShowShardingTableRulesStatement extends
ShowDatabaseRulesStat
private final String tableName;
- public ShowShardingTableRulesStatement(final String tableName, final
DatabaseSegment database) {
- super(database);
+ public ShowShardingTableRulesStatement(final String tableName, final
FromDatabaseSegment fromDatabase) {
+ super(fromDatabase);
this.tableName = tableName;
}
}
diff --git
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesUsedAlgorithmStatement.java
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesUsedAlgorithmStatement.java
index 3ef58db5a97..521490693c3 100644
---
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesUsedAlgorithmStatement.java
+++
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesUsedAlgorithmStatement.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.sharding.distsql.statement;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import java.util.Optional;
@@ -29,8 +29,8 @@ public final class
ShowShardingTableRulesUsedAlgorithmStatement extends ShowData
private final String shardingAlgorithmName;
- public ShowShardingTableRulesUsedAlgorithmStatement(final String
shardingAlgorithmName, final DatabaseSegment database) {
- super(database);
+ public ShowShardingTableRulesUsedAlgorithmStatement(final String
shardingAlgorithmName, final FromDatabaseSegment fromDatabase) {
+ super(fromDatabase);
this.shardingAlgorithmName = shardingAlgorithmName;
}
diff --git
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesUsedAuditorStatement.java
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesUsedAuditorStatement.java
index f93ccd5a3e3..5ddb30c1ed3 100644
---
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesUsedAuditorStatement.java
+++
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesUsedAuditorStatement.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.sharding.distsql.statement;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import java.util.Optional;
@@ -29,8 +29,8 @@ public final class ShowShardingTableRulesUsedAuditorStatement
extends ShowDataba
private final String auditorName;
- public ShowShardingTableRulesUsedAuditorStatement(final String
auditorName, final DatabaseSegment database) {
- super(database);
+ public ShowShardingTableRulesUsedAuditorStatement(final String
auditorName, final FromDatabaseSegment fromDatabase) {
+ super(fromDatabase);
this.auditorName = auditorName;
}
diff --git
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesUsedKeyGeneratorStatement.java
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesUsedKeyGeneratorStatement.java
index 5e5c3cb2c0c..5bd680750ec 100644
---
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesUsedKeyGeneratorStatement.java
+++
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowShardingTableRulesUsedKeyGeneratorStatement.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.sharding.distsql.statement;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import java.util.Optional;
@@ -29,8 +29,8 @@ public final class
ShowShardingTableRulesUsedKeyGeneratorStatement extends ShowD
private final String keyGeneratorName;
- public ShowShardingTableRulesUsedKeyGeneratorStatement(final String
keyGeneratorName, final DatabaseSegment database) {
- super(database);
+ public ShowShardingTableRulesUsedKeyGeneratorStatement(final String
keyGeneratorName, final FromDatabaseSegment fromDatabase) {
+ super(fromDatabase);
this.keyGeneratorName = keyGeneratorName;
}
diff --git
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowUnusedShardingAlgorithmsStatement.java
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowUnusedShardingAlgorithmsStatement.java
index 16e5c764d2c..a9fc85a3916 100644
---
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowUnusedShardingAlgorithmsStatement.java
+++
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowUnusedShardingAlgorithmsStatement.java
@@ -18,14 +18,14 @@
package org.apache.shardingsphere.sharding.distsql.statement;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show unused sharding algorithms statement.
*/
public final class ShowUnusedShardingAlgorithmsStatement extends
ShowDatabaseRulesStatement {
- public ShowUnusedShardingAlgorithmsStatement(final DatabaseSegment
database) {
- super(database);
+ public ShowUnusedShardingAlgorithmsStatement(final FromDatabaseSegment
fromDatabase) {
+ super(fromDatabase);
}
}
diff --git
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowUnusedShardingAuditorsStatement.java
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowUnusedShardingAuditorsStatement.java
index 719d1d1ef81..d2be1d570cf 100644
---
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowUnusedShardingAuditorsStatement.java
+++
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowUnusedShardingAuditorsStatement.java
@@ -18,14 +18,14 @@
package org.apache.shardingsphere.sharding.distsql.statement;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show unused sharding auditors statement.
*/
public final class ShowUnusedShardingAuditorsStatement extends
ShowDatabaseRulesStatement {
- public ShowUnusedShardingAuditorsStatement(final DatabaseSegment database)
{
- super(database);
+ public ShowUnusedShardingAuditorsStatement(final FromDatabaseSegment
fromDatabase) {
+ super(fromDatabase);
}
}
diff --git
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowUnusedShardingKeyGeneratorsStatement.java
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowUnusedShardingKeyGeneratorsStatement.java
index 93c6d15135c..cf49b868f27 100644
---
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowUnusedShardingKeyGeneratorsStatement.java
+++
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/statement/ShowUnusedShardingKeyGeneratorsStatement.java
@@ -18,14 +18,14 @@
package org.apache.shardingsphere.sharding.distsql.statement;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show unused sharding key generators statement.
*/
public final class ShowUnusedShardingKeyGeneratorsStatement extends
ShowDatabaseRulesStatement {
- public ShowUnusedShardingKeyGeneratorsStatement(final DatabaseSegment
database) {
- super(database);
+ public ShowUnusedShardingKeyGeneratorsStatement(final FromDatabaseSegment
fromDatabase) {
+ super(fromDatabase);
}
}
diff --git
a/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowColumnsStatementContextTest.java
b/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowColumnsStatementContextTest.java
index f84be8be10c..7bc292d2185 100644
---
a/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowColumnsStatementContextTest.java
+++
b/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowColumnsStatementContextTest.java
@@ -43,7 +43,7 @@ class ShowColumnsStatementContextTest {
TableNameSegment tableNameSegment = new TableNameSegment(0, 0, new
IdentifierValue("foo_tbl"));
tableNameSegment.setTableBoundInfo(new TableSegmentBoundInfo(new
IdentifierValue("foo_db"), new IdentifierValue("foo_schema")));
when(sqlStatement.getTable()).thenReturn(new
SimpleTableSegment(tableNameSegment));
- FromDatabaseSegment fromDatabase = new FromDatabaseSegment(0, 0, new
DatabaseSegment(0, 0, new IdentifierValue("foo_db")));
+ FromDatabaseSegment fromDatabase = new FromDatabaseSegment(0, new
DatabaseSegment(0, 0, new IdentifierValue("foo_db")));
when(sqlStatement.getFromDatabase()).thenReturn(Optional.of(fromDatabase));
ShowColumnsStatementContext actual = new
ShowColumnsStatementContext(mock(), sqlStatement);
assertThat(actual.getSqlStatement(), is(sqlStatement));
diff --git
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/util/DatabaseNameUtils.java
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/util/DatabaseNameUtils.java
index b958c5dc554..35ae0f4280c 100644
---
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/util/DatabaseNameUtils.java
+++
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/util/DatabaseNameUtils.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.distsql.handler.util;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.SQLStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.FromDatabaseAvailable;
@@ -39,7 +40,9 @@ public final class DatabaseNameUtils {
* @return database name
*/
public static String getDatabaseName(final SQLStatement sqlStatement,
final String currentDatabaseName) {
- Optional<DatabaseSegment> databaseSegment = sqlStatement instanceof
FromDatabaseAvailable ? ((FromDatabaseAvailable)
sqlStatement).getFromDatabase() : Optional.empty();
+ Optional<DatabaseSegment> databaseSegment = sqlStatement instanceof
FromDatabaseAvailable
+ ? ((FromDatabaseAvailable)
sqlStatement).getFromDatabase().map(FromDatabaseSegment::getDatabase)
+ : Optional.empty();
return databaseSegment.map(optional ->
optional.getIdentifier().getValue()).orElse(currentDatabaseName);
}
}
diff --git
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowRulesUsedStorageUnitExecutorTest.java
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowRulesUsedStorageUnitExecutorTest.java
index 0cce299de71..3fffaaa85c4 100644
---
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowRulesUsedStorageUnitExecutorTest.java
+++
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowRulesUsedStorageUnitExecutorTest.java
@@ -24,7 +24,7 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.mode.manager.ContextManager;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.junit.jupiter.api.Test;
@@ -45,7 +45,7 @@ class ShowRulesUsedStorageUnitExecutorTest {
@Test
void assertGetRowData() {
executor.setDatabase(mockDatabase());
- ShowRulesUsedStorageUnitStatement sqlStatement = new
ShowRulesUsedStorageUnitStatement("foo_ds", mock(DatabaseSegment.class));
+ ShowRulesUsedStorageUnitStatement sqlStatement = new
ShowRulesUsedStorageUnitStatement("foo_ds", mock(FromDatabaseSegment.class));
Collection<LocalDataQueryResultRow> rowData =
executor.getRows(sqlStatement, mock(ContextManager.class));
assertThat(rowData.size(), is(1));
Iterator<LocalDataQueryResultRow> actual = rowData.iterator();
@@ -64,7 +64,7 @@ class ShowRulesUsedStorageUnitExecutorTest {
@Test
void assertGetEmptyRowData() {
executor.setDatabase(mockEmptyDatabase());
- ShowRulesUsedStorageUnitStatement sqlStatement = new
ShowRulesUsedStorageUnitStatement("empty_ds", mock(DatabaseSegment.class));
+ ShowRulesUsedStorageUnitStatement sqlStatement = new
ShowRulesUsedStorageUnitStatement("empty_ds", mock(FromDatabaseSegment.class));
assertTrue(executor.getRows(sqlStatement,
mock(ContextManager.class)).isEmpty());
}
diff --git
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutorTest.java
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutorTest.java
index 395e8032e79..2d4d7d0a4de 100644
---
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutorTest.java
+++
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutorTest.java
@@ -23,7 +23,7 @@ import
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryRes
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import org.apache.shardingsphere.mode.manager.ContextManager;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -70,7 +70,7 @@ class ShowStorageUnitExecutorTest {
@Test
void assertGetRowsWithAllStorageUnits() {
Map<Integer, String> storageUnitNames = Maps.of(0, "ds_2", 1, "ds_1",
2, "ds_0");
- Collection<LocalDataQueryResultRow> actual = executor.getRows(new
ShowStorageUnitsStatement(mock(DatabaseSegment.class), null),
mock(ContextManager.class));
+ Collection<LocalDataQueryResultRow> actual = executor.getRows(new
ShowStorageUnitsStatement(mock(FromDatabaseSegment.class), null),
mock(ContextManager.class));
assertThat(actual.size(), is(3));
Iterator<LocalDataQueryResultRow> iterator = actual.iterator();
int index = 0;
@@ -94,7 +94,7 @@ class ShowStorageUnitExecutorTest {
@Test
void assertGetRowsWithLikePattern() {
- Collection<LocalDataQueryResultRow> actual = executor.getRows(new
ShowStorageUnitsStatement(mock(DatabaseSegment.class), "%_0"),
mock(ContextManager.class));
+ Collection<LocalDataQueryResultRow> actual = executor.getRows(new
ShowStorageUnitsStatement(mock(FromDatabaseSegment.class), "%_0"),
mock(ContextManager.class));
assertThat(actual.size(), is(1));
LocalDataQueryResultRow row = actual.iterator().next();
assertThat(row.getCell(1), is("ds_0"));
diff --git
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/util/DatabaseNameUtilsTest.java
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/util/DatabaseNameUtilsTest.java
index fd098355277..c2be6024ec4 100644
---
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/util/DatabaseNameUtilsTest.java
+++
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/util/DatabaseNameUtilsTest.java
@@ -17,9 +17,9 @@
package org.apache.shardingsphere.distsql.handler.util;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.statement.SQLStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.FromDatabaseAvailable;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.SQLStatement;
import org.junit.jupiter.api.Test;
import java.util.Optional;
@@ -36,8 +36,8 @@ class DatabaseNameUtilsTest {
@Test
void assertDatabaseNameWhenAvailableInSQLStatement() {
FromDatabaseAvailable sqlStatement = mock(FromDatabaseAvailable.class,
withSettings().extraInterfaces(SQLStatement.class));
- DatabaseSegment databaseSegment = mock(DatabaseSegment.class,
RETURNS_DEEP_STUBS);
- when(databaseSegment.getIdentifier().getValue()).thenReturn("bar_db");
+ FromDatabaseSegment databaseSegment = mock(FromDatabaseSegment.class,
RETURNS_DEEP_STUBS);
+
when(databaseSegment.getDatabase().getIdentifier().getValue()).thenReturn("bar_db");
when(sqlStatement.getFromDatabase()).thenReturn(Optional.of(databaseSegment));
assertThat(DatabaseNameUtils.getDatabaseName((SQLStatement)
sqlStatement, "foo_db"), is("bar_db"));
}
diff --git
a/kernel/single/distsql/parser/src/main/java/org/apache/shardingsphere/single/distsql/parser/core/SingleDistSQLStatementVisitor.java
b/kernel/single/distsql/parser/src/main/java/org/apache/shardingsphere/single/distsql/parser/core/SingleDistSQLStatementVisitor.java
index 391e17e261e..8fdbc52d634 100644
---
a/kernel/single/distsql/parser/src/main/java/org/apache/shardingsphere/single/distsql/parser/core/SingleDistSQLStatementVisitor.java
+++
b/kernel/single/distsql/parser/src/main/java/org/apache/shardingsphere/single/distsql/parser/core/SingleDistSQLStatementVisitor.java
@@ -18,6 +18,7 @@
package org.apache.shardingsphere.single.distsql.parser.core;
import org.antlr.v4.runtime.tree.ParseTree;
+import org.antlr.v4.runtime.tree.TerminalNode;
import
org.apache.shardingsphere.distsql.parser.autogen.SingleDistSQLStatementBaseVisitor;
import
org.apache.shardingsphere.distsql.parser.autogen.SingleDistSQLStatementParser.AllSchamesAndTablesFromStorageUnitContext;
import
org.apache.shardingsphere.distsql.parser.autogen.SingleDistSQLStatementParser.AllTablesContext;
@@ -45,6 +46,7 @@ import
org.apache.shardingsphere.single.distsql.statement.rql.ShowSingleTablesSt
import
org.apache.shardingsphere.single.distsql.statement.rql.ShowUnloadedSingleTablesStatement;
import org.apache.shardingsphere.sql.parser.api.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
@@ -59,7 +61,7 @@ public final class SingleDistSQLStatementVisitor extends
SingleDistSQLStatementB
@Override
public ASTNode visitCountSingleTable(final CountSingleTableContext ctx) {
- return new CountRuleStatement(null == ctx.databaseName() ? null :
(DatabaseSegment) visit(ctx.databaseName()), "SINGLE");
+ return new CountRuleStatement(null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())), "SINGLE");
}
@Override
@@ -69,13 +71,14 @@ public final class SingleDistSQLStatementVisitor extends
SingleDistSQLStatementB
@Override
public ASTNode visitShowDefaultSingleTableStorageUnit(final
ShowDefaultSingleTableStorageUnitContext ctx) {
- return new ShowDefaultSingleTableStorageUnitStatement(null ==
ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()));
+ return new ShowDefaultSingleTableStorageUnitStatement(
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
public ASTNode visitShowSingleTables(final ShowSingleTablesContext ctx) {
- return new ShowSingleTablesStatement(null == ctx.databaseName() ? null
: (DatabaseSegment) visit(ctx.databaseName()),
- null == ctx.showLike() ? null :
getIdentifierValue(ctx.showLike().likePattern()));
+ FromDatabaseSegment fromDatabase = null == ctx.databaseName() ? null :
new FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(),
(DatabaseSegment) visit(ctx.databaseName()));
+ return new ShowSingleTablesStatement(fromDatabase, null ==
ctx.showLike() ? null : getIdentifierValue(ctx.showLike().likePattern()));
}
@Override
@@ -119,13 +122,13 @@ public final class SingleDistSQLStatementVisitor extends
SingleDistSQLStatementB
@Override
public ASTNode visitShowUnloadedSingleTables(final
ShowUnloadedSingleTablesContext ctx) {
- return null == ctx.fromClause() ? new
ShowUnloadedSingleTablesStatement(null, null, null) :
visitShowUnloadedSingleTablesWithFromClause(ctx.fromClause());
+ return null == ctx.fromClause() ? new
ShowUnloadedSingleTablesStatement(null, null, null) :
visitShowUnloadedSingleTablesWithFromClause(ctx.FROM(), ctx.fromClause());
}
- private ASTNode visitShowUnloadedSingleTablesWithFromClause(final
FromClauseContext ctx) {
- return new ShowUnloadedSingleTablesStatement(null ==
ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()),
- null == ctx.storageUnitName() ? null :
getIdentifierValue(ctx.storageUnitName()),
- null == ctx.schemaName() ? null :
getIdentifierValue(ctx.schemaName()));
+ private ASTNode visitShowUnloadedSingleTablesWithFromClause(final
TerminalNode fromCtx, final FromClauseContext ctx) {
+ FromDatabaseSegment fromDatabase = null == ctx.databaseName() ? null :
new FromDatabaseSegment(fromCtx.getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName()));
+ return new ShowUnloadedSingleTablesStatement(fromDatabase,
+ null == ctx.storageUnitName() ? null :
getIdentifierValue(ctx.storageUnitName()), null == ctx.schemaName() ? null :
getIdentifierValue(ctx.schemaName()));
}
@Override
diff --git
a/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowDefaultSingleTableStorageUnitStatement.java
b/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowDefaultSingleTableStorageUnitStatement.java
index 42c01cbce8f..7ec4a75573e 100644
---
a/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowDefaultSingleTableStorageUnitStatement.java
+++
b/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowDefaultSingleTableStorageUnitStatement.java
@@ -19,7 +19,7 @@ package
org.apache.shardingsphere.single.distsql.statement.rql;
import lombok.Getter;
import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowDatabaseRulesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show default single table storage unit statement.
@@ -27,7 +27,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.Datab
@Getter
public final class ShowDefaultSingleTableStorageUnitStatement extends
ShowDatabaseRulesStatement {
- public ShowDefaultSingleTableStorageUnitStatement(final DatabaseSegment
database) {
- super(database);
+ public ShowDefaultSingleTableStorageUnitStatement(final
FromDatabaseSegment fromDatabase) {
+ super(fromDatabase);
}
}
diff --git
a/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowSingleTablesStatement.java
b/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowSingleTablesStatement.java
index 1d2c378b0ce..d35a5f2ed01 100644
---
a/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowSingleTablesStatement.java
+++
b/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowSingleTablesStatement.java
@@ -18,14 +18,14 @@
package org.apache.shardingsphere.single.distsql.statement.rql;
import
org.apache.shardingsphere.distsql.statement.rql.resource.ShowTablesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show single tables statement.
*/
public final class ShowSingleTablesStatement extends ShowTablesStatement {
- public ShowSingleTablesStatement(final DatabaseSegment database, final
String likePattern) {
- super(database, likePattern);
+ public ShowSingleTablesStatement(final FromDatabaseSegment fromDatabase,
final String likePattern) {
+ super(fromDatabase, likePattern);
}
}
diff --git
a/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowUnloadedSingleTablesStatement.java
b/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowUnloadedSingleTablesStatement.java
index ec83ce3e556..fee1cfa36ba 100644
---
a/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowUnloadedSingleTablesStatement.java
+++
b/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowUnloadedSingleTablesStatement.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.single.distsql.statement.rql;
import
org.apache.shardingsphere.distsql.statement.rql.resource.ShowTablesStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import java.util.Optional;
@@ -31,9 +31,9 @@ public final class ShowUnloadedSingleTablesStatement extends
ShowTablesStatement
private final String schemaName;
- public ShowUnloadedSingleTablesStatement(final DatabaseSegment database,
final String storageUnitName, final String schemaName) {
+ public ShowUnloadedSingleTablesStatement(final FromDatabaseSegment
fromDatabase, final String storageUnitName, final String schemaName) {
// TODO support like later
- super(database, null);
+ super(fromDatabase, null);
this.storageUnitName = storageUnitName;
this.schemaName = schemaName;
}
diff --git
a/parser/distsql/engine/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
b/parser/distsql/engine/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
index c725b1e642c..31645c1ce5a 100644
---
a/parser/distsql/engine/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
+++
b/parser/distsql/engine/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
@@ -98,6 +98,7 @@ import
org.apache.shardingsphere.distsql.statement.rql.rule.database.ShowRulesUs
import
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
import org.apache.shardingsphere.sql.parser.api.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
import
org.apache.shardingsphere.sql.parser.statement.core.value.literal.impl.StringLiteralValue;
@@ -134,7 +135,9 @@ public final class KernelDistSQLStatementVisitor extends
KernelDistSQLStatementB
@Override
public ASTNode visitShowTableMetadata(final ShowTableMetadataContext ctx) {
Collection<String> tableNames =
ctx.tableName().stream().map(this::getIdentifierValue).collect(Collectors.toSet());
- return new ShowTableMetaDataStatement(tableNames, null ==
ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()));
+ return new ShowTableMetaDataStatement(tableNames, null ==
ctx.databaseName()
+ ? null
+ : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
@@ -216,9 +219,9 @@ public final class KernelDistSQLStatementVisitor extends
KernelDistSQLStatementB
@Override
public ASTNode visitShowStorageUnits(final ShowStorageUnitsContext ctx) {
- DatabaseSegment database = null == ctx.databaseName() ? null :
(DatabaseSegment) visit(ctx.databaseName());
+ FromDatabaseSegment fromDatabase = null == ctx.databaseName() ? null :
new FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(),
(DatabaseSegment) visit(ctx.databaseName()));
String likePattern = null == ctx.showLike() ? null :
getIdentifierValue(ctx.showLike().likePattern());
- return new ShowStorageUnitsStatement(database, likePattern);
+ return new ShowStorageUnitsStatement(fromDatabase, likePattern);
}
@Override
@@ -233,9 +236,8 @@ public final class KernelDistSQLStatementVisitor extends
KernelDistSQLStatementB
@Override
public ASTNode visitShowLogicalTables(final ShowLogicalTablesContext ctx) {
- return new ShowLogicalTablesStatement(null != ctx.FULL(),
- null == ctx.databaseName() ? null : (DatabaseSegment)
visit(ctx.databaseName()),
- null == ctx.showLike() ? null :
getIdentifierValue(ctx.showLike().likePattern()));
+ FromDatabaseSegment fromDatabase = null == ctx.databaseName() ? null :
new FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(),
(DatabaseSegment) visit(ctx.databaseName()));
+ return new ShowLogicalTablesStatement(null != ctx.FULL(),
fromDatabase, null == ctx.showLike() ? null :
getIdentifierValue(ctx.showLike().likePattern()));
}
@Override
@@ -271,7 +273,8 @@ public final class KernelDistSQLStatementVisitor extends
KernelDistSQLStatementB
@Override
public ASTNode visitExportDatabaseConfiguration(final
ExportDatabaseConfigurationContext ctx) {
- return new ExportDatabaseConfigurationStatement(null ==
ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()),
getIdentifierValue(ctx.filePath()));
+ return new
ExportDatabaseConfigurationStatement(getIdentifierValue(ctx.filePath()),
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
@@ -291,7 +294,8 @@ public final class KernelDistSQLStatementVisitor extends
KernelDistSQLStatementB
@Override
public ASTNode visitShowRulesUsedStorageUnit(final
ShowRulesUsedStorageUnitContext ctx) {
- return new
ShowRulesUsedStorageUnitStatement(getIdentifierValue(ctx.storageUnitName()),
null == ctx.databaseName() ? null : (DatabaseSegment)
visit(ctx.databaseName()));
+ return new
ShowRulesUsedStorageUnitStatement(getIdentifierValue(ctx.storageUnitName()),
+ null == ctx.databaseName() ? null : new
FromDatabaseSegment(ctx.FROM().getSymbol().getStartIndex(), (DatabaseSegment)
visit(ctx.databaseName())));
}
@Override
diff --git
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/ral/queryable/export/ExportDatabaseConfigurationStatement.java
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/ral/queryable/export/ExportDatabaseConfigurationStatement.java
index be6493131ae..bfe81446df9 100644
---
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/ral/queryable/export/ExportDatabaseConfigurationStatement.java
+++
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/ral/queryable/export/ExportDatabaseConfigurationStatement.java
@@ -19,7 +19,7 @@ package
org.apache.shardingsphere.distsql.statement.ral.queryable.export;
import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.distsql.statement.ral.queryable.QueryableRALStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.FromDatabaseAvailable;
import java.util.Optional;
@@ -30,14 +30,9 @@ import java.util.Optional;
@RequiredArgsConstructor
public final class ExportDatabaseConfigurationStatement extends
QueryableRALStatement implements FromDatabaseAvailable {
- private final DatabaseSegment database;
-
private final String filePath;
- @Override
- public Optional<DatabaseSegment> getFromDatabase() {
- return Optional.ofNullable(database);
- }
+ private final FromDatabaseSegment fromDatabase;
/**
* Get file path.
@@ -47,4 +42,9 @@ public final class ExportDatabaseConfigurationStatement
extends QueryableRALStat
public Optional<String> getFilePath() {
return Optional.ofNullable(filePath);
}
+
+ @Override
+ public Optional<FromDatabaseSegment> getFromDatabase() {
+ return Optional.ofNullable(fromDatabase);
+ }
}
diff --git
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/ral/queryable/show/ShowTableMetaDataStatement.java
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/ral/queryable/show/ShowTableMetaDataStatement.java
index b52169826e9..f02fa0fecbe 100644
---
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/ral/queryable/show/ShowTableMetaDataStatement.java
+++
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/ral/queryable/show/ShowTableMetaDataStatement.java
@@ -20,7 +20,7 @@ package
org.apache.shardingsphere.distsql.statement.ral.queryable.show;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.distsql.statement.ral.queryable.QueryableRALStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.FromDatabaseAvailable;
import java.util.Collection;
@@ -35,10 +35,10 @@ public final class ShowTableMetaDataStatement extends
QueryableRALStatement impl
@Getter
private final Collection<String> tableNames;
- private final DatabaseSegment database;
+ private final FromDatabaseSegment fromDatabase;
@Override
- public Optional<DatabaseSegment> getFromDatabase() {
- return Optional.ofNullable(database);
+ public Optional<FromDatabaseSegment> getFromDatabase() {
+ return Optional.ofNullable(fromDatabase);
}
}
diff --git
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowLogicalTablesStatement.java
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowLogicalTablesStatement.java
index 6144ecab3d9..06a2313fe5c 100644
---
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowLogicalTablesStatement.java
+++
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowLogicalTablesStatement.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.distsql.statement.rql.resource;
import lombok.Getter;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show logical tables statement.
@@ -28,8 +28,8 @@ public final class ShowLogicalTablesStatement extends
ShowTablesStatement {
private final boolean containsFull;
- public ShowLogicalTablesStatement(final boolean containsFull, final
DatabaseSegment database, final String likePattern) {
- super(database, likePattern);
+ public ShowLogicalTablesStatement(final boolean containsFull, final
FromDatabaseSegment fromDatabase, final String likePattern) {
+ super(fromDatabase, likePattern);
this.containsFull = containsFull;
}
}
diff --git
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowStorageUnitsStatement.java
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowStorageUnitsStatement.java
index 52d40284766..e369af52f1d 100644
---
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowStorageUnitsStatement.java
+++
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowStorageUnitsStatement.java
@@ -19,7 +19,7 @@ package
org.apache.shardingsphere.distsql.statement.rql.resource;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.FromDatabaseAvailable;
import java.util.Optional;
@@ -31,15 +31,10 @@ import java.util.Optional;
@RequiredArgsConstructor
public final class ShowStorageUnitsStatement extends ResourceQueryStatement
implements FromDatabaseAvailable {
- private final DatabaseSegment database;
+ private final FromDatabaseSegment fromDatabase;
private final String likePattern;
- @Override
- public Optional<DatabaseSegment> getFromDatabase() {
- return Optional.ofNullable(database);
- }
-
/**
* Get like pattern.
*
@@ -48,4 +43,9 @@ public final class ShowStorageUnitsStatement extends
ResourceQueryStatement impl
public Optional<String> getLikePattern() {
return Optional.ofNullable(likePattern);
}
+
+ @Override
+ public Optional<FromDatabaseSegment> getFromDatabase() {
+ return Optional.ofNullable(fromDatabase);
+ }
}
diff --git
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowTablesStatement.java
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowTablesStatement.java
index 0eacd1642ce..cce51692741 100644
---
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowTablesStatement.java
+++
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowTablesStatement.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.distsql.statement.rql.resource;
import lombok.RequiredArgsConstructor;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.FromDatabaseAvailable;
import java.util.Optional;
@@ -29,20 +29,10 @@ import java.util.Optional;
@RequiredArgsConstructor
public abstract class ShowTablesStatement extends ResourceQueryStatement
implements FromDatabaseAvailable {
- private final DatabaseSegment database;
+ private final FromDatabaseSegment fromDatabase;
private final String likePattern;
- /**
- * Get database.
- *
- * @return database
- */
- @Override
- public final Optional<DatabaseSegment> getFromDatabase() {
- return Optional.ofNullable(database);
- }
-
/**
* Get like pattern.
*
@@ -51,4 +41,9 @@ public abstract class ShowTablesStatement extends
ResourceQueryStatement impleme
public Optional<String> getLikePattern() {
return Optional.ofNullable(likePattern);
}
+
+ @Override
+ public final Optional<FromDatabaseSegment> getFromDatabase() {
+ return Optional.ofNullable(fromDatabase);
+ }
}
diff --git
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/rule/database/CountRuleStatement.java
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/rule/database/CountRuleStatement.java
index 9a0f2cfca3d..e7555f31723 100644
---
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/rule/database/CountRuleStatement.java
+++
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/rule/database/CountRuleStatement.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.distsql.statement.rql.rule.database;
import lombok.Getter;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Count rule statement.
@@ -28,8 +28,8 @@ public final class CountRuleStatement extends
ShowDatabaseRulesStatement {
private final String type;
- public CountRuleStatement(final DatabaseSegment database, final String
type) {
- super(database);
+ public CountRuleStatement(final FromDatabaseSegment fromDatabase, final
String type) {
+ super(fromDatabase);
this.type = type;
}
}
diff --git
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/rule/database/ShowDatabaseRulesStatement.java
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/rule/database/ShowDatabaseRulesStatement.java
index d3ed05218fd..591ffea8b78 100644
---
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/rule/database/ShowDatabaseRulesStatement.java
+++
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/rule/database/ShowDatabaseRulesStatement.java
@@ -19,7 +19,7 @@ package
org.apache.shardingsphere.distsql.statement.rql.rule.database;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.distsql.statement.rql.rule.RuleQueryStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.FromDatabaseAvailable;
import java.util.Optional;
@@ -30,10 +30,10 @@ import java.util.Optional;
@RequiredArgsConstructor
public abstract class ShowDatabaseRulesStatement extends RuleQueryStatement
implements FromDatabaseAvailable {
- private final DatabaseSegment database;
+ private final FromDatabaseSegment fromDatabase;
@Override
- public final Optional<DatabaseSegment> getFromDatabase() {
- return Optional.ofNullable(database);
+ public final Optional<FromDatabaseSegment> getFromDatabase() {
+ return Optional.ofNullable(fromDatabase);
}
}
diff --git
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/rule/database/ShowRulesUsedStorageUnitStatement.java
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/rule/database/ShowRulesUsedStorageUnitStatement.java
index 30a355bf9d2..48981e8d511 100644
---
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/rule/database/ShowRulesUsedStorageUnitStatement.java
+++
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/rule/database/ShowRulesUsedStorageUnitStatement.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.distsql.statement.rql.rule.database;
import lombok.Getter;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
/**
* Show rules used storage unit statement.
@@ -28,8 +28,8 @@ public final class ShowRulesUsedStorageUnitStatement extends
ShowDatabaseRulesSt
private final String storageUnitName;
- public ShowRulesUsedStorageUnitStatement(final String storageUnitName,
final DatabaseSegment database) {
- super(database);
+ public ShowRulesUsedStorageUnitStatement(final String storageUnitName,
final FromDatabaseSegment fromDatabase) {
+ super(fromDatabase);
this.storageUnitName = storageUnitName;
}
}
diff --git
a/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisDALStatementVisitor.java
b/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisDALStatementVisitor.java
index 72671e94743..833d5433ce5 100644
---
a/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisDALStatementVisitor.java
+++
b/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisDALStatementVisitor.java
@@ -841,7 +841,7 @@ public final class DorisDALStatementVisitor extends
DorisStatementVisitor implem
@Override
public ASTNode visitFromDatabase(final FromDatabaseContext ctx) {
- return new FromDatabaseSegment(ctx.getStart().getStartIndex(),
ctx.getStop().getStopIndex(), (DatabaseSegment) visit(ctx.databaseName()));
+ return new FromDatabaseSegment(ctx.getStart().getStartIndex(),
(DatabaseSegment) visit(ctx.databaseName()));
}
@Override
diff --git
a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementVisitor.java
b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementVisitor.java
index 3b3b3842234..f29f96f9e06 100644
---
a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementVisitor.java
+++
b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementVisitor.java
@@ -852,7 +852,7 @@ public final class MySQLDALStatementVisitor extends
MySQLStatementVisitor implem
@Override
public ASTNode visitFromDatabase(final FromDatabaseContext ctx) {
- return new FromDatabaseSegment(ctx.getStart().getStartIndex(),
ctx.getStop().getStopIndex(), (DatabaseSegment) visit(ctx.databaseName()));
+ return new FromDatabaseSegment(ctx.getStart().getStartIndex(),
(DatabaseSegment) visit(ctx.databaseName()));
}
@Override
diff --git
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dal/FromDatabaseSegment.java
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dal/FromDatabaseSegment.java
index f69227831df..22887fd8eff 100644
---
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dal/FromDatabaseSegment.java
+++
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dal/FromDatabaseSegment.java
@@ -31,7 +31,14 @@ public final class FromDatabaseSegment implements SQLSegment
{
private final int startIndex;
- private final int stopIndex;
-
private final DatabaseSegment database;
+
+ /**
+ * Get stop index.
+ *
+ * @return stop index
+ */
+ public int getStopIndex() {
+ return database.getStopIndex();
+ }
}
diff --git
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/FromDatabaseAvailable.java
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/FromDatabaseAvailable.java
index a242069a163..3721247a70d 100644
---
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/FromDatabaseAvailable.java
+++
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/FromDatabaseAvailable.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.sql.parser.statement.core.statement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import java.util.Optional;
@@ -31,5 +31,5 @@ public interface FromDatabaseAvailable {
*
* @return from database
*/
- Optional<DatabaseSegment> getFromDatabase();
+ Optional<FromDatabaseSegment> getFromDatabase();
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLQueryBackendHandlerTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLQueryBackendHandlerTest.java
index 2da05658bdd..c52140ad318 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLQueryBackendHandlerTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLQueryBackendHandlerTest.java
@@ -39,6 +39,7 @@ import
org.apache.shardingsphere.mode.metadata.MetaDataContexts;
import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
import org.apache.shardingsphere.test.mock.AutoMockExtension;
@@ -100,6 +101,6 @@ class DistSQLQueryBackendHandlerTest {
}
private ShowTableMetaDataStatement createSqlStatement() {
- return new
ShowTableMetaDataStatement(Collections.singleton("t_order"), new
DatabaseSegment(0, 0, new IdentifierValue("foo_db")));
+ return new
ShowTableMetaDataStatement(Collections.singleton("t_order"), new
FromDatabaseSegment(0, new DatabaseSegment(0, 0, new
IdentifierValue("foo_db"))));
}
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/export/ExportDatabaseConfigurationExecutorTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/export/ExportDatabaseConfigurationExecutorTest.java
index c3066f7953f..d81fd8085f9 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/export/ExportDatabaseConfigurationExecutorTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/export/ExportDatabaseConfigurationExecutorTest.java
@@ -31,6 +31,7 @@ import
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfi
import
org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration;
import
org.apache.shardingsphere.sharding.api.config.strategy.sharding.NoneShardingStrategyConfiguration;
import
org.apache.shardingsphere.sharding.api.config.strategy.sharding.StandardShardingStrategyConfiguration;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
@@ -70,7 +71,7 @@ class ExportDatabaseConfigurationExecutorTest {
when(database.getRuleMetaData().getConfigurations()).thenReturn(Collections.singleton(createShardingRuleConfiguration()));
ExportDatabaseConfigurationExecutor executor = new
ExportDatabaseConfigurationExecutor();
executor.setDatabase(database);
- Collection<LocalDataQueryResultRow> actual = executor.getRows(new
ExportDatabaseConfigurationStatement(mock(DatabaseSegment.class), null),
mock(ContextManager.class));
+ Collection<LocalDataQueryResultRow> actual = executor.getRows(new
ExportDatabaseConfigurationStatement(null, mock(FromDatabaseSegment.class)),
mock(ContextManager.class));
assertThat(actual.size(), is(1));
LocalDataQueryResultRow row = actual.iterator().next();
assertThat(row.getCell(1), is(loadExpectedRow()));
@@ -94,7 +95,7 @@ class ExportDatabaseConfigurationExecutorTest {
when(database.getName()).thenReturn("empty_db");
when(database.getResourceMetaData().getStorageUnits()).thenReturn(Collections.emptyMap());
when(database.getRuleMetaData().getConfigurations()).thenReturn(Collections.emptyList());
- ExportDatabaseConfigurationStatement sqlStatement = new
ExportDatabaseConfigurationStatement(new DatabaseSegment(0, 0, new
IdentifierValue("empty_db")), null);
+ ExportDatabaseConfigurationStatement sqlStatement = new
ExportDatabaseConfigurationStatement(null, new FromDatabaseSegment(0, new
DatabaseSegment(0, 0, new IdentifierValue("empty_db"))));
ExportDatabaseConfigurationExecutor executor = new
ExportDatabaseConfigurationExecutor();
executor.setDatabase(database);
Collection<LocalDataQueryResultRow> actual =
executor.getRows(sqlStatement, mock(ContextManager.class));
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/export/ShowTableMetaDataExecutorTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/export/ShowTableMetaDataExecutorTest.java
index b8fbba53d3a..0b1ef244fb5 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/export/ShowTableMetaDataExecutorTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/export/ShowTableMetaDataExecutorTest.java
@@ -28,6 +28,7 @@ import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSp
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.FromDatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
import org.apache.shardingsphere.test.mock.AutoMockExtension;
@@ -87,6 +88,6 @@ class ShowTableMetaDataExecutorTest {
}
private ShowTableMetaDataStatement createSqlStatement() {
- return new
ShowTableMetaDataStatement(Collections.singleton("t_order"), new
DatabaseSegment(0, 0, new IdentifierValue("foo_db")));
+ return new
ShowTableMetaDataStatement(Collections.singleton("t_order"), new
FromDatabaseSegment(0, new DatabaseSegment(0, 0, new
IdentifierValue("foo_db"))));
}
}
diff --git
a/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowTablesExecutorTest.java
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowTablesExecutorTest.java
index b3f2a6e6f67..ef8b7ceb764 100644
---
a/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowTablesExecutorTest.java
+++
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowTablesExecutorTest.java
@@ -173,7 +173,7 @@ class ShowTablesExecutorTest {
@Test
void assertShowTableFromUncompletedDatabase() throws SQLException {
- ShowTablesStatement showTablesStatement = new ShowTablesStatement(new
FromDatabaseSegment(0, 0, new DatabaseSegment(0, 0, new
IdentifierValue("uncompleted"))), null, false);
+ ShowTablesStatement showTablesStatement = new ShowTablesStatement(new
FromDatabaseSegment(0, new DatabaseSegment(0, 0, new
IdentifierValue("uncompleted"))), null, false);
ShowTablesExecutor executor = new
ShowTablesExecutor(showTablesStatement, databaseType);
ContextManager contextManager = mockContextManager(mockDatabases());
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ral/impl/queryable/ShowTableMetaDataStatementAssert.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ral/impl/queryable/ShowTableMetaDataStatementAssert.java
index adb3d8a3e80..0e5b6fea22c 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ral/impl/queryable/ShowTableMetaDataStatementAssert.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ral/impl/queryable/ShowTableMetaDataStatementAssert.java
@@ -45,7 +45,7 @@ public final class ShowTableMetaDataStatementAssert {
public static void assertIs(final SQLCaseAssertContext assertContext,
final ShowTableMetaDataStatement actual, final
ShowTableMetaDataStatementTestCase expected) {
if (ExistingAssert.assertIs(assertContext, actual, expected)) {
assertTrue(actual.getFromDatabase().isPresent());
- DatabaseAssert.assertIs(assertContext,
actual.getFromDatabase().get(), expected.getDatabase());
+ DatabaseAssert.assertIs(assertContext,
actual.getFromDatabase().get().getDatabase(), expected.getDatabase());
assertThat(assertContext.getText("Table assertion error:"),
actual.getTableNames(), is(expected.getTableNames()));
}
}
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ral/impl/updatable/AlterReadwriteSplittingStorageUnitStatusStatementAssert.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ral/impl/updatable/AlterReadwriteSplittingStorageUnitStatusStatementAssert.java
index 6a48a351ea1..2280a035306 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ral/impl/updatable/AlterReadwriteSplittingStorageUnitStatusStatementAssert.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ral/impl/updatable/AlterReadwriteSplittingStorageUnitStatusStatementAssert.java
@@ -56,7 +56,7 @@ public final class
AlterReadwriteSplittingStorageUnitStatusStatementAssert {
assertFalse(actual.getFromDatabase().isPresent(),
assertContext.getText("Actual database should not exist."));
} else {
assertTrue(actual.getFromDatabase().isPresent(),
assertContext.getText("Actual database should exist."));
- DatabaseAssert.assertIs(assertContext,
actual.getFromDatabase().get(), expected.getDatabase());
+ DatabaseAssert.assertIs(assertContext,
actual.getFromDatabase().get().getDatabase(), expected.getDatabase());
}
}
}
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowRulesStatementAssert.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowRulesStatementAssert.java
index 31eefbbc83e..2eb496277da 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowRulesStatementAssert.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowRulesStatementAssert.java
@@ -53,7 +53,7 @@ public final class ShowRulesStatementAssert {
assertFalse(actual.getFromDatabase().isPresent(),
assertContext.getText("Actual database should not exist."));
} else {
assertTrue(actual.getFromDatabase().isPresent(),
assertContext.getText("Actual database should exist."));
- DatabaseAssert.assertIs(assertContext,
actual.getFromDatabase().get(), expected.getDatabase());
+ DatabaseAssert.assertIs(assertContext,
actual.getFromDatabase().get().getDatabase(), expected.getDatabase());
}
}
}
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowStorageUnitsStatementAssert.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowStorageUnitsStatementAssert.java
index 5ddadc9a2db..ba368ae3eee 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowStorageUnitsStatementAssert.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowStorageUnitsStatementAssert.java
@@ -54,7 +54,7 @@ public final class ShowStorageUnitsStatementAssert {
assertFalse(actual.getFromDatabase().isPresent(),
assertContext.getText("Actual database should not exist."));
} else {
assertTrue(actual.getFromDatabase().isPresent(),
assertContext.getText("Actual database should exist."));
- DatabaseAssert.assertIs(assertContext,
actual.getFromDatabase().get(), expected.getDatabase());
+ DatabaseAssert.assertIs(assertContext,
actual.getFromDatabase().get().getDatabase(), expected.getDatabase());
}
if (null == expected.getLikePattern()) {
assertFalse(actual.getLikePattern().isPresent(),
assertContext.getText("Actual like pattern should not exist."));
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowTablesStatementAssert.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowTablesStatementAssert.java
index 58480a16591..5d67cbca684 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowTablesStatementAssert.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowTablesStatementAssert.java
@@ -54,7 +54,7 @@ public final class ShowTablesStatementAssert {
assertFalse(actual.getFromDatabase().isPresent(),
assertContext.getText("Actual database should not exist."));
} else {
assertTrue(actual.getFromDatabase().isPresent(),
assertContext.getText("Actual database should exist."));
- DatabaseAssert.assertIs(assertContext,
actual.getFromDatabase().get(), expected.getDatabase());
+ DatabaseAssert.assertIs(assertContext,
actual.getFromDatabase().get().getDatabase(), expected.getDatabase());
}
if (null == expected.getLikePattern()) {
assertFalse(actual.getLikePattern().isPresent(),
assertContext.getText("Actual like pattern should not exist."));