ALTER READWRITE_SPLITTING RULE

Description

The ALTER READWRITE_SPLITTING RULE syntax is used to alter a readwrite splitting rule.

Syntax

  1. AlterReadwriteSplittingRule ::=
  2. 'ALTER' 'READWRITE_SPLITTING' 'RULE' readwriteSplittingDefinition ( ',' readwriteSplittingDefinition )*
  3. readwriteSplittingDefinition ::=
  4. ruleName '(' ( staticReadwriteSplittingDefinition | dynamicReadwriteSplittingDefinition ) ( ',' loadBalancerDefinition )? ')'
  5. staticReadwriteSplittingDefinition ::=
  6. 'WRITE_RESOURCE' '=' writeResourceName ',' 'READ_RESOURCES' '(' ruleName (',' ruleName)* ')'
  7. dynamicReadwriteSplittingDefinition ::=
  8. 'AUTO_AWARE_RESOURCE' '=' resourceName ( ',' 'WRITE_DATA_SOURCE_QUERY_ENABLED' '=' ('TRUE' | 'FALSE') )?
  9. loadBalancerDefinition ::=
  10. 'TYPE' '(' 'NAME' '=' loadBalancerType ( ',' 'PROPERTIES' '(' 'key' '=' 'value' ( ',' 'key' '=' 'value' )* ')' )? ')'
  11. ruleName ::=
  12. identifier
  13. writeResourceName ::=
  14. identifier
  15. resourceName ::=
  16. identifier
  17. loadBalancerType ::=
  18. string

Supplement

  • Dynamic readwrite-splitting rules rely on database discovery rules;
  • loadBalancerType specifies the load balancing algorithm type, please refer to Load Balance Algorithm;

Example

Alter a statics readwrite splitting rule

  1. ALTER READWRITE_SPLITTING RULE ms_group_0 (
  2. WRITE_RESOURCE=write_ds,
  3. READ_RESOURCES(read_ds_0,read_ds_1),
  4. TYPE(NAME="random")
  5. );

Alter a dynamic readwrite splitting rule

  1. ALTER READWRITE_SPLITTING RULE ms_group_1 (
  2. AUTO_AWARE_RESOURCE=group_0,
  3. WRITE_DATA_SOURCE_QUERY_ENABLED=false,
  4. TYPE(NAME="random",PROPERTIES("read_weight"="2:1"))
  5. );

Reserved word

ALTER, READWRITE_SPLITTING, RULE, WRITE_RESOURCE, READ_RESOURCES, AUTO_AWARE_RESOURCE , WRITE_DATA_SOURCE_QUERY_ENABLED, TYPE, NAME, PROPERTIES, TRUE, FALSE