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("");

Reply via email to