This is an automated email from the ASF dual-hosted git repository.
panjuan 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 1db6c9bba60 Refactor ProjectionUtilsTest (#28091)
1db6c9bba60 is described below
commit 1db6c9bba602efcd459cd48c833e76b304b896ef
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Aug 15 15:00:20 2023 +0800
Refactor ProjectionUtilsTest (#28091)
---
.../projection/util/ProjectionUtilsTest.java | 28 +++++++++++-----------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/select/projection/util/ProjectionUtilsTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/select/projection/util/ProjectionUtilsTest.java
index 315416d9148..09f23b64328 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/select/projection/util/ProjectionUtilsTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/select/projection/util/ProjectionUtilsTest.java
@@ -19,10 +19,9 @@ package
org.apache.shardingsphere.infra.binder.segment.select.projection.util;
import
org.apache.shardingsphere.infra.binder.context.segment.select.projection.util.ProjectionUtils;
import
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
-import org.apache.shardingsphere.infra.database.mysql.type.MySQLDatabaseType;
-import
org.apache.shardingsphere.infra.database.opengauss.type.OpenGaussDatabaseType;
-import org.apache.shardingsphere.infra.database.oracle.type.OracleDatabaseType;
+import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import
org.apache.shardingsphere.infra.database.postgresql.type.PostgreSQLDatabaseType;
+import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
import org.junit.jupiter.api.Test;
@@ -31,23 +30,24 @@ import static org.hamcrest.Matchers.is;
class ProjectionUtilsTest {
+ private final IdentifierValue alias = new IdentifierValue("Data",
QuoteCharacter.NONE);
+
@Test
void assertGetColumnLabelFromAlias() {
- IdentifierValue alias = new IdentifierValue("Data",
QuoteCharacter.NONE);
assertThat(ProjectionUtils.getColumnLabelFromAlias(new
IdentifierValue("Data", QuoteCharacter.QUOTE), new PostgreSQLDatabaseType()),
is("Data"));
- assertThat(ProjectionUtils.getColumnLabelFromAlias(alias, new
PostgreSQLDatabaseType()), is("data"));
- assertThat(ProjectionUtils.getColumnLabelFromAlias(alias, new
OpenGaussDatabaseType()), is("data"));
- assertThat(ProjectionUtils.getColumnLabelFromAlias(alias, new
OracleDatabaseType()), is("DATA"));
- assertThat(ProjectionUtils.getColumnLabelFromAlias(alias, new
MySQLDatabaseType()), is("Data"));
+ assertThat(ProjectionUtils.getColumnLabelFromAlias(alias,
TypedSPILoader.getService(DatabaseType.class, "PostgreSQL")), is("data"));
+ assertThat(ProjectionUtils.getColumnLabelFromAlias(alias,
TypedSPILoader.getService(DatabaseType.class, "openGauss")), is("data"));
+ assertThat(ProjectionUtils.getColumnLabelFromAlias(alias,
TypedSPILoader.getService(DatabaseType.class, "Oracle")), is("DATA"));
+ assertThat(ProjectionUtils.getColumnLabelFromAlias(alias,
TypedSPILoader.getService(DatabaseType.class, "MySQL")), is("Data"));
}
@Test
void assertGetColumnNameFromFunction() {
- String functionName = "Cast";
- String functionExpression = "Cast(order_id AS INT)";
- assertThat(ProjectionUtils.getColumnNameFromFunction(functionName,
functionExpression, new PostgreSQLDatabaseType()), is("cast"));
- assertThat(ProjectionUtils.getColumnNameFromFunction(functionName,
functionExpression, new OpenGaussDatabaseType()), is("cast"));
- assertThat(ProjectionUtils.getColumnNameFromFunction(functionName,
functionExpression, new OracleDatabaseType()), is("CAST(ORDER_IDASINT)"));
- assertThat(ProjectionUtils.getColumnNameFromFunction(functionName,
functionExpression, new MySQLDatabaseType()), is("Cast(order_id AS INT)"));
+ String functionName = "Function";
+ String functionExpression = "FunctionExpression";
+ assertThat(ProjectionUtils.getColumnNameFromFunction(functionName,
functionExpression, TypedSPILoader.getService(DatabaseType.class,
"PostgreSQL")), is("function"));
+ assertThat(ProjectionUtils.getColumnNameFromFunction(functionName,
functionExpression, TypedSPILoader.getService(DatabaseType.class,
"openGauss")), is("function"));
+ assertThat(ProjectionUtils.getColumnNameFromFunction(functionName,
functionExpression, TypedSPILoader.getService(DatabaseType.class, "Oracle")),
is("FUNCTIONEXPRESSION"));
+ assertThat(ProjectionUtils.getColumnNameFromFunction(functionName,
functionExpression, TypedSPILoader.getService(DatabaseType.class, "MySQL")),
is("FunctionExpression"));
}
}