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