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 be5c9548391 Enhance performance for SupportedSQLCheckersBuilder's 
impls (#36303)
be5c9548391 is described below

commit be5c9548391766d377b166984a614cad9b2b8905
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Aug 14 17:14:00 2025 +0800

    Enhance performance for SupportedSQLCheckersBuilder's impls (#36303)
---
 .../sql/EncryptSupportedSQLCheckersBuilder.java    | 20 ++++++++-----
 .../sql/ShardingSupportedSQLCheckersBuilder.java   | 34 ++++++++++++----------
 .../infra/checker/SupportedSQLCheckEngine.java     |  2 ++
 .../sql/SingleSupportedSQLCheckersBuilder.java     | 10 +++++--
 4 files changed, 40 insertions(+), 26 deletions(-)

diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/sql/EncryptSupportedSQLCheckersBuilder.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/sql/EncryptSupportedSQLCheckersBuilder.java
index a74b1d0c64d..24cc8851672 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/sql/EncryptSupportedSQLCheckersBuilder.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/sql/EncryptSupportedSQLCheckersBuilder.java
@@ -26,6 +26,7 @@ import 
org.apache.shardingsphere.encrypt.checker.sql.projection.EncryptSelectPro
 import 
org.apache.shardingsphere.encrypt.checker.sql.with.EncryptWithClauseSupportedChecker;
 import org.apache.shardingsphere.encrypt.constant.EncryptOrder;
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
+import org.apache.shardingsphere.infra.annotation.HighFrequencyInvocation;
 import org.apache.shardingsphere.infra.checker.SupportedSQLChecker;
 import org.apache.shardingsphere.infra.checker.SupportedSQLCheckersBuilder;
 
@@ -37,16 +38,19 @@ import java.util.Collection;
  */
 public final class EncryptSupportedSQLCheckersBuilder implements 
SupportedSQLCheckersBuilder<EncryptRule> {
     
+    private final Collection<SupportedSQLChecker<?, EncryptRule>> 
supportedSQLCheckers = Arrays.asList(
+            new EncryptSelectProjectionSupportedChecker(),
+            new EncryptInsertSelectProjectionSupportedChecker(),
+            new EncryptPredicateColumnSupportedChecker(),
+            new EncryptOrderByItemSupportedChecker(),
+            new EncryptWithClauseSupportedChecker(),
+            new EncryptCombineClauseSupportedChecker(),
+            new EncryptInsertSelectSupportedChecker());
+    
+    @HighFrequencyInvocation
     @Override
     public Collection<SupportedSQLChecker<?, EncryptRule>> 
getSupportedSQLCheckers() {
-        return Arrays.asList(
-                new EncryptSelectProjectionSupportedChecker(),
-                new EncryptInsertSelectProjectionSupportedChecker(),
-                new EncryptPredicateColumnSupportedChecker(),
-                new EncryptOrderByItemSupportedChecker(),
-                new EncryptWithClauseSupportedChecker(),
-                new EncryptCombineClauseSupportedChecker(),
-                new EncryptInsertSelectSupportedChecker());
+        return supportedSQLCheckers;
     }
     
     @Override
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/checker/sql/ShardingSupportedSQLCheckersBuilder.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/checker/sql/ShardingSupportedSQLCheckersBuilder.java
index 9561c40bf24..b49631024e2 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/checker/sql/ShardingSupportedSQLCheckersBuilder.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/checker/sql/ShardingSupportedSQLCheckersBuilder.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.sharding.checker.sql;
 
+import org.apache.shardingsphere.infra.annotation.HighFrequencyInvocation;
 import org.apache.shardingsphere.infra.checker.SupportedSQLChecker;
 import org.apache.shardingsphere.infra.checker.SupportedSQLCheckersBuilder;
 import 
org.apache.shardingsphere.sharding.checker.sql.ddl.ShardingAlterIndexSupportedChecker;
@@ -44,23 +45,26 @@ import java.util.Collection;
  */
 public final class ShardingSupportedSQLCheckersBuilder implements 
SupportedSQLCheckersBuilder<ShardingRule> {
     
+    private final Collection<SupportedSQLChecker<?, ShardingRule>> 
supportedSQLCheckers = Arrays.asList(
+            new ShardingAlterIndexSupportedChecker(),
+            new ShardingAlterTableSupportedChecker(),
+            new ShardingAlterViewSupportedChecker(),
+            new ShardingCreateFunctionSupportedChecker(),
+            new ShardingCreateIndexSupportedChecker(),
+            new ShardingCreateProcedureSupportedChecker(),
+            new ShardingCreateTableSupportedChecker(),
+            new ShardingCreateViewSupportedChecker(),
+            new ShardingDropIndexSupportedChecker(),
+            new ShardingDropTableSupportedChecker(),
+            new ShardingRenameTableSupportedChecker(),
+            new ShardingInsertSupportedChecker(),
+            new ShardingTableSupportedChecker(),
+            new ShardingMultipleTablesSupportedChecker());
+    
+    @HighFrequencyInvocation
     @Override
     public Collection<SupportedSQLChecker<?, ShardingRule>> 
getSupportedSQLCheckers() {
-        return Arrays.asList(
-                new ShardingAlterIndexSupportedChecker(),
-                new ShardingAlterTableSupportedChecker(),
-                new ShardingAlterViewSupportedChecker(),
-                new ShardingCreateFunctionSupportedChecker(),
-                new ShardingCreateIndexSupportedChecker(),
-                new ShardingCreateProcedureSupportedChecker(),
-                new ShardingCreateTableSupportedChecker(),
-                new ShardingCreateViewSupportedChecker(),
-                new ShardingDropIndexSupportedChecker(),
-                new ShardingDropTableSupportedChecker(),
-                new ShardingRenameTableSupportedChecker(),
-                new ShardingInsertSupportedChecker(),
-                new ShardingTableSupportedChecker(),
-                new ShardingMultipleTablesSupportedChecker());
+        return supportedSQLCheckers;
     }
     
     @Override
diff --git 
a/infra/checker/src/main/java/org/apache/shardingsphere/infra/checker/SupportedSQLCheckEngine.java
 
b/infra/checker/src/main/java/org/apache/shardingsphere/infra/checker/SupportedSQLCheckEngine.java
index 631edc9479e..9edf2726369 100644
--- 
a/infra/checker/src/main/java/org/apache/shardingsphere/infra/checker/SupportedSQLCheckEngine.java
+++ 
b/infra/checker/src/main/java/org/apache/shardingsphere/infra/checker/SupportedSQLCheckEngine.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.infra.checker;
 
+import org.apache.shardingsphere.infra.annotation.HighFrequencyInvocation;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
@@ -30,6 +31,7 @@ import java.util.Map.Entry;
 /**
  * Supported SQL check engine.
  */
+@HighFrequencyInvocation
 public final class SupportedSQLCheckEngine {
     
     /**
diff --git 
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/checker/sql/SingleSupportedSQLCheckersBuilder.java
 
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/checker/sql/SingleSupportedSQLCheckersBuilder.java
index fde27a63f1b..bd71c471095 100644
--- 
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/checker/sql/SingleSupportedSQLCheckersBuilder.java
+++ 
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/checker/sql/SingleSupportedSQLCheckersBuilder.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.single.checker.sql;
 
+import org.apache.shardingsphere.infra.annotation.HighFrequencyInvocation;
 import org.apache.shardingsphere.infra.checker.SupportedSQLChecker;
 import org.apache.shardingsphere.infra.checker.SupportedSQLCheckersBuilder;
 import 
org.apache.shardingsphere.single.checker.sql.schema.SingleDropSchemaSupportedChecker;
@@ -32,11 +33,14 @@ import java.util.Collection;
  */
 public final class SingleSupportedSQLCheckersBuilder implements 
SupportedSQLCheckersBuilder<SingleRule> {
     
+    private final Collection<SupportedSQLChecker<?, SingleRule>> 
supportedSQLCheckers = Arrays.asList(
+            new SingleDropSchemaSupportedChecker(),
+            new SingleDropTableSupportedChecker());
+    
+    @HighFrequencyInvocation
     @Override
     public Collection<SupportedSQLChecker<?, SingleRule>> 
getSupportedSQLCheckers() {
-        return Arrays.asList(
-                new SingleDropSchemaSupportedChecker(),
-                new SingleDropTableSupportedChecker());
+        return supportedSQLCheckers;
     }
     
     @Override

Reply via email to