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 e4a6e67895b Remove unreachable identifier null check and cover missing
rate limiter path (#37426)
e4a6e67895b is described below
commit e4a6e67895be1e002b424899dd5d5633cee302f9
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Dec 18 20:40:12 2025 +0800
Remove unreachable identifier null check and cover missing rate limiter
path (#37426)
---
.../cdc/distsql/parser/core/CDCDistSQLStatementVisitor.java | 11 +++--------
.../type/pipeline/AlterTransmissionRuleStatementAssert.java | 12 ++++++++----
test/it/parser/src/main/resources/case/ral/cdc.xml | 11 +++++++++++
test/it/parser/src/main/resources/sql/supported/ral/cdc.xml | 1 +
4 files changed, 23 insertions(+), 12 deletions(-)
diff --git
a/kernel/data-pipeline/scenario/cdc/distsql/parser/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/distsql/parser/core/CDCDistSQLStatementVisitor.java
b/kernel/data-pipeline/scenario/cdc/distsql/parser/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/distsql/parser/core/CDCDistSQLStatementVisitor.java
index 48c03095a25..82df8dfd991 100644
---
a/kernel/data-pipeline/scenario/cdc/distsql/parser/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/distsql/parser/core/CDCDistSQLStatementVisitor.java
+++
b/kernel/data-pipeline/scenario/cdc/distsql/parser/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/distsql/parser/core/CDCDistSQLStatementVisitor.java
@@ -17,7 +17,6 @@
package org.apache.shardingsphere.data.pipeline.cdc.distsql.parser.core;
-import org.antlr.v4.runtime.tree.ParseTree;
import
org.apache.shardingsphere.data.pipeline.cdc.distsql.statement.queryable.ShowStreamingListStatement;
import
org.apache.shardingsphere.data.pipeline.cdc.distsql.statement.queryable.ShowStreamingRuleStatement;
import
org.apache.shardingsphere.data.pipeline.cdc.distsql.statement.queryable.ShowStreamingStatusStatement;
@@ -62,16 +61,12 @@ public final class CDCDistSQLStatementVisitor extends
CDCDistSQLStatementBaseVis
@Override
public ASTNode visitShowStreamingStatus(final ShowStreamingStatusContext
ctx) {
- return new
ShowStreamingStatusStatement(getIdentifierValue(ctx.jobId()));
+ return new ShowStreamingStatusStatement(new
IdentifierValue(ctx.jobId().getText()).getValue());
}
@Override
public ASTNode visitDropStreaming(final DropStreamingContext ctx) {
- return new DropStreamingStatement(getIdentifierValue(ctx.jobId()));
- }
-
- private String getIdentifierValue(final ParseTree ctx) {
- return null == ctx ? null : new
IdentifierValue(ctx.getText()).getValue();
+ return new DropStreamingStatement(new
IdentifierValue(ctx.jobId().getText()).getValue());
}
@Override
@@ -137,7 +132,7 @@ public final class CDCDistSQLStatementVisitor extends
CDCDistSQLStatementBaseVis
@Override
public ASTNode visitAlgorithmDefinition(final AlgorithmDefinitionContext
ctx) {
- return new
AlgorithmSegment(getIdentifierValue(ctx.algorithmTypeName()),
buildProperties(ctx.propertiesDefinition()));
+ return new AlgorithmSegment(new
IdentifierValue(ctx.algorithmTypeName().getText()).getValue(),
buildProperties(ctx.propertiesDefinition()));
}
private Properties buildProperties(final PropertiesDefinitionContext ctx) {
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ral/type/pipeline/AlterTransmissionRuleStatementAssert.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ral/type/pipeline/AlterTransmissionRuleStatementAssert.java
index eddcbdc34b3..296d6126ab3 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ral/type/pipeline/AlterTransmissionRuleStatementAssert.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ral/type/pipeline/AlterTransmissionRuleStatementAssert.java
@@ -65,7 +65,7 @@ public final class AlterTransmissionRuleStatementAssert {
assertThat(actual.getWorkerThread(), is(expected.getWorkerThread()));
assertThat(actual.getBatchSize(), is(expected.getBatchSize()));
assertThat(actual.getShardingSize(), is(expected.getShardingSize()));
- assertThat(actual.getRateLimiter().getName(),
is(expected.getRateLimiter().getName()));
+ assertAlgorithm(assertContext, actual.getRateLimiter(),
expected.getRateLimiter(), "rate limiter");
}
private static void assertWrite(final SQLCaseAssertContext assertContext,
final ReadOrWriteSegment actual, final ExpectedWrite expected) {
@@ -75,14 +75,18 @@ public final class AlterTransmissionRuleStatementAssert {
}
assertThat(actual.getWorkerThread(), is(expected.getWorkerThread()));
assertThat(actual.getBatchSize(), is(expected.getBatchSize()));
- assertThat(actual.getRateLimiter().getName(),
is(expected.getRateLimiter().getName()));
+ assertAlgorithm(assertContext, actual.getRateLimiter(),
expected.getRateLimiter(), "rate limiter");
}
private static void assertTypeStrategy(final SQLCaseAssertContext
assertContext, final AlgorithmSegment actual, final ExpectedAlgorithm expected)
{
+ assertAlgorithm(assertContext, actual, expected, "strategy");
+ }
+
+ private static void assertAlgorithm(final SQLCaseAssertContext
assertContext, final AlgorithmSegment actual, final ExpectedAlgorithm expected,
final String subject) {
if (null == expected) {
- assertNull(actual, assertContext.getText("Actual strategy should
not exist."));
+ assertNull(actual, assertContext.getText(String.format("Actual %s
should not exist.", subject)));
} else {
- assertNotNull(actual, assertContext.getText("Actual strategy
should exist."));
+ assertNotNull(actual, assertContext.getText(String.format("Actual
%s should exist.", subject)));
assertThat(assertContext.getText("Type assertion error"),
actual.getName(), is(expected.getName()));
}
}
diff --git a/test/it/parser/src/main/resources/case/ral/cdc.xml
b/test/it/parser/src/main/resources/case/ral/cdc.xml
index 2e15c116567..d25a731a892 100644
--- a/test/it/parser/src/main/resources/case/ral/cdc.xml
+++ b/test/it/parser/src/main/resources/case/ral/cdc.xml
@@ -54,6 +54,17 @@
</rule>
</alter-streaming-rule>
+ <alter-streaming-rule
sql-case-id="alter-streaming-rule-read-without-rate-limiter">
+ <job-type-name>STREAMING</job-type-name>
+ <rule>
+ <read>
+ <worker-thread>20</worker-thread>
+ <batch-size>1000</batch-size>
+ <sharding-size>10000000</sharding-size>
+ </read>
+ </rule>
+ </alter-streaming-rule>
+
<alter-streaming-rule sql-case-id="alter-streaming-rule-write-lite">
<job-type-name>STREAMING</job-type-name>
<rule>
diff --git a/test/it/parser/src/main/resources/sql/supported/ral/cdc.xml
b/test/it/parser/src/main/resources/sql/supported/ral/cdc.xml
index b055bbf9be6..102004cf8ea 100644
--- a/test/it/parser/src/main/resources/sql/supported/ral/cdc.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ral/cdc.xml
@@ -20,6 +20,7 @@
<sql-case id="show-streaming-rule" value="SHOW STREAMING RULE;"
db-types="ShardingSphere"/>
<sql-case id="alter-streaming-rule" value="ALTER STREAMING RULE
(READ(WORKER_THREAD=20,BATCH_SIZE=1000,SHARDING_SIZE=10000000,RATE_LIMITER
(TYPE(NAME='QPS',PROPERTIES('qps'='500')))),WRITE(WORKER_THREAD=20,BATCH_SIZE=2000,RATE_LIMITER
(TYPE(NAME='TPS',PROPERTIES('tps'='2000')))),STREAM_CHANNEL
(TYPE(NAME='MEMORY',PROPERTIES('block-queue-size'='100'))));"
db-types="ShardingSphere" />
<sql-case id="alter-streaming-rule-read-lite" value="ALTER STREAMING RULE
(READ(RATE_LIMITER (TYPE(NAME='QPS'))));" db-types="ShardingSphere" />
+ <sql-case id="alter-streaming-rule-read-without-rate-limiter" value="ALTER
STREAMING RULE
(READ(WORKER_THREAD=20,BATCH_SIZE=1000,SHARDING_SIZE=10000000));"
db-types="ShardingSphere" />
<sql-case id="alter-streaming-rule-write-lite" value="ALTER STREAMING RULE
(WRITE(RATE_LIMITER (TYPE(NAME='TPS'))));" db-types="ShardingSphere" />
<sql-case id="show-streaming-list" value="SHOW STREAMING LIST;"
db-types="ShardingSphere"/>
<sql-case id="show-streaming-status" value="SHOW STREAMING STATUS 123;"
db-types="ShardingSphere"/>