Shadow 
          
        
  
 
Syntax 
CREATE  SHADOW RULE  shadowRuleDefinition [, shadowRuleDefinition] ... 
ALTER  SHADOW RULE  shadowRuleDefinition [, shadowRuleDefinition] ... 
DROP  SHADOW RULE  ruleName [, ruleName] ...
DROP  SHADOW ALGORITHM algorithmName [, algorithmName] ...
    
CREATE  DEFAULT  SHADOW ALGORITHM shadowAlgorithm
ALTER  DEFAULT  SHADOW ALGORITHM shadowAlgorithm
DROP  DEFAULT  SHADOW ALGORITHM [IF  EXISTS ]
SHOW  DEFAULT  SHADOW ALGORITHM
SHOW  SHADOW ALGORITHMS
shadowRuleDefinition: ruleName(storageUnitMapping, shadowTableRule [, shadowTableRule] ...)
storageUnitMapping: SOURCE = storageUnitName, SHADOW= storageUnitName
shadowTableRule: tableName(shadowAlgorithm [, shadowAlgorithm] ...)
shadowAlgorithm: TYPE (NAME= shadowAlgorithmType, PROPERTIES([algorithmProperties] ...))
algorithmProperties: algorithmProperty [, algorithmProperty] ... 
algorithmProperty: key = value
Parameters Explained 
name 
DateType 
Description 
 
 
ruleName 
IDENTIFIER 
Rule name 
 
storageUnitName 
IDENTIFIER 
Storage unit name 
 
tableName 
IDENTIFIER 
Shadow table name 
 
algorithmName 
IDENTIFIER 
Shadow algorithm name 
 
shadowAlgorithmType 
STRING 
Shadow algorithm type 
 
 
Notes 
Duplicate ruleName cannot be created 
storageUnitMapping specifies the mapping relationship between the source database and the shadow library. You need to use the storage unit managed by RDL, please refer to storage unit  
shadowAlgorithmType currently supports VALUE_MATCH, REGEX_MATCH and SIMPLE_HINT 
When executing ALTER SHADOW RULE, the corresponding shadowAlgorithm will not be removed 
When creating shadow rule, algorithmName will be automatically generated according to ruleName, tableName, shadowAlgorithmType and algorithm collection index. The default name is default_shadow_algorithm. 
 
Example 
CREATE  SHADOW RULE  shadow_rule(
SOURCE = demo_ds,
SHADOW= demo_ds_shadow,
t_order(TYPE (NAME= "SIMPLE_HINT" , PROPERTIES("shadow" = true , "foo" = "bar" )),TYPE (NAME= "REGEX_MATCH" , PROPERTIES("operation" = "insert" ,"column" = "user_id" , "regex" = '[1]' ))), 
t_order_item(TYPE (NAME= "VALUE_MATCH" , PROPERTIES("operation" = "insert" ,"column" = "user_id" , "value" = 1 ))));
ALTER  SHADOW RULE  shadow_rule(
SOURCE = demo_ds,
SHADOW= demo_ds_shadow,
t_order(TYPE (NAME= "SIMPLE_HINT" , PROPERTIES("shadow" = true , "foo" = "bar" )),TYPE (NAME= "REGEX_MATCH" , PROPERTIES("operation" = "insert" ,"column" = "user_id" , "regex" = '[1]' ))), 
t_order_item(TYPE (NAME= "VALUE_MATCH" , PROPERTIES("operation" = "insert" ,"column" = "user_id" , "value" = 1 ))));
DROP  SHADOW RULE  shadow_rule;
DROP  SHADOW ALGORITHM simple_hint_algorithm;
CREATE  DEFAULT  SHADOW ALGORITHM TYPE (NAME= "SIMPLE_HINT" , PROPERTIES("shadow" = true , "foo" = "bar" ));
ALTER  DEFAULT  SHADOW ALGORITHM TYPE (NAME= "SIMPLE_HINT" , PROPERTIES("shadow" = false , "foo" = "bar" ));
SHOW  DEFAULT  SHADOW ALGORITHM;
DROP  DEFAULT  SHADOW ALGORITHM;