This is an automated email from the ASF dual-hosted git repository.
jianglongtao 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 bbef38e4a16 Fix NPE of ALTER DEFAULT SHARDING TABLE STRATEGY (#25456)
bbef38e4a16 is described below
commit bbef38e4a16ce9ff9e857f71dfb70272561e06e9
Author: yx9o <[email protected]>
AuthorDate: Fri May 5 10:10:22 2023 +0800
Fix NPE of ALTER DEFAULT SHARDING TABLE STRATEGY (#25456)
---
.../parser/core/ShardingDistSQLStatementVisitor.java | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git
a/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
b/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
index 62058bd0ea6..87cfbc8dccc 100644
---
a/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
+++
b/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
@@ -168,8 +168,7 @@ public final class ShardingDistSQLStatementVisitor extends
ShardingDistSQLStatem
@Override
public ASTNode visitDropShardingTableRule(final
DropShardingTableRuleContext ctx) {
- return new DropShardingTableRuleStatement(null != ctx.ifExists(),
- ctx.tableName().stream().map(each -> (TableNameSegment)
visit(each)).collect(Collectors.toList()));
+ return new DropShardingTableRuleStatement(null != ctx.ifExists(),
ctx.tableName().stream().map(each -> (TableNameSegment)
visit(each)).collect(Collectors.toList()));
}
@Override
@@ -180,15 +179,15 @@ public final class ShardingDistSQLStatementVisitor
extends ShardingDistSQLStatem
@Override
public ASTNode visitCreateDefaultShardingStrategy(final
CreateDefaultShardingStrategyContext ctx) {
ShardingStrategyContext shardingStrategyContext =
ctx.shardingStrategy();
- String strategyType =
getIdentifierValue(shardingStrategyContext.strategyType());
String defaultType = new
IdentifierValue(ctx.type.getText()).getValue();
+ String strategyType =
getIdentifierValue(shardingStrategyContext.strategyType());
if ("none".equalsIgnoreCase(strategyType)) {
return new CreateDefaultShardingStrategyStatement(null !=
ctx.ifNotExists(), defaultType, "none", null, null);
}
- AlgorithmSegment algorithmSegment = null !=
shardingStrategyContext.shardingAlgorithm().algorithmDefinition()
- ? (AlgorithmSegment)
visitAlgorithmDefinition(shardingStrategyContext.shardingAlgorithm().algorithmDefinition())
- : null;
- String shardingColumn = null !=
ctx.shardingStrategy().shardingColumnDefinition() ?
buildShardingColumn(ctx.shardingStrategy().shardingColumnDefinition()) : null;
+ AlgorithmSegment algorithmSegment = null ==
shardingStrategyContext.shardingAlgorithm().algorithmDefinition()
+ ? null
+ : (AlgorithmSegment)
visitAlgorithmDefinition(shardingStrategyContext.shardingAlgorithm().algorithmDefinition());
+ String shardingColumn = null ==
ctx.shardingStrategy().shardingColumnDefinition() ? null :
buildShardingColumn(ctx.shardingStrategy().shardingColumnDefinition());
return new CreateDefaultShardingStrategyStatement(null !=
ctx.ifNotExists(), defaultType, strategyType, shardingColumn, algorithmSegment);
}
@@ -199,10 +198,10 @@ public final class ShardingDistSQLStatementVisitor
extends ShardingDistSQLStatem
if ("none".equalsIgnoreCase(strategyType)) {
return new AlterDefaultShardingStrategyStatement(defaultType,
"none", null, null);
}
- String shardingColumn =
buildShardingColumn(ctx.shardingStrategy().shardingColumnDefinition());
AlgorithmSegment algorithmSegment = null ==
ctx.shardingStrategy().shardingAlgorithm().algorithmDefinition()
? null
: (AlgorithmSegment)
visitAlgorithmDefinition(ctx.shardingStrategy().shardingAlgorithm().algorithmDefinition());
+ String shardingColumn = null ==
ctx.shardingStrategy().shardingColumnDefinition() ? null :
buildShardingColumn(ctx.shardingStrategy().shardingColumnDefinition());
return new AlterDefaultShardingStrategyStatement(defaultType,
strategyType, shardingColumn, algorithmSegment);
}