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;