RAL (Resource & Rule Administration Language) responsible for hint, circuit breaker, configuration import and export, scaling control and other management functions.

Hint

StatementFunctionExample
SET READWRITE_SPLITTING HINT SOURCE = [auto / write]For current connection, set readwrite splitting routing strategy (automatic or forced to write data source)SET READWRITE_SPLITTINGHINT SOURCE = write
SET SHARDING HINT DATABASE_VALUE = yyFor current connection, set sharding value for database sharding only, yy: sharding valueSET SHARDING HINT DATABASE_VALUE = 100
ADD SHARDING HINT DATABASE_VALUE xx = yyFor current connection, add sharding value for table, xx: logic table, yy: database sharding valueADD SHARDING HINT DATABASE_VALUE t_order = 100
ADD SHARDING HINT TABLE_VALUE xx = yyFor current connection, add sharding value for table, xx: logic table, yy: table sharding valueADD SHARDING HINT TABLE_VALUE t_order = 100
CLEAR HINTFor current connection, clear all hint settingsCLEAR HINT
CLEAR [SHARDING HINT / READWRITE_SPLITTING HINT]For current connection, clear hint settings of sharding or readwrite splittingCLEAR READWRITE_SPLITTING HINT
SHOW [SHARDING / READWRITE_SPLITTING] HINT STATUSFor current connection, query hint settings of sharding or readwrite splittingSHOW READWRITE_SPLITTING HINT STATUS

Migration

StatementFunctionExample
MIGRATE TABLE ds.schema.table INTO tableMigrate table from source to targetMIGRATE TABLE ds_0.public.t_order INTO t_order
SHOW MIGRATION LISTQuery running listSHOW MIGRATION LIST
SHOW MIGRATION STATUS jobIdQuery migration statusSHOW MIGRATION STATUS 1234
STOP MIGRATION jobIdStop migrationSTOP MIGRATION 1234
START MIGRATION jobIdStart stopped migrationSTART MIGRATION 1234
CHECK MIGRATION jobIdData consistency checkCHECK MIGRATION 1234
SHOW MIGRATION CHECK ALGORITHMSShow available consistency check algorithmsSHOW MIGRATION CHECK ALGORITHMS
CHECK MIGRATION jobId BY TYPE(NAME=algorithmTypeName)Data consistency check with defined algorithmCHECK MIGRATION 1234 BY TYPE(NAME=”DATA_MATCH”)
SHOW MIGRATION CHECK STATUS jobIdQuery data consistency check statusSHOW MIGRATION CHECK STATUS 1234
STOP MIGRATION CHECK jobIdStop data consistency checkSTOP MIGRATION CHECK 1234
START MIGRATION CHECK jobIdStart data consistency checkSTART MIGRATION CHECK 1234
DROP MIGRATION CHECK jobIdDrop data consistency checkDROP MIGRATION CHECK 1234
ROLLBACK MIGRATION jobIdRollback migrationROLLBACK MIGRATION 1234
COMMIT MIGRATION jobIdCommit migrationCOMMIT MIGRATION 1234

Circuit Breaker

StatementFunctionExample
ALTER READWRITE_SPLITTING RULE [ groupName ] (ENABLE / DISABLE) storageUnitName [FROM databaseName]Enable or disable read data sourceALTER READWRITE_SPLITTING RULE group_1 ENABLE read_ds_1
[ENABLE / DISABLE] COMPUTE NODE instanceIdEnable or disable proxy instanceDISABLE COMPUTE NODE instance_1
SHOW COMPUTE NODESQuery proxy instance informationSHOW COMPUTE NODES
SHOW STATUS FROM READWRITE_SPLITTING (RULES / RULE groupName) [FROM databaseName]Query data sources status of readwrite splitting groupsSHOW STATUS FROM READWRITE_SPLITTING RULES

Global Rule

StatementFunctionExample
SHOW AUTHORITY RULEQuery authority rule configurationSHOW AUTHORITY RULE
SHOW TRANSACTION RULEQuery transaction rule configurationSHOW TRANSACTION RULE
SHOW SQL_PARSER RULEQuery SQL parser rule configurationSHOW SQL_PARSER RULE
ALTER TRANSACTION RULE(DEFAULT=xx,TYPE(NAME=xxx, PROPERTIES(key1=value1,key2=value2…)))Alter transaction rule configuration, DEFAULT: default transaction type, support LOCAL, XA, BASE; NAME: name of transaction manager, support Atomikos, Narayana and BitronixALTER TRANSACTION RULE(DEFAULT=”XA”,TYPE(NAME=”Narayana”, PROPERTIES(“databaseName”=”jbossts”,“host”=”127.0.0.1”)))
ALTER SQL_PARSER RULE SQL_COMMENT_PARSE_ENABLE=xx, PARSE_TREE_CACHE(INITIAL_CAPACITY=xx, MAXIMUM_SIZE=xx, CONCURRENCY_LEVEL=xx), SQL_STATEMENT_CACHE(INITIAL_CAPACITY=xxx, MAXIMUM_SIZE=xxx, CONCURRENCY_LEVEL=xxx)Alter SQL parser rule configuration, SQL_COMMENT_PARSE_ENABLE: whether to parse the SQL comment, PARSE_TREE_CACHE: local cache configuration of syntax tree, SQL_STATEMENT_CACHE: local cache of SQL statementALTER SQL_PARSER RULE SQL_COMMENT_PARSE_ENABLE=false, PARSE_TREE_CACHE(INITIAL_CAPACITY=10, MAXIMUM_SIZE=11, CONCURRENCY_LEVEL=1), SQL_STATEMENT_CACHE(INITIAL_CAPACITY=11, MAXIMUM_SIZE=11, CONCURRENCY_LEVEL=100)

Other

StatementFunctionExample
SHOW COMPUTE NODE INFOQuery the instance information of the proxySHOW COMPUTE NODE INFO
SHOW COMPUTE NODE MODEQuery the mode configuration of the proxySHOW COMPUTE NODE MODE
SET DIST VARIABLE proxy_property_name = xxproxy_property_name is one of properties configuration of proxy, name is split by underscoreSET DIST VARIABLE sql_show = true
SET DIST VARIABLE transaction_type = xxModify transaction_type of the current connection, supports LOCAL, XA, BASESET DIST VARIABLE transaction_type = “XA”
SET DIST VARIABLE agent_plugins_enabled = [TRUE / FALSE]Set whether the agent plugins are enabled, the default value is falseSET DIST VARIABLE agent_plugins_enabled = TRUE
SHOW DIST VARIABLESQuery proxy all properties configurationSHOW DIST VARIABLES
SHOW DIST VARIABLE WHERE name = variable_nameQuery proxy variable, name is split by underscoreSHOW DIST VARIABLE WHERE name = sql_show
REFRESH TABLE METADATARefresh the metadata of all tablesREFRESH TABLE METADATA
REFRESH TABLE METADATA tableNameRefresh the metadata of the specified tableREFRESH TABLE METADATA t_order
REFRESH TABLE METADATA tableName FROM STORAGE UNIT storageUnitNameRefresh the tables’ metadata in the specified data sourceREFRESH TABLE METADATA t_order FROM STORAGE UNIT ds_1
REFRESH TABLE METADATA FROM STORAGE UNIT storageUnitName SCHEMA schemaNameRefresh the tables’ metadata in a schema of a specified data source. If there are no tables in the schema, the schema will be deleted.REFRESH TABLE METADATA FROM STORAGE UNIT ds_1 SCHEMA db_schema
REFRESH DATABASE METADATA [databaseName] FROM GOVERNANCE CENTERPull the latest configuration from the governance center and refresh the metadata of the local logic databaseREFRESH DATABASE METADATA [databaseName] FROM GOVERNANCE CENTER
SHOW TABLE METADATA tableName [, tableName] …Query table metadataSHOW TABLE METADATA t_order
EXPORT DATABASE CONFIGURATION [FROM databaseName] [TO FILE “filePath”]Export data sources and rule configurations to YAML formatEXPORT DATABASE CONFIGURATION FROM readwrite_splitting_db
IMPORT DATABASE CONFIGURATION FILE=”file_path”Import data sources and rule configurations from YAML, only supports import into an empty databaseIMPORT DATABASE CONFIGURATION FILE = “/xxx/config-sharding.yaml”
SHOW RULES USED STORAGE UNIT storageUnitName [FROM databaseName]Query the rules for using the specified data source in databaseSHOW RULES USED STORAGE UNIT ds_0 FROM databaseName

Notice

ShardingSphere-Proxy does not support hint by default, to support it, set proxy-hint-enabled to true in conf/server.yaml.