ALTER SHADOW RULE
描述
ALTER SHADOW RULE 语法用于修改影子库压测规则。
语法定义
AlterShadowRule ::=
'ALTER' 'SHADOW' 'RULE' shadowRuleDefinition (',' shadowRuleDefinition)*
shadowRuleDefinition ::=
ruleName '(' storageUnitMapping ',' shadowTableRule (',' shadowTableRule)* ')'
storageUnitMapping ::=
'SOURCE' '=' storageUnitName ',' 'SHADOW' '=' storageUnitName
shadowTableRule ::=
tableName '(' shadowAlgorithm (',' 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指定源数据库和影子库的映射关系,需使用RDL管理的STORAGE UNIT,请参考 存储单元;shadowAlgorithm可同时作用于多个shadowTableRule;algorithmName会根据ruleName、tableName和shadowAlgorithmType自动生成;shadowAlgorithmType目前支持VALUE_MATCH、REGEX_MATCH和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