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 cfd9642df1a Remove NullMarked annotations and simplify cache loader
implementations (#35610)
cfd9642df1a is described below
commit cfd9642df1a63b10ef7fb9213b0dd58341113e00
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Jun 6 22:52:11 2025 +0800
Remove NullMarked annotations and simplify cache loader implementations
(#35610)
---
.../infra/parser/cache/SQLStatementCacheLoader.java | 3 ---
.../planner/cache/ExecutionPlanCacheLoader.java | 3 ---
.../core/database/cache/ParseTreeCacheLoader.java | 5 ++---
.../sql/parser/api/SQLParserExecutorTest.java | 13 +------------
.../sql/parser/core/SQLParserEngineTest.java | 17 +++--------------
5 files changed, 6 insertions(+), 35 deletions(-)
diff --git
a/infra/parser/src/main/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoader.java
b/infra/parser/src/main/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoader.java
index 4cee0cd86e3..b934a686cf6 100644
---
a/infra/parser/src/main/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoader.java
+++
b/infra/parser/src/main/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoader.java
@@ -23,8 +23,6 @@ import
org.apache.shardingsphere.infra.parser.sql.SQLStatementParserExecutor;
import org.apache.shardingsphere.sql.parser.api.CacheOption;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.SQLStatement;
-import org.jspecify.annotations.NullMarked;
-
/**
* SQL statement cache loader.
*/
@@ -45,7 +43,6 @@ public final class SQLStatementCacheLoader implements
CacheLoader<String, SQLSta
sqlStatementParserExecutor.updateCacheOption(parseTreeCacheOption);
}
- @NullMarked
@Override
public SQLStatement load(final String sql) {
return sqlStatementParserExecutor.parse(sql);
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/planner/cache/ExecutionPlanCacheLoader.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/planner/cache/ExecutionPlanCacheLoader.java
index d3e80d979f5..7d2644d192a 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/planner/cache/ExecutionPlanCacheLoader.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/planner/cache/ExecutionPlanCacheLoader.java
@@ -20,14 +20,11 @@ package
org.apache.shardingsphere.sqlfederation.compiler.planner.cache;
import com.github.benmanes.caffeine.cache.CacheLoader;
import
org.apache.shardingsphere.sqlfederation.compiler.SQLFederationExecutionPlan;
-import org.jspecify.annotations.NullMarked;
-
/**
* Execution plan cache loader.
*/
public final class ExecutionPlanCacheLoader implements
CacheLoader<ExecutionPlanCacheKey, SQLFederationExecutionPlan> {
- @NullMarked
@Override
public SQLFederationExecutionPlan load(final ExecutionPlanCacheKey
cacheKey) {
return
cacheKey.getSqlStatementCompiler().compile(cacheKey.getSqlStatement(),
cacheKey.getDatabaseType());
diff --git
a/parser/sql/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoader.java
b/parser/sql/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoader.java
index f3f00c2f14c..cbdf5c421fb 100644
---
a/parser/sql/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoader.java
+++
b/parser/sql/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoader.java
@@ -18,12 +18,11 @@
package org.apache.shardingsphere.sql.parser.core.database.cache;
import com.github.benmanes.caffeine.cache.CacheLoader;
+import com.google.common.base.Preconditions;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
import
org.apache.shardingsphere.sql.parser.core.database.parser.SQLParserExecutor;
-import org.jspecify.annotations.NullMarked;
-
/**
* Parse context cache loader.
*/
@@ -35,9 +34,9 @@ public final class ParseTreeCacheLoader implements
CacheLoader<String, ParseASTN
sqlParserExecutor = new SQLParserExecutor(databaseType);
}
- @NullMarked
@Override
public ParseASTNode load(final String sql) {
+ Preconditions.checkNotNull(sql);
return sqlParserExecutor.parse(sql);
}
}
diff --git
a/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserExecutorTest.java
b/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserExecutorTest.java
index 9336e610866..09f176d1b48 100644
---
a/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserExecutorTest.java
+++
b/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserExecutorTest.java
@@ -17,7 +17,6 @@
package org.apache.shardingsphere.sql.parser.api;
-import com.github.benmanes.caffeine.cache.CacheLoader;
import com.github.benmanes.caffeine.cache.Caffeine;
import com.github.benmanes.caffeine.cache.LoadingCache;
import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
@@ -25,8 +24,6 @@ import
org.apache.shardingsphere.sql.parser.core.database.parser.SQLParserExecut
import org.junit.jupiter.api.Test;
import org.mockito.internal.configuration.plugins.Plugins;
-import org.jspecify.annotations.NullMarked;
-
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -43,15 +40,7 @@ class SQLParserExecutorTest {
CacheOption cacheOption = new CacheOption(128, 1024L);
SQLParserEngine sqlParserEngine = new SQLParserEngine("FIXTURE",
cacheOption);
Plugins.getMemberAccessor().set(SQLParserEngine.class.getDeclaredField("sqlParserExecutor"),
sqlParserEngine, sqlParserExecutor);
- LoadingCache<String, ParseASTNode> parseTreeCache =
Caffeine.newBuilder().softValues().initialCapacity(128)
- .maximumSize(1024L).build(new CacheLoader<String,
ParseASTNode>() {
-
- @NullMarked
- @Override
- public ParseASTNode load(final String sql) {
- return sqlParserExecutor.parse(sql);
- }
- });
+ LoadingCache<String, ParseASTNode> parseTreeCache =
Caffeine.newBuilder().softValues().initialCapacity(128).maximumSize(1024L).build(sqlParserExecutor::parse);
Plugins.getMemberAccessor().set(SQLParserEngine.class.getDeclaredField("parseTreeCache"),
sqlParserEngine, parseTreeCache);
sqlParserEngine.parse(SQL, true);
verify(sqlParserExecutor).parse(SQL);
diff --git
a/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/SQLParserEngineTest.java
b/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/SQLParserEngineTest.java
index 84996b87c54..154da58bbd4 100644
---
a/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/SQLParserEngineTest.java
+++
b/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/SQLParserEngineTest.java
@@ -17,18 +17,15 @@
package org.apache.shardingsphere.sql.parser.core;
-import com.github.benmanes.caffeine.cache.CacheLoader;
import com.github.benmanes.caffeine.cache.Caffeine;
import com.github.benmanes.caffeine.cache.LoadingCache;
import
org.apache.shardingsphere.sql.parser.core.database.parser.SQLParserExecutor;
import org.junit.jupiter.api.Test;
-import org.jspecify.annotations.NullMarked;
-
import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
class SQLParserEngineTest {
@@ -36,15 +33,7 @@ class SQLParserEngineTest {
void assertParse() {
SQLParserExecutor sqlParserExecutor = mock(SQLParserExecutor.class);
when(sqlParserExecutor.parse("")).thenReturn(mock(ParseASTNode.class));
- LoadingCache<String, ParseASTNode> parseTreeCache =
Caffeine.newBuilder().softValues()
- .initialCapacity(128).maximumSize(1024L).build(new
CacheLoader<String, ParseASTNode>() {
-
- @NullMarked
- @Override
- public ParseASTNode load(final String sql) {
- return sqlParserExecutor.parse(sql);
- }
- });
+ LoadingCache<String, ParseASTNode> parseTreeCache =
Caffeine.newBuilder().softValues().initialCapacity(128).maximumSize(1024L).build(sqlParserExecutor::parse);
parseTreeCache.get("");
verify(sqlParserExecutor).parse("");
parseTreeCache.get("");