The ALTER READWRITE_SPLITTING RULE
syntax is used to alter a readwrite-splitting rule.
AlterReadwriteSplittingRule ::=
'ALTER' 'READWRITE_SPLITTING' 'RULE' readwriteSplittingDefinition (',' readwriteSplittingDefinition)*
readwriteSplittingDefinition ::=
ruleName '(' dataSourceDefinition (',' transactionalReadQueryStrategyDefinition)? (',' loadBalancerDefinition)? ')'
dataSourceDefinition ::=
'WRITE_STORAGE_UNIT' '=' writeStorageUnitName ',' 'READ_STORAGE_UNITS' '(' storageUnitName (',' storageUnitName)* ')'
transactionalReadQueryStrategyDefinition ::=
'TRANSACTIONAL_READ_QUERY_STRATEGY' '=' transactionalReadQueryStrategyType
loadBalancerDefinition ::=
'TYPE' '(' 'NAME' '=' algorithmType (',' propertiesDefinition)? ')'
ruleName ::=
identifier
writeStorageUnitName ::=
identifier
storageUnitName ::=
identifier
transactionalReadQueryStrategyType ::=
string
algorithmType ::=
string
propertiesDefinition ::=
'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'
key ::=
string
value ::=
literal
transactionalReadQueryStrategyType
specifies the routing strategy for read query within a transaction, please refer to YAML configuration;algorithmType
specifies the load balancing algorithm type, please refer to Load Balance Algorithm.ALTER READWRITE_SPLITTING RULE ms_group_0 (
WRITE_STORAGE_UNIT=write_ds,
READ_STORAGE_UNITS(read_ds_0,read_ds_1),
TYPE(NAME="random")
);
ALTER
, READWRITE_SPLITTING
, RULE
, WRITE_STORAGE_UNIT
, READ_STORAGE_UNITS
, TYPE
, NAME
, PROPERTIES
, TRUE
, FALSE