You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2025/07/01 16:15:54 UTC

(shardingsphere) branch master updated: Remove useless test dependencies on infra-binder-core module (#35846)

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 2d03ba98373 Remove useless test dependencies on infra-binder-core module (#35846)
2d03ba98373 is described below

commit 2d03ba98373749b24adaddb705eacdef4043c8c2
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Wed Jul 2 00:15:49 2025 +0800

    Remove useless test dependencies on infra-binder-core module (#35846)
    
    * Remove useless test dependencies on infra-binder-core module
    
    * Remove useless test dependencies on infra-binder-core module
---
 infra/binder/core/pom.xml                          | 36 ----------------------
 .../pagination/engine/PaginationContextEngine.java |  8 +++--
 .../engine/RowNumberPaginationContextEngine.java   |  8 ++---
 .../engine/LimitPaginationContextEngineTest.java   |  8 +++--
 .../RowNumberPaginationContextEngineTest.java      | 21 +++++--------
 .../engine/TopPaginationContextEngineTest.java     | 16 +++-------
 .../projection/impl/ColumnProjectionTest.java      | 12 --------
 7 files changed, 26 insertions(+), 83 deletions(-)

diff --git a/infra/binder/core/pom.xml b/infra/binder/core/pom.xml
index 0fbdda267ba..49104d66cea 100644
--- a/infra/binder/core/pom.xml
+++ b/infra/binder/core/pom.xml
@@ -50,41 +50,5 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-parser-sql-sql92</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-parser-sql-mysql</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-parser-sql-postgresql</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-parser-sql-opengauss</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-parser-sql-oracle</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-parser-sql-sqlserver</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 </project>
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/PaginationContextEngine.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/PaginationContextEngine.java
index 34ee7253c9f..42830bdb13a 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/PaginationContextEngine.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/PaginationContextEngine.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.infra.binder.context.segment.select.pagination
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.binder.context.segment.select.pagination.PaginationContext;
 import org.apache.shardingsphere.infra.binder.context.segment.select.projection.ProjectionsContext;
+import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.pagination.DialectPaginationOption;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.ExpressionSegment;
@@ -68,8 +69,11 @@ public final class PaginationContextEngine {
         if (topProjectionSegment.isPresent()) {
             return new TopPaginationContextEngine().createPaginationContext(topProjectionSegment.get(), expressions, params);
         }
-        if (!expressions.isEmpty() && new DatabaseTypeRegistry(databaseType).getDialectDatabaseMetaData().getPaginationOption().isContainsRowNumber()) {
-            return new RowNumberPaginationContextEngine(databaseType).createPaginationContext(expressions, projectionsContext, params);
+        if (!expressions.isEmpty()) {
+            DialectPaginationOption paginationOption = new DatabaseTypeRegistry(databaseType).getDialectDatabaseMetaData().getPaginationOption();
+            if (paginationOption.isContainsRowNumber()) {
+                return new RowNumberPaginationContextEngine(paginationOption).createPaginationContext(expressions, projectionsContext, params);
+            }
         }
         return new PaginationContext(null, null, params);
     }
diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/RowNumberPaginationContextEngine.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/RowNumberPaginationContextEngine.java
index f5d647fa0c7..80eebe1c623 100644
--- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/RowNumberPaginationContextEngine.java
+++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/RowNumberPaginationContextEngine.java
@@ -18,11 +18,10 @@
 package org.apache.shardingsphere.infra.binder.context.segment.select.pagination.engine;
 
 import com.google.common.base.Strings;
+import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.binder.context.segment.select.pagination.PaginationContext;
 import org.apache.shardingsphere.infra.binder.context.segment.select.projection.ProjectionsContext;
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.pagination.DialectPaginationOption;
-import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.sql.parser.statement.core.extractor.ExpressionExtractor;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.BinaryOperationExpression;
@@ -43,14 +42,11 @@ import java.util.stream.Collectors;
 /**
  * Pagination context engine for row number.
  */
+@RequiredArgsConstructor
 public final class RowNumberPaginationContextEngine {
     
     private final DialectPaginationOption paginationOption;
     
-    public RowNumberPaginationContextEngine(final DatabaseType databaseType) {
-        paginationOption = new DatabaseTypeRegistry(databaseType).getDialectDatabaseMetaData().getPaginationOption();
-    }
-    
     /**
      * Create pagination context.
      *
diff --git a/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/LimitPaginationContextEngineTest.java b/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/LimitPaginationContextEngineTest.java
index 8d393f54594..532857e028f 100644
--- a/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/LimitPaginationContextEngineTest.java
+++ b/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/LimitPaginationContextEngineTest.java
@@ -31,23 +31,25 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class LimitPaginationContextEngineTest {
     
+    private final LimitPaginationContextEngine paginationContextEngine = new LimitPaginationContextEngine();
+    
     @Test
     void assertPaginationContextCreatedProperlyWhenPaginationValueSegmentIsNumberLiteralPaginationValueSegment() {
         LimitSegment limitSegment = new LimitSegment(0, 10, new NumberLiteralLimitValueSegment(0, 10, 1L), new NumberLiteralLimitValueSegment(10, 20, 2L));
-        PaginationContext paginationContext = new LimitPaginationContextEngine().createPaginationContext(limitSegment, Collections.emptyList());
+        PaginationContext paginationContext = paginationContextEngine.createPaginationContext(limitSegment, Collections.emptyList());
         assertTrue(paginationContext.isHasPagination());
     }
     
     @Test
     void assertPaginationContextCreatedProperlyWhenOffsetAndRowCountAreBothNull() {
-        PaginationContext paginationContext = new LimitPaginationContextEngine().createPaginationContext(new LimitSegment(0, 10, null, null), Collections.emptyList());
+        PaginationContext paginationContext = paginationContextEngine.createPaginationContext(new LimitSegment(0, 10, null, null), Collections.emptyList());
         assertFalse(paginationContext.isHasPagination());
     }
     
     @Test
     void assertPaginationContextCreatedProperlyWhenPaginationValueSegmentIsParameterMarkerPaginationValueSegment() {
         LimitSegment limitSegment = new LimitSegment(0, 10, new ParameterMarkerLimitValueSegment(0, 10, 0), new ParameterMarkerLimitValueSegment(10, 20, 1));
-        PaginationContext paginationContext = new LimitPaginationContextEngine().createPaginationContext(limitSegment, Arrays.asList(15L, 20L));
+        PaginationContext paginationContext = paginationContextEngine.createPaginationContext(limitSegment, Arrays.asList(15L, 20L));
         assertTrue(paginationContext.isHasPagination());
     }
 }
diff --git a/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/RowNumberPaginationContextEngineTest.java b/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/RowNumberPaginationContextEngineTest.java
index b014a8dc55b..dd0c0748dad 100644
--- a/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/RowNumberPaginationContextEngineTest.java
+++ b/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/RowNumberPaginationContextEngineTest.java
@@ -21,8 +21,8 @@ import org.apache.shardingsphere.infra.binder.context.segment.select.pagination.
 import org.apache.shardingsphere.infra.binder.context.segment.select.projection.Projection;
 import org.apache.shardingsphere.infra.binder.context.segment.select.projection.ProjectionsContext;
 import org.apache.shardingsphere.infra.binder.context.segment.select.projection.impl.ColumnProjection;
+import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.pagination.DialectPaginationOption;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.BinaryOperationExpression;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.simple.LiteralExpressionSegment;
@@ -50,13 +50,12 @@ class RowNumberPaginationContextEngineTest {
     
     private static final String ROW_NUMBER_COLUMN_ALIAS = "predicateRowNumberAlias";
     
-    private final DatabaseType databaseType = TypedSPILoader.getService(DatabaseType.class, "Oracle");
+    private final RowNumberPaginationContextEngine paginationContextEngine = new RowNumberPaginationContextEngine(new DialectPaginationOption(true, "ROWNUM"));
     
     @Test
     void assertCreatePaginationContextWhenRowNumberAliasNotPresent() {
         ProjectionsContext projectionsContext = new ProjectionsContext(0, 0, false, Collections.emptyList());
-        PaginationContext paginationContext =
-                new RowNumberPaginationContextEngine(databaseType).createPaginationContext(Collections.emptyList(), projectionsContext, Collections.emptyList());
+        PaginationContext paginationContext = paginationContextEngine.createPaginationContext(Collections.emptyList(), projectionsContext, Collections.emptyList());
         assertFalse(paginationContext.getOffsetSegment().isPresent());
         assertFalse(paginationContext.getRowCountSegment().isPresent());
     }
@@ -65,8 +64,7 @@ class RowNumberPaginationContextEngineTest {
     void assertCreatePaginationContextWhenRowNumberAliasIsPresentAndRowNumberPredicatesIsEmpty() {
         Projection projectionWithRowNumberAlias = new ColumnProjection(null, ROW_NUMBER_COLUMN_NAME, ROW_NUMBER_COLUMN_ALIAS, mock(DatabaseType.class));
         ProjectionsContext projectionsContext = new ProjectionsContext(0, 0, false, Collections.singleton(projectionWithRowNumberAlias));
-        PaginationContext paginationContext =
-                new RowNumberPaginationContextEngine(databaseType).createPaginationContext(Collections.emptyList(), projectionsContext, Collections.emptyList());
+        PaginationContext paginationContext = paginationContextEngine.createPaginationContext(Collections.emptyList(), projectionsContext, Collections.emptyList());
         assertFalse(paginationContext.getOffsetSegment().isPresent());
         assertFalse(paginationContext.getRowCountSegment().isPresent());
     }
@@ -99,7 +97,7 @@ class RowNumberPaginationContextEngineTest {
         ColumnSegment left = new ColumnSegment(0, 10, new IdentifierValue(ROW_NUMBER_COLUMN_NAME));
         BinaryOperationExpression predicateSegment = new BinaryOperationExpression(0, 0, left, null, null, null);
         andPredicate.getPredicates().add(predicateSegment);
-        PaginationContext paginationContext = new RowNumberPaginationContextEngine(databaseType).createPaginationContext(Collections.emptyList(), projectionsContext, Collections.emptyList());
+        PaginationContext paginationContext = paginationContextEngine.createPaginationContext(Collections.emptyList(), projectionsContext, Collections.emptyList());
         assertFalse(paginationContext.getOffsetSegment().isPresent());
         assertFalse(paginationContext.getRowCountSegment().isPresent());
     }
@@ -111,8 +109,7 @@ class RowNumberPaginationContextEngineTest {
         ColumnSegment left = new ColumnSegment(0, 10, new IdentifierValue(ROW_NUMBER_COLUMN_NAME));
         ParameterMarkerExpressionSegment right = new ParameterMarkerExpressionSegment(0, 10, 0);
         BinaryOperationExpression expression = new BinaryOperationExpression(0, 0, left, right, ">", null);
-        PaginationContext paginationContext = new RowNumberPaginationContextEngine(databaseType)
-                .createPaginationContext(Collections.singletonList(expression), projectionsContext, Collections.singletonList(1));
+        PaginationContext paginationContext = paginationContextEngine.createPaginationContext(Collections.singletonList(expression), projectionsContext, Collections.singletonList(1));
         Optional<PaginationValueSegment> offSetSegmentPaginationValue = paginationContext.getOffsetSegment();
         assertTrue(offSetSegmentPaginationValue.isPresent());
         assertThat(offSetSegmentPaginationValue.get(), instanceOf(ParameterMarkerRowNumberValueSegment.class));
@@ -125,8 +122,7 @@ class RowNumberPaginationContextEngineTest {
         ColumnSegment left = new ColumnSegment(0, 10, new IdentifierValue(ROW_NUMBER_COLUMN_NAME));
         LiteralExpressionSegment right = new LiteralExpressionSegment(0, 10, 100);
         BinaryOperationExpression expression = new BinaryOperationExpression(0, 0, left, right, operator, null);
-        PaginationContext paginationContext = new RowNumberPaginationContextEngine(databaseType)
-                .createPaginationContext(Collections.singletonList(expression), projectionsContext, Collections.emptyList());
+        PaginationContext paginationContext = paginationContextEngine.createPaginationContext(Collections.singletonList(expression), projectionsContext, Collections.emptyList());
         assertFalse(paginationContext.getOffsetSegment().isPresent());
         Optional<PaginationValueSegment> paginationValueSegment = paginationContext.getRowCountSegment();
         assertTrue(paginationValueSegment.isPresent());
@@ -142,8 +138,7 @@ class RowNumberPaginationContextEngineTest {
         ColumnSegment left = new ColumnSegment(0, 10, new IdentifierValue(ROW_NUMBER_COLUMN_NAME));
         LiteralExpressionSegment right = new LiteralExpressionSegment(0, 10, 100);
         BinaryOperationExpression expression = new BinaryOperationExpression(0, 0, left, right, operator, null);
-        PaginationContext rowNumberPaginationContextEngine = new RowNumberPaginationContextEngine(databaseType)
-                .createPaginationContext(Collections.singletonList(expression), projectionsContext, Collections.emptyList());
+        PaginationContext rowNumberPaginationContextEngine = paginationContextEngine.createPaginationContext(Collections.singletonList(expression), projectionsContext, Collections.emptyList());
         Optional<PaginationValueSegment> paginationValueSegment = rowNumberPaginationContextEngine.getOffsetSegment();
         assertTrue(paginationValueSegment.isPresent());
         PaginationValueSegment actualPaginationValueSegment = paginationValueSegment.get();
diff --git a/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/TopPaginationContextEngineTest.java b/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/TopPaginationContextEngineTest.java
index 15d6a3ee141..f9611b095ce 100644
--- a/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/TopPaginationContextEngineTest.java
+++ b/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/TopPaginationContextEngineTest.java
@@ -29,7 +29,6 @@ import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.paginatio
 import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.pagination.rownum.ParameterMarkerRowNumberValueSegment;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.pagination.top.TopProjectionSegment;
 import org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
-import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import java.util.Collections;
@@ -42,17 +41,12 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class TopPaginationContextEngineTest {
     
-    private TopPaginationContextEngine topPaginationContextEngine;
-    
-    @BeforeEach
-    void setUp() {
-        topPaginationContextEngine = new TopPaginationContextEngine();
-    }
+    private final TopPaginationContextEngine paginationContextEngine = new TopPaginationContextEngine();
     
     @Test
     void assertCreatePaginationContextWhenRowNumberPredicateNotPresent() {
         TopProjectionSegment topProjectionSegment = new TopProjectionSegment(0, 10, null, "rowNumberAlias");
-        PaginationContext paginationContext = topPaginationContextEngine.createPaginationContext(topProjectionSegment, Collections.emptyList(), Collections.emptyList());
+        PaginationContext paginationContext = paginationContextEngine.createPaginationContext(topProjectionSegment, Collections.emptyList(), Collections.emptyList());
         assertFalse(paginationContext.getOffsetSegment().isPresent());
         assertFalse(paginationContext.getRowCountSegment().isPresent());
     }
@@ -72,7 +66,7 @@ class TopPaginationContextEngineTest {
         String name = "rowNumberAlias";
         ColumnSegment columnSegment = new ColumnSegment(0, 10, new IdentifierValue(name));
         InExpression inExpression = new InExpression(0, 0, columnSegment, new ListExpression(0, 0), false);
-        PaginationContext paginationContext = topPaginationContextEngine.createPaginationContext(
+        PaginationContext paginationContext = paginationContextEngine.createPaginationContext(
                 new TopProjectionSegment(0, 10, null, name), Collections.singletonList(inExpression), Collections.emptyList());
         assertFalse(paginationContext.getOffsetSegment().isPresent());
         assertFalse(paginationContext.getRowCountSegment().isPresent());
@@ -84,7 +78,7 @@ class TopPaginationContextEngineTest {
         ColumnSegment left = new ColumnSegment(0, 10, new IdentifierValue(name));
         ParameterMarkerExpressionSegment right = new ParameterMarkerExpressionSegment(0, 10, 0);
         BinaryOperationExpression expression = new BinaryOperationExpression(0, 0, left, right, ">", null);
-        PaginationContext paginationContext = topPaginationContextEngine.createPaginationContext(
+        PaginationContext paginationContext = paginationContextEngine.createPaginationContext(
                 new TopProjectionSegment(0, 10, null, name), Collections.singletonList(expression), Collections.singletonList(1));
         assertTrue(paginationContext.getOffsetSegment().isPresent());
         PaginationValueSegment paginationValueSegment = paginationContext.getOffsetSegment().get();
@@ -101,7 +95,7 @@ class TopPaginationContextEngineTest {
         ColumnSegment left = new ColumnSegment(0, 10, new IdentifierValue(name));
         LiteralExpressionSegment right = new LiteralExpressionSegment(0, 10, 100);
         BinaryOperationExpression expression = new BinaryOperationExpression(0, 0, left, right, operator, null);
-        PaginationContext paginationContext = topPaginationContextEngine.createPaginationContext(
+        PaginationContext paginationContext = paginationContextEngine.createPaginationContext(
                 new TopProjectionSegment(0, 10, null, name), Collections.singletonList(expression), Collections.emptyList());
         assertTrue(paginationContext.getOffsetSegment().isPresent());
         PaginationValueSegment paginationValueSegment = paginationContext.getOffsetSegment().get();
diff --git a/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/projection/impl/ColumnProjectionTest.java b/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/projection/impl/ColumnProjectionTest.java
index 3453f7c02d1..b55cda8d602 100644
--- a/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/projection/impl/ColumnProjectionTest.java
+++ b/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/projection/impl/ColumnProjectionTest.java
@@ -88,18 +88,6 @@ class ColumnProjectionTest {
         assertFalse(new ColumnProjection(new IdentifierValue("owner"), new IdentifierValue("name"), new IdentifierValue("alias"), databaseType).getRightParentheses().isPresent());
     }
     
-    @Test
-    void assertGetColumnNameWithMySQL() {
-        DatabaseType databaseType = TypedSPILoader.getService(DatabaseType.class, "MySQL");
-        assertThat(new ColumnProjection(null, "name", "alias", databaseType).getColumnName(), is("name"));
-    }
-    
-    @Test
-    void assertGetColumnNameWithPostgreSQL() {
-        DatabaseType databaseType = TypedSPILoader.getService(DatabaseType.class, "PostgreSQL");
-        assertThat(new ColumnProjection(null, "name", "alias", databaseType).getColumnName(), is("alias"));
-    }
-    
     @Test
     void assertGetColumnNameWithAlias() {
         assertThat(new ColumnProjection(null, "name", "alias", databaseType).getColumnName(), is("alias"));