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 fd4e3f3821c Rename and move QualifiedColumn (#36038)
fd4e3f3821c is described below

commit fd4e3f3821c8ef66946f4dd8b675dfff13e6495d
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Jul 19 21:51:56 2025 +0800

    Rename and move QualifiedColumn (#36038)
    
    * Rename and move QualifiedColumn
    
    * Rename and move QualifiedColumn
---
 ...stgreSQL_is_Improved_26.8%_with_Version_5.1.0.en.md |  2 +-
 .../exception/data/ShardingValueDataTypeException.java |  4 ++--
 .../engine/WhereClauseShardingConditionEngine.java     | 18 +++++++++---------
 .../condition/generator/ConditionValueGenerator.java   |  4 ++--
 .../generator/ConditionValueGeneratorFactory.java      |  5 +++--
 .../impl/ConditionValueBetweenOperatorGenerator.java   |  4 ++--
 .../impl/ConditionValueCompareOperatorGenerator.java   |  7 ++++---
 .../impl/ConditionValueInOperatorGenerator.java        |  4 ++--
 .../generator/ConditionValueGeneratorFactoryTest.java  |  4 ++--
 .../ConditionValueBetweenOperatorGeneratorTest.java    |  4 ++--
 .../ConditionValueCompareOperatorGeneratorTest.java    |  4 ++--
 .../impl/ConditionValueInOperatorGeneratorTest.java    |  4 ++--
 .../metadata/database/schema/QualifiedColumn.java      | 12 ++++++------
 .../metadata/database/schema/QualifiedColumnTest.java  | 12 ++++++------
 14 files changed, 45 insertions(+), 43 deletions(-)

diff --git 
a/docs/blog/content/material/2022_03_23_Apache_ShardingSphere_Proxy_Performance_with_PostgreSQL_is_Improved_26.8%_with_Version_5.1.0.en.md
 
b/docs/blog/content/material/2022_03_23_Apache_ShardingSphere_Proxy_Performance_with_PostgreSQL_is_Improved_26.8%_with_Version_5.1.0.en.md
index e168a3e7a11..61739b69e02 100644
--- 
a/docs/blog/content/material/2022_03_23_Apache_ShardingSphere_Proxy_Performance_with_PostgreSQL_is_Improved_26.8%_with_Version_5.1.0.en.md
+++ 
b/docs/blog/content/material/2022_03_23_Apache_ShardingSphere_Proxy_Performance_with_PostgreSQL_is_Improved_26.8%_with_Version_5.1.0.en.md
@@ -145,7 +145,7 @@ The testing results above may be related to aarch64 and 
JDK, but the stream itse
 There are many cases of avoiding unnecessary logic repetitive calls:
 
 - hashCode calculation
-The ShardingSphere class 
`org.apache.shardingsphere.sharding.route.engine.condition.Column` implements 
the `equals` and `hashCode` methods:
+The ShardingSphere class 
`org.apache.shardingsphere.sharding.route.engine.condition.QualifiedColumn` 
implements the `equals` and `hashCode` methods:
 
 ```java
 @RequiredArgsConstructor
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/exception/data/ShardingValueDataTypeException.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/exception/data/ShardingValueDataTypeException.java
index a29c24b2caa..81717fa8089 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/exception/data/ShardingValueDataTypeException.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/exception/data/ShardingValueDataTypeException.java
@@ -18,8 +18,8 @@
 package org.apache.shardingsphere.sharding.exception.data;
 
 import 
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
+import 
org.apache.shardingsphere.infra.metadata.database.schema.QualifiedColumn;
 import org.apache.shardingsphere.sharding.exception.ShardingSQLException;
-import org.apache.shardingsphere.sharding.route.engine.condition.Column;
 
 /**
  * Sharding value data type exception.
@@ -28,7 +28,7 @@ public final class ShardingValueDataTypeException extends 
ShardingSQLException {
     
     private static final long serialVersionUID = -4833106947304679015L;
     
-    public ShardingValueDataTypeException(final Column column) {
+    public ShardingValueDataTypeException(final QualifiedColumn column) {
         super(XOpenSQLState.INVALID_DATA_TYPE, 21, "Found different types for 
sharding value '%s'.", column);
     }
 }
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/WhereClauseShardingConditionEngine.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/WhereClauseShardingConditionEngine.java
index 4da5e1010f7..da6418cccd3 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/WhereClauseShardingConditionEngine.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/WhereClauseShardingConditionEngine.java
@@ -19,12 +19,12 @@ package 
org.apache.shardingsphere.sharding.route.engine.condition.engine;
 
 import com.google.common.collect.Range;
 import lombok.RequiredArgsConstructor;
+import 
org.apache.shardingsphere.infra.binder.context.available.WhereContextAvailable;
 import 
org.apache.shardingsphere.infra.binder.context.extractor.SQLStatementContextExtractor;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
-import 
org.apache.shardingsphere.infra.binder.context.available.WhereContextAvailable;
+import 
org.apache.shardingsphere.infra.metadata.database.schema.QualifiedColumn;
 import 
org.apache.shardingsphere.sharding.exception.data.ShardingValueDataTypeException;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.AlwaysFalseShardingCondition;
-import org.apache.shardingsphere.sharding.route.engine.condition.Column;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.ShardingCondition;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.generator.ConditionValueGeneratorFactory;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.value.AlwaysFalseShardingConditionValue;
@@ -85,7 +85,7 @@ public final class WhereClauseShardingConditionEngine {
         Collection<AndPredicate> andPredicates = 
ExpressionExtractor.extractAndPredicates(expression);
         Collection<ShardingCondition> result = new LinkedList<>();
         for (AndPredicate each : andPredicates) {
-            Map<Column, Collection<ShardingConditionValue>> 
shardingConditionValues = createShardingConditionValueMap(each.getPredicates(), 
params);
+            Map<QualifiedColumn, Collection<ShardingConditionValue>> 
shardingConditionValues = createShardingConditionValueMap(each.getPredicates(), 
params);
             if (shardingConditionValues.isEmpty()) {
                 return Collections.emptyList();
             }
@@ -97,8 +97,8 @@ public final class WhereClauseShardingConditionEngine {
         return result;
     }
     
-    private Map<Column, Collection<ShardingConditionValue>> 
createShardingConditionValueMap(final Collection<ExpressionSegment> predicates, 
final List<Object> params) {
-        Map<Column, Collection<ShardingConditionValue>> result = new 
HashMap<>(predicates.size(), 1F);
+    private Map<QualifiedColumn, Collection<ShardingConditionValue>> 
createShardingConditionValueMap(final Collection<ExpressionSegment> predicates, 
final List<Object> params) {
+        Map<QualifiedColumn, Collection<ShardingConditionValue>> result = new 
HashMap<>(predicates.size(), 1F);
         for (ExpressionSegment each : predicates) {
             for (ColumnSegment columnSegment : ColumnExtractor.extract(each)) {
                 String tableName = 
columnSegment.getColumnBoundInfo().getOriginalTable().getValue();
@@ -106,7 +106,7 @@ public final class WhereClauseShardingConditionEngine {
                 if (!shardingColumn.isPresent()) {
                     continue;
                 }
-                Column column = new Column(shardingColumn.get(), tableName);
+                QualifiedColumn column = new 
QualifiedColumn(shardingColumn.get(), tableName);
                 Optional<ShardingConditionValue> shardingConditionValue = 
ConditionValueGeneratorFactory.generate(each, column, params, 
timestampServiceRule);
                 if (!shardingConditionValue.isPresent()) {
                     continue;
@@ -117,9 +117,9 @@ public final class WhereClauseShardingConditionEngine {
         return result;
     }
     
-    private ShardingCondition createShardingCondition(final Map<Column, 
Collection<ShardingConditionValue>> shardingConditionValues) {
+    private ShardingCondition createShardingCondition(final 
Map<QualifiedColumn, Collection<ShardingConditionValue>> 
shardingConditionValues) {
         ShardingCondition result = new ShardingCondition();
-        for (Entry<Column, Collection<ShardingConditionValue>> entry : 
shardingConditionValues.entrySet()) {
+        for (Entry<QualifiedColumn, Collection<ShardingConditionValue>> entry 
: shardingConditionValues.entrySet()) {
             try {
                 ShardingConditionValue shardingConditionValue = 
mergeShardingConditionValues(entry.getKey(), entry.getValue());
                 if (shardingConditionValue instanceof 
AlwaysFalseShardingConditionValue) {
@@ -134,7 +134,7 @@ public final class WhereClauseShardingConditionEngine {
     }
     
     @SuppressWarnings({"unchecked", "rawtypes"})
-    private ShardingConditionValue mergeShardingConditionValues(final Column 
column, final Collection<ShardingConditionValue> shardingConditionValues) {
+    private ShardingConditionValue mergeShardingConditionValues(final 
QualifiedColumn column, final Collection<ShardingConditionValue> 
shardingConditionValues) {
         Collection<Comparable<?>> listValue = null;
         Range<Comparable<?>> rangeValue = null;
         Set<Integer> parameterMarkerIndexes = new HashSet<>();
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/ConditionValueGenerator.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/ConditionValueGenerator.java
index f11a117ca03..ad6ef1e1bd5 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/ConditionValueGenerator.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/ConditionValueGenerator.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.sharding.route.engine.condition.generator;
 
-import org.apache.shardingsphere.sharding.route.engine.condition.Column;
+import 
org.apache.shardingsphere.infra.metadata.database.schema.QualifiedColumn;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.value.ShardingConditionValue;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.ExpressionSegment;
 import org.apache.shardingsphere.timeservice.core.rule.TimestampServiceRule;
@@ -41,5 +41,5 @@ public interface ConditionValueGenerator<T extends 
ExpressionSegment> {
      * @param timestampServiceRule time service rule
      * @return route value
      */
-    Optional<ShardingConditionValue> generate(T predicateRightValue, Column 
column, List<Object> params, TimestampServiceRule timestampServiceRule);
+    Optional<ShardingConditionValue> generate(T predicateRightValue, 
QualifiedColumn column, List<Object> params, TimestampServiceRule 
timestampServiceRule);
 }
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/ConditionValueGeneratorFactory.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/ConditionValueGeneratorFactory.java
index 0b08a3bdb59..55e80919223 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/ConditionValueGeneratorFactory.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/ConditionValueGeneratorFactory.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.sharding.route.engine.condition.generator;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.sharding.route.engine.condition.Column;
+import 
org.apache.shardingsphere.infra.metadata.database.schema.QualifiedColumn;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.generator.impl.ConditionValueBetweenOperatorGenerator;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.generator.impl.ConditionValueCompareOperatorGenerator;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.generator.impl.ConditionValueInOperatorGenerator;
@@ -54,7 +54,8 @@ public final class ConditionValueGeneratorFactory {
      * @param timestampServiceRule time service rule
      * @return route value
      */
-    public static Optional<ShardingConditionValue> generate(final 
ExpressionSegment predicate, final Column column, final List<Object> params, 
final TimestampServiceRule timestampServiceRule) {
+    public static Optional<ShardingConditionValue> generate(final 
ExpressionSegment predicate, final QualifiedColumn column, final List<Object> 
params,
+                                                            final 
TimestampServiceRule timestampServiceRule) {
         if (predicate instanceof BinaryOperationExpression) {
             return 
COMPARE_OPERATOR_GENERATOR.generate((BinaryOperationExpression) predicate, 
column, params, timestampServiceRule);
         }
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueBetweenOperatorGenerator.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueBetweenOperatorGenerator.java
index e7d36911c29..a0bc6658161 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueBetweenOperatorGenerator.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueBetweenOperatorGenerator.java
@@ -18,7 +18,7 @@
 package 
org.apache.shardingsphere.sharding.route.engine.condition.generator.impl;
 
 import com.google.common.collect.Range;
-import org.apache.shardingsphere.sharding.route.engine.condition.Column;
+import 
org.apache.shardingsphere.infra.metadata.database.schema.QualifiedColumn;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.ExpressionConditionUtils;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.generator.ConditionValue;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.generator.ConditionValueGenerator;
@@ -39,7 +39,7 @@ import java.util.Optional;
 public final class ConditionValueBetweenOperatorGenerator implements 
ConditionValueGenerator<BetweenExpression> {
     
     @Override
-    public Optional<ShardingConditionValue> generate(final BetweenExpression 
predicate, final Column column, final List<Object> params, final 
TimestampServiceRule timestampServiceRule) {
+    public Optional<ShardingConditionValue> generate(final BetweenExpression 
predicate, final QualifiedColumn column, final List<Object> params, final 
TimestampServiceRule timestampServiceRule) {
         ConditionValue betweenConditionValue = new 
ConditionValue(predicate.getBetweenExpr(), params);
         ConditionValue andConditionValue = new 
ConditionValue(predicate.getAndExpr(), params);
         Optional<Comparable<?>> betweenValue = 
betweenConditionValue.getValue();
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueCompareOperatorGenerator.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueCompareOperatorGenerator.java
index ab10fad48b0..79df3f49385 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueCompareOperatorGenerator.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueCompareOperatorGenerator.java
@@ -18,7 +18,7 @@
 package 
org.apache.shardingsphere.sharding.route.engine.condition.generator.impl;
 
 import com.google.common.collect.Range;
-import org.apache.shardingsphere.sharding.route.engine.condition.Column;
+import 
org.apache.shardingsphere.infra.metadata.database.schema.QualifiedColumn;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.ExpressionConditionUtils;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.generator.ConditionValue;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.generator.ConditionValueGenerator;
@@ -58,7 +58,8 @@ public final class ConditionValueCompareOperatorGenerator 
implements ConditionVa
     private static final Collection<String> OPERATORS = new 
HashSet<>(Arrays.asList(EQUAL, GREATER_THAN, LESS_THAN, AT_LEAST, AT_MOST, IS));
     
     @Override
-    public Optional<ShardingConditionValue> generate(final 
BinaryOperationExpression predicate, final Column column, final List<Object> 
params, final TimestampServiceRule timestampServiceRule) {
+    public Optional<ShardingConditionValue> generate(final 
BinaryOperationExpression predicate, final QualifiedColumn column, final 
List<Object> params,
+                                                     final 
TimestampServiceRule timestampServiceRule) {
         String operator = predicate.getOperator().toUpperCase();
         if (!isSupportedOperator(operator)) {
             return Optional.empty();
@@ -78,7 +79,7 @@ public final class ConditionValueCompareOperatorGenerator 
implements ConditionVa
         return Optional.empty();
     }
     
-    private Optional<ShardingConditionValue> generate(final Comparable<?> 
comparable, final Column column, final String operator, final int 
parameterMarkerIndex) {
+    private Optional<ShardingConditionValue> generate(final Comparable<?> 
comparable, final QualifiedColumn column, final String operator, final int 
parameterMarkerIndex) {
         String columnName = column.getName();
         String tableName = column.getTableName();
         List<Integer> parameterMarkerIndexes = parameterMarkerIndex > -1 ? 
Collections.singletonList(parameterMarkerIndex) : Collections.emptyList();
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueInOperatorGenerator.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueInOperatorGenerator.java
index dc6467f29f5..45f8f8d11b0 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueInOperatorGenerator.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueInOperatorGenerator.java
@@ -17,7 +17,7 @@
 
 package 
org.apache.shardingsphere.sharding.route.engine.condition.generator.impl;
 
-import org.apache.shardingsphere.sharding.route.engine.condition.Column;
+import 
org.apache.shardingsphere.infra.metadata.database.schema.QualifiedColumn;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.ExpressionConditionUtils;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.generator.ConditionValue;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.generator.ConditionValueGenerator;
@@ -39,7 +39,7 @@ import java.util.Optional;
 public final class ConditionValueInOperatorGenerator implements 
ConditionValueGenerator<InExpression> {
     
     @Override
-    public Optional<ShardingConditionValue> generate(final InExpression 
predicate, final Column column, final List<Object> params, final 
TimestampServiceRule timestampServiceRule) {
+    public Optional<ShardingConditionValue> generate(final InExpression 
predicate, final QualifiedColumn column, final List<Object> params, final 
TimestampServiceRule timestampServiceRule) {
         if (predicate.isNot()) {
             return Optional.empty();
         }
diff --git 
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/ConditionValueGeneratorFactoryTest.java
 
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/ConditionValueGeneratorFactoryTest.java
index 5d021d5a001..022f287ab4f 100644
--- 
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/ConditionValueGeneratorFactoryTest.java
+++ 
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/ConditionValueGeneratorFactoryTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.sharding.route.engine.condition.generator;
 
-import org.apache.shardingsphere.sharding.route.engine.condition.Column;
+import 
org.apache.shardingsphere.infra.metadata.database.schema.QualifiedColumn;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.generator.impl.ConditionValueBetweenOperatorGenerator;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.generator.impl.ConditionValueCompareOperatorGenerator;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.generator.impl.ConditionValueInOperatorGenerator;
@@ -45,7 +45,7 @@ import static org.mockito.Mockito.mock;
 
 class ConditionValueGeneratorFactoryTest {
     
-    private final Column column = new Column("id", "tbl");
+    private final QualifiedColumn column = new QualifiedColumn("id", "tbl");
     
     @Test
     void assertGenerateBinaryOperationExpression() {
diff --git 
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueBetweenOperatorGeneratorTest.java
 
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueBetweenOperatorGeneratorTest.java
index 9a4814e8cda..d20fbc63c85 100644
--- 
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueBetweenOperatorGeneratorTest.java
+++ 
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueBetweenOperatorGeneratorTest.java
@@ -18,7 +18,7 @@
 package 
org.apache.shardingsphere.sharding.route.engine.condition.generator.impl;
 
 import com.google.common.collect.Range;
-import org.apache.shardingsphere.sharding.route.engine.condition.Column;
+import 
org.apache.shardingsphere.infra.metadata.database.schema.QualifiedColumn;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.value.RangeShardingConditionValue;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.value.ShardingConditionValue;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment;
@@ -56,7 +56,7 @@ class ConditionValueBetweenOperatorGeneratorTest {
     
     private final ConditionValueBetweenOperatorGenerator generator = new 
ConditionValueBetweenOperatorGenerator();
     
-    private final Column column = new Column("id", "tbl");
+    private final QualifiedColumn column = new QualifiedColumn("id", "tbl");
     
     private final TimestampServiceRule timestampServiceRule = new 
TimestampServiceRule(new TimestampServiceRuleConfiguration("System", new 
Properties()));
     
diff --git 
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueCompareOperatorGeneratorTest.java
 
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueCompareOperatorGeneratorTest.java
index eb4923b845a..85f5fba2f32 100644
--- 
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueCompareOperatorGeneratorTest.java
+++ 
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueCompareOperatorGeneratorTest.java
@@ -18,7 +18,7 @@
 package 
org.apache.shardingsphere.sharding.route.engine.condition.generator.impl;
 
 import com.google.common.collect.Range;
-import org.apache.shardingsphere.sharding.route.engine.condition.Column;
+import 
org.apache.shardingsphere.infra.metadata.database.schema.QualifiedColumn;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.value.ListShardingConditionValue;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.value.RangeShardingConditionValue;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.value.ShardingConditionValue;
@@ -46,7 +46,7 @@ class ConditionValueCompareOperatorGeneratorTest {
     
     private final ConditionValueCompareOperatorGenerator generator = new 
ConditionValueCompareOperatorGenerator();
     
-    private final Column column = new Column("id", "tbl");
+    private final QualifiedColumn column = new QualifiedColumn("id", "tbl");
     
     @SuppressWarnings("unchecked")
     @Test
diff --git 
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueInOperatorGeneratorTest.java
 
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueInOperatorGeneratorTest.java
index 52b8323aa06..4b8658d667c 100644
--- 
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueInOperatorGeneratorTest.java
+++ 
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/generator/impl/ConditionValueInOperatorGeneratorTest.java
@@ -17,7 +17,7 @@
 
 package 
org.apache.shardingsphere.sharding.route.engine.condition.generator.impl;
 
-import org.apache.shardingsphere.sharding.route.engine.condition.Column;
+import 
org.apache.shardingsphere.infra.metadata.database.schema.QualifiedColumn;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.value.ListShardingConditionValue;
 import 
org.apache.shardingsphere.sharding.route.engine.condition.value.ShardingConditionValue;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment;
@@ -48,7 +48,7 @@ class ConditionValueInOperatorGeneratorTest {
     
     private final ConditionValueInOperatorGenerator generator = new 
ConditionValueInOperatorGenerator();
     
-    private final Column column = new Column("id", "tbl");
+    private final QualifiedColumn column = new QualifiedColumn("id", "tbl");
     
     private final TimestampServiceRule timestampServiceRule = new 
TimestampServiceRule(new TimestampServiceRuleConfiguration("System", new 
Properties()));
     
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/Column.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/QualifiedColumn.java
similarity index 83%
rename from 
features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/Column.java
rename to 
infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/QualifiedColumn.java
index 68dd9e4c6de..f74d543ab27 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/Column.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/QualifiedColumn.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sharding.route.engine.condition;
+package org.apache.shardingsphere.infra.metadata.database.schema;
 
 import lombok.Getter;
 import lombok.ToString;
@@ -23,11 +23,11 @@ import lombok.ToString;
 import java.util.Objects;
 
 /**
- * Column.
+ * Qualified column.
  */
 @Getter
 @ToString
-public final class Column {
+public final class QualifiedColumn {
     
     private final String name;
     
@@ -35,7 +35,7 @@ public final class Column {
     
     private final int hashCode;
     
-    public Column(final String name, final String tableName) {
+    public QualifiedColumn(final String name, final String tableName) {
         this.name = name;
         this.tableName = tableName;
         hashCode = Objects.hash(name.toUpperCase(), tableName.toUpperCase());
@@ -43,8 +43,8 @@ public final class Column {
     
     @Override
     public boolean equals(final Object obj) {
-        if (obj instanceof Column) {
-            Column column = (Column) obj;
+        if (obj instanceof QualifiedColumn) {
+            QualifiedColumn column = (QualifiedColumn) obj;
             return null != name && name.equalsIgnoreCase(column.name) && null 
!= tableName && tableName.equalsIgnoreCase(column.tableName);
         }
         return false;
diff --git 
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/ColumnTest.java
 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/QualifiedColumnTest.java
similarity index 73%
rename from 
features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/ColumnTest.java
rename to 
infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/QualifiedColumnTest.java
index f6dd94265dd..e67ab58ebf3 100644
--- 
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/condition/ColumnTest.java
+++ 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/QualifiedColumnTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sharding.route.engine.condition;
+package org.apache.shardingsphere.infra.metadata.database.schema;
 
 import org.junit.jupiter.api.Test;
 
@@ -23,25 +23,25 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.not;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-class ColumnTest {
+class QualifiedColumnTest {
     
     @Test
     void assertEqualsForDifferentObjectType() {
-        assertThat(new Column("col", "tbl"), not(new Object()));
+        assertThat(new QualifiedColumn("col", "tbl"), not(new Object()));
     }
     
     @Test
     void assertEquals() {
-        assertThat(new Column("col", "tbl"), is(new Column("COL", "TBL")));
+        assertThat(new QualifiedColumn("col", "tbl"), is(new 
QualifiedColumn("COL", "TBL")));
     }
     
     @Test
     void assertNotEqualsWhenColumnNameIsDifferent() {
-        assertThat(new Column("col", "tbl"), not(new Column("col1", "tbl")));
+        assertThat(new QualifiedColumn("col", "tbl"), not(new 
QualifiedColumn("col1", "tbl")));
     }
     
     @Test
     void assertNotEqualsWhenTableNameIsDifferent() {
-        assertThat(new Column("col", "tbl"), not(new Column("col", "tbl1")));
+        assertThat(new QualifiedColumn("col", "tbl"), not(new 
QualifiedColumn("col", "tbl1")));
     }
 }

Reply via email to