The ALTER SHADOW RULE syntax is used to alter shadow rule.
AlterShadowRule ::=
  'ALTER' 'SHADOW' 'RULE' shadowRuleDefinition (',' shadowRuleDefinition)*
shadowRuleDefinition ::=
  ruleName '(' storageUnitMapping shadowTableRule (',' shadowTableRule)* ')'
    
storageUnitMapping ::=
  'SOURCE' '=' storageUnitName ',' 'SHADOW' '=' storageUnitName
shadowTableRule ::=
  tableName '(' shadowAlgorithm ')'
    
shadowAlgorithm ::=
  'TYPE' '(' 'NAME' '=' shadowAlgorithmType ',' propertiesDefinition ')'
ruleName ::=
  identifier
storageUnitName ::=
  identifier
tableName ::=
  identifier
algorithmName ::=
  identifier
shadowAlgorithmType ::=
  string
propertiesDefinition ::=
  'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'
key ::=
  string
value ::=
  literal
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;shadowAlgorithm can act on multiple shadowTableRule at the same time;algorithmName is not specified, it will be automatically generated according to ruleName, tableName
and shadowAlgorithmType;shadowAlgorithmType currently supports VALUE_MATCH, REGEX_MATCH and SQL_HINT.ALTER SHADOW RULE shadow_rule(
  SOURCE=demo_ds,
  SHADOW=demo_ds_shadow,
  t_order(TYPE(NAME="SQL_HINT")), 
  t_order_item(TYPE(NAME="VALUE_MATCH", PROPERTIES("operation"="insert","column"="user_id", "value"='1')))
);
ALTER, SHADOW, RULE, SOURCE, SHADOW, TYPE, NAME, PROPERTIES
