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 9fc3ef2f65f add build-in algorithms for `mask rule` in G4 file (#23412)
9fc3ef2f65f is described below
commit 9fc3ef2f65fac6357bfaf29f655e48dab5993256
Author: Zichao <[email protected]>
AuthorDate: Mon Jan 9 04:26:16 2023 +1300
add build-in algorithms for `mask rule` in G4 file (#23412)
---
.../src/main/antlr4/imports/mask/BaseRule.g4 | 13 ++++++
.../parser/src/main/antlr4/imports/mask/Keyword.g4 | 52 ++++++++++++++++++++++
2 files changed, 65 insertions(+)
diff --git
a/features/mask/distsql/parser/src/main/antlr4/imports/mask/BaseRule.g4
b/features/mask/distsql/parser/src/main/antlr4/imports/mask/BaseRule.g4
index 413275f30db..50a48d18098 100644
--- a/features/mask/distsql/parser/src/main/antlr4/imports/mask/BaseRule.g4
+++ b/features/mask/distsql/parser/src/main/antlr4/imports/mask/BaseRule.g4
@@ -33,6 +33,19 @@ algorithmTypeName
buildinAlgorithmTypeName
: MD5
+ | KEEP_FIRST_N_LAST_M
+ | KEEP_FROM_X_TO_Y
+ | MASK_FIRST_N_LAST_M
+ | MASK_FROM_X_TO_Y
+ | MASK_BEFORE_SPECIAL_CHAR
+ | MASK_AFTER_SPECIAL_CHAR
+ | PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE
+ | MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE
+ | LANDLINE_NUMBER_RANDOM_REPLACE
+ | TELEPHONE_RANDOM_REPLACE
+ | UNIFIED_CREDIT_CODE_RANDOM_REPLACE
+ | GENERIC_TABLE_RANDOM_REPLACE
+ | ADDRESS_RANDOM_REPLACE
;
propertiesDefinition
diff --git
a/features/mask/distsql/parser/src/main/antlr4/imports/mask/Keyword.g4
b/features/mask/distsql/parser/src/main/antlr4/imports/mask/Keyword.g4
index ec9a9763da7..fed090b45eb 100644
--- a/features/mask/distsql/parser/src/main/antlr4/imports/mask/Keyword.g4
+++ b/features/mask/distsql/parser/src/main/antlr4/imports/mask/Keyword.g4
@@ -98,3 +98,55 @@ NOT
MD5
: M D [5]
;
+
+KEEP_FIRST_N_LAST_M
+ : K E E P UL_ F I R S T UL_ N UL_ L A S T UL_ M
+ ;
+
+KEEP_FROM_X_TO_Y
+ : K E E P UL_ F R O M UL_ X UL_ T O UL_ Y
+ ;
+
+MASK_FIRST_N_LAST_M
+ : M A S K UL_ F I R S T UL_ N UL_ L A S T UL_ M
+ ;
+
+MASK_FROM_X_TO_Y
+ : M A S K UL_ F R O M UL_ X UL_ T O UL_ Y
+ ;
+
+MASK_BEFORE_SPECIAL_CHAR
+ : M A S K UL_ B E F O R E UL_ S P E C I A L UL_ C H A R
+ ;
+
+MASK_AFTER_SPECIAL_CHAR
+ : M A S K UL_ A F T E R UL_ S P E C I A L UL_ C H A R
+ ;
+
+PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE
+ : P E R S O N A L UL_ I D E N T I T Y UL_ N U M B E R UL_ R A N D O M UL_
R E P L A C E
+ ;
+
+MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE
+ : M I L I T A R Y UL_ I D E N T I T Y UL_ N U M B E R UL_ R A N D O M UL_
R E P L A C E
+ ;
+
+LANDLINE_NUMBER_RANDOM_REPLACE
+ : L A N D L I N E UL_ N U M B E R UL_ R A N D O M UL_ R E P L A C E
+ ;
+
+TELEPHONE_RANDOM_REPLACE
+ : T E L E P H O N E UL_ R A N D O M UL_ R E P L A C E
+ ;
+
+UNIFIED_CREDIT_CODE_RANDOM_REPLACE
+ : U N I F I E D UL_ C R E D I T UL_ C O D E UL_ R A N D O M UL_ R E P L A
C E
+ ;
+
+GENERIC_TABLE_RANDOM_REPLACE
+ : G E N E R I C UL_ T A B L E UL_ R A N D O M UL_ R E P L A C E
+ ;
+
+ADDRESS_RANDOM_REPLACE
+ : A D D R E S S UL_ R A N D O M UL_ R E P L A C E
+ ;