You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ji...@apache.org on 2022/12/04 16:20:16 UTC

[shardingsphere] branch master updated: Update AUDIT_STRATEGY syntax document (#22645)

This is an automated email from the ASF dual-hosted git repository.

jianglongtao 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 4f8f53275b1 Update AUDIT_STRATEGY syntax document (#22645)
4f8f53275b1 is described below

commit 4f8f53275b13c0f851b905c29d8c358efd3fe279
Author: yx9o <ya...@163.com>
AuthorDate: Mon Dec 5 00:20:04 2022 +0800

    Update AUDIT_STRATEGY syntax document (#22645)
---
 .../sharding/alter-sharding-table-rule.cn.md       |  4 +-
 .../sharding/alter-sharding-table-rule.en.md       |  4 +-
 .../syntax/rdl/rule-definition/sharding.cn.md      | 44 ++++++----------------
 .../syntax/rdl/rule-definition/sharding.en.md      | 43 +++++----------------
 ...lShardingAutoTableRuleConfigurationSwapper.java |  6 +++
 .../main/antlr4/imports/sharding/RDLStatement.g4   |  2 +-
 .../src/main/resources/sql/supported/rdl/alter.xml |  4 +-
 .../main/resources/sql/supported/rdl/create.xml    |  4 +-
 8 files changed, 36 insertions(+), 75 deletions(-)

diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule.cn.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule.cn.md
index a3c1efcb3b4..7e84468d3c8 100644
--- a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule.cn.md
+++ b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule.cn.md
@@ -85,7 +85,7 @@ DATANODES("ds_${0..3}.t_order_item${0..3}"),
 DATABASE_STRATEGY(TYPE="standard",SHARDING_COLUMN=user_id,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="ds_${user_id % 4}")))),
 TABLE_STRATEGY(TYPE="standard",SHARDING_COLUMN=order_id,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="t_order_item_${order_id % 4}")))),
 KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME="snowflake")),
-AUDIT_STRATEGY(AUDITORS=[auditor1,auditor2],ALLOW_HINT_DISABLE=true)
+AUDIT_STRATEGY(TYPE(NAME="dml_sharding_conditions"),ALLOW_HINT_DISABLE=true)
 );
 ```
 
@@ -96,7 +96,7 @@ ALTER SHARDING TABLE RULE t_order (
 STORAGE_UNITS(ds_0,ds_1,ds_2,ds_3),
 SHARDING_COLUMN=order_id,TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="16")),
 KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME="snowflake")),
-AUDIT_STRATEGY(AUDITORS=[auditor1,auditor2],ALLOW_HINT_DISABLE=true)
+AUDIT_STRATEGY(TYPE(NAME="dml_sharding_conditions"),ALLOW_HINT_DISABLE=true)
 );
 ```
 
diff --git a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule.en.md b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule.en.md
index afed65a9186..915842c39e4 100644
--- a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule.en.md
+++ b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule.en.md
@@ -95,7 +95,7 @@ DATANODES("ds_${0..3}.t_order_item${0..3}"),
 DATABASE_STRATEGY(TYPE="standard",SHARDING_COLUMN=user_id,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="ds_${user_id % 4}")))),
 TABLE_STRATEGY(TYPE="standard",SHARDING_COLUMN=order_id,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="t_order_item_${order_id % 4}")))),
 KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME="snowflake")),
-AUDIT_STRATEGY(AUDITORS=[auditor1,auditor2],ALLOW_HINT_DISABLE=true)
+AUDIT_STRATEGY(TYPE(NAME="dml_sharding_conditions"),ALLOW_HINT_DISABLE=true)
 );
 ```
 
@@ -106,7 +106,7 @@ ALTER SHARDING TABLE RULE t_order (
 STORAGE_UNITS(ds_0,ds_1,ds_2,ds_3),
 SHARDING_COLUMN=order_id,TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="16")),
 KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME="snowflake")),
-AUDIT_STRATEGY(AUDITORS=[auditor1,auditor2],ALLOW_HINT_DISABLE=true)
+AUDIT_STRATEGY(TYPE(NAME="dml_sharding_conditions"),ALLOW_HINT_DISABLE=true)
 );
 ```
 
diff --git a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.cn.md b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.cn.md
index 7eff0f2109b..1803f0635c2 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.cn.md
@@ -24,20 +24,16 @@ DROP SHARDING ALGORITHM algorithmName [, algorithmName] ...
 
 DROP SHARDING KEY GENERATOR [IF EXISTS] keyGeneratorName [, keyGeneratorName] ...
     
-CREATE SHARDING AUDITOR auditorDefinition [, auditorDefinition] ...
-    
-ALTER SHARDING AUDITOR auditorDefinition [, auditorDefinition] ...
-    
 DROP SHARDING AUDITOR [IF EXISTS] auditorName [, auditorName] ...
 
 shardingTableRuleDefinition:
     shardingAutoTableRule | shardingTableRule
 
 shardingAutoTableRule:
-    tableName(storageUnits, shardingColumn, algorithmDefinition [, keyGenerateDefinition] [, auditDeclaration])
+    tableName(storageUnits, shardingColumn, algorithmDefinition [, keyGenerateDefinition] [, auditDefinition])
 
 shardingTableRule:
-    tableName(dataNodes [, databaseStrategy] [, tableStrategy] [, keyGenerateDefinition] [, auditDeclaration])
+    tableName(dataNodes [, databaseStrategy] [, tableStrategy] [, keyGenerateDefinition] [, auditDefinition])
 
 storageUnits:
     STORAGE_UNITS(storageUnit [, storageUnit] ...)
@@ -59,18 +55,12 @@ algorithmDefinition:
 
 keyGenerateDefinition:
     KEY_GENERATE_STRATEGY(COLUMN=columnName, strategyDefinition)
-    
-auditDeclaration:
-    auditDefinition | auditStrategy
 
 auditDefinition:
-    AUDIT_STRATEGY([(singleAuditDefinition),(singleAuditDefinition)], ALLOW_HINT_DISABLE=true)
-    
+    AUDIT_STRATEGY([singleAuditDefinition, singleAuditDefinition], ALLOW_HINT_DISABLE=true)
+
 singleAuditDefinition:
-    NAME=auditor1, algorithmDefinition
-    
-auditStrategy:
-    AUDIT_STRATEGY(AUDITORS=[auditor1,auditor2], ALLOW_HINT_DISABLE=true)
+    algorithmDefinition
 
 shardingScope:
     DATABASE | TABLE
@@ -90,23 +80,11 @@ shardingAlgorithm:
 strategyDefinition:
     TYPE(NAME=keyGenerateStrategyType [, PROPERTIES([algorithmProperties])])
 
-shardingAlgorithmDefinition:
-    shardingAlgorithmName(algorithmDefinition)
-
 algorithmProperties:
     algorithmProperty [, algorithmProperty] ...
 
 algorithmProperty:
-    key=value   
-
-keyGeneratorDefinition: 
-    keyGeneratorName (algorithmDefinition)
-
-auditorDefinition:
-    auditorName (auditorAlgorithmDefinition)
-    
-auditorAlgorithmDefinition:
-    TYPE(NAME=auditorAlgorithmType [, PROPERTIES([algorithmProperties])])
+    key=value
 ```
 - `STORAGE_UNITS` 需使用 RDL 管理的数据源资源;
 - `shardingAlgorithmType` 指定自动分片算法类型,请参考  [自动分片算法](/cn/user-manual/common-config/builtin-algorithm/sharding/);
@@ -138,7 +116,7 @@ tableReferenceRuleDefinition:
 ```sql
 CREATE BROADCAST TABLE RULE tableName [, tableName] ...
 
-DROP BROADCAST TABLE RULES tableName [, tableName] ...
+DROP BROADCAST TABLE RULE tableName [, tableName] ...
 ```
 
 ## 示例
@@ -163,14 +141,14 @@ CREATE SHARDING TABLE RULE t_order (
 STORAGE_UNITS(ds_0,ds_1),
 SHARDING_COLUMN=order_id,TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="4")),
 KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME="snowflake")),
-AUDIT_STRATEGY (TYPE(NAME="DML_SHARDING_CONDITIONS"),ALLOW_HINT_DISABLE=true)
+AUDIT_STRATEGY(TYPE(NAME="dml_sharding_conditions"),ALLOW_HINT_DISABLE=true)
 );
 
 ALTER SHARDING TABLE RULE t_order (
 STORAGE_UNITS(ds_0,ds_1,ds_2,ds_3),
 SHARDING_COLUMN=order_id,TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="16")),
 KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME="snowflake")),
-AUDIT_STRATEGY (TYPE(NAME="DML_SHARDING_CONDITIONS"),ALLOW_HINT_DISABLE=true)
+AUDIT_STRATEGY(TYPE(NAME="dml_sharding_conditions"),ALLOW_HINT_DISABLE=true)
 );
 
 DROP SHARDING TABLE RULE t_order;
@@ -186,7 +164,7 @@ DATANODES("ds_${0..1}.t_order_item_${0..1}"),
 DATABASE_STRATEGY(TYPE="standard",SHARDING_COLUMN=user_id,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="ds_${user_id % 2}")))),
 TABLE_STRATEGY(TYPE="standard",SHARDING_COLUMN=order_id,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="t_order_item_${order_id % 2}")))),
 KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME="snowflake")),
-AUDIT_STRATEGY (TYPE(NAME="DML_SHARDING_CONDITIONS"),ALLOW_HINT_DISABLE=true)
+AUDIT_STRATEGY(TYPE(NAME="dml_sharding_conditions"),ALLOW_HINT_DISABLE=true)
 );
 
 ALTER SHARDING TABLE RULE t_order_item (
@@ -194,7 +172,7 @@ DATANODES("ds_${0..3}.t_order_item${0..3}"),
 DATABASE_STRATEGY(TYPE="standard",SHARDING_COLUMN=user_id,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="ds_${user_id % 4}")))),
 TABLE_STRATEGY(TYPE="standard",SHARDING_COLUMN=order_id,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="t_order_item_${order_id % 4}")))),
 KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME="snowflake")),
-AUDIT_STRATEGY (TYPE(NAME="DML_SHARDING_CONDITIONS"),ALLOW_HINT_DISABLE=true)
+AUDIT_STRATEGY(TYPE(NAME="dml_sharding_conditions"),ALLOW_HINT_DISABLE=true)
 );
 
 DROP SHARDING TABLE RULE t_order_item;
diff --git a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.en.md b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.en.md
index 0c23e8dfad2..efe2245e342 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.en.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.en.md
@@ -24,20 +24,16 @@ DROP SHARDING ALGORITHM algorithmName [, algorithmName] ...
 
 DROP SHARDING KEY GENERATOR [IF EXISTS] keyGeneratorName [, keyGeneratorName] ...
     
-CREATE SHARDING AUDITOR auditorDefinition [, auditorDefinition] ...
-    
-ALTER SHARDING AUDITOR auditorDefinition [, auditorDefinition] ...
-    
 DROP SHARDING AUDITOR [IF EXISTS] auditorName [, auditorName] ...
 
 shardingTableRuleDefinition:
     shardingAutoTableRule | shardingTableRule
 
 shardingAutoTableRule:
-    tableName(storageUnits, shardingColumn, algorithmDefinition [, keyGenerateDefinition] [, auditDeclaration])
+    tableName(storageUnits, shardingColumn, algorithmDefinition [, keyGenerateDefinition] [, auditDefinition])
 
 shardingTableRule:
-    tableName(dataNodes [, databaseStrategy] [, tableStrategy] [, keyGenerateDefinition] [, auditDeclaration])
+    tableName(dataNodes [, databaseStrategy] [, tableStrategy] [, keyGenerateDefinition] [, auditDefinition])
 
 storageUnits:
     STORAGE_UNITS(storageUnit [, storageUnit] ...)
@@ -59,18 +55,12 @@ algorithmDefinition:
 
 keyGenerateDefinition:
     KEY_GENERATE_STRATEGY(COLUMN=columnName, strategyDefinition)
-    
-auditDeclaration:
-    auditDefinition | auditStrategy
 
 auditDefinition:
-    AUDIT_STRATEGY([(singleAuditDefinition),(singleAuditDefinition)], ALLOW_HINT_DISABLE=true)
-    
+    AUDIT_STRATEGY([singleAuditDefinition, singleAuditDefinition], ALLOW_HINT_DISABLE=true)
+
 singleAuditDefinition:
-    NAME=auditor1, algorithmDefinition
-    
-auditStrategy:
-    AUDIT_STRATEGY(AUDITORS=[auditor1,auditor2], ALLOW_HINT_DISABLE=true)
+    algorithmDefinition
 
 shardingScope:
     DATABASE | TABLE
@@ -90,23 +80,11 @@ shardingAlgorithm:
 strategyDefinition:
     TYPE(NAME=keyGenerateStrategyType [, PROPERTIES([algorithmProperties])])
 
-shardingAlgorithmDefinition:
-    shardingAlgorithmName(algorithmDefinition)
-
 algorithmProperties:
     algorithmProperty [, algorithmProperty] ...
 
 algorithmProperty:
-    key=value   
-
-keyGeneratorDefinition: 
-    keyGeneratorName (algorithmDefinition)
-
-auditorDefinition:
-    auditorName (auditorAlgorithmDefinition)
-    
-auditorAlgorithmDefinition:
-    TYPE(NAME=auditorAlgorithmType [, PROPERTIES([algorithmProperties])])
+    key=value
 ```
 - `STORAGE_UNITS` needs to use storage units managed by RDL
 - `shardingAlgorithmType` specifies the type of automatic sharding algorithm, please refer to [Auto Sharding Algorithm](/en/user-manual/common-config/builtin-algorithm/sharding/)
@@ -116,7 +94,6 @@ auditorAlgorithmDefinition:
 - To remove `shardingAlgorithm`, please execute `DROP SHARDING ALGORITHM`
 - `strategyType` specifies the sharding strategy, please refer to[Sharding Strategy](/en/features/sharding/concept/sharding/#sharding-strategy)
 - `Sharding Table Rule` supports both `Auto Table` and `Table` at the same time. The two types are different in syntax. For the corresponding configuration file, please refer to [Sharding](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding/)
-- When using the `autoCreativeAlgorithm` way to specify `shardingStrategy`, a new sharding algorithm will be created automatically. The algorithm naming rule is `tableName_strategyType_shardingAlgorithmType`, such as `t_order_database_inline`
 - executing `CREATE SHARDING TABLE RULE`,a new sharding algorithm will be created automatically. The algorithm naming rule is `tableName_scope_shardingAlgorithmType`,such as `t_order_database_inline`
 - executing `CREATE DEFAULT SHARDING STRATEGY`,a new sharding algorithm is also created automatically,The algorithm naming rule is `default_scope_shardingAlgorithmType`,such as `default_database_inline`
 
@@ -164,14 +141,14 @@ CREATE SHARDING TABLE RULE t_order (
 STORAGE_UNITS(ds_0,ds_1),
 SHARDING_COLUMN=order_id,TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="4")),
 KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME="snowflake")),
-AUDIT_STRATEGY (TYPE(NAME="DML_SHARDING_CONDITIONS"),ALLOW_HINT_DISABLE=true)
+AUDIT_STRATEGY(TYPE(NAME="dml_sharding_conditions"),ALLOW_HINT_DISABLE=true)
 );
 
 ALTER SHARDING TABLE RULE t_order (
 STORAGE_UNITS(ds_0,ds_1,ds_2,ds_3),
 SHARDING_COLUMN=order_id,TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="16")),
 KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME="snowflake")),
-AUDIT_STRATEGY (TYPE(NAME="DML_SHARDING_CONDITIONS"),ALLOW_HINT_DISABLE=true)
+AUDIT_STRATEGY(TYPE(NAME="dml_sharding_conditions"),ALLOW_HINT_DISABLE=true)
 );
 
 DROP SHARDING TABLE RULE t_order;
@@ -187,7 +164,7 @@ DATANODES("ds_${0..1}.t_order_item_${0..1}"),
 DATABASE_STRATEGY(TYPE="standard",SHARDING_COLUMN=user_id,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="ds_${user_id % 2}")))),
 TABLE_STRATEGY(TYPE="standard",SHARDING_COLUMN=order_id,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="t_order_item_${order_id % 2}")))),
 KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME="snowflake")),
-AUDIT_STRATEGY (TYPE(NAME="DML_SHARDING_CONDITIONS"),ALLOW_HINT_DISABLE=true)
+AUDIT_STRATEGY(TYPE(NAME="dml_sharding_conditions"),ALLOW_HINT_DISABLE=true)
 );
 
 ALTER SHARDING TABLE RULE t_order_item (
@@ -195,7 +172,7 @@ DATANODES("ds_${0..3}.t_order_item${0..3}"),
 DATABASE_STRATEGY(TYPE="standard",SHARDING_COLUMN=user_id,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="ds_${user_id % 4}")))),
 TABLE_STRATEGY(TYPE="standard",SHARDING_COLUMN=order_id,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="t_order_item_${order_id % 4}")))),
 KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME="snowflake")),
-AUDIT_STRATEGY (TYPE(NAME="DML_SHARDING_CONDITIONS"),ALLOW_HINT_DISABLE=true)
+AUDIT_STRATEGY(TYPE(NAME="dml_sharding_conditions"),ALLOW_HINT_DISABLE=true)
 );
 
 DROP SHARDING TABLE RULE t_order_item;
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/rule/YamlShardingAutoTableRuleConfigurationSwapper.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/rule/YamlShardingAutoTableRuleConfigurationSwapper.java
index bb290941b7d..6c087a3851f 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/rule/YamlShardingAutoTableRuleConfigurationSwapper.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/rule/YamlShardingAutoTableRuleConfigurationSwapper.java
@@ -23,6 +23,7 @@ import org.apache.shardingsphere.infra.util.yaml.swapper.YamlConfigurationSwappe
 import org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleConfiguration;
 import org.apache.shardingsphere.sharding.yaml.config.rule.YamlShardingAutoTableRuleConfiguration;
 import org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlKeyGenerateStrategyConfigurationSwapper;
+import org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingAuditStrategyConfigurationSwapper;
 import org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingStrategyConfigurationSwapper;
 
 /**
@@ -35,6 +36,8 @@ public final class YamlShardingAutoTableRuleConfigurationSwapper implements Yaml
     
     private final YamlKeyGenerateStrategyConfigurationSwapper keyGenerateStrategySwapper = new YamlKeyGenerateStrategyConfigurationSwapper();
     
+    private final YamlShardingAuditStrategyConfigurationSwapper auditStrategySwapper = new YamlShardingAuditStrategyConfigurationSwapper();
+    
     @Override
     public YamlShardingAutoTableRuleConfiguration swapToYamlConfiguration(final ShardingAutoTableRuleConfiguration data) {
         YamlShardingAutoTableRuleConfiguration result = new YamlShardingAutoTableRuleConfiguration();
@@ -59,6 +62,9 @@ public final class YamlShardingAutoTableRuleConfigurationSwapper implements Yaml
         if (null != yamlConfig.getKeyGenerateStrategy()) {
             result.setKeyGenerateStrategy(keyGenerateStrategySwapper.swapToObject(yamlConfig.getKeyGenerateStrategy()));
         }
+        if (null != yamlConfig.getAuditStrategy()) {
+            result.setAuditStrategy(auditStrategySwapper.swapToObject(yamlConfig.getAuditStrategy()));
+        }
         return result;
     }
 }
diff --git a/features/sharding/distsql/parser/src/main/antlr4/imports/sharding/RDLStatement.g4 b/features/sharding/distsql/parser/src/main/antlr4/imports/sharding/RDLStatement.g4
index cb6c4bead3e..83524de9301 100644
--- a/features/sharding/distsql/parser/src/main/antlr4/imports/sharding/RDLStatement.g4
+++ b/features/sharding/distsql/parser/src/main/antlr4/imports/sharding/RDLStatement.g4
@@ -160,7 +160,7 @@ multiAuditDefinition
     ;
 
 singleAuditDefinition
-    : LP_ algorithmDefinition RP_
+    : algorithmDefinition
     ;
 
 auditAllowHintDisable
diff --git a/test/it/parser/src/main/resources/sql/supported/rdl/alter.xml b/test/it/parser/src/main/resources/sql/supported/rdl/alter.xml
index 8cf45eabd94..bb52180d510 100644
--- a/test/it/parser/src/main/resources/sql/supported/rdl/alter.xml
+++ b/test/it/parser/src/main/resources/sql/supported/rdl/alter.xml
@@ -36,11 +36,11 @@
     <sql-case id="alter-shadow-rule" value="ALTER SHADOW RULE shadow_rule(SOURCE=demo_ds,SHADOW=demo_ds_shadow,t_order(TYPE(NAME='REGEX_MATCH',PROPERTIES('operation'='insert','column'='user_id','regex'='[1]')),TYPE(NAME='SIMPLE_HINT',PROPERTIES('shadow'='true','foo'='bar'))))" db-types="ShardingSphere" />
     <sql-case id="alter-sharding-auto-table-rule" value="ALTER SHARDING TABLE RULE t_order (STORAGE_UNITS(ms_group_0,ms_group_1), SHARDING_COLUMN=order_id, TYPE(NAME='hash_mod',PROPERTIES('sharding-count'='4')),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))" db-types="ShardingSphere" />
     <sql-case id="alter-sharding-auto-table-rule-with-inline-expression" value="ALTER SHARDING TABLE RULE t_order (STORAGE_UNITS('ms_group_${0..1}'), SHARDING_COLUMN=order_id, TYPE(NAME='hash_mod',PROPERTIES('sharding-count'='4')),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))" db-types="ShardingSphere" />
-    <sql-case id="alter-sharding-auto-table-rule-with-auditor" value="ALTER SHARDING TABLE RULE t_order (STORAGE_UNITS('ms_group_${0..1}'), SHARDING_COLUMN=order_id, TYPE(NAME='hash_mod',PROPERTIES('sharding-count'='4')),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')),AUDIT_STRATEGY((TYPE(NAME='DML_SHARDING_CONDITIONS')),ALLOW_HINT_DISABLE=true))" db-types="ShardingSphere" />
+    <sql-case id="alter-sharding-auto-table-rule-with-auditor" value="ALTER SHARDING TABLE RULE t_order (STORAGE_UNITS('ms_group_${0..1}'), SHARDING_COLUMN=order_id, TYPE(NAME='hash_mod',PROPERTIES('sharding-count'='4')),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')),AUDIT_STRATEGY(TYPE(NAME='DML_SHARDING_CONDITIONS'),ALLOW_HINT_DISABLE=true))" db-types="ShardingSphere" />
     <sql-case id="alter-sharding-table-reference-rule" value="ALTER SHARDING TABLE REFERENCE RULE reference_0 (t_order,t_order_item), reference_1 (t_1,t_2)" db-types="ShardingSphere" />
     <sql-case id="alter-sharding-table-rule" value="ALTER SHARDING TABLE RULE t_order (DATANODES('ms_group_${0..1}.t_order_${0..1}'),DATABASE_STRATEGY(TYPE='standard',sharding_column = order_id,sharding_algorithm(type(name='INLINE',PROPERTIES('algorithm-expression'='ms_group_${order_id % 2}')))),TABLE_STRATEGY(TYPE='standard',sharding_column = user_id,sharding_algorithm(type(name='INLINE',PROPERTIES('algorithm-expression'='t_order_${user_id % 2}')))),KEY_GENERATE_STRATEGY(COLUMN=another_ [...]
     <sql-case id="alter-sharding-table-rule-complex" value="ALTER SHARDING TABLE RULE t_order (DATANODES('ms_group_${0..1}_${0..1}.t_order_${0..1}'),DATABASE_STRATEGY(TYPE='complex',sharding_columns = order_id,user_id, sharding_algorithm(type(name='INLINE',PROPERTIES('algorithm-expression'='ms_group_${order_id % 2}_${user_id % 2}')))),TABLE_STRATEGY(TYPE='standard',sharding_column = user_id,sharding_algorithm(type(name='INLINE',PROPERTIES('algorithm-expression'='t_order_${user_id % 2}')) [...]
-    <sql-case id="alter-sharding-table-rule-with-auditor" value="ALTER SHARDING TABLE RULE t_order (DATANODES('ms_group_${0..1}.t_order_${0..1}'),DATABASE_STRATEGY(TYPE='standard',sharding_column = order_id,sharding_algorithm(type(name='INLINE',PROPERTIES('algorithm-expression'='ms_group_${order_id % 2}')))),TABLE_STRATEGY(TYPE='standard',sharding_column = user_id,sharding_algorithm(type(name='INLINE',PROPERTIES('algorithm-expression'='t_order_${user_id % 2}')))),KEY_GENERATE_STRATEGY(CO [...]
+    <sql-case id="alter-sharding-table-rule-with-auditor" value="ALTER SHARDING TABLE RULE t_order (DATANODES('ms_group_${0..1}.t_order_${0..1}'),DATABASE_STRATEGY(TYPE='standard',sharding_column = order_id,sharding_algorithm(type(name='INLINE',PROPERTIES('algorithm-expression'='ms_group_${order_id % 2}')))),TABLE_STRATEGY(TYPE='standard',sharding_column = user_id,sharding_algorithm(type(name='INLINE',PROPERTIES('algorithm-expression'='t_order_${user_id % 2}')))),KEY_GENERATE_STRATEGY(CO [...]
     <sql-case id="alter-default-sharding-strategy" value="ALTER DEFAULT SHARDING TABLE STRATEGY(TYPE='standard', SHARDING_COLUMN=order_id, SHARDING_ALGORITHM(TYPE(NAME='INLINE',PROPERTIES('algorithm-expression'='t_order_${order_id % 2}'))))" db-types="ShardingSphere" />
     <sql-case id="alter-default-sharding-strategy-complex" value="ALTER DEFAULT SHARDING TABLE STRATEGY(TYPE='complex', SHARDING_COLUMNS=order_id,user_id, SHARDING_ALGORITHM(TYPE(NAME='INLINE',PROPERTIES('algorithm-expression'='t_order_${order_id % 2}_${user_id % 2}'))))" db-types="ShardingSphere" />
 </sql-cases>
diff --git a/test/it/parser/src/main/resources/sql/supported/rdl/create.xml b/test/it/parser/src/main/resources/sql/supported/rdl/create.xml
index e306333f9c3..9d35d46b21c 100644
--- a/test/it/parser/src/main/resources/sql/supported/rdl/create.xml
+++ b/test/it/parser/src/main/resources/sql/supported/rdl/create.xml
@@ -28,7 +28,7 @@
     <sql-case id="register-storage-unit-url-single-with-properties" value="REGISTER STORAGE UNIT ds_0(URL='jdbc:mysql://127.0.0.1:3306/test0',USER='ROOT',PASSWORD='123456',PROPERTIES('maxPoolSize'='30'))" db-types="ShardingSphere" />
     <sql-case id="create-sharding-auto-table-rule" value="CREATE SHARDING TABLE RULE t_order (STORAGE_UNITS(ms_group_0,ms_group_1), SHARDING_COLUMN=order_id,TYPE(NAME='hash_mod',PROPERTIES('sharding-count'='4')), KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))" db-types="ShardingSphere" />
     <sql-case id="create-sharding-auto-table-rule-with-inline-expression" value="CREATE SHARDING TABLE RULE t_order (STORAGE_UNITS('ms_group_${0..1}'), SHARDING_COLUMN=order_id,TYPE(NAME='hash_mod',PROPERTIES('sharding-count'=4)), KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))" db-types="ShardingSphere" />
-    <sql-case id="create-sharding-auto-table-rule-with-auditor" value="CREATE SHARDING TABLE RULE t_order (STORAGE_UNITS('ms_group_${0..1}'), SHARDING_COLUMN=order_id,TYPE(NAME='hash_mod',PROPERTIES('sharding-count'=4)), KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')), AUDIT_STRATEGY((TYPE(NAME='DML_SHARDING_CONDITIONS')),(TYPE(NAME='DML_SHARDING_CONDITIONS')),ALLOW_HINT_DISABLE=true))" db-types="ShardingSphere" />
+    <sql-case id="create-sharding-auto-table-rule-with-auditor" value="CREATE SHARDING TABLE RULE t_order (STORAGE_UNITS('ms_group_${0..1}'), SHARDING_COLUMN=order_id,TYPE(NAME='hash_mod',PROPERTIES('sharding-count'=4)), KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')), AUDIT_STRATEGY(TYPE(NAME='DML_SHARDING_CONDITIONS'),TYPE(NAME='DML_SHARDING_CONDITIONS'),ALLOW_HINT_DISABLE=true))" db-types="ShardingSphere" />
     <sql-case id="create-sharding-table-reference-rule" value="CREATE SHARDING TABLE REFERENCE RULE reference_0 (t_order,t_order_item), reference_1 (t_1,t_2)" db-types="ShardingSphere" />
     <sql-case id="create-sharding-table-reference-rule-with-quota" value="CREATE SHARDING TABLE REFERENCE RULE reference_0 (`t_order`,`t_order_item`), reference_1 (t_1,t_2)" db-types="ShardingSphere" />
     <sql-case id="create-broadcast-table-rule" value="CREATE BROADCAST TABLE RULE t_1,t_2" db-types="ShardingSphere" />
@@ -46,7 +46,7 @@
     <sql-case id="create-sharding-table-rule-with-enum-inline-expression" value="CREATE SHARDING TABLE RULE t_order (DATANODES(&quot;ms_group_${['abc','ac']}.t_order_${0..1}&quot;),DATABASE_STRATEGY(TYPE='standard',sharding_column = order_name,sharding_algorithm(type(name='INLINE',PROPERTIES('algorithm-expression'='ms_group_{order_name}')))),TABLE_STRATEGY(TYPE='standard',sharding_column = user_id,sharding_algorithm(type(name='INLINE',PROPERTIES('algorithm-expression'='t_order_${user_id  [...]
     <sql-case id="create-sharding-table-rule-complex" value="CREATE SHARDING TABLE RULE t_order (DATANODES('ms_group_${0..1}_${0..1}.t_order_${0..1}'),DATABASE_STRATEGY(TYPE='complex',sharding_columns = order_id,user_id,sharding_algorithm(type(name='INLINE',PROPERTIES('algorithm-expression'='ms_group_${order_id % 2}_${user_id % 2}')))),TABLE_STRATEGY(TYPE='standard',sharding_column = user_id,sharding_algorithm(type(name='INLINE',PROPERTIES('algorithm-expression'='t_order_${user_id % 2}') [...]
     <sql-case id="create-sharding-table-rule-with-auto-create-algorithm" value="CREATE SHARDING TABLE RULE t_order (DATANODES('ms_group_${0..1}.t_order_${0..1}'),DATABASE_STRATEGY(TYPE='standard',sharding_column = order_id,sharding_algorithm(TYPE(NAME='INLINE',PROPERTIES('algorithm-expression'='ms_group_${order_id % 2}')))),TABLE_STRATEGY(TYPE='standard',sharding_column = user_id,sharding_algorithm(type(name='INLINE',PROPERTIES('algorithm-expression'='t_order_${user_id % 2}')))),KEY_GENE [...]
-    <sql-case id="create-sharding-table-rule-with-auditor" value="CREATE SHARDING TABLE RULE t_order (DATANODES('ms_group_${0..1}.t_order_${0..1}'),DATABASE_STRATEGY(TYPE='standard',sharding_column = order_id,sharding_algorithm(TYPE(NAME='INLINE',PROPERTIES('algorithm-expression'='ms_group_${order_id % 2}')))),TABLE_STRATEGY(TYPE='standard',sharding_column = user_id,sharding_algorithm(type(name='INLINE',PROPERTIES('algorithm-expression'='t_order_${user_id % 2}')))),KEY_GENERATE_STRATEGY( [...]
+    <sql-case id="create-sharding-table-rule-with-auditor" value="CREATE SHARDING TABLE RULE t_order (DATANODES('ms_group_${0..1}.t_order_${0..1}'),DATABASE_STRATEGY(TYPE='standard',sharding_column = order_id,sharding_algorithm(TYPE(NAME='INLINE',PROPERTIES('algorithm-expression'='ms_group_${order_id % 2}')))),TABLE_STRATEGY(TYPE='standard',sharding_column = user_id,sharding_algorithm(type(name='INLINE',PROPERTIES('algorithm-expression'='t_order_${user_id % 2}')))),KEY_GENERATE_STRATEGY( [...]
     <sql-case id="create-default-shadow-algorithm" value="CREATE DEFAULT SHADOW ALGORITHM TYPE(NAME='HINT', PROPERTIES('shadow'='true', 'foo'='bar'))" db-types="ShardingSphere" />
     <sql-case id="set-default-single-table-storage-unit" value="SET DEFAULT SINGLE TABLE STORAGE UNIT = ds_0" db-types="ShardingSphere" />
     <sql-case id="set-default-single-table-storage-unit-random" value="SET DEFAULT SINGLE TABLE STORAGE UNIT = RANDOM" db-types="ShardingSphere" />