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 2024/07/26 15:57:41 UTC
(shardingsphere) branch master updated: Refactor parser.statement.core.enums (#32288)
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 8e4fcc8305b Refactor parser.statement.core.enums (#32288)
8e4fcc8305b is described below
commit 8e4fcc8305ba8a720ad93e2755daa203049cb908
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Fri Jul 26 23:57:34 2024 +0800
Refactor parser.statement.core.enums (#32288)
* Refactor parser.statement.core.enums
* Refactor parser.statement.core.enums
---
.../EncryptProjectionTokenGenerator.java | 10 ++++----
.../statement/dml/InsertStatementContext.java | 2 +-
.../impl/SubqueryProjectionConverter.java | 2 +-
.../visitor/statement/DorisStatementVisitor.java | 2 +-
.../statement/type/DorisDCLStatementVisitor.java | 30 ++++++++++++----------
.../visitor/statement/MySQLStatementVisitor.java | 2 +-
.../statement/type/MySQLDCLStatementVisitor.java | 28 ++++++++++----------
.../statement/OpenGaussStatementVisitor.java | 2 +-
.../statement/PostgreSQLStatementVisitor.java | 2 +-
...ACLAttributeEnum.java => ACLAttributeType.java} | 7 +++--
.../statement/core/enums/AggregationType.java | 2 +-
.../statement/core/enums/AlgorithmOption.java | 2 +-
.../parser/statement/core/enums/DirectionType.java | 2 +-
.../sql/parser/statement/core/enums/JoinType.java | 2 +-
.../statement/core/enums/LockTableOption.java | 2 +-
.../statement/core/enums/OperationScope.java | 3 ++-
.../statement/core/enums/ParameterMarkerType.java | 2 +-
.../core/enums/{SSLTypeEnum.java => SSLType.java} | 19 ++++++++------
.../sql/parser/statement/core/enums/ScanUnit.java | 2 +-
.../statement/core/enums/StatisticsDimension.java | 2 +-
.../parser/statement/core/enums/SubqueryType.java | 4 +--
.../core/enums/TransactionAccessType.java | 12 +++------
.../core/enums/TransactionIsolationLevel.java | 7 ++++-
.../segment/dcl/PasswordOrLockOptionSegment.java | 4 +--
.../core/segment/dcl/TLSOptionSegment.java | 4 +--
.../core/segment/dcl/UserResourceSegment.java | 4 +--
.../statement/core/util/SubqueryExtractUtils.java | 10 ++++----
27 files changed, 89 insertions(+), 81 deletions(-)
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptProjectionTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptProjectionTokenGenerator.java
index bd317203ae2..beae37eed05 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptProjectionTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptProjectionTokenGenerator.java
@@ -168,16 +168,16 @@ public final class EncryptProjectionTokenGenerator {
private Collection<Projection> generateProjections(final EncryptColumn encryptColumn, final ColumnProjection columnProjection,
final SubqueryType subqueryType, final boolean shorthandProjection) {
- if (null == subqueryType || SubqueryType.PROJECTION_SUBQUERY == subqueryType) {
+ if (null == subqueryType || SubqueryType.PROJECTION == subqueryType) {
return Collections.singleton(generateProjection(encryptColumn, columnProjection, shorthandProjection));
}
- if (SubqueryType.TABLE_SUBQUERY == subqueryType || SubqueryType.JOIN_SUBQUERY == subqueryType) {
+ if (SubqueryType.TABLE == subqueryType || SubqueryType.JOIN == subqueryType) {
return generateProjectionsInTableSegmentSubquery(encryptColumn, columnProjection, shorthandProjection, subqueryType);
}
- if (SubqueryType.PREDICATE_SUBQUERY == subqueryType) {
+ if (SubqueryType.PREDICATE == subqueryType) {
return Collections.singleton(generateProjectionInPredicateSubquery(encryptColumn, columnProjection, shorthandProjection));
}
- if (SubqueryType.INSERT_SELECT_SUBQUERY == subqueryType) {
+ if (SubqueryType.INSERT_SELECT == subqueryType) {
return generateProjectionsInInsertSelectSubquery(encryptColumn, columnProjection, shorthandProjection);
}
throw new UnsupportedSQLOperationException(
@@ -197,7 +197,7 @@ public final class EncryptProjectionTokenGenerator {
IdentifierValue encryptColumnOwner = shorthandProjection ? columnProjection.getOwner().orElse(null) : null;
QuoteCharacter quoteCharacter = columnProjection.getName().getQuoteCharacter();
IdentifierValue columnName = new IdentifierValue(encryptColumn.getCipher().getName(), quoteCharacter);
- IdentifierValue alias = SubqueryType.JOIN_SUBQUERY == subqueryType ? null : columnProjection.getAlias().orElse(columnProjection.getName());
+ IdentifierValue alias = SubqueryType.JOIN == subqueryType ? null : columnProjection.getAlias().orElse(columnProjection.getName());
result.add(new ColumnProjection(encryptColumnOwner, columnName, alias, databaseType));
IdentifierValue assistedColumOwner = columnProjection.getOwner().orElse(null);
encryptColumn.getAssistedQuery().ifPresent(optional -> result.add(new ColumnProjection(assistedColumOwner, new IdentifierValue(optional.getName(), quoteCharacter), null, databaseType)));
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContext.java
index 2dff59524bf..1c286242341 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContext.java
@@ -119,7 +119,7 @@ public final class InsertStatementContext extends CommonSQLStatementContext impl
}
SubquerySegment insertSelectSegment = getSqlStatement().getInsertSelect().get();
SelectStatementContext selectStatementContext = new SelectStatementContext(metaData, params, insertSelectSegment.getSelect(), currentDatabaseName, Collections.emptyList());
- selectStatementContext.setSubqueryType(SubqueryType.INSERT_SELECT_SUBQUERY);
+ selectStatementContext.setSubqueryType(SubqueryType.INSERT_SELECT);
InsertSelectContext insertSelectContext = new InsertSelectContext(selectStatementContext, params, paramsOffset.get());
paramsOffset.addAndGet(insertSelectContext.getParameterCount());
return Optional.of(insertSelectContext);
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/SubqueryProjectionConverter.java b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/SubqueryProjectionConverter.java
index cc18f4420e7..231c4150bbf 100644
--- a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/SubqueryProjectionConverter.java
+++ b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/SubqueryProjectionConverter.java
@@ -54,7 +54,7 @@ public final class SubqueryProjectionConverter {
if (segment.getAliasName().isPresent()) {
sqlNode = convertWithAlias(sqlNode, segment.getAliasName().get());
}
- return SubqueryType.EXISTS_SUBQUERY == segment.getSubquery().getSubqueryType()
+ return SubqueryType.EXISTS == segment.getSubquery().getSubqueryType()
? Optional.of(new SqlBasicCall(SqlStdOperatorTable.EXISTS, Collections.singletonList(sqlNode), SqlParserPos.ZERO))
: Optional.of(sqlNode);
}
diff --git a/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/DorisStatementVisitor.java b/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/DorisStatementVisitor.java
index 1a937955263..bf2b281dc0d 100644
--- a/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/DorisStatementVisitor.java
+++ b/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/DorisStatementVisitor.java
@@ -604,7 +604,7 @@ public abstract class DorisStatementVisitor extends DorisStatementBaseVisitor<AS
if (null == ctx.EXISTS()) {
return new SubqueryExpressionSegment(subquerySegment);
}
- subquerySegment.setSubqueryType(SubqueryType.EXISTS_SUBQUERY);
+ subquerySegment.setSubqueryType(SubqueryType.EXISTS);
return new ExistsSubqueryExpression(startIndex, stopIndex, subquerySegment);
}
if (null != ctx.parameterMarker()) {
diff --git a/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisDCLStatementVisitor.java b/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisDCLStatementVisitor.java
index 69f01e1ccce..bd0fba0e14e 100644
--- a/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisDCLStatementVisitor.java
+++ b/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisDCLStatementVisitor.java
@@ -87,9 +87,9 @@ import org.apache.shardingsphere.sql.parser.autogen.DorisStatementParser.StaticP
import org.apache.shardingsphere.sql.parser.autogen.DorisStatementParser.TlsOptionContext;
import org.apache.shardingsphere.sql.parser.autogen.DorisStatementParser.UsernameContext;
import org.apache.shardingsphere.sql.parser.doris.visitor.statement.DorisStatementVisitor;
-import org.apache.shardingsphere.sql.parser.statement.core.enums.ACLAttributeEnum;
-import org.apache.shardingsphere.sql.parser.statement.core.enums.SSLTypeEnum;
-import org.apache.shardingsphere.sql.parser.statement.core.enums.SSLTypeEnum.UserResourceSpecifiedLimitEnum;
+import org.apache.shardingsphere.sql.parser.statement.core.enums.ACLAttributeType;
+import org.apache.shardingsphere.sql.parser.statement.core.enums.SSLType;
+import org.apache.shardingsphere.sql.parser.statement.core.enums.SSLType.UserResourceSpecifiedLimitType;
import org.apache.shardingsphere.sql.parser.statement.core.segment.dcl.PasswordOrLockOptionSegment;
import org.apache.shardingsphere.sql.parser.statement.core.segment.dcl.PrivilegeSegment;
import org.apache.shardingsphere.sql.parser.statement.core.segment.dcl.RoleOrPrivilegeSegment;
@@ -475,13 +475,13 @@ public final class DorisDCLStatementVisitor extends DorisStatementVisitor implem
public ASTNode visitRequireClause(final RequireClauseContext ctx) {
TLSOptionSegment result = new TLSOptionSegment();
if (null != ctx.NONE()) {
- result.setType(SSLTypeEnum.SSL_TYPE_NONE);
+ result.setType(SSLType.NONE);
} else if (null != ctx.X509()) {
- result.setType(SSLTypeEnum.SSL_TYPE_X509);
+ result.setType(SSLType.X509);
} else if (null != ctx.SSL()) {
- result.setType(SSLTypeEnum.SSL_TYPE_ANY);
+ result.setType(SSLType.ANY);
} else {
- result.setType(SSLTypeEnum.SSL_TYPE_SPECIFIED);
+ result.setType(SSLType.SPECIFIED);
for (TlsOptionContext each : ctx.tlsOption()) {
if (null != each.SUBJECT()) {
result.setX509Subject(each.string_().getText());
@@ -502,19 +502,19 @@ public final class DorisDCLStatementVisitor extends DorisStatementVisitor implem
result.setStopIndex(ctx.stop.getStopIndex());
for (ConnectOptionContext each : ctx.connectOption()) {
if (null != each.MAX_QUERIES_PER_HOUR()) {
- result.setSpecifiedLimits(UserResourceSpecifiedLimitEnum.QUERIES_PER_HOUR);
+ result.setSpecifiedLimits(UserResourceSpecifiedLimitType.QUERIES_PER_HOUR);
result.setQuestions(new NumberLiteralValue(each.NUMBER_().getText()).getValue().intValue());
}
if (null != each.MAX_UPDATES_PER_HOUR()) {
- result.setSpecifiedLimits(UserResourceSpecifiedLimitEnum.UPDATES_PER_HOUR);
+ result.setSpecifiedLimits(UserResourceSpecifiedLimitType.UPDATES_PER_HOUR);
result.setUpdates(new NumberLiteralValue(each.NUMBER_().getText()).getValue().intValue());
}
if (null != each.MAX_CONNECTIONS_PER_HOUR()) {
- result.setSpecifiedLimits(UserResourceSpecifiedLimitEnum.CONNECTIONS_PER_HOUR);
+ result.setSpecifiedLimits(UserResourceSpecifiedLimitType.CONNECTIONS_PER_HOUR);
result.setConnPerHour(new NumberLiteralValue(each.NUMBER_().getText()).getValue().intValue());
}
if (null != each.MAX_USER_CONNECTIONS()) {
- result.setSpecifiedLimits(UserResourceSpecifiedLimitEnum.USER_CONNECTIONS);
+ result.setSpecifiedLimits(UserResourceSpecifiedLimitType.USER_CONNECTIONS);
result.setUserConn(new NumberLiteralValue(each.NUMBER_().getText()).getValue().intValue());
}
}
@@ -680,13 +680,15 @@ public final class DorisDCLStatementVisitor extends DorisStatementVisitor implem
}
private void fillPasswordRequire(final PasswordOrLockOptionSegment segment, final AccountLockPasswordExpireOptionContext ctx) {
+ ACLAttributeType aclAttributeType;
if (null != ctx.DEFAULT()) {
- segment.setUpdatePasswordRequireCurrent(ACLAttributeEnum.DEFAULT);
+ aclAttributeType = ACLAttributeType.DEFAULT;
} else if (null != ctx.OPTIONAL()) {
- segment.setUpdatePasswordRequireCurrent(ACLAttributeEnum.NO);
+ aclAttributeType = ACLAttributeType.NO;
} else {
- segment.setUpdatePasswordRequireCurrent(ACLAttributeEnum.YES);
+ aclAttributeType = ACLAttributeType.YES;
}
+ segment.setUpdatePasswordRequireCurrent(aclAttributeType);
}
@Override
diff --git a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLStatementVisitor.java b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLStatementVisitor.java
index 96edd78af5f..ced409d5982 100644
--- a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLStatementVisitor.java
+++ b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLStatementVisitor.java
@@ -602,7 +602,7 @@ public abstract class MySQLStatementVisitor extends MySQLStatementBaseVisitor<AS
SubquerySegment subquerySegment = new SubquerySegment(
ctx.subquery().getStart().getStartIndex(), ctx.subquery().getStop().getStopIndex(), (MySQLSelectStatement) visit(ctx.subquery()), getOriginalText(ctx.subquery()));
if (null != ctx.EXISTS()) {
- subquerySegment.setSubqueryType(SubqueryType.EXISTS_SUBQUERY);
+ subquerySegment.setSubqueryType(SubqueryType.EXISTS);
return new ExistsSubqueryExpression(startIndex, stopIndex, subquerySegment);
}
return new SubqueryExpressionSegment(subquerySegment);
diff --git a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDCLStatementVisitor.java b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDCLStatementVisitor.java
index 576fc0fcb08..80d10541c8b 100644
--- a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDCLStatementVisitor.java
+++ b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDCLStatementVisitor.java
@@ -87,9 +87,9 @@ import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.StaticP
import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.TlsOptionContext;
import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.UsernameContext;
import org.apache.shardingsphere.sql.parser.mysql.visitor.statement.MySQLStatementVisitor;
-import org.apache.shardingsphere.sql.parser.statement.core.enums.ACLAttributeEnum;
-import org.apache.shardingsphere.sql.parser.statement.core.enums.SSLTypeEnum;
-import org.apache.shardingsphere.sql.parser.statement.core.enums.SSLTypeEnum.UserResourceSpecifiedLimitEnum;
+import org.apache.shardingsphere.sql.parser.statement.core.enums.ACLAttributeType;
+import org.apache.shardingsphere.sql.parser.statement.core.enums.SSLType;
+import org.apache.shardingsphere.sql.parser.statement.core.enums.SSLType.UserResourceSpecifiedLimitType;
import org.apache.shardingsphere.sql.parser.statement.core.segment.dcl.PasswordOrLockOptionSegment;
import org.apache.shardingsphere.sql.parser.statement.core.segment.dcl.PrivilegeSegment;
import org.apache.shardingsphere.sql.parser.statement.core.segment.dcl.RoleOrPrivilegeSegment;
@@ -474,13 +474,13 @@ public final class MySQLDCLStatementVisitor extends MySQLStatementVisitor implem
public ASTNode visitRequireClause(final RequireClauseContext ctx) {
TLSOptionSegment result = new TLSOptionSegment();
if (null != ctx.NONE()) {
- result.setType(SSLTypeEnum.SSL_TYPE_NONE);
+ result.setType(SSLType.NONE);
} else if (null != ctx.X509()) {
- result.setType(SSLTypeEnum.SSL_TYPE_X509);
+ result.setType(SSLType.X509);
} else if (null != ctx.SSL()) {
- result.setType(SSLTypeEnum.SSL_TYPE_ANY);
+ result.setType(SSLType.ANY);
} else {
- result.setType(SSLTypeEnum.SSL_TYPE_SPECIFIED);
+ result.setType(SSLType.SPECIFIED);
for (TlsOptionContext each : ctx.tlsOption()) {
if (null != each.SUBJECT()) {
result.setX509Subject(each.string_().getText());
@@ -501,19 +501,19 @@ public final class MySQLDCLStatementVisitor extends MySQLStatementVisitor implem
result.setStopIndex(ctx.stop.getStopIndex());
for (ConnectOptionContext each : ctx.connectOption()) {
if (null != each.MAX_QUERIES_PER_HOUR()) {
- result.setSpecifiedLimits(UserResourceSpecifiedLimitEnum.QUERIES_PER_HOUR);
+ result.setSpecifiedLimits(UserResourceSpecifiedLimitType.QUERIES_PER_HOUR);
result.setQuestions(new NumberLiteralValue(each.NUMBER_().getText()).getValue().intValue());
}
if (null != each.MAX_UPDATES_PER_HOUR()) {
- result.setSpecifiedLimits(UserResourceSpecifiedLimitEnum.UPDATES_PER_HOUR);
+ result.setSpecifiedLimits(UserResourceSpecifiedLimitType.UPDATES_PER_HOUR);
result.setUpdates(new NumberLiteralValue(each.NUMBER_().getText()).getValue().intValue());
}
if (null != each.MAX_CONNECTIONS_PER_HOUR()) {
- result.setSpecifiedLimits(UserResourceSpecifiedLimitEnum.CONNECTIONS_PER_HOUR);
+ result.setSpecifiedLimits(UserResourceSpecifiedLimitType.CONNECTIONS_PER_HOUR);
result.setConnPerHour(new NumberLiteralValue(each.NUMBER_().getText()).getValue().intValue());
}
if (null != each.MAX_USER_CONNECTIONS()) {
- result.setSpecifiedLimits(UserResourceSpecifiedLimitEnum.USER_CONNECTIONS);
+ result.setSpecifiedLimits(UserResourceSpecifiedLimitType.USER_CONNECTIONS);
result.setUserConn(new NumberLiteralValue(each.NUMBER_().getText()).getValue().intValue());
}
}
@@ -680,11 +680,11 @@ public final class MySQLDCLStatementVisitor extends MySQLStatementVisitor implem
private void fillPasswordRequire(final PasswordOrLockOptionSegment segment, final AccountLockPasswordExpireOptionContext ctx) {
if (null != ctx.DEFAULT()) {
- segment.setUpdatePasswordRequireCurrent(ACLAttributeEnum.DEFAULT);
+ segment.setUpdatePasswordRequireCurrent(ACLAttributeType.DEFAULT);
} else if (null != ctx.OPTIONAL()) {
- segment.setUpdatePasswordRequireCurrent(ACLAttributeEnum.NO);
+ segment.setUpdatePasswordRequireCurrent(ACLAttributeType.NO);
} else {
- segment.setUpdatePasswordRequireCurrent(ACLAttributeEnum.YES);
+ segment.setUpdatePasswordRequireCurrent(ACLAttributeType.YES);
}
}
diff --git a/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussStatementVisitor.java b/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussStatementVisitor.java
index fd7a7fde224..a0a6c8b3577 100644
--- a/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussStatementVisitor.java
+++ b/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussStatementVisitor.java
@@ -416,7 +416,7 @@ public abstract class OpenGaussStatementVisitor extends OpenGaussStatementBaseVi
SubquerySegment subquerySegment = new SubquerySegment(ctx.selectWithParens().getStart().getStartIndex(),
ctx.selectWithParens().getStop().getStopIndex(), (OpenGaussSelectStatement) visit(ctx.selectWithParens()), getOriginalText(ctx.selectWithParens()));
if (null != ctx.EXISTS()) {
- subquerySegment.setSubqueryType(SubqueryType.EXISTS_SUBQUERY);
+ subquerySegment.setSubqueryType(SubqueryType.EXISTS);
return new ExistsSubqueryExpression(ctx.start.getStartIndex(), ctx.stop.getStopIndex(), subquerySegment);
}
return new SubqueryExpressionSegment(subquerySegment);
diff --git a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLStatementVisitor.java b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLStatementVisitor.java
index 7771d054f7b..f518ffa4c7a 100644
--- a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLStatementVisitor.java
+++ b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLStatementVisitor.java
@@ -417,7 +417,7 @@ public abstract class PostgreSQLStatementVisitor extends PostgreSQLStatementPars
SubquerySegment subquerySegment = new SubquerySegment(ctx.selectWithParens().getStart().getStartIndex(),
ctx.selectWithParens().getStop().getStopIndex(), (PostgreSQLSelectStatement) visit(ctx.selectWithParens()), getOriginalText(ctx.selectWithParens()));
if (null != ctx.EXISTS()) {
- subquerySegment.setSubqueryType(SubqueryType.EXISTS_SUBQUERY);
+ subquerySegment.setSubqueryType(SubqueryType.EXISTS);
return new ExistsSubqueryExpression(ctx.start.getStartIndex(), ctx.stop.getStopIndex(), subquerySegment);
}
return new SubqueryExpressionSegment(subquerySegment);
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/ACLAttributeEnum.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/ACLAttributeType.java
similarity index 91%
rename from parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/ACLAttributeEnum.java
rename to parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/ACLAttributeType.java
index 33d9356c427..d97d976a3f0 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/ACLAttributeEnum.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/ACLAttributeType.java
@@ -17,7 +17,10 @@
package org.apache.shardingsphere.sql.parser.statement.core.enums;
-public enum ACLAttributeEnum {
+/**
+ * ACL attribute type.
+ */
+public enum ACLAttributeType {
- DEFAULT, YES, NO
+ YES, NO, DEFAULT
}
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/AggregationType.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/AggregationType.java
index 4795cfd9c72..c5ad21974c8 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/AggregationType.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/AggregationType.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sql.parser.statement.core.enums;
import java.util.Arrays;
/**
- * Aggregation function enum.
+ * Aggregation type.
*/
public enum AggregationType {
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/AlgorithmOption.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/AlgorithmOption.java
index 08250226e24..9112f729e0f 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/AlgorithmOption.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/AlgorithmOption.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.sql.parser.statement.core.enums;
/**
- * Algorithm option enum.
+ * Algorithm option.
*/
public enum AlgorithmOption {
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/DirectionType.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/DirectionType.java
index c5bfc7e4acd..ba95f994f8c 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/DirectionType.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/DirectionType.java
@@ -24,7 +24,7 @@ import java.util.Collection;
import java.util.EnumSet;
/**
- * Direction type enum.
+ * Direction type.
*/
@RequiredArgsConstructor
@Getter
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/JoinType.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/JoinType.java
index 1a52ca5b1a6..496696bd200 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/JoinType.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/JoinType.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.sql.parser.statement.core.enums;
/**
- * Join type enum.
+ * Join type.
*/
public enum JoinType {
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/LockTableOption.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/LockTableOption.java
index a01ca11712b..631776e23c3 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/LockTableOption.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/LockTableOption.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.sql.parser.statement.core.enums;
/**
- * Lock table option enum.
+ * Lock table option.
*/
public enum LockTableOption {
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/OperationScope.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/OperationScope.java
index 84385862917..b2a7fc96751 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/OperationScope.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/OperationScope.java
@@ -21,13 +21,14 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
- * OperationScope enum.
+ * Operation scope.
*/
@RequiredArgsConstructor
@Getter
public enum OperationScope {
GLOBAL("GLOBAL"),
+
SESSION("SESSION");
private final String scope;
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/ParameterMarkerType.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/ParameterMarkerType.java
index 7f76d6978bb..3daa75f480c 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/ParameterMarkerType.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/ParameterMarkerType.java
@@ -21,7 +21,7 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
- * Parameter marker type enum.
+ * Parameter marker type.
*/
@RequiredArgsConstructor
@Getter
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/SSLTypeEnum.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/SSLType.java
similarity index 82%
rename from parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/SSLTypeEnum.java
rename to parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/SSLType.java
index 26a9ed27151..96a9555d740 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/SSLTypeEnum.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/SSLType.java
@@ -17,22 +17,25 @@
package org.apache.shardingsphere.sql.parser.statement.core.enums;
-public enum SSLTypeEnum {
+/**
+ * SSL type.
+ */
+public enum SSLType {
- SSL_TYPE_NOT_SPECIFIED,
+ SPECIFIED,
- SSL_TYPE_NONE,
+ NOT_SPECIFIED,
- SSL_TYPE_ANY,
+ NONE,
- SSL_TYPE_X509,
+ ANY,
- SSL_TYPE_SPECIFIED;
+ X509;
/**
- * User resource specified limit enum.
+ * User resource specified limit type.
*/
- public enum UserResourceSpecifiedLimitEnum {
+ public enum UserResourceSpecifiedLimitType {
QUERIES_PER_HOUR,
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/ScanUnit.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/ScanUnit.java
index 8dbf8b3bcda..43af3806fff 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/ScanUnit.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/ScanUnit.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.sql.parser.statement.core.enums;
/**
- * Update statistics scan unit enum.
+ * Update statistics scan unit.
*/
public enum ScanUnit {
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/StatisticsDimension.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/StatisticsDimension.java
index 3f1fc339f55..4ae9dc92f5f 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/StatisticsDimension.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/StatisticsDimension.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.sql.parser.statement.core.enums;
/**
- * Update statistics dimension enum.
+ * Update statistics dimension.
*/
public enum StatisticsDimension {
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/SubqueryType.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/SubqueryType.java
index 37560975dad..87fe5163983 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/SubqueryType.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/SubqueryType.java
@@ -18,9 +18,9 @@
package org.apache.shardingsphere.sql.parser.statement.core.enums;
/**
- * Subquery type enum.
+ * Subquery type.
*/
public enum SubqueryType {
- PROJECTION_SUBQUERY, TABLE_SUBQUERY, JOIN_SUBQUERY, PREDICATE_SUBQUERY, INSERT_SELECT_SUBQUERY, EXISTS_SUBQUERY
+ PROJECTION, TABLE, JOIN, PREDICATE, INSERT_SELECT, EXISTS
}
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/TransactionAccessType.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/TransactionAccessType.java
index ba983404351..6596a510005 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/TransactionAccessType.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/TransactionAccessType.java
@@ -17,18 +17,12 @@
package org.apache.shardingsphere.sql.parser.statement.core.enums;
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-
/**
- * Transaction access type enum.
+ * Transaction access type.
*/
-@RequiredArgsConstructor
-@Getter
public enum TransactionAccessType {
- READ_ONLY("READ_ONLY"),
- READ_WRITE("READ_WRITE");
+ READ_ONLY,
- private final String accessType;
+ READ_WRITE
}
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/TransactionIsolationLevel.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/TransactionIsolationLevel.java
index a1759713c1b..f7d7700a8ff 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/TransactionIsolationLevel.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/enums/TransactionIsolationLevel.java
@@ -21,17 +21,22 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
- * Transaction isolation level enum.
+ * Transaction isolation level.
*/
@RequiredArgsConstructor
@Getter
public enum TransactionIsolationLevel {
NONE("NONE"),
+
READ_UNCOMMITTED("READ-UNCOMMITTED"),
+
READ_COMMITTED("READ-COMMITTED"),
+
REPEATABLE_READ("REPEATABLE-READ"),
+
SNAPSHOT("SNAPSHOT"),
+
SERIALIZABLE("SERIALIZABLE");
private final String isolationLevel;
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dcl/PasswordOrLockOptionSegment.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dcl/PasswordOrLockOptionSegment.java
index b6fec4ed69d..2925a709a57 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dcl/PasswordOrLockOptionSegment.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dcl/PasswordOrLockOptionSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.statement.core.segment.dcl;
import lombok.Getter;
import lombok.Setter;
-import org.apache.shardingsphere.sql.parser.statement.core.enums.ACLAttributeEnum;
+import org.apache.shardingsphere.sql.parser.statement.core.enums.ACLAttributeType;
import org.apache.shardingsphere.sql.parser.statement.core.segment.SQLSegment;
/**
@@ -65,5 +65,5 @@ public final class PasswordOrLockOptionSegment implements SQLSegment {
private boolean updatePasswordLockTime;
- private ACLAttributeEnum updatePasswordRequireCurrent;
+ private ACLAttributeType updatePasswordRequireCurrent;
}
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dcl/TLSOptionSegment.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dcl/TLSOptionSegment.java
index 82682bf53f2..5d74d71be59 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dcl/TLSOptionSegment.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dcl/TLSOptionSegment.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sql.parser.statement.core.segment.dcl;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
-import org.apache.shardingsphere.sql.parser.statement.core.enums.SSLTypeEnum;
+import org.apache.shardingsphere.sql.parser.statement.core.enums.SSLType;
import org.apache.shardingsphere.sql.parser.statement.core.segment.SQLSegment;
/**
@@ -35,7 +35,7 @@ public final class TLSOptionSegment implements SQLSegment {
private int stopIndex;
- private SSLTypeEnum type;
+ private SSLType type;
private String x509Subject;
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dcl/UserResourceSegment.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dcl/UserResourceSegment.java
index 7e55472dd84..a313bdce822 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dcl/UserResourceSegment.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dcl/UserResourceSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.statement.core.segment.dcl;
import lombok.Getter;
import lombok.Setter;
-import org.apache.shardingsphere.sql.parser.statement.core.enums.SSLTypeEnum;
+import org.apache.shardingsphere.sql.parser.statement.core.enums.SSLType.UserResourceSpecifiedLimitType;
import org.apache.shardingsphere.sql.parser.statement.core.segment.SQLSegment;
/**
@@ -41,5 +41,5 @@ public final class UserResourceSegment implements SQLSegment {
private int userConn;
- private SSLTypeEnum.UserResourceSpecifiedLimitEnum specifiedLimits;
+ private UserResourceSpecifiedLimitType specifiedLimits;
}
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/util/SubqueryExtractUtils.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/util/SubqueryExtractUtils.java
index 1ef04f74a2b..10cb4033871 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/util/SubqueryExtractUtils.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/util/SubqueryExtractUtils.java
@@ -91,11 +91,11 @@ public final class SubqueryExtractUtils {
for (ProjectionSegment each : projections.getProjections()) {
if (each instanceof SubqueryProjectionSegment) {
SubquerySegment subquery = ((SubqueryProjectionSegment) each).getSubquery();
- subquery.setSubqueryType(SubqueryType.PROJECTION_SUBQUERY);
+ subquery.setSubqueryType(SubqueryType.PROJECTION);
result.add(subquery);
extractSubquerySegments(result, subquery.getSelect());
} else if (each instanceof ExpressionProjectionSegment) {
- extractSubquerySegmentsFromExpression(result, ((ExpressionProjectionSegment) each).getExpr(), SubqueryType.PROJECTION_SUBQUERY);
+ extractSubquerySegmentsFromExpression(result, ((ExpressionProjectionSegment) each).getExpr(), SubqueryType.PROJECTION);
}
}
}
@@ -113,7 +113,7 @@ public final class SubqueryExtractUtils {
private static void extractSubquerySegmentsFromJoinTableSegment(final List<SubquerySegment> result, final TableSegment tableSegment) {
if (tableSegment instanceof SubqueryTableSegment) {
SubquerySegment subquery = ((SubqueryTableSegment) tableSegment).getSubquery();
- subquery.setSubqueryType(SubqueryType.JOIN_SUBQUERY);
+ subquery.setSubqueryType(SubqueryType.JOIN);
result.add(subquery);
extractSubquerySegments(result, subquery.getSelect());
} else if (tableSegment instanceof JoinTableSegment) {
@@ -124,13 +124,13 @@ public final class SubqueryExtractUtils {
private static void extractSubquerySegmentsFromSubqueryTableSegment(final List<SubquerySegment> result, final SubqueryTableSegment subqueryTableSegment) {
SubquerySegment subquery = subqueryTableSegment.getSubquery();
- subquery.setSubqueryType(SubqueryType.TABLE_SUBQUERY);
+ subquery.setSubqueryType(SubqueryType.TABLE);
result.add(subquery);
extractSubquerySegments(result, subquery.getSelect());
}
private static void extractSubquerySegmentsFromWhere(final List<SubquerySegment> result, final ExpressionSegment expressionSegment) {
- extractSubquerySegmentsFromExpression(result, expressionSegment, SubqueryType.PREDICATE_SUBQUERY);
+ extractSubquerySegmentsFromExpression(result, expressionSegment, SubqueryType.PREDICATE);
}
private static void extractSubquerySegmentsFromExpression(final List<SubquerySegment> result, final ExpressionSegment expressionSegment, final SubqueryType subqueryType) {