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 6fa361d7065 Refactor TableSegmentBinder (#32089)
6fa361d7065 is described below
commit 6fa361d7065908c7f6e123c3049b728aba818a35
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Jul 13 14:19:29 2024 +0800
Refactor TableSegmentBinder (#32089)
---
.../segment/assign/AssignmentSegmentBinder.java | 2 +-
.../segment/column/InsertColumnsSegmentBinder.java | 2 +-
.../expression/ExpressionSegmentBinder.java | 2 +-
.../impl/BinaryOperationExpressionBinder.java | 2 +-
.../expression/impl/ColumnSegmentBinder.java | 6 ++--
.../impl/ExistsSubqueryExpressionBinder.java | 2 +-
.../impl/FunctionExpressionSegmentBinder.java | 2 +-
.../expression/impl/InExpressionBinder.java | 2 +-
.../expression/impl/NotExpressionBinder.java | 2 +-
.../impl/SubqueryExpressionSegmentBinder.java | 2 +-
.../expression/impl/SubquerySegmentBinder.java | 2 +-
.../binder/segment/from/TableSegmentBinder.java | 10 +++---
.../{ => context}/TableSegmentBinderContext.java | 2 +-
.../type}/FunctionTableSegmentBinderContext.java | 3 +-
.../type}/SimpleTableSegmentBinderContext.java | 3 +-
.../DeleteMultiTableSegmentBinder.java | 10 +++---
.../{impl => type}/JoinTableSegmentBinder.java | 10 +++---
.../{impl => type}/SimpleTableSegmentBinder.java | 6 ++--
.../{impl => type}/SubqueryTableSegmentBinder.java | 6 ++--
.../binder/segment/lock/LockSegmentBinder.java | 2 +-
.../projection/ProjectionsSegmentBinder.java | 2 +-
.../type/ColumnProjectionSegmentBinder.java | 2 +-
.../type/ShorthandProjectionSegmentBinder.java | 2 +-
.../type/SubqueryProjectionSegmentBinder.java | 2 +-
.../binder/segment/where/WhereSegmentBinder.java | 2 +-
.../with/CommonTableExpressionSegmentBinder.java | 2 +-
.../binder/segment/with/WithSegmentBinder.java | 4 +--
.../statement/SQLStatementBinderContext.java | 2 +-
.../statement/dml/DeleteStatementBinder.java | 2 +-
.../statement/dml/InsertStatementBinder.java | 4 +--
.../statement/dml/SelectStatementBinder.java | 2 +-
.../statement/dml/UpdateStatementBinder.java | 2 +-
.../assign/AssignmentSegmentBinderTest.java | 4 +--
.../expression/impl/ColumnSegmentBinderTest.java | 4 +--
.../impl/SubqueryExpressionSegmentBinderTest.java | 2 +-
.../expression/impl/SubquerySegmentBinderTest.java | 12 +++----
.../{impl => type}/JoinTableSegmentBinderTest.java | 39 +++++++++++-----------
.../SimpleTableSegmentBinderTest.java | 15 +++++----
.../SubqueryTableSegmentBinderTest.java | 13 ++++----
.../type/ShorthandProjectionSegmentBinderTest.java | 4 +--
.../segment/where/WhereSegmentBinderTest.java | 2 +-
41 files changed, 104 insertions(+), 97 deletions(-)
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/assign/AssignmentSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/assign/AssignmentSegmentBinder.java
index 970be2568f5..e97c18e2d53 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/assign/AssignmentSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/assign/AssignmentSegmentBinder.java
@@ -22,7 +22,7 @@ import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.binder.segment.SegmentType;
import
org.apache.shardingsphere.infra.binder.segment.expression.ExpressionSegmentBinder;
import
org.apache.shardingsphere.infra.binder.segment.expression.impl.ColumnSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.assignment.ColumnAssignmentSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.assignment.SetAssignmentSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/column/InsertColumnsSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/column/InsertColumnsSegmentBinder.java
index 9ddebeaa490..23c5ab15ec5 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/column/InsertColumnsSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/column/InsertColumnsSegmentBinder.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.binder.segment.SegmentType;
import
org.apache.shardingsphere.infra.binder.segment.expression.impl.ColumnSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.InsertColumnsSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/ExpressionSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/ExpressionSegmentBinder.java
index 8008f064f89..28aa5769b41 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/ExpressionSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/ExpressionSegmentBinder.java
@@ -27,7 +27,7 @@ import
org.apache.shardingsphere.infra.binder.segment.expression.impl.FunctionEx
import
org.apache.shardingsphere.infra.binder.segment.expression.impl.InExpressionBinder;
import
org.apache.shardingsphere.infra.binder.segment.expression.impl.NotExpressionBinder;
import
org.apache.shardingsphere.infra.binder.segment.expression.impl.SubqueryExpressionSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.BinaryOperationExpression;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/BinaryOperationExpressionBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/BinaryOperationExpressionBinder.java
index 1381016faf7..9cfa5f44236 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/BinaryOperationExpressionBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/BinaryOperationExpressionBinder.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.binder.segment.SegmentType;
import
org.apache.shardingsphere.infra.binder.segment.expression.ExpressionSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.BinaryOperationExpression;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.ExpressionSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/ColumnSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/ColumnSegmentBinder.java
index 174e03c8ef4..a30447d269a 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/ColumnSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/ColumnSegmentBinder.java
@@ -22,9 +22,9 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.groovy.util.Maps;
import org.apache.shardingsphere.infra.binder.segment.SegmentType;
-import
org.apache.shardingsphere.infra.binder.segment.from.FunctionTableSegmentBinderContext;
-import
org.apache.shardingsphere.infra.binder.segment.from.SimpleTableSegmentBinderContext;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.type.FunctionTableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.type.SimpleTableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.infra.exception.kernel.syntax.AmbiguousColumnException;
import
org.apache.shardingsphere.infra.exception.kernel.metadata.ColumnNotFoundException;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/ExistsSubqueryExpressionBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/ExistsSubqueryExpressionBinder.java
index f59120823f0..450db44d563 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/ExistsSubqueryExpressionBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/ExistsSubqueryExpressionBinder.java
@@ -19,7 +19,7 @@ package
org.apache.shardingsphere.infra.binder.segment.expression.impl;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.ExistsSubqueryExpression;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.subquery.SubquerySegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/FunctionExpressionSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/FunctionExpressionSegmentBinder.java
index 2747a73dff1..157be3e2640 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/FunctionExpressionSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/FunctionExpressionSegmentBinder.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.binder.segment.SegmentType;
import
org.apache.shardingsphere.infra.binder.segment.expression.ExpressionSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.ExpressionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.FunctionSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/InExpressionBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/InExpressionBinder.java
index 51583e0f156..d416b98e921 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/InExpressionBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/InExpressionBinder.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.binder.segment.SegmentType;
import
org.apache.shardingsphere.infra.binder.segment.expression.ExpressionSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.ExpressionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.InExpression;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/NotExpressionBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/NotExpressionBinder.java
index 92fb9479e07..61397019bef 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/NotExpressionBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/NotExpressionBinder.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.binder.segment.SegmentType;
import
org.apache.shardingsphere.infra.binder.segment.expression.ExpressionSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.ExpressionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.NotExpression;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubqueryExpressionSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubqueryExpressionSegmentBinder.java
index aa1454bd903..3baa1c464af 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubqueryExpressionSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubqueryExpressionSegmentBinder.java
@@ -19,7 +19,7 @@ package
org.apache.shardingsphere.infra.binder.segment.expression.impl;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.subquery.SubqueryExpressionSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubquerySegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubquerySegmentBinder.java
index 415633587e0..41de81d286f 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubquerySegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubquerySegmentBinder.java
@@ -19,7 +19,7 @@ package
org.apache.shardingsphere.infra.binder.segment.expression.impl;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementBinder;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.subquery.SubquerySegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/TableSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/TableSegmentBinder.java
index b1b59a91cd8..16b5c987bf8 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/TableSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/TableSegmentBinder.java
@@ -19,10 +19,12 @@ package org.apache.shardingsphere.infra.binder.segment.from;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import
org.apache.shardingsphere.infra.binder.segment.from.impl.DeleteMultiTableSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.impl.JoinTableSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.impl.SimpleTableSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.impl.SubqueryTableSegmentBinder;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.type.FunctionTableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.type.DeleteMultiTableSegmentBinder;
+import
org.apache.shardingsphere.infra.binder.segment.from.type.JoinTableSegmentBinder;
+import
org.apache.shardingsphere.infra.binder.segment.from.type.SimpleTableSegmentBinder;
+import
org.apache.shardingsphere.infra.binder.segment.from.type.SubqueryTableSegmentBinder;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.CollectionTableSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.DeleteMultiTableSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/TableSegmentBinderContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/context/TableSegmentBinderContext.java
similarity index 95%
rename from
infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/TableSegmentBinderContext.java
rename to
infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/context/TableSegmentBinderContext.java
index 947dbc6199d..d87d43d3fa5 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/TableSegmentBinderContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/context/TableSegmentBinderContext.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.binder.segment.from;
+package org.apache.shardingsphere.infra.binder.segment.from.context;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.ProjectionSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/FunctionTableSegmentBinderContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/context/type/FunctionTableSegmentBinderContext.java
similarity index 89%
rename from
infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/FunctionTableSegmentBinderContext.java
rename to
infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/context/type/FunctionTableSegmentBinderContext.java
index 172fcefbeef..382cca2c703 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/FunctionTableSegmentBinderContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/context/type/FunctionTableSegmentBinderContext.java
@@ -15,8 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.binder.segment.from;
+package org.apache.shardingsphere.infra.binder.segment.from.context.type;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.ProjectionSegment;
import java.util.Collection;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/SimpleTableSegmentBinderContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/context/type/SimpleTableSegmentBinderContext.java
similarity index 94%
rename from
infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/SimpleTableSegmentBinderContext.java
rename to
infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/context/type/SimpleTableSegmentBinderContext.java
index 43f88b7829b..d29332debc3 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/SimpleTableSegmentBinderContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/context/type/SimpleTableSegmentBinderContext.java
@@ -15,10 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.binder.segment.from;
+package org.apache.shardingsphere.infra.binder.segment.from.context.type;
import com.cedarsoftware.util.CaseInsensitiveMap;
import lombok.RequiredArgsConstructor;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.ProjectionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.ShorthandProjectionSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/impl/DeleteMultiTableSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/type/DeleteMultiTableSegmentBinder.java
similarity index 84%
rename from
infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/impl/DeleteMultiTableSegmentBinder.java
rename to
infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/type/DeleteMultiTableSegmentBinder.java
index d513f47bb06..90d8a1afd76 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/impl/DeleteMultiTableSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/type/DeleteMultiTableSegmentBinder.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.binder.segment.from.impl;
+package org.apache.shardingsphere.infra.binder.segment.from.type;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.DeleteMultiTableSegment;
@@ -39,10 +39,10 @@ public final class DeleteMultiTableSegmentBinder {
* @param segment delete multi table segment
* @param binderContext SQL statement binder context
* @param tableBinderContexts table binder contexts
- * @return bound join table segment
+ * @return bound delete multi table segment
*/
- public static DeleteMultiTableSegment bind(final DeleteMultiTableSegment
segment, final SQLStatementBinderContext binderContext,
- final Map<String,
TableSegmentBinderContext> tableBinderContexts) {
+ public static DeleteMultiTableSegment bind(final DeleteMultiTableSegment
segment,
+ final SQLStatementBinderContext
binderContext, final Map<String, TableSegmentBinderContext>
tableBinderContexts) {
DeleteMultiTableSegment result = new DeleteMultiTableSegment();
result.setStartIndex(segment.getStartIndex());
result.setStopIndex(segment.getStopIndex());
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/impl/JoinTableSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/type/JoinTableSegmentBinder.java
similarity index 97%
rename from
infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/impl/JoinTableSegmentBinder.java
rename to
infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/type/JoinTableSegmentBinder.java
index 1e3038c70f2..a91d5c99ade 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/impl/JoinTableSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/type/JoinTableSegmentBinder.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.binder.segment.from.impl;
+package org.apache.shardingsphere.infra.binder.segment.from.type;
import com.google.common.collect.LinkedHashMultimap;
import com.google.common.collect.Multimap;
@@ -25,7 +25,7 @@ import
org.apache.shardingsphere.infra.binder.segment.SegmentType;
import
org.apache.shardingsphere.infra.binder.segment.expression.ExpressionSegmentBinder;
import
org.apache.shardingsphere.infra.binder.segment.expression.impl.ColumnSegmentBinder;
import org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import org.apache.shardingsphere.infra.database.mysql.type.MySQLDatabaseType;
@@ -61,15 +61,15 @@ public final class JoinTableSegmentBinder {
* @param outerTableBinderContexts outer table binder contexts
* @return bound join table segment
*/
- public static JoinTableSegment bind(final JoinTableSegment segment, final
SQLStatementBinderContext binderContext, final Map<String,
TableSegmentBinderContext> tableBinderContexts,
- final Map<String,
TableSegmentBinderContext> outerTableBinderContexts) {
+ public static JoinTableSegment bind(final JoinTableSegment segment, final
SQLStatementBinderContext binderContext,
+ final Map<String,
TableSegmentBinderContext> tableBinderContexts, final Map<String,
TableSegmentBinderContext> outerTableBinderContexts) {
JoinTableSegment result = new JoinTableSegment();
result.setStartIndex(segment.getStartIndex());
result.setStopIndex(segment.getStopIndex());
segment.getAliasSegment().ifPresent(result::setAlias);
- result.setLeft(TableSegmentBinder.bind(segment.getLeft(),
binderContext, tableBinderContexts, outerTableBinderContexts));
result.setNatural(segment.isNatural());
result.setJoinType(segment.getJoinType());
+ result.setLeft(TableSegmentBinder.bind(segment.getLeft(),
binderContext, tableBinderContexts, outerTableBinderContexts));
result.setRight(TableSegmentBinder.bind(segment.getRight(),
binderContext, tableBinderContexts, outerTableBinderContexts));
result.setCondition(ExpressionSegmentBinder.bind(segment.getCondition(),
SegmentType.JOIN_ON, binderContext, tableBinderContexts,
Collections.emptyMap()));
result.setUsing(bindUsingColumns(segment.getUsing(),
tableBinderContexts));
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/impl/SimpleTableSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/type/SimpleTableSegmentBinder.java
similarity index 97%
rename from
infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/impl/SimpleTableSegmentBinder.java
rename to
infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/type/SimpleTableSegmentBinder.java
index 65459ae73be..88a4aad3195 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/impl/SimpleTableSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/type/SimpleTableSegmentBinder.java
@@ -15,13 +15,13 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.binder.segment.from.impl;
+package org.apache.shardingsphere.infra.binder.segment.from.type;
import com.cedarsoftware.util.CaseInsensitiveSet;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import
org.apache.shardingsphere.infra.binder.segment.from.SimpleTableSegmentBinderContext;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.type.SimpleTableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/impl/SubqueryTableSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/type/SubqueryTableSegmentBinder.java
similarity index 97%
rename from
infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/impl/SubqueryTableSegmentBinder.java
rename to
infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/type/SubqueryTableSegmentBinder.java
index b4251865dd6..5e2c8bab757 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/impl/SubqueryTableSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/from/type/SubqueryTableSegmentBinder.java
@@ -15,14 +15,14 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.binder.segment.from.impl;
+package org.apache.shardingsphere.infra.binder.segment.from.type;
import com.google.common.base.Strings;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.infra.binder.context.segment.select.projection.util.ProjectionUtils;
-import
org.apache.shardingsphere.infra.binder.segment.from.SimpleTableSegmentBinderContext;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.type.SimpleTableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.segment.parameter.ParameterMarkerExpressionSegmentBinder;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementBinder;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/lock/LockSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/lock/LockSegmentBinder.java
index 04e37d34acd..4ce31c6a731 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/lock/LockSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/lock/LockSegmentBinder.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.binder.segment.SegmentType;
import
org.apache.shardingsphere.infra.binder.segment.expression.impl.ColumnSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.predicate.LockSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/ProjectionsSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/ProjectionsSegmentBinder.java
index 27e3e81c5a6..0d9401f4e38 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/ProjectionsSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/ProjectionsSegmentBinder.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.binder.segment.SegmentType;
import
org.apache.shardingsphere.infra.binder.segment.expression.ExpressionSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.segment.projection.type.ColumnProjectionSegmentBinder;
import
org.apache.shardingsphere.infra.binder.segment.projection.type.ShorthandProjectionSegmentBinder;
import
org.apache.shardingsphere.infra.binder.segment.projection.type.SubqueryProjectionSegmentBinder;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/type/ColumnProjectionSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/type/ColumnProjectionSegmentBinder.java
index 33f2298b554..73ac0b2f445 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/type/ColumnProjectionSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/type/ColumnProjectionSegmentBinder.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.binder.segment.SegmentType;
import
org.apache.shardingsphere.infra.binder.segment.expression.impl.ColumnSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.ColumnProjectionSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/type/ShorthandProjectionSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/type/ShorthandProjectionSegmentBinder.java
index 02a6effdf65..7d356bd3f6d 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/type/ShorthandProjectionSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/type/ShorthandProjectionSegmentBinder.java
@@ -19,7 +19,7 @@ package
org.apache.shardingsphere.infra.binder.segment.projection.type;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.ProjectionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.ShorthandProjectionSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/type/SubqueryProjectionSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/type/SubqueryProjectionSegmentBinder.java
index cf6b88dbb84..a6343c98102 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/type/SubqueryProjectionSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/projection/type/SubqueryProjectionSegmentBinder.java
@@ -20,7 +20,7 @@ package
org.apache.shardingsphere.infra.binder.segment.projection.type;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.infra.binder.segment.expression.impl.SubquerySegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.subquery.SubquerySegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.SubqueryProjectionSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/where/WhereSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/where/WhereSegmentBinder.java
index 39c40510bf8..4ea5e6ed597 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/where/WhereSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/where/WhereSegmentBinder.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.binder.segment.SegmentType;
import
org.apache.shardingsphere.infra.binder.segment.expression.ExpressionSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.predicate.WhereSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/with/CommonTableExpressionSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/with/CommonTableExpressionSegmentBinder.java
index f033d4495cf..59f569a4c71 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/with/CommonTableExpressionSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/with/CommonTableExpressionSegmentBinder.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.infra.binder.segment.with;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.infra.binder.segment.expression.impl.SubquerySegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.complex.CommonTableExpressionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.subquery.SubquerySegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/with/WithSegmentBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/with/WithSegmentBinder.java
index 691ac345526..cbd12aea9ff 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/with/WithSegmentBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/with/WithSegmentBinder.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.infra.binder.segment.with;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import
org.apache.shardingsphere.infra.binder.segment.from.SimpleTableSegmentBinderContext;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.type.SimpleTableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.complex.CommonTableExpressionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.WithSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementBinderContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementBinderContext.java
index b29c36714b6..53dfac049d0 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementBinderContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementBinderContext.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.infra.binder.statement;
import com.cedarsoftware.util.CaseInsensitiveMap;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.ProjectionSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/DeleteStatementBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/DeleteStatementBinder.java
index 8f651b2ec6e..0fb498b6538 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/DeleteStatementBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/DeleteStatementBinder.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.infra.binder.statement.dml;
import lombok.SneakyThrows;
import org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import org.apache.shardingsphere.infra.binder.segment.where.WhereSegmentBinder;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementBinder;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/InsertStatementBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/InsertStatementBinder.java
index c94df3c2f3e..71925f476ff 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/InsertStatementBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/InsertStatementBinder.java
@@ -20,8 +20,8 @@ package org.apache.shardingsphere.infra.binder.statement.dml;
import lombok.SneakyThrows;
import
org.apache.shardingsphere.infra.binder.segment.column.InsertColumnsSegmentBinder;
import
org.apache.shardingsphere.infra.binder.segment.expression.impl.SubquerySegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
-import
org.apache.shardingsphere.infra.binder.segment.from.impl.SimpleTableSegmentBinder;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.type.SimpleTableSegmentBinder;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementBinder;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/SelectStatementBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/SelectStatementBinder.java
index 4bb248a5004..8c9aeef0cba 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/SelectStatementBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/SelectStatementBinder.java
@@ -21,7 +21,7 @@ import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import
org.apache.shardingsphere.infra.binder.segment.combine.CombineSegmentBinder;
import org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import org.apache.shardingsphere.infra.binder.segment.lock.LockSegmentBinder;
import
org.apache.shardingsphere.infra.binder.segment.projection.ProjectionsSegmentBinder;
import org.apache.shardingsphere.infra.binder.segment.where.WhereSegmentBinder;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/UpdateStatementBinder.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/UpdateStatementBinder.java
index 787cd51b138..2c46f250904 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/UpdateStatementBinder.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/UpdateStatementBinder.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.infra.binder.statement.dml;
import lombok.SneakyThrows;
import
org.apache.shardingsphere.infra.binder.segment.assign.AssignmentSegmentBinder;
import org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinder;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import org.apache.shardingsphere.infra.binder.segment.where.WhereSegmentBinder;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementBinder;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/assign/AssignmentSegmentBinderTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/assign/AssignmentSegmentBinderTest.java
index 35324c0f2dd..14943aca9c9 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/assign/AssignmentSegmentBinderTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/assign/AssignmentSegmentBinderTest.java
@@ -17,8 +17,8 @@
package org.apache.shardingsphere.infra.binder.segment.assign;
-import
org.apache.shardingsphere.infra.binder.segment.from.SimpleTableSegmentBinderContext;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.type.SimpleTableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import org.apache.shardingsphere.infra.database.core.DefaultDatabase;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.assignment.ColumnAssignmentSegment;
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/ColumnSegmentBinderTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/ColumnSegmentBinderTest.java
index f5fb495eea5..d4ce6decb40 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/ColumnSegmentBinderTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/ColumnSegmentBinderTest.java
@@ -18,8 +18,8 @@
package org.apache.shardingsphere.infra.binder.segment.expression.impl;
import org.apache.shardingsphere.infra.binder.segment.SegmentType;
-import
org.apache.shardingsphere.infra.binder.segment.from.SimpleTableSegmentBinderContext;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.type.SimpleTableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import org.apache.shardingsphere.infra.database.core.DefaultDatabase;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubqueryExpressionSegmentBinderTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubqueryExpressionSegmentBinderTest.java
index 863c373b0d3..fe7bbc4dfc3 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubqueryExpressionSegmentBinderTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubqueryExpressionSegmentBinderTest.java
@@ -22,7 +22,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.subq
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.ProjectionsSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.SelectStatement;
import
org.apache.shardingsphere.sql.parser.statement.sqlserver.dml.SQLServerSelectStatement;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import org.junit.jupiter.api.Test;
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubquerySegmentBinderTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubquerySegmentBinderTest.java
index 73e07a02293..ae8569e2f1a 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubquerySegmentBinderTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/expression/impl/SubquerySegmentBinderTest.java
@@ -17,8 +17,8 @@
package org.apache.shardingsphere.infra.binder.segment.expression.impl;
-import
org.apache.shardingsphere.infra.binder.segment.from.SimpleTableSegmentBinderContext;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.type.SimpleTableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import org.apache.shardingsphere.infra.database.core.DefaultDatabase;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
@@ -130,10 +130,10 @@ class SubquerySegmentBinderTest {
SubquerySegment actual = SubquerySegmentBinder.bind(subquerySegment,
sqlStatementBinderContext, outerTableBinderContexts);
assertNotNull(actual.getSelect());
assertInstanceOf(OracleSelectStatement.class, actual.getSelect());
- assertTrue(((OracleSelectStatement)
actual.getSelect()).getWithSegment().isPresent());
- assertNotNull(((OracleSelectStatement)
actual.getSelect()).getWithSegment().get().getCommonTableExpressions());
- assertThat(((OracleSelectStatement)
actual.getSelect()).getWithSegment().get().getCommonTableExpressions().size(),
is(1));
- CommonTableExpressionSegment expressionSegment =
((OracleSelectStatement)
actual.getSelect()).getWithSegment().get().getCommonTableExpressions().iterator().next();
+ assertTrue(actual.getSelect().getWithSegment().isPresent());
+
assertNotNull(actual.getSelect().getWithSegment().get().getCommonTableExpressions());
+
assertThat(actual.getSelect().getWithSegment().get().getCommonTableExpressions().size(),
is(1));
+ CommonTableExpressionSegment expressionSegment =
actual.getSelect().getWithSegment().get().getCommonTableExpressions().iterator().next();
assertNotNull(expressionSegment.getSubquery().getSelect());
assertInstanceOf(OracleSelectStatement.class,
expressionSegment.getSubquery().getSelect());
assertTrue(expressionSegment.getSubquery().getSelect().getFrom().isPresent());
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/impl/JoinTableSegmentBinderTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/type/JoinTableSegmentBinderTest.java
similarity index 92%
rename from
infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/impl/JoinTableSegmentBinderTest.java
rename to
infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/type/JoinTableSegmentBinderTest.java
index 42445f78227..e673233ff71 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/impl/JoinTableSegmentBinderTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/type/JoinTableSegmentBinderTest.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.binder.segment.from.impl;
+package org.apache.shardingsphere.infra.binder.segment.from.type;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import org.apache.shardingsphere.infra.database.core.DefaultDatabase;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
@@ -45,6 +45,7 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -69,10 +70,10 @@ class JoinTableSegmentBinderTest {
Map<String, TableSegmentBinderContext> tableBinderContexts = new
LinkedHashMap<>();
JoinTableSegment actual = JoinTableSegmentBinder.bind(joinTableSegment,
new SQLStatementBinderContext(metaData,
DefaultDatabase.LOGIC_NAME, databaseType, Collections.emptySet()),
tableBinderContexts, Collections.emptyMap());
- assertTrue(actual.getLeft() instanceof SimpleTableSegment);
+ assertThat(actual.getLeft(), instanceOf(SimpleTableSegment.class));
assertThat(((SimpleTableSegment)
actual.getLeft()).getTableName().getTableBoundInfo().getOriginalDatabase().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertThat(((SimpleTableSegment)
actual.getLeft()).getTableName().getTableBoundInfo().getOriginalSchema().getValue(),
is(DefaultDatabase.LOGIC_NAME));
- assertTrue(actual.getRight() instanceof SimpleTableSegment);
+ assertThat(actual.getRight(), instanceOf(SimpleTableSegment.class));
assertThat(((SimpleTableSegment)
actual.getRight()).getTableName().getTableBoundInfo().getOriginalDatabase().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertThat(((SimpleTableSegment)
actual.getRight()).getTableName().getTableBoundInfo().getOriginalSchema().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertJoinTableProjectionSegments(actual.getDerivedJoinTableProjectionSegments());
@@ -83,7 +84,7 @@ class JoinTableSegmentBinderTest {
private void assertJoinTableProjectionSegments(final
Collection<ProjectionSegment> joinTableProjectionSegments) {
List<ProjectionSegment> actual = new
ArrayList<>(joinTableProjectionSegments);
assertThat(actual.size(), is(7));
- assertTrue(actual.get(0) instanceof ColumnProjectionSegment);
+ assertThat(actual.get(0), instanceOf(ColumnProjectionSegment.class));
assertThat(((ColumnProjectionSegment)
actual.get(0)).getColumn().getColumnBoundInfo().getOriginalColumn().getValue(),
is("order_id"));
assertThat(((ColumnProjectionSegment)
actual.get(0)).getColumn().getColumnBoundInfo().getOriginalTable().getValue(),
is("t_order"));
assertThat(((ColumnProjectionSegment)
actual.get(1)).getColumn().getColumnBoundInfo().getOriginalColumn().getValue(),
is("user_id"));
@@ -111,10 +112,10 @@ class JoinTableSegmentBinderTest {
Map<String, TableSegmentBinderContext> tableBinderContexts = new
LinkedHashMap<>();
JoinTableSegment actual =
JoinTableSegmentBinder.bind(joinTableSegment, new
SQLStatementBinderContext(metaData, DefaultDatabase.LOGIC_NAME, databaseType,
Collections.emptySet()),
tableBinderContexts, Collections.emptyMap());
- assertTrue(actual.getLeft() instanceof SimpleTableSegment);
+ assertThat(actual.getLeft(), instanceOf(SimpleTableSegment.class));
assertThat(((SimpleTableSegment)
actual.getLeft()).getTableName().getTableBoundInfo().getOriginalDatabase().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertThat(((SimpleTableSegment)
actual.getLeft()).getTableName().getTableBoundInfo().getOriginalSchema().getValue(),
is(DefaultDatabase.LOGIC_NAME));
- assertTrue(actual.getRight() instanceof SimpleTableSegment);
+ assertThat(actual.getRight(), instanceOf(SimpleTableSegment.class));
assertThat(((SimpleTableSegment)
actual.getRight()).getTableName().getTableBoundInfo().getOriginalDatabase().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertThat(((SimpleTableSegment)
actual.getRight()).getTableName().getTableBoundInfo().getOriginalSchema().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertJoinTableProjectionSegments(actual.getDerivedJoinTableProjectionSegments());
@@ -137,10 +138,10 @@ class JoinTableSegmentBinderTest {
Map<String, TableSegmentBinderContext> tableBinderContexts = new
LinkedHashMap<>();
JoinTableSegment actual =
JoinTableSegmentBinder.bind(joinTableSegment, new
SQLStatementBinderContext(metaData, DefaultDatabase.LOGIC_NAME, databaseType,
Collections.emptySet()),
tableBinderContexts, Collections.emptyMap());
- assertTrue(actual.getLeft() instanceof SimpleTableSegment);
+ assertThat(actual.getLeft(), instanceOf(SimpleTableSegment.class));
assertThat(((SimpleTableSegment)
actual.getLeft()).getTableName().getTableBoundInfo().getOriginalDatabase().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertThat(((SimpleTableSegment)
actual.getLeft()).getTableName().getTableBoundInfo().getOriginalSchema().getValue(),
is(DefaultDatabase.LOGIC_NAME));
- assertTrue(actual.getRight() instanceof SimpleTableSegment);
+ assertThat(actual.getRight(), instanceOf(SimpleTableSegment.class));
assertThat(((SimpleTableSegment)
actual.getRight()).getTableName().getTableBoundInfo().getOriginalDatabase().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertThat(((SimpleTableSegment)
actual.getRight()).getTableName().getTableBoundInfo().getOriginalSchema().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertJoinTableProjectionSegmentsWithNaturalJoin(actual.getDerivedJoinTableProjectionSegments());
@@ -151,7 +152,7 @@ class JoinTableSegmentBinderTest {
private void assertJoinTableProjectionSegmentsWithNaturalJoin(final
Collection<ProjectionSegment> joinTableProjectionSegments) {
List<ProjectionSegment> actual = new
ArrayList<>(joinTableProjectionSegments);
assertThat(actual.size(), is(4));
- assertTrue(actual.get(0) instanceof ColumnProjectionSegment);
+ assertThat(actual.get(0), instanceOf(ColumnProjectionSegment.class));
assertThat(((ColumnProjectionSegment)
actual.get(0)).getColumn().getColumnBoundInfo().getOriginalColumn().getValue(),
is("order_id"));
assertThat(((ColumnProjectionSegment)
actual.get(0)).getColumn().getColumnBoundInfo().getOriginalTable().getValue(),
is("t_order"));
assertThat(((ColumnProjectionSegment)
actual.get(1)).getColumn().getColumnBoundInfo().getOriginalColumn().getValue(),
is("user_id"));
@@ -177,10 +178,10 @@ class JoinTableSegmentBinderTest {
Map<String, TableSegmentBinderContext> tableBinderContexts = new
LinkedHashMap<>();
JoinTableSegment actual =
JoinTableSegmentBinder.bind(joinTableSegment, new
SQLStatementBinderContext(metaData, DefaultDatabase.LOGIC_NAME, databaseType,
Collections.emptySet()),
tableBinderContexts, Collections.emptyMap());
- assertTrue(actual.getLeft() instanceof SimpleTableSegment);
+ assertThat(actual.getLeft(), instanceOf(SimpleTableSegment.class));
assertThat(((SimpleTableSegment)
actual.getLeft()).getTableName().getTableBoundInfo().getOriginalDatabase().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertThat(((SimpleTableSegment)
actual.getLeft()).getTableName().getTableBoundInfo().getOriginalSchema().getValue(),
is(DefaultDatabase.LOGIC_NAME));
- assertTrue(actual.getRight() instanceof SimpleTableSegment);
+ assertThat(actual.getRight(), instanceOf(SimpleTableSegment.class));
assertThat(((SimpleTableSegment)
actual.getRight()).getTableName().getTableBoundInfo().getOriginalDatabase().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertThat(((SimpleTableSegment)
actual.getRight()).getTableName().getTableBoundInfo().getOriginalSchema().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertJoinTableProjectionSegmentsWithUsing(actual.getDerivedJoinTableProjectionSegments());
@@ -191,7 +192,7 @@ class JoinTableSegmentBinderTest {
private void assertJoinTableProjectionSegmentsWithUsing(final
Collection<ProjectionSegment> joinTableProjectionSegments) {
List<ProjectionSegment> actual = new
ArrayList<>(joinTableProjectionSegments);
assertThat(actual.size(), is(5));
- assertTrue(actual.get(0) instanceof ColumnProjectionSegment);
+ assertThat(actual.get(0), instanceOf(ColumnProjectionSegment.class));
assertThat(((ColumnProjectionSegment)
actual.get(0)).getColumn().getColumnBoundInfo().getOriginalColumn().getValue(),
is("status"));
assertThat(((ColumnProjectionSegment)
actual.get(0)).getColumn().getColumnBoundInfo().getOriginalTable().getValue(),
is("t_order_item"));
assertThat(((ColumnProjectionSegment)
actual.get(1)).getColumn().getColumnBoundInfo().getOriginalColumn().getValue(),
is("order_id"));
@@ -214,16 +215,16 @@ class JoinTableSegmentBinderTest {
when(joinTableSegment.getRight()).thenReturn(rightTable);
ShardingSphereMetaData metaData = createMetaData();
Map<String, TableSegmentBinderContext> tableBinderContexts = new
LinkedHashMap<>();
- JoinTableSegment actual =
JoinTableSegmentBinder.bind(joinTableSegment, new
SQLStatementBinderContext(metaData, DefaultDatabase.LOGIC_NAME, databaseType,
Collections.emptySet()),
- tableBinderContexts, Collections.emptyMap());
- assertTrue(actual.getLeft() instanceof JoinTableSegment);
- assertTrue(((JoinTableSegment) actual.getLeft()).getLeft() instanceof
SimpleTableSegment);
+ JoinTableSegment actual = JoinTableSegmentBinder.bind(
+ joinTableSegment, new SQLStatementBinderContext(metaData,
DefaultDatabase.LOGIC_NAME, databaseType, Collections.emptySet()),
tableBinderContexts, Collections.emptyMap());
+ assertThat(actual.getLeft(), instanceOf(JoinTableSegment.class));
+ assertThat(((JoinTableSegment) actual.getLeft()).getLeft(),
instanceOf(SimpleTableSegment.class));
assertThat(((SimpleTableSegment) ((JoinTableSegment)
actual.getLeft()).getLeft()).getTableName().getTableBoundInfo().getOriginalDatabase().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertThat(((SimpleTableSegment) ((JoinTableSegment)
actual.getLeft()).getLeft()).getTableName().getTableBoundInfo().getOriginalSchema().getValue(),
is(DefaultDatabase.LOGIC_NAME));
- assertTrue(((JoinTableSegment) actual.getLeft()).getRight() instanceof
SimpleTableSegment);
+ assertThat(((JoinTableSegment) actual.getLeft()).getRight(),
instanceOf(SimpleTableSegment.class));
assertThat(((SimpleTableSegment) ((JoinTableSegment)
actual.getLeft()).getRight()).getTableName().getTableBoundInfo().getOriginalDatabase().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertThat(((SimpleTableSegment) ((JoinTableSegment)
actual.getLeft()).getRight()).getTableName().getTableBoundInfo().getOriginalSchema().getValue(),
is(DefaultDatabase.LOGIC_NAME));
- assertTrue(actual.getRight() instanceof SimpleTableSegment);
+ assertThat(actual.getRight(), instanceOf(SimpleTableSegment.class));
assertThat(((SimpleTableSegment)
actual.getRight()).getTableName().getTableBoundInfo().getOriginalDatabase().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertThat(((SimpleTableSegment)
actual.getRight()).getTableName().getTableBoundInfo().getOriginalSchema().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertThat(actual.getDerivedJoinTableProjectionSegments().size(),
is(10));
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/impl/SimpleTableSegmentBinderTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/type/SimpleTableSegmentBinderTest.java
similarity index 92%
rename from
infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/impl/SimpleTableSegmentBinderTest.java
rename to
infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/type/SimpleTableSegmentBinderTest.java
index 10d569156e6..6a7185af620 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/impl/SimpleTableSegmentBinderTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/type/SimpleTableSegmentBinderTest.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.binder.segment.from.impl;
+package org.apache.shardingsphere.infra.binder.segment.from.type;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import org.apache.shardingsphere.infra.database.core.DefaultDatabase;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
@@ -39,6 +39,7 @@ import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
+import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -56,14 +57,14 @@ class SimpleTableSegmentBinderTest {
SimpleTableSegment simpleTableSegment = new SimpleTableSegment(new
TableNameSegment(0, 10, new IdentifierValue("t_order")));
ShardingSphereMetaData metaData = createMetaData();
Map<String, TableSegmentBinderContext> tableBinderContexts = new
LinkedHashMap<>();
- SimpleTableSegment actual =
- SimpleTableSegmentBinder.bind(simpleTableSegment, new
SQLStatementBinderContext(metaData, DefaultDatabase.LOGIC_NAME, databaseType,
Collections.emptySet()), tableBinderContexts);
+ SimpleTableSegment actual = SimpleTableSegmentBinder.bind(
+ simpleTableSegment, new SQLStatementBinderContext(metaData,
DefaultDatabase.LOGIC_NAME, databaseType, Collections.emptySet()),
tableBinderContexts);
assertThat(actual.getTableName().getTableBoundInfo().getOriginalDatabase().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertThat(actual.getTableName().getTableBoundInfo().getOriginalSchema().getValue(),
is(DefaultDatabase.LOGIC_NAME));
assertTrue(tableBinderContexts.containsKey("t_order"));
assertThat(tableBinderContexts.get("t_order").getProjectionSegments().size(),
is(3));
assertTrue(tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("user_id").isPresent());
-
assertTrue(tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("user_id").get()
instanceof ColumnProjectionSegment);
+
assertThat(tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("user_id").get(),
instanceOf(ColumnProjectionSegment.class));
assertThat(((ColumnProjectionSegment)
tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("user_id").get()).getColumn().getColumnBoundInfo().getOriginalDatabase()
.getValue(), is(DefaultDatabase.LOGIC_NAME));
assertThat(((ColumnProjectionSegment)
tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("user_id").get()).getColumn().getColumnBoundInfo().getOriginalSchema().getValue(),
@@ -73,7 +74,7 @@ class SimpleTableSegmentBinderTest {
assertThat(((ColumnProjectionSegment)
tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("user_id").get()).getColumn().getColumnBoundInfo().getOriginalColumn().getValue(),
is("user_id"));
assertTrue(tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("order_id").isPresent());
-
assertTrue(tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("order_id").get()
instanceof ColumnProjectionSegment);
+
assertThat(tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("order_id").get(),
instanceOf(ColumnProjectionSegment.class));
assertThat(((ColumnProjectionSegment)
tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("order_id").get()).getColumn().getColumnBoundInfo().getOriginalDatabase()
.getValue(), is(DefaultDatabase.LOGIC_NAME));
assertThat(((ColumnProjectionSegment)
tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("order_id").get()).getColumn().getColumnBoundInfo().getOriginalSchema()
@@ -83,7 +84,7 @@ class SimpleTableSegmentBinderTest {
assertThat(((ColumnProjectionSegment)
tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("order_id").get()).getColumn().getColumnBoundInfo().getOriginalColumn()
.getValue(), is("order_id"));
assertTrue(tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("status").isPresent());
-
assertTrue(tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("status").get()
instanceof ColumnProjectionSegment);
+
assertThat(tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("status").get(),
instanceOf(ColumnProjectionSegment.class));
assertThat(((ColumnProjectionSegment)
tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("status").get()).getColumn().getColumnBoundInfo().getOriginalDatabase()
.getValue(), is(DefaultDatabase.LOGIC_NAME));
assertThat(((ColumnProjectionSegment)
tableBinderContexts.get("t_order").findProjectionSegmentByColumnLabel("status").get()).getColumn().getColumnBoundInfo().getOriginalSchema().getValue(),
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/impl/SubqueryTableSegmentBinderTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/type/SubqueryTableSegmentBinderTest.java
similarity index 94%
rename from
infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/impl/SubqueryTableSegmentBinderTest.java
rename to
infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/type/SubqueryTableSegmentBinderTest.java
index fda0a6d4d2c..80761cbbb0a 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/impl/SubqueryTableSegmentBinderTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/from/type/SubqueryTableSegmentBinderTest.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.binder.segment.from.impl;
+package org.apache.shardingsphere.infra.binder.segment.from.type;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import org.apache.shardingsphere.infra.database.core.DefaultDatabase;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
@@ -48,6 +48,7 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
+import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -78,15 +79,15 @@ class SubqueryTableSegmentBinderTest {
assertTrue(tableBinderContexts.containsKey("temp"));
List<ProjectionSegment> projectionSegments = new
ArrayList<>(tableBinderContexts.get("temp").getProjectionSegments());
assertThat(projectionSegments.size(), is(3));
- assertTrue(projectionSegments.get(0) instanceof
ColumnProjectionSegment);
+ assertThat(projectionSegments.get(0),
instanceOf(ColumnProjectionSegment.class));
assertTrue(((ColumnProjectionSegment)
projectionSegments.get(0)).getColumn().getOwner().isPresent());
assertThat(((ColumnProjectionSegment)
projectionSegments.get(0)).getColumn().getOwner().get().getIdentifier().getValue(),
is("temp"));
assertThat(((ColumnProjectionSegment)
projectionSegments.get(0)).getColumn().getIdentifier().getValue(),
is("order_id"));
- assertTrue(projectionSegments.get(1) instanceof
ColumnProjectionSegment);
+ assertThat(projectionSegments.get(1),
instanceOf(ColumnProjectionSegment.class));
assertTrue(((ColumnProjectionSegment)
projectionSegments.get(1)).getColumn().getOwner().isPresent());
assertThat(((ColumnProjectionSegment)
projectionSegments.get(1)).getColumn().getOwner().get().getIdentifier().getValue(),
is("temp"));
assertThat(((ColumnProjectionSegment)
projectionSegments.get(1)).getColumn().getIdentifier().getValue(),
is("user_id"));
- assertTrue(projectionSegments.get(2) instanceof
ColumnProjectionSegment);
+ assertThat(projectionSegments.get(2),
instanceOf(ColumnProjectionSegment.class));
assertTrue(((ColumnProjectionSegment)
projectionSegments.get(2)).getColumn().getOwner().isPresent());
assertThat(((ColumnProjectionSegment)
projectionSegments.get(2)).getColumn().getOwner().get().getIdentifier().getValue(),
is("temp"));
assertThat(((ColumnProjectionSegment)
projectionSegments.get(2)).getColumn().getIdentifier().getValue(),
is("status"));
@@ -112,7 +113,7 @@ class SubqueryTableSegmentBinderTest {
assertTrue(tableBinderContexts.containsKey("temp"));
List<ProjectionSegment> projectionSegments = new
ArrayList<>(tableBinderContexts.get("temp").getProjectionSegments());
assertThat(projectionSegments.size(), is(1));
- assertTrue(projectionSegments.get(0) instanceof
ColumnProjectionSegment);
+ assertThat(projectionSegments.get(0),
instanceOf(ColumnProjectionSegment.class));
assertTrue(((ColumnProjectionSegment)
projectionSegments.get(0)).getColumn().getOwner().isPresent());
assertThat(((ColumnProjectionSegment)
projectionSegments.get(0)).getColumn().getOwner().get().getIdentifier().getValue(),
is("temp"));
assertThat(((ColumnProjectionSegment)
projectionSegments.get(0)).getColumn().getIdentifier().getValue(),
is("order_id_alias"));
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/projection/type/ShorthandProjectionSegmentBinderTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/projection/type/ShorthandProjectionSegmentBinderTest.java
index 5611e8c6add..fec750f8bc4 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/projection/type/ShorthandProjectionSegmentBinderTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/projection/type/ShorthandProjectionSegmentBinderTest.java
@@ -17,8 +17,8 @@
package org.apache.shardingsphere.infra.binder.segment.projection.type;
-import
org.apache.shardingsphere.infra.binder.segment.from.SimpleTableSegmentBinderContext;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.type.SimpleTableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.subquery.SubquerySegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.ColumnProjectionSegment;
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/where/WhereSegmentBinderTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/where/WhereSegmentBinderTest.java
index 413549a11dc..673e3865899 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/where/WhereSegmentBinderTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/where/WhereSegmentBinderTest.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.infra.binder.segment.where;
-import
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
+import
org.apache.shardingsphere.infra.binder.segment.from.context.TableSegmentBinderContext;
import
org.apache.shardingsphere.infra.binder.statement.SQLStatementBinderContext;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.ExpressionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.predicate.WhereSegment;