blob: 132f979d31110846add972bc49791b51a53ea06d [file] [log] [blame]
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>ShardingSphere</title>
<link>https://shardingsphere.apache.org/document/current/en/</link>
<description>Recent content on ShardingSphere</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<atom:link href="https://shardingsphere.apache.org/document/current/en/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Add Bitronix dependencies</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/dependencies-download/add_bitronix_dependency/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/dependencies-download/add_bitronix_dependency/</guid>
<description>Add Bitronix dependencies Adding Bitronix dependencies requires downloading the following jar files and adding them under ext-lib path.
jar file downloads btm-2.1.3.jar shardingsphere-transaction-xa-bitronix.jar Please download the corresponding shardingsphere-transaction-xa-bitronix.jar file according to the proxy version.</description>
</item>
<item>
<title>ALTER READWRITE_SPLITTING RULE ENABLE/DISABLE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/alter-readwrite-splitting-rule-enable-disable/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/alter-readwrite-splitting-rule-enable-disable/</guid>
<description>Description The ALTER READWRITE_SPLITTING RULE ENABLE/DISABLE syntax is used enable/disable a specified read source for specified readwrite-splitting rule.
Syntax Grammar Railroad diagram AlterReadwriteSplittingRule ::= &amp;#39;ALTER&amp;#39; &amp;#39;READWRITE_SPLITTING&amp;#39; &amp;#39;RULE&amp;#39; groupName (&amp;#39;ENABLE&amp;#39; | &amp;#39;DISABLE&amp;#39;) storageUnitName &amp;#39;FROM&amp;#39; databaseName groupName ::= identifier storageUnitName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.</description>
</item>
<item>
<title>Authentication &amp; Authorization</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/authority/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/authority/</guid>
<description>Background In ShardingSphere-Proxy, user authentication and authorization information is configured through authority.
Thanks to ShardingSphere&amp;rsquo;s pluggable architecture, Proxy provides two levels of privilege providers, namely:
ALL_PERMITTED: each user has all privileges without special authorization. DATABASE_PERMITTED: grants the user privileges on the specified logical databases, defined by user-database-mappings. The administrator can choose which privilege provider to use as needed when configuring authority.
Parameters authority: users: - user: # Specify the username, and authorized host for logging in to the compute node.</description>
</item>
<item>
<title>Build</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/migration/build/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/migration/build/</guid>
<description>Background For systems running on a single database that urgently need to securely and simply migrate data to a horizontally sharded database.
Prerequisites Proxy is developed in JAVA, and JDK version 1.8 or later is recommended. Data migration adopts the cluster mode, and ZooKeeper is currently supported as the registry. Procedure Get ShardingSphere-Proxy. Please refer to proxy startup guide for details.
Modify the configuration file conf/server.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/db-gateway/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/db-gateway/concept/</guid>
<description>SQL Dialect SQL dialect means database dialect, and it indicates that some database projects have their own unique syntax in addition to SQL, which are also called dialects. Different database projects may have different SQL dialects.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/encrypt/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/encrypt/concept/</guid>
<description>Logic column It is used to calculate the encryption and decryption columns and it is the logical identifier of the column in SQL. Logical columns contain ciphertext columns (mandatory), query-helper columns (optional), like-query columns (optional), and plaintext columns (optional).
Cipher column Encrypted data columns.
Assisted query column It is a helper column used for queries. For some non-idempotent encryption algorithms with higher security levels, irreversible idempotent columns are provided for queries.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/management/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/management/concept/</guid>
<description>Circuit Breaker Fuse connection between Apache ShardingSphere and the database. When an Apache ShardingSphere node exceeds the max load, stop the node&amp;rsquo;s access to the database, so that the database can ensure sufficient resources to provide services for other Apache ShardingSphere nodes.
Request Limit In the face of overload requests, open request limiting to protect some requests can still respond quickly.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/mask/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/mask/concept/</guid>
<description>Logic column The logical name used to calculate masked column, which is logical identifier of column in SQL.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/migration/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/migration/concept/</guid>
<description>Nodes Instances for running compute or storage tier component processes. These can either be physical machines, virtual machines, or containers, etc.
Cluster Multiple nodes that are assembled together to provide a specified service.
Source The storage cluster where the original data resides.
Target The target storage cluster to which the original data is to be migrated.
Data Migration Process The entire process of replicating data from one storage cluster to another.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/observability/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/observability/concept/</guid>
<description>Agent Based on bytecode enhancement and plugin design to provide tracing, metrics and logging features.
Only after the plugin of the Agent is enabled, the monitoring indicator data can be output to the third-party APM for display.
APM APM is an acronym for Application Performance Monitoring.
Focusing on the performance diagnosis of distributed systems, its main functions include call chain display, application topology analysis, etc.
Tracing Tracing data between distributed services or internal processes will be collected by agent.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/readwrite-splitting/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/readwrite-splitting/concept/</guid>
<description>Primary database The primary database is used to add, update, and delete data operations. Currently, only single primary database is supported.
Secondary database The secondary database is used to query data operations and multi-secondary databases are supported.
Primary-Secondary synchronization It refers to the operation of asynchronously synchronizing data from a primary database to a secondary database. Due to the asynchronism of primary-secondary synchronization, data from the primary and secondary databases may be inconsistent for a short time.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/shadow/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/shadow/concept/</guid>
<description>Production Database Database for production data
Shadow Database The Database for stress test data isolation. Configurations should be the same as the Production Database.
Shadow Algorithm Shadow Algorithm, which is closely related to business operations, currently has 2 types.
Column based shadow algorithm Routing to shadow database by recognizing data from SQL. Suitable for stress test scenario that has an emphasis on data list. Hint based shadow algorithm Routing to shadow database by recognizing comments from SQL.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/sharding/concept/</guid>
<description>Table Tables are a key concept for transparent data sharding. Apache ShardingSphere adapts to the data sharding requirements under different scenarios by providing diverse table types.
Logic Table The logical name of the horizontally sharded database (table) of the same structure is the logical identifier of the table in SQL. Example: Order data is split into 10 tables according to the primary key endings, are t_order_0 to t_order_9, and their logical table names are t_order.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/transaction/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/transaction/concept/</guid>
<description>XA Protocol The original distributed transaction model of XA protocol is the &amp;ldquo;X/Open Distributed Transaction Processing (DTP)&amp;rdquo; model, XA protocol for short, which was proposed by the X/Open international consortium.</description>
</item>
<item>
<title>CREATE ENCRYPT RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/create-encrypt-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/create-encrypt-rule/</guid>
<description>Description The CREATE ENCRYPT RULE syntax is used to create encrypt rules.
Syntax Grammar Railroad diagram CreateEncryptRule ::= &amp;#39;CREATE&amp;#39; &amp;#39;ENCRYPT&amp;#39; &amp;#39;RULE&amp;#39; ifNotExists? encryptDefinition (&amp;#39;,&amp;#39; encryptDefinition)* ifNotExists ::= &amp;#39;IF&amp;#39; &amp;#39;NOT&amp;#39; &amp;#39;EXISTS&amp;#39; encryptDefinition ::= ruleName &amp;#39;(&amp;#39; &amp;#39;COLUMNS&amp;#39; &amp;#39;(&amp;#39; columnDefinition (&amp;#39;,&amp;#39; columnDefinition)* &amp;#39;)&amp;#39; &amp;#39;)&amp;#39; columnDefinition ::= &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; columnName &amp;#39;,&amp;#39; &amp;#39;CIPHER&amp;#39; &amp;#39;=&amp;#39; cipherColumnName (&amp;#39;,&amp;#39; &amp;#39;ASSISTED_QUERY&amp;#39; &amp;#39;=&amp;#39; assistedQueryColumnName)? (&amp;#39;,&amp;#39; &amp;#39;LIKE_QUERY&amp;#39; &amp;#39;=&amp;#39; likeQueryColumnName)? &amp;#39;,&amp;#39; encryptAlgorithmDefinition (&amp;#39;,&amp;#39; assistedQueryAlgorithmDefinition)? (&amp;#39;,&amp;#39; likeQueryAlgorithmDefinition)? &amp;#39;)&amp;#39; encryptAlgorithmDefinition ::= &amp;#39;ENCRYPT_ALGORITHM&amp;#39; &amp;#39;(&amp;#39; &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; encryptAlgorithmType (&amp;#39;,&amp;#39; propertiesDefinition)?</description>
</item>
<item>
<title>CREATE MASK RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/create-mask-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/create-mask-rule/</guid>
<description>Description The CREATE MASK RULE syntax is used to create a mask rule.
Syntax Grammar Railroad diagram CreateEncryptRule ::= &amp;#39;CREATE&amp;#39; &amp;#39;MASK&amp;#39; &amp;#39;RULE&amp;#39; ifNotExists? maskRuleDefinition (&amp;#39;,&amp;#39; maskRuleDefinition)* ifNotExists ::= &amp;#39;IF&amp;#39; &amp;#39;NOT&amp;#39; &amp;#39;EXISTS&amp;#39; maskRuleDefinition ::= ruleName &amp;#39;(&amp;#39; &amp;#39;COLUMNS&amp;#39; &amp;#39;(&amp;#39; columnDefinition (&amp;#39;,&amp;#39; columnDefinition)* &amp;#39;)&amp;#39; &amp;#39;)&amp;#39; columnDefinition ::= &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; columnName &amp;#39;,&amp;#39; maskAlgorithmDefinition &amp;#39;)&amp;#39; maskAlgorithmDefinition ::= &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; maskAlgorithmType (&amp;#39;,&amp;#39; propertiesDefinition)? &amp;#39;)&amp;#39; propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; key &amp;#39;=&amp;#39; value (&amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value)* &amp;#39;)&amp;#39; ruleName ::= identifier columnName ::= identifier maskAlgorithmType ::= literal key ::= string value ::= literal Note maskAlgorithmType specifies the data masking algorithm type.</description>
</item>
<item>
<title>CREATE READWRITE_SPLITTING RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/create-readwrite-splitting-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/create-readwrite-splitting-rule/</guid>
<description>Description The CREATE READWRITE_SPLITTING RULE syntax is used to create a readwrite-splitting rule.
Syntax Grammar Railroad diagram CreateReadwriteSplittingRule ::= &amp;#39;CREATE&amp;#39; &amp;#39;READWRITE_SPLITTING&amp;#39; &amp;#39;RULE&amp;#39; ifNotExists? readwriteSplittingDefinition (&amp;#39;,&amp;#39; readwriteSplittingDefinition)* ifNotExists ::= &amp;#39;IF&amp;#39; &amp;#39;NOT&amp;#39; &amp;#39;EXISTS&amp;#39; readwriteSplittingDefinition ::= ruleName &amp;#39;(&amp;#39; dataSourceDefinition (&amp;#39;,&amp;#39; transactionalReadQueryStrategyDefinition)? (&amp;#39;,&amp;#39; loadBalancerDefinition)? &amp;#39;)&amp;#39; dataSourceDefinition ::= &amp;#39;WRITE_STORAGE_UNIT&amp;#39; &amp;#39;=&amp;#39; writeStorageUnitName &amp;#39;,&amp;#39; &amp;#39;READ_STORAGE_UNITS&amp;#39; &amp;#39;(&amp;#39; storageUnitName (&amp;#39;,&amp;#39; storageUnitName)* &amp;#39;)&amp;#39; transactionalReadQueryStrategyDefinition ::= &amp;#39;TRANSACTIONAL_READ_QUERY_STRATEGY&amp;#39; &amp;#39;=&amp;#39; transactionalReadQueryStrategyType loadBalancerDefinition ::= &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; loadBalancerType (&amp;#39;,&amp;#39; propertiesDefinition)? &amp;#39;)&amp;#39; ruleName ::= identifier writeStorageUnitName ::= identifier storageUnitName ::= identifier transactionalReadQueryStrategyType ::= string loadBalancerType ::= string propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; key &amp;#39;=&amp;#39; value (&amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value)* &amp;#39;)&amp;#39; key ::= string value ::= literal Supplement transactionalReadQueryStrategyType specifies the routing strategy for read query within a transaction, please refer to YAML configuration; loadBalancerType specifies the load balancing algorithm type, please refer to Load Balance Algorithm; Duplicate ruleName will not be created; ifNotExists clause used for avoid Duplicate readwrite_splitting rule error.</description>
</item>
<item>
<title>CREATE SHADOW RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule/</guid>
<description>Description The CREATE SHADOW RULE syntax is used to create a shadow rule.
Syntax Grammar Railroad diagram CreateShadowRule ::= &amp;#39;CREATE&amp;#39; &amp;#39;SHADOW&amp;#39; &amp;#39;RULE&amp;#39; ifNotExists? shadowRuleDefinition (&amp;#39;,&amp;#39; shadowRuleDefinition)* ifNotExists ::= &amp;#39;IF&amp;#39; &amp;#39;NOT&amp;#39; &amp;#39;EXISTS&amp;#39; shadowRuleDefinition ::= ruleName &amp;#39;(&amp;#39; storageUnitMapping shadowTableRule (&amp;#39;,&amp;#39; shadowTableRule)* &amp;#39;)&amp;#39; storageUnitMapping ::= &amp;#39;SOURCE&amp;#39; &amp;#39;=&amp;#39; storageUnitName &amp;#39;,&amp;#39; &amp;#39;SHADOW&amp;#39; &amp;#39;=&amp;#39; storageUnitName shadowTableRule ::= tableName &amp;#39;(&amp;#39; shadowAlgorithm &amp;#39;)&amp;#39; shadowAlgorithm ::= &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; shadowAlgorithmType &amp;#39;,&amp;#39; propertiesDefinition &amp;#39;)&amp;#39; ruleName ::= identifier storageUnitName ::= identifier tableName ::= identifier algorithmName ::= identifier shadowAlgorithmType ::= string propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; key &amp;#39;=&amp;#39; value (&amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value)* &amp;#39;)&amp;#39; key ::= string value ::= literal Supplement Duplicate ruleName cannot be created; storageUnitMapping specifies the mapping relationship between the source database and the shadow library.</description>
</item>
<item>
<title>CREATE SHARDING TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-rule/</guid>
<description>Description The CREATE SHARDING TABLE RULE syntax is used to add sharding table rule for the currently selected database
Syntax Grammar Railroad diagram CreateShardingTableRule ::= &amp;#39;CREATE&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;RULE&amp;#39; ifNotExists? (tableDefinition | autoTableDefinition) (&amp;#39;,&amp;#39; (tableDefinition | autoTableDefinition))* ifNotExists ::= &amp;#39;IF&amp;#39; &amp;#39;NOT&amp;#39; &amp;#39;EXISTS&amp;#39; tableDefinition ::= tableName &amp;#39;(&amp;#39; &amp;#39;DATANODES&amp;#39; &amp;#39;(&amp;#39; dataNode (&amp;#39;,&amp;#39; dataNode)* &amp;#39;)&amp;#39; (&amp;#39;,&amp;#39; &amp;#39;DATABASE_STRATEGY&amp;#39; &amp;#39;(&amp;#39; strategyDefinition &amp;#39;)&amp;#39;)? (&amp;#39;,&amp;#39; &amp;#39;TABLE_STRATEGY&amp;#39; &amp;#39;(&amp;#39; strategyDefinition &amp;#39;)&amp;#39;)? (&amp;#39;,&amp;#39; &amp;#39;KEY_GENERATE_STRATEGY&amp;#39; &amp;#39;(&amp;#39; keyGenerateStrategyDefinition &amp;#39;)&amp;#39;)? (&amp;#39;,&amp;#39; &amp;#39;AUDIT_STRATEGY&amp;#39; &amp;#39;(&amp;#39; auditStrategyDefinition &amp;#39;)&amp;#39;)?</description>
</item>
<item>
<title>Hint</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/hint/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/hint/</guid>
<description>Background Apache ShardingSphere uses ThreadLocal to manage primary database routing marks for mandatory routing. A primary database routing mark can be added to HintManager through programming, and this value is valid only in the current thread.
Hint is mainly used to perform mandatory data operations in the primary database for read/write splitting scenarios.
Procedure Call HintManager.getInstance() to obtain HintManager instance. Call HintManager.setWriteRouteOnly() method to set the primary database routing marks.</description>
</item>
<item>
<title>Hint</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/sharding/hint/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/sharding/hint/</guid>
<description>Background Apache ShardingSphere uses ThreadLocal to manage sharding key values for mandatory routing. A sharding value can be added by programming to the HintManager that takes effect only within the current thread.
Main application scenarios for Hint:
The sharding fields do not exist in the SQL and database table structure but in the external business logic. Certain data operations are forced to be performed in given databases. Procedure Call HintManager.</description>
</item>
<item>
<title>Metadata Repository</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/metadata-repository/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/metadata-repository/</guid>
<description>Background Apache ShardingSphere provides different metadata persistence methods for different running modes. Users can freely choose the most appropriate way to store metadata while configuring the running mode.
Parameters Database Repository Type: JDBC
Mode: Standalone
Attributes:
Name Type Description Default Value provider String Type for metadata persist, the optional value is H2, MySQL H2 jdbc_url String JDBC URL jdbc:h2:mem:config;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL username String username sa password String password ZooKeeper Repository Type: ZooKeeper</description>
</item>
<item>
<title>Mode</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/mode/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/mode/</guid>
<description>StandalonePersistRepository Fully-qualified class name org.apache.shardingsphere.mode.repository.standalone.StandalonePersistRepository
Definition Standalone mode configuration information persistence definition
Implementation classes Configuration Type Description Fully-qualified class name JDBC JDBC-based persistence org.apache.shardingsphere.mode.repository.standalone.jdbc.JDBCRepository ClusterPersistRepository Fully-qualified class name org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepository
Definition Cluster mode configuration information persistence definition
Implementation classes Configuration Type Description Fully-qualified class name ZooKeeper ZooKeeper based persistence org.apache.shardingsphere.mode.repository.cluster.zookeeper.ZookeeperRepository etcd Etcd based persistence org.</description>
</item>
<item>
<title>Mode</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/mode/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/mode/</guid>
<description>Background Build the running mode through Java API.
Parameters Class name: org.apache.shardingsphere.infra.config.mode.ModeConfiguration
Attributes:
Name DataType Description Default Value type String Type of mode configuration
Values could be: Standalone or Cluster Standalone repository PersistRepositoryConfiguration Persist repository configuration
Standalone type uses StandalonePersistRepositoryConfiguration
Cluster type uses ClusterPersistRepositoryConfiguration Standalone Persist Configuration Class name: org.apache.shardingsphere.mode.repository.standalone.StandalonePersistRepositoryConfiguration
Attributes:
Name DataType Description type String Type of persist repository props Properties Properties of persist repository Cluster Persist Configuration Class name: org.</description>
</item>
<item>
<title>Mode</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/mode/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/mode/</guid>
<description>Parameters mode (?): # Default value is Standalone type: # Type of mode configuration. Values could be: Standalone, Cluster repository (?): # Persist repository configuration Standalone Mode mode: type: Standalone repository: type: # Type of persist repository props: # Properties of persist repository foo_key: foo_value bar_key: bar_value Cluster Mode (recommended) mode: type: Cluster repository: type: # Type of persist repository props: # Properties of persist repository namespace: # Namespace of registry center server-lists: # Server lists of registry center foo_key: foo_value bar_key: bar_value Notes Cluster mode deployment is recommended for production environment.</description>
</item>
<item>
<title>Parse Engine</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/sharding/parse/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/sharding/parse/</guid>
<description>SQL is relatively simple compared with other programming languages, but it&amp;rsquo;s still a complete programming language. Therefore, there&amp;rsquo;s no essential difference between parsing SQL syntax and parsing other languages (such as Java, C and Go, etc.).
Abstract Syntax Tree The parsing process is divided into lexical parsing and syntactic parsing. The lexical parser is used to split SQL into indivisible atomic symbols called Tokens.
Tokens are classified into keywords, expressions, literals, and operators based on the dictionaries provided by different database dialects.</description>
</item>
<item>
<title>PARSE SQL</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rul/parse-sql/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rul/parse-sql/</guid>
<description>Description The PARSE SQL syntax is used to parse SQL and output abstract syntax tree.
Syntax Grammar Railroad diagram ParseSql ::= &amp;#39;PARSE&amp;#39; sqlStatement Return Value Description Column Description parsed_statement parsed SQL statement type parsed_statement_detail detail of the parsed statement Example Parse SQL and output abstract syntax tree PARSE SELECT * FROM t_order; mysql&amp;gt; PARSE SELECT * FROM t_order; +----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | parsed_statement | parsed_statement_detail | +----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | MySQLSelectStatement | {&amp;#34;projections&amp;#34;:{&amp;#34;startIndex&amp;#34;:7,&amp;#34;stopIndex&amp;#34;:7,&amp;#34;projections&amp;#34;:[{&amp;#34;startIndex&amp;#34;:7,&amp;#34;stopIndex&amp;#34;:7}],&amp;#34;distinctRow&amp;#34;:false},&amp;#34;from&amp;#34;:{&amp;#34;tableName&amp;#34;:{&amp;#34;startIndex&amp;#34;:14,&amp;#34;stopIndex&amp;#34;:20,&amp;#34;identifier&amp;#34;:{&amp;#34;value&amp;#34;:&amp;#34;t_order&amp;#34;,&amp;#34;quoteCharacter&amp;#34;:&amp;#34;NONE&amp;#34;}}},&amp;#34;parameterCount&amp;#34;:0,&amp;#34;parameterMarkerSegments&amp;#34;:[],&amp;#34;commentSegments&amp;#34;:[]} | +----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.</description>
</item>
<item>
<title>Properties Configuration</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/props/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/props/</guid>
<description>Background Apache ShardingSphere provides the way of property configuration to configure system level configuration.
Parameters Name Data Type Description Default Value sql-show (?) boolean Whether show SQL or not in log. Print SQL details can help developers debug easier. The log details include: logic SQL, actual SQL and SQL parse result. Enable this property will log into log topic ShardingSphere-SQL, log level is INFO false sql-simple (?</description>
</item>
<item>
<title>REGISTER STORAGE UNIT</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/register-storage-unit/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/register-storage-unit/</guid>
<description>Description The REGISTER STORAGE UNIT syntax is used to register storage unit for the currently selected logical database.
Syntax Grammar Railroad diagram RegisterStorageUnit ::= &amp;#39;REGISTER&amp;#39; &amp;#39;STORAGE&amp;#39; &amp;#39;UNIT&amp;#39; ifNotExists? storageUnitDefinition (&amp;#39;,&amp;#39; storageUnitDefinition)* storageUnitDefinition ::= storageUnitName &amp;#39;(&amp;#39; (&amp;#39;HOST&amp;#39; &amp;#39;=&amp;#39; hostName &amp;#39;,&amp;#39; &amp;#39;PORT&amp;#39; &amp;#39;=&amp;#39; port &amp;#39;,&amp;#39; &amp;#39;DB&amp;#39; &amp;#39;=&amp;#39; dbName | &amp;#39;URL&amp;#39; &amp;#39;=&amp;#39; url) &amp;#39;,&amp;#39; &amp;#39;USER&amp;#39; &amp;#39;=&amp;#39; user (&amp;#39;,&amp;#39; &amp;#39;PASSWORD&amp;#39; &amp;#39;=&amp;#39; password)? (&amp;#39;,&amp;#39; propertiesDefinition)?&amp;#39;)&amp;#39; ifNotExists ::= &amp;#39;IF&amp;#39; &amp;#39;NOT&amp;#39; &amp;#39;EXISTS&amp;#39; storageUnitName ::= identifier hostname ::= string port ::= int dbName ::= string url ::= string user ::= string password ::= string propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; key &amp;#39;=&amp;#39; value (&amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value)* &amp;#39;)&amp;#39; key ::= string value ::= literal Supplement Before register storage units, please confirm that a database has been created in Proxy, and execute the use command to successfully select a database; Confirm that the registered storage unit can be connected normally, otherwise it will not be added successfully; storageUnitName is case-sensitive; storageUnitName needs to be unique within the current database; storageUnitName name only allows letters, numbers and _, and must start with a letter; poolProperty is used to customize connection pool parameters, key must be the same as the connection pool parameter name; ifNotExists clause is used for avoid Duplicate storage unit error.</description>
</item>
<item>
<title>SET DEFAULT SINGLE TABLE STORAGE UNIT</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/set-default-single-table-storage-unit/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/set-default-single-table-storage-unit/</guid>
<description>Description The SET DEFAULT SINGLE TABLE STORAGE UNIT syntax is used to set default single table storage unit.
Syntax Grammar Railroad diagram SetDefaultSingleTableStorageUnit ::= &amp;#39;SET&amp;#39; &amp;#39;DEFAULT&amp;#39; &amp;#39;SINGLE&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;STORAGE&amp;#39; &amp;#39;UNIT&amp;#39; singleTableDefinition singleTableDefinition ::= &amp;#39;=&amp;#39; (storageUnitName | &amp;#39;RANDOM&amp;#39;) storageUnitName ::= identifier Supplement STORAGE UNIT needs to use storage unit managed by RDL. The RANDOM keyword stands for random storage. Example Set a default single table storage unit SET DEFAULT SINGLE TABLE STORAGE UNIT = ds_0; Set the default single table storage unit to random storage SET DEFAULT SINGLE TABLE STORAGE UNIT = RANDOM; Reserved word SET, DEFAULT, SINGLE, TABLE, STORAGE, UNIT, RANDOM</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sharding/</guid>
<description>Background The Java API rule configuration for data sharding, which allows users to create ShardingSphereDataSource objects directly by writing Java code, is flexible enough to integrate various types of business systems without relying on additional jar packages.
Parameters Root Configuration Class name: org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration
Attributes:
Name DataType Description Default Value tables (+) Collection&amp;lt;ShardingTableRuleConfiguration&amp;gt; Sharding table rules - autoTables (+) Collection&amp;lt;ShardingAutoTableRuleConfiguration&amp;gt; Sharding auto table rules - bindingTableGroups (*) Collection&amp;lt;String&amp;gt; Binding table rules Empty broadcastTables (*) Collection&amp;lt;String&amp;gt; Broadcast table rules Empty defaultDatabaseShardingStrategy (?</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding/</guid>
<description>Background Data sharding YAML configuration is highly readable. The dependencies between sharding rules can be quickly understood through the YAML format. ShardingSphere automatically creates the ShardingSphereDataSource object according to YAML configuration, which can reduce unnecessary coding for users.
Parameters rules: - !SHARDING tables: # Sharding table configuration &amp;lt;logic_table_name&amp;gt; (+): # Logic table name actualDataNodes (?): # Describe data source names and actual tables (refer to Inline syntax rules) databaseStrategy (?): # Databases sharding strategy, use default databases sharding strategy if absent.</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/sharding-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/sharding-rule/</guid>
<description>Storage unit Operation Configure data source information REGISTER STORAGE UNIT ds_0 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_1&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ),ds_1 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_2&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ); Rule Operation Create sharding rule CREATE SHARDING TABLE RULE t_order( STORAGE_UNITS(ds_0,ds_1), SHARDING_COLUMN=order_id, TYPE(NAME=&amp;#34;hash_mod&amp;#34;,PROPERTIES(&amp;#34;sharding-count&amp;#34;=&amp;#34;4&amp;#34;)), KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME=&amp;#34;snowflake&amp;#34;)) ); Create sharding table CREATE TABLE `t_order` ( `order_id` int NOT NULL, `user_id` int NOT NULL, `status` varchar(45) DEFAULT NULL, PRIMARY KEY (`order_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 Drop sharding table DROP TABLE t_order; Drop sharding rule DROP SHARDING TABLE RULE t_order; Unregister storage unit UNREGISTER STORAGE UNIT ds_0, ds_1; Drop distributed database DROP DATABASE foo_db; </description>
</item>
<item>
<title>ShardingSphere-JDBC</title>
<link>https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-jdbc-quick-start/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-jdbc-quick-start/</guid>
<description>Scenarios There are two ways you can configure Apache ShardingSphere: Java and YAML. Developers can choose the preferred method according to their requirements.
Limitations Currently only Java language is supported.
Requirements The development environment requires Java JRE 8 or later.
Procedure Rules configuration. Please refer to User Manual for more details.
Import Maven dependency &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-jdbc-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${latest.release.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Notice: Please change ${latest.release.version} to the actual version.</description>
</item>
<item>
<title>SHOW AUTHORITY RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-authority-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-authority-rule/</guid>
<description>Description The SHOW AUTHORITY RULE syntax is used to query authority rule configuration.
Syntax Grammar Railroad diagram ShowAuthorityRule ::= &amp;#39;SHOW&amp;#39; &amp;#39;AUTHORITY&amp;#39; &amp;#39;RULE&amp;#39; Return Value Description Column Description users users provider privilege provider type props privilege properties Example Query authority rule configuration SHOW AUTHORITY RULE; mysql&amp;gt; SHOW AUTHORITY RULE; +--------------------+---------------+-------+ | users | provider | props | +--------------------+---------------+-------+ | root@%; sharding@% | ALL_PERMITTED | | +--------------------+---------------+-------+ 1 row in set (0.</description>
</item>
<item>
<title>SHOW ENCRYPT RULES</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/show-encrypt-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/show-encrypt-rule/</guid>
<description>Description The SHOW ENCRYPT RULES syntax is used to query encryption rules for a specified database.
Syntax Grammar Railroad diagram ShowEncryptRule::= &amp;#39;SHOW&amp;#39; &amp;#39;ENCRYPT&amp;#39; (&amp;#39;RULES&amp;#39; | &amp;#39;TABLE&amp;#39; &amp;#39;RULE&amp;#39; ruleName) (&amp;#39;FROM&amp;#39; databaseName)? ruleName ::= identifier databaseName ::= identifier Note When databaseName is not specified, then DATABASEis currently used as the default name. If DATABASE is not used, you will receive a No database selected prompt.</description>
</item>
<item>
<title>SHOW MASK RULES</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/show-mask-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/show-mask-rule/</guid>
<description>Description The SHOW MASK RULES syntax is used to query mask rules for specified database.
Syntax Grammar Railroad diagram ShowMaskRule::= &amp;#39;SHOW&amp;#39; &amp;#39;MASK&amp;#39; (&amp;#39;RULES&amp;#39; | &amp;#39;RULE&amp;#39; ruleName) (&amp;#39;FROM&amp;#39; databaseName)? ruleName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description table Table name column Column name algorithm_type Mask algorithm type algorithm_props Mask algorithm properties Example Query mask rules for specified database SHOW MASK RULES FROM mask_db; mysql&amp;gt; SHOW MASK RULES FROM mask_db; +---------+----------+------------------+--------------------------------+ | table | column | algorithm_type | algorithm_props | +---------+----------+------------------+--------------------------------+ | t_mask | phoneNum | MASK_FROM_X_TO_Y | to-y=2,replace-char=*,from-x=1 | | t_mask | address | MD5 | | | t_order | order_id | MD5 | | | t_user | user_id | MASK_FROM_X_TO_Y | to-y=2,replace-char=*,from-x=1 | +---------+----------+------------------+--------------------------------+ 4 rows in set (0.</description>
</item>
<item>
<title>SHOW MIGRATION RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-rule/</guid>
<description>Description The SHOW MIGRATION RULE syntax is used to query migration rule.
Syntax Grammar Railroad diagram ShowMigrationRule ::= &amp;#39;SHOW&amp;#39; &amp;#39;MIGRATION&amp;#39; &amp;#39;RULE&amp;#39; Return Value Description Column Description read Data reading configuration write Data writing configuration stream_channel Data channel Example Query migration rule SHOW MIGRATION RULE; mysql&amp;gt; SHOW MIGRATION RULE; +--------------------------------------------------------------+--------------------------------------+------------------------------------------------------+ | read | write | stream_channel | +--------------------------------------------------------------+--------------------------------------+------------------------------------------------------+ | {&amp;#34;workerThread&amp;#34;:40,&amp;#34;batchSize&amp;#34;:1000,&amp;#34;shardingSize&amp;#34;:10000000} | {&amp;#34;workerThread&amp;#34;:40,&amp;#34;batchSize&amp;#34;:1000} | {&amp;#34;type&amp;#34;:&amp;#34;MEMORY&amp;#34;,&amp;#34;props&amp;#34;:{&amp;#34;block-queue-size&amp;#34;:10000}} | +--------------------------------------------------------------+--------------------------------------+------------------------------------------------------+ 1 row in set (0.</description>
</item>
<item>
<title>SHOW READWRITE_SPLITTING RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/show-readwrite-splitting-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/show-readwrite-splitting-rule/</guid>
<description>Description The SHOW READWRITE_SPLITTING RULE syntax is used to query specified readwrite-splitting rules for specified database.
Syntax Grammar Railroad diagram ShowReadWriteSplittingRule::= &amp;#39;SHOW&amp;#39; &amp;#39;READWRITE_SPLITTING&amp;#39; (&amp;#39;RULE&amp;#39; ruleName | &amp;#39;RULES&amp;#39;) (&amp;#39;FROM&amp;#39; databaseName)? ruleName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description name Readwrite-splitting rule name write_data_source_name Write data source name read_data_source_names Read data source name list transactional_read_query_strategy Routing strategy for read query within a transaction load_balancer_type Load balance algorithm type load_balancer_props Load balance algorithm parameter Example Query readwrite-splitting rules for specified database.</description>
</item>
<item>
<title>SHOW SHADOW RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-rule/</guid>
<description>Description The SHOW SHADOW RULE syntax is used to query shadow rules for specified database.
Syntax Grammar Railroad diagram ShowEncryptRule::= &amp;#39;SHOW&amp;#39; &amp;#39;SHADOW&amp;#39; (&amp;#39;RULES&amp;#39; | &amp;#39;RULE&amp;#39; shadowRuleName) (&amp;#39;FROM&amp;#39; databaseName)? shadowRuleName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description rule_name Shadow rule name source_name Data source name shadow_name Shadow data source name shadow_table Shadow table Example Query specified shadow rule in specified database.</description>
</item>
<item>
<title>SHOW SHARDING TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rule/</guid>
<description>Description The SHOW SHARDING TABLE RULE syntax is used to query the sharding table rule in the specified database.
Syntax Grammar Railroad diagram ShowShardingTableRule ::= &amp;#39;SHOW&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;TABLE&amp;#39; (&amp;#39;RULE&amp;#39; tableName | &amp;#39;RULES&amp;#39;) (&amp;#39;FROM&amp;#39; databaseName)? tableName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.</description>
</item>
<item>
<title>SHOW SINGLE TABLE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-single-table/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-single-table/</guid>
<description>Description The SHOW SINGLE TABLE syntax is used to query single tables for specified database.
Syntax Grammar Railroad diagram ShowSingleTable::= &amp;#39;SHOW&amp;#39; &amp;#39;SINGLE&amp;#39; (&amp;#39;TABLES&amp;#39; (&amp;#39;LIKES&amp;#39; likeLiteral)?|&amp;#39;TABLE&amp;#39; tableName) (&amp;#39;FROM&amp;#39; databaseName)? tableName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description table_name Single table name resource_name The resource name where the single table is located Example Query specified single table for specified database.</description>
</item>
<item>
<title>SHOW STORAGE UNITS</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units/</guid>
<description>Description The SHOW STORAGE UNITS syntax is used to query the storage units that have been added to the specified database.
Syntax Grammar Railroad diagram ShowStorageUnit ::= &amp;#39;SHOW&amp;#39; &amp;#39;STORAGE&amp;#39; &amp;#39;UNITS&amp;#39; (&amp;#39;WHERE&amp;#39; &amp;#39;USAGE_COUNT&amp;#39; &amp;#39;=&amp;#39; usageCount)? (&amp;#39;FROM&amp;#39; databaseName)? usageCount ::= int databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE; if DATABASE is not used, it will prompt No database selected.</description>
</item>
<item>
<title>SQL Error Code</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/error-code/sql-error-code/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/error-code/sql-error-code/</guid>
<description>SQL error codes provide by standard SQL State, Vendor Code and Reason, which return to client when SQL execute error.
the error codes are draft, still need to be adjusted.
Kernel Exception Meta data SQL State Vendor Code Reason 42000 10000 There is no storage unit in database `%s`. 08000 10001 The URL `%s` is not recognized, please refer to the pattern `%s`.</description>
</item>
<item>
<title>SQL Parser Test</title>
<link>https://shardingsphere.apache.org/document/current/en/test-manual/module-test/parser-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/test-manual/module-test/parser-test/</guid>
<description>Prepare Data Not like Integration test, SQL parse test does not need a specific database environment, just define the sql to parse, and the assert data:
SQL Data As mentioned sql-case-id in Integration test, test-case-id could be shared in different module to test, and the file is at shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/${SQL-TYPE}/*.xml
Assert Data The assert data is at shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/${SQL-TYPE}/*.xml in that xml file, it could assert against the table name, token or sql condition and so on.</description>
</item>
<item>
<title>SysBench ShardingSphere-Proxy Empty Rule Performance Test</title>
<link>https://shardingsphere.apache.org/document/current/en/test-manual/performance-test/sysbench-proxy-norules-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/test-manual/performance-test/sysbench-proxy-norules-test/</guid>
<description>Objectives Compare the performance of ShardingSphere-Proxy and MySQL
Sysbench directly carries out stress testing on the performance of MySQL. Sysbench directly carries out stress testing on ShardingSphere-Proxy (directly connect MySQL). Based on the above two groups of experiments, we can figure out the loss of MySQL when using ShardingSphere-Proxy.
Set up the test environment Server information Db-related configuration: it is recommended that the memory is larger than the amount of data to be tested, so that the data is stored in the memory hot block, and the rest can be adjusted.</description>
</item>
<item>
<title>Use Binary Tar</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/bin/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/bin/</guid>
<description>Background This section describes how to start ShardingSphere-Proxy by binary release packages
Premise Start the Proxy with a binary package requires an environment with Java JRE 8 or later.
Steps Obtain the binary release package of ShardingSphere-Proxy Obtain the binary release package of ShardingSphere-Proxy on the download page.
Configure conf/server.yaml ShardingSphere-Proxy&amp;rsquo;s operational mode is configured on server.yaml, and its configuration mode is the same with that of ShardingSphere-JDBC.</description>
</item>
<item>
<title>Use Java API</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/java-api/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/java-api/</guid>
<description>Background With ShardingSphere-JDBC, XA and BASE mode transactions can be used through the API.
Prerequisites Introducing Maven dependency
&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-jdbc-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using XA transactions --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using the Narayana mode with XA transactions --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-narayana&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${project.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using BASE transactions --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-base-seata-at&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.</description>
</item>
<item>
<title>XA Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/transaction/2pc-xa-transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/transaction/2pc-xa-transaction/</guid>
<description>XAShardingSphereTransactionManager is XA transaction manager of Apache ShardingSphere. Its main responsibility is manage and adapt multiple data sources, and sent corresponding transactions to concrete XA transaction manager.
Transaction Begin When receiving set autoCommit=0 from client, XAShardingSphereTransactionManager will use XA transaction managers to start overall XA transactions, which is marked by XID.
Execute actual sharding SQL After XAShardingSphereTransactionManager register the corresponding XAResource to the current XA transaction, transaction manager will send XAResource.</description>
</item>
<item>
<title>Add Narayana dependencies</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/dependencies-download/add_narayana_dependency/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/dependencies-download/add_narayana_dependency/</guid>
<description>Add Narayana dependencies Adding Narayana dependencies requires downloading the following jar files and adding them under ext-lib path.
jar file downloads arjuna-5.12.4.Final.jar common-5.12.4.Final.jar javax.activation-api-1.2.0.jar jaxb-api-2.3.0.jar jaxb-core-2.3.0.jar jaxb-impl-2.3.0.jar jboss-connector-api_1.7_spec-1.0.0.Final.jar jboss-logging-3.2.1.Final.jar jboss-transaction-api_1.2_spec-1.0.0.Alpha3.jar jboss-transaction-spi-7.6.0.Final.jar jta-5.12.4.Final.jar narayana-jts-integration-5.12.4.Final.jar shardingsphere-transaction-xa-narayana.jar Please download the corresponding shardingsphere-transaction-xa-narayana.jar file according to the proxy version.</description>
</item>
<item>
<title>ALTER ENCRYPT RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/alter-encrypt-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/alter-encrypt-rule/</guid>
<description>Description The ALTER ENCRYPT RULE syntax is used to alter encryption rules.
Syntax Grammar Railroad diagram AlterEncryptRule ::= &amp;#39;ALTER&amp;#39; &amp;#39;ENCRYPT&amp;#39; &amp;#39;RULE&amp;#39; encryptDefinition (&amp;#39;,&amp;#39; encryptDefinition)* encryptDefinition ::= ruleName &amp;#39;(&amp;#39; &amp;#39;COLUMNS&amp;#39; &amp;#39;(&amp;#39; columnDefinition (&amp;#39;,&amp;#39; columnDefinition)* &amp;#39;)&amp;#39; &amp;#39;)&amp;#39; columnDefinition ::= &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; columnName &amp;#39;,&amp;#39; &amp;#39;CIPHER&amp;#39; &amp;#39;=&amp;#39; cipherColumnName (&amp;#39;,&amp;#39; &amp;#39;ASSISTED_QUERY&amp;#39; &amp;#39;=&amp;#39; assistedQueryColumnName)? (&amp;#39;,&amp;#39; &amp;#39;LIKE_QUERY&amp;#39; &amp;#39;=&amp;#39; likeQueryColumnName)? &amp;#39;,&amp;#39; encryptAlgorithmDefinition (&amp;#39;,&amp;#39; assistedQueryAlgorithmDefinition)? (&amp;#39;,&amp;#39; likeQueryAlgorithmDefinition)? &amp;#39;)&amp;#39; encryptAlgorithmDefinition ::= &amp;#39;ENCRYPT_ALGORITHM&amp;#39; &amp;#39;(&amp;#39; &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; encryptAlgorithmType (&amp;#39;,&amp;#39; propertiesDefinition)?</description>
</item>
<item>
<title>ALTER MASK RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/alter-mask-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/alter-mask-rule/</guid>
<description>Description The ALTER MASK RULE syntax is used to create a mask rule.
Syntax Grammar Railroad diagram AlterEncryptRule ::= &amp;#39;ALTER&amp;#39; &amp;#39;MASK&amp;#39; &amp;#39;RULE&amp;#39; maskRuleDefinition (&amp;#39;,&amp;#39; maskRuleDefinition)* maskRuleDefinition ::= ruleName &amp;#39;(&amp;#39; &amp;#39;COLUMNS&amp;#39; &amp;#39;(&amp;#39; columnDefinition (&amp;#39;,&amp;#39; columnDefinition)* &amp;#39;)&amp;#39; &amp;#39;)&amp;#39; columnDefinition ::= &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; columnName &amp;#39;,&amp;#39; maskAlgorithmDefinition &amp;#39;)&amp;#39; maskAlgorithmDefinition ::= &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; maskAlgorithmType (&amp;#39;,&amp;#39; propertiesDefinition)? &amp;#39;)&amp;#39; propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; key &amp;#39;=&amp;#39; value (&amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value)* &amp;#39;)&amp;#39; ruleName ::= identifier columnName ::= identifier maskAlgorithmType ::= literal key ::= string value ::= literal Supplement maskAlgorithmType specifies the data masking algorithm type, please refer to Data Masking Algorithm.</description>
</item>
<item>
<title>ALTER MIGRATION RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/alter-migration-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/alter-migration-rule/</guid>
<description>Description The ALTER MIGRATION RULE syntax is used to alter migration rule.
Syntax Grammar Railroad diagram AlterMigrationRule ::= &amp;#39;ALTER&amp;#39; &amp;#39;MIGRATION&amp;#39; &amp;#39;RULE&amp;#39; (&amp;#39;(&amp;#39; (readConfiguration &amp;#39;,&amp;#39;)? (writeConfiguration &amp;#39;,&amp;#39;)? (dataChannel)? &amp;#39;)&amp;#39;)? readConfiguration ::= &amp;#39;READ&amp;#39; &amp;#39;(&amp;#39; (&amp;#39;WORKER_THREAD&amp;#39; &amp;#39;=&amp;#39; workerThreadPoolSize &amp;#39;,&amp;#39;)? (&amp;#39;BATCH_SIZE&amp;#39; &amp;#39;=&amp;#39; batchSize &amp;#39;,&amp;#39;)? (&amp;#39;SHARDING_SIZE&amp;#39; &amp;#39;=&amp;#39; shardingSize &amp;#39;,&amp;#39;)? (rateLimiter)? &amp;#39;)&amp;#39; writeConfiguration ::= &amp;#39;WRITE&amp;#39; &amp;#39;(&amp;#39; (&amp;#39;WORKER_THREAD&amp;#39; &amp;#39;=&amp;#39; workerThreadPoolSize &amp;#39;,&amp;#39;)? (&amp;#39;BATCH_SIZE&amp;#39; &amp;#39;=&amp;#39; batchSize &amp;#39;,&amp;#39;)? (&amp;#39;SHARDING_SIZE&amp;#39; &amp;#39;=&amp;#39; shardingSize &amp;#39;,&amp;#39;)? (rateLimiter)? &amp;#39;)&amp;#39; dataChannel ::= &amp;#39;STREAM_CHANNEL&amp;#39; &amp;#39;(&amp;#39; &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; algorithmName &amp;#39;,&amp;#39; propertiesDefinition &amp;#39;)&amp;#39; &amp;#39;)&amp;#39; workerThreadPoolSize ::= int batchSize ::= int shardingSize ::= int rateLimiter ::= &amp;#39;RATE_LIMITER&amp;#39; &amp;#39;(&amp;#39; &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; algorithmName &amp;#39;,&amp;#39; propertiesDefinition &amp;#39;)&amp;#39; &amp;#39;)&amp;#39; algorithmName ::= string propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; key &amp;#39;=&amp;#39; value (&amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value)* &amp;#39;)&amp;#39; key ::= string value ::= literal Supplement ALTER MIGRATION RULE able to modify only one configuration in the data migration rule without affecting other configurations.</description>
</item>
<item>
<title>ALTER READWRITE_SPLITTING RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/alter-readwrite-splitting-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/alter-readwrite-splitting-rule/</guid>
<description>Description The ALTER READWRITE_SPLITTING RULE syntax is used to alter a readwrite-splitting rule.
Syntax Grammar Railroad diagram AlterReadwriteSplittingRule ::= &amp;#39;ALTER&amp;#39; &amp;#39;READWRITE_SPLITTING&amp;#39; &amp;#39;RULE&amp;#39; readwriteSplittingDefinition (&amp;#39;,&amp;#39; readwriteSplittingDefinition)* readwriteSplittingDefinition ::= ruleName &amp;#39;(&amp;#39; dataSourceDefinition (&amp;#39;,&amp;#39; transactionalReadQueryStrategyDefinition)? (&amp;#39;,&amp;#39; loadBalancerDefinition)? &amp;#39;)&amp;#39; dataSourceDefinition ::= &amp;#39;WRITE_STORAGE_UNIT&amp;#39; &amp;#39;=&amp;#39; writeStorageUnitName &amp;#39;,&amp;#39; &amp;#39;READ_STORAGE_UNITS&amp;#39; &amp;#39;(&amp;#39; storageUnitName (&amp;#39;,&amp;#39; storageUnitName)* &amp;#39;)&amp;#39; transactionalReadQueryStrategyDefinition ::= &amp;#39;TRANSACTIONAL_READ_QUERY_STRATEGY&amp;#39; &amp;#39;=&amp;#39; transactionalReadQueryStrategyType loadBalancerDefinition ::= &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; loadBalancerType (&amp;#39;,&amp;#39; propertiesDefinition)? &amp;#39;)&amp;#39; ruleName ::= identifier writeStorageUnitName ::= identifier storageUnitName ::= identifier transactionalReadQueryStrategyType ::= string loadBalancerType ::= string propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; key &amp;#39;=&amp;#39; value (&amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value)* &amp;#39;)&amp;#39; key ::= string value ::= literal Supplement transactionalReadQueryStrategyType specifies the routing strategy for read query within a transaction, please refer to YAML configuration; loadBalancerType specifies the load balancing algorithm type, please refer to Load Balance Algorithm.</description>
</item>
<item>
<title>ALTER SHADOW RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-shadow-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-shadow-rule/</guid>
<description>Description The ALTER SHADOW RULE syntax is used to alter shadow rule.
Syntax Grammar Railroad diagram AlterShadowRule ::= &amp;#39;ALTER&amp;#39; &amp;#39;SHADOW&amp;#39; &amp;#39;RULE&amp;#39; shadowRuleDefinition (&amp;#39;,&amp;#39; shadowRuleDefinition)* shadowRuleDefinition ::= ruleName &amp;#39;(&amp;#39; storageUnitMapping shadowTableRule (&amp;#39;,&amp;#39; shadowTableRule)* &amp;#39;)&amp;#39; storageUnitMapping ::= &amp;#39;SOURCE&amp;#39; &amp;#39;=&amp;#39; storageUnitName &amp;#39;,&amp;#39; &amp;#39;SHADOW&amp;#39; &amp;#39;=&amp;#39; storageUnitName shadowTableRule ::= tableName &amp;#39;(&amp;#39; shadowAlgorithm &amp;#39;)&amp;#39; shadowAlgorithm ::= &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; shadowAlgorithmType &amp;#39;,&amp;#39; propertiesDefinition &amp;#39;)&amp;#39; ruleName ::= identifier storageUnitName ::= identifier tableName ::= identifier algorithmName ::= identifier shadowAlgorithmType ::= string propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; key &amp;#39;=&amp;#39; value (&amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value)* &amp;#39;)&amp;#39; key ::= string value ::= literal Supplement storageUnitMapping specifies the mapping relationship between the source database and the shadow library.</description>
</item>
<item>
<title>ALTER SHARDING TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule/</guid>
<description>Description The ALTER SHARDING TABLE RULE syntax is used to alter sharding table rule for the currently selected database
Syntax Grammar Railroad diagram AlterShardingTableRule ::= &amp;#39;ALTER&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;RULE&amp;#39; (tableDefinition | autoTableDefinition) (&amp;#39;,&amp;#39; (tableDefinition | autoTableDefinition))* tableDefinition ::= tableName &amp;#39;(&amp;#39; &amp;#39;DATANODES&amp;#39; &amp;#39;(&amp;#39; dataNode (&amp;#39;,&amp;#39; dataNode)* &amp;#39;)&amp;#39; (&amp;#39;,&amp;#39; &amp;#39;DATABASE_STRATEGY&amp;#39; &amp;#39;(&amp;#39; strategyDefinition &amp;#39;)&amp;#39;)? (&amp;#39;,&amp;#39; &amp;#39;TABLE_STRATEGY&amp;#39; &amp;#39;(&amp;#39; strategyDefinition &amp;#39;)&amp;#39;)? (&amp;#39;,&amp;#39; &amp;#39;KEY_GENERATE_STRATEGY&amp;#39; &amp;#39;(&amp;#39; keyGenerateStrategyDefinition &amp;#39;)&amp;#39;)? (&amp;#39;,&amp;#39; &amp;#39;AUDIT_STRATEGY&amp;#39; &amp;#39;(&amp;#39; auditStrategyDefinition &amp;#39;)&amp;#39;)? &amp;#39;)&amp;#39; autoTableDefinition ::= tableName &amp;#39;(&amp;#39; &amp;#39;STORAGE_UNITS&amp;#39; &amp;#39;(&amp;#39; storageUnitName (&amp;#39;,&amp;#39; storageUnitName)* &amp;#39;)&amp;#39; &amp;#39;,&amp;#39; &amp;#39;SHARDING_COLUMN&amp;#39; &amp;#39;=&amp;#39; columnName &amp;#39;,&amp;#39; algorithmDefinition (&amp;#39;,&amp;#39; &amp;#39;KEY_GENERATE_STRATEGY&amp;#39; &amp;#39;(&amp;#39; keyGenerateStrategyDefinition &amp;#39;)&amp;#39;)?</description>
</item>
<item>
<title>ALTER STORAGE UNIT</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/alter-storage-unit/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/alter-storage-unit/</guid>
<description>Description The ALTER STORAGE UNIT syntax is used to alter storage units for the currently selected logical database.
Syntax Grammar Railroad diagram AlterStorageUnit ::= &amp;#39;ALTER&amp;#39; &amp;#39;STORAGE&amp;#39; &amp;#39;UNIT&amp;#39; storageUnitDefinition (&amp;#39;,&amp;#39; storageUnitDefinition)* storageUnitDefinition ::= storageUnitName &amp;#39;(&amp;#39; (&amp;#39;HOST&amp;#39; &amp;#39;=&amp;#39; hostName &amp;#39;,&amp;#39; &amp;#39;PORT&amp;#39; &amp;#39;=&amp;#39; port &amp;#39;,&amp;#39; &amp;#39;DB&amp;#39; &amp;#39;=&amp;#39; dbName | &amp;#39;URL&amp;#39; &amp;#39;=&amp;#39; url) &amp;#39;,&amp;#39; &amp;#39;USER&amp;#39; &amp;#39;=&amp;#39; user (&amp;#39;,&amp;#39; &amp;#39;PASSWORD&amp;#39; &amp;#39;=&amp;#39; password)? (&amp;#39;,&amp;#39; propertiesDefinition)?&amp;#39;)&amp;#39; storageUnitName ::= identifier hostname ::= string port ::= int dbName ::= string url ::= string user ::= string password ::= string propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; key &amp;#39;=&amp;#39; value (&amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value)* &amp;#39;)&amp;#39; key ::= string value ::= literal Supplement Before altering the storage units, please confirm that a database exists in Proxy, and execute the use command to successfully select a database; ALTER STORAGE UNIT is not allowed to change the real data source associated with this storageUnit; ALTER STORAGE UNIT will switch the connection pool.</description>
</item>
<item>
<title>BenchmarkSQL ShardingSphere-Proxy Sharding Performance Test</title>
<link>https://shardingsphere.apache.org/document/current/en/test-manual/performance-test/benchmarksql-proxy-sharding-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/test-manual/performance-test/benchmarksql-proxy-sharding-test/</guid>
<description>Objective BenchmarkSQL tool is used to test the sharding performance of ShardingSphere-Proxy.
Method ShardingSphere-Proxy supports the TPC-C test through BenchmarkSQL 5.0. In addition to the content described in this document, BenchmarkSQL is operated according to the original document HOW-TO-RUN.txt.
Fine tuning to test tools Unlike stand-alone database stress testing, distributed database solutions inevitably face trade-offs in functions. It is recommended to make the following adjustments when using BenchmarkSQL to carry out stress testing on ShardingSphere-Proxy.</description>
</item>
<item>
<title>Build GraalVM Native Image(Alpha)</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/graalvm-native-image/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/graalvm-native-image/</guid>
<description>Background This section mainly introduces how to build the Native Image of ShardingSphere-Proxy and the corresponding Docker Image through the native-image component of GraalVM.
Notice ShardingSphere Proxy is not yet ready to integrate with GraalVM Native Image. Fixes documentation for building GraalVM Native Image It exists nightly builds at https://github.com/apache/shardingsphere/pkgs/container/shardingsphere-proxy-native. Assuming there is a conf folder containing server.yaml as ./custom/conf, you can test it with the following docker-compose.yml file. version: &amp;#34;3.</description>
</item>
<item>
<title>Configuration</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/configuration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/configuration/</guid>
<description>RuleBuilder Fully-qualified class name org.apache.shardingsphere.infra.rule.builder.RuleBuilder
Definition Used to convert user configurations into rule objects
Implementation classes Configuration Type Description Fully-qualified class name AuthorityRuleConfiguration Used to convert authority user configuration into authority rule objects org.apache.shardingsphere.authority.rule.builder.AuthorityRuleBuilder SQLParserRuleConfiguration Used to convert SQL parser user configuration into SQL parser rule objects org.apache.shardingsphere.parser.rule.builder.SQLParserRuleBuilder TransactionRuleConfiguration Used to convert transaction user configuration into transaction rule objects org.</description>
</item>
<item>
<title>COUNT ENCRYPT RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/count-encrypt-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/count-encrypt-rule/</guid>
<description>Description The COUNT ENCRYPT RULE syntax is used to query the number of encrypt rules for specified database.
Syntax Grammar Railroad diagram CountEncryptRule::= &amp;#39;COUNT&amp;#39; &amp;#39;ENCRYPT&amp;#39; &amp;#39;RULE&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description rule_name rule type database the database to which the rule belongs count the number of the rule Example Query the number of encrypt rules for specified database.</description>
</item>
<item>
<title>COUNT MASK RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/count-mask-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/mask/count-mask-rule/</guid>
<description>Description The COUNT MASK RULE syntax is used to query the number of mask rules for specified database.
Syntax Grammar Railroad diagram CountMaskRule::= &amp;#39;COUNT&amp;#39; &amp;#39;MASK&amp;#39; &amp;#39;RULE&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description rule_name rule type database the database to which the rule belongs count the number of the rule Example Query the number of mask rules for specified database.</description>
</item>
<item>
<title>COUNT READWRITE_SPLITTING RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/count-readwrite-splitting-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/count-readwrite-splitting-rule/</guid>
<description>Description The COUNT READWRITE_SPLITTING RULE syntax is used to query the number of readwrite-splitting rules for specified database.
Syntax Grammar Railroad diagram CountReadwriteSplittingRule::= &amp;#39;COUNT&amp;#39; &amp;#39;READWRITE_SPLITTING&amp;#39; &amp;#39;RULE&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description rule_name rule type database the database to which the rule belongs count the number of the rule Example Query the number of readwrite-splitting rules for specified database.</description>
</item>
<item>
<title>Data Source</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/data-source/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/data-source/</guid>
<description>Background ShardingSphere-JDBC supports all database JDBC drivers and connection pools.
This section describes how to configure data sources through the JAVA API.
Procedure 1. Import Maven dependency. &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-jdbc-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${latest.release.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Notice: Please change ${latest.release.version} to the actual version.
Sample ModeConfiguration modeConfig = // Build running mode Map&amp;lt;String, DataSource&amp;gt; dataSourceMap = createDataSources(); Collection&amp;lt;RuleConfiguration&amp;gt; ruleConfigs = ... // Build specific rules Properties props = ... // Build attribute configuration DataSource dataSource = ShardingSphereDataSourceFactory.</description>
</item>
<item>
<title>Data Source</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/data-source/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/data-source/</guid>
<description>Background ShardingSphere-JDBC Supports all JDBC drivers and database connection pools.
In this example, the database driver is MySQL, and the connection pool is HikariCP, which can be replaced with other database drivers and connection pools. When using ShardingSphere JDBC, the property name of the JDBC pool depends on the definition of the respective JDBC pool and is not defined by ShardingSphere. For related processing, please refer to the class org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator. For example, with Alibaba Druid 1.</description>
</item>
<item>
<title>FORMAT SQL</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rul/format-sql/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rul/format-sql/</guid>
<description>Description The FORMAT SQL syntax is used to parse SQL and output formatted SQL statement.
Syntax Grammar Railroad diagram ParseSql ::= &amp;#39;FORMAT&amp;#39; sqlStatement Return Value Description Column Description formatted_result formatted SQL statement Example Parse SQL and output formatted SQL statement FORMAT SELECT * FROM t_order; mysql&amp;gt; FORMAT SELECT * FROM t_order; +-------------------------+ | formatted_result | +-------------------------+ | SELECT * FROM t_order; | +-------------------------+ 1 row in set (0.</description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/db-gateway/limitations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/db-gateway/limitations/</guid>
<description>The SQL dialect translation of Apache ShardingSphere is experimental.
Currently, only MySQL/PostgreSQL dialects can be automatically translated. Engineers can use MySQL dialects and protocols to access PostgreSQL databases and vice versa.</description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/encrypt/limitations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/encrypt/limitations/</guid>
<description>You need to process the original data on stocks in the database by yourself. The like query supports %, _, but currently does not support escape. Case insensitive queries are not supported for the encrypted fields. Comparison operations are not supported for encrypted fields, such as GREATER THAN, LESS THAN, ORDER BY, BETWEEN. Calculation operations are not supported for encrypted fields, such as AVG, SUM, and computation expressions. When projection subquery contains encrypt column, you must use alias.</description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/mask/limitations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/mask/limitations/</guid>
<description> Masked columns only support string types, not other non-string types. </description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/migration/limitations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/migration/limitations/</guid>
<description>Procedures Supported Migration of peripheral data to databases managed by Apache ShardingSphere. Target proxy without rule or configure any rule. Migration of single column primary key or unique key table, the first column type could be: integer data type, string data type and part of binary data type (e.g. MySQL VARBINARY). Migration of multiple column primary keys or unique keys table. Procedures not supported Migration on top of the current storage node is not supported, so a brand new database cluster needs to be prepared as the migration target cluster.</description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/readwrite-splitting/limitations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/readwrite-splitting/limitations/</guid>
<description> Data synchronization of primary and secondary databases is not supported. Data inconsistency resulting from data synchronization delays between primary and secondary databases is not supported. Multi-write of primary database is not supported. Transactional consistency between primary and secondary databases is not supported. In the primary-secondary model, both data reads and writes in transactions use the primary database. </description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/shadow/limitations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/shadow/limitations/</guid>
<description>Hint based shadow algorithm No
Column based shadow algorithm Does not support DDL.
Does not support scope, group, subqueries such as BETWEEN, GROUP BY &amp;hellip; HAVING, etc.
SQL support list
INSERT SQL support or not INSERT INTO table (column,&amp;hellip;) VALUES (value,&amp;hellip;) support INSERT INTO table (column,&amp;hellip;) VALUES (value,&amp;hellip;),(value,&amp;hellip;),&amp;hellip; support INSERT INTO table (column,&amp;hellip;) SELECT column1 from table1 where column1 = value1 do not support SELECT/UPDATE/DELETE condition categories SQL support or not = SELECT/UPDATE/DELETE &amp;hellip; WHERE column = value support LIKE/NOT LIKE SELECT/UPDATE/DELETE &amp;hellip; WHERE column LIKE/NOT LIKE value support IN/NOT IN SELECT/UPDATE/DELETE &amp;hellip; WHERE column IN/NOT IN (value1,value2,&amp;hellip;) support BETWEEN SELECT/UPDATE/DELETE &amp;hellip; WHERE column BETWEEN value1 AND value2 do not support GROUP BY &amp;hellip; HAVING&amp;hellip; SELECT/UPDATE/DELETE &amp;hellip; WHERE &amp;hellip; GROUP BY column HAVING column &amp;gt; value do not support Sub Query SELECT/UPDATE/DELETE &amp;hellip; WHERE column = (SELECT column FROM table WHERE column = value) do not support </description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/limitation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/sharding/limitation/</guid>
<description>Compatible with all commonly used SQL that routes to single data nodes; SQL routing to multiple data nodes is divided, because of complexity issues, into three conditions: stable support, experimental support, and no support.
Stable Support Full support for DML, DDL, DCL, TCL, and common DALs. Support for complex queries such as paging, de-duplication, sorting, grouping, aggregation, table association, etc. Support SCHEMA DDL and DML statements of PostgreSQL and openGauss database.</description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/transaction/limitations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/transaction/limitations/</guid>
<description>Although Apache ShardingSphere aims at being compatible with all distributed scenario and providing the best performance, under the CAP theorem guidance, there is no sliver bullet with distributed transaction solution.
The Apache ShardingSphere community chose instead to give the users the ability to choose their preferred distributed transaction type and use the most suitable solution according to their scenarios.
LOCAL Transaction Unsupported Does not support the cross-database transactions caused by network or hardware crash.</description>
</item>
<item>
<title>Manual</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/migration/usage/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/migration/usage/</guid>
<description>MySQL user guide Environment Supported MySQL versions: 5.1.15 to 8.0.x.
Authority required Enable binlog in source MySQL 5.7 my.cnf configuration sample:
[mysqld] server-id=1 log-bin=mysql-bin binlog-format=row binlog-row-image=full max_connections=600 Run the following command and check whether binlog is enabled.
show variables like &#39;%log_bin%&#39;; show variables like &#39;%binlog%&#39;; If the following information is displayed, binlog is enabled.
+-----------------------------------------+---------------------------------------+ | Variable_name | Value | +-----------------------------------------+---------------------------------------+ | log_bin | ON | | binlog_format | ROW | | binlog_row_image | FULL | +-----------------------------------------+---------------------------------------+ Grant Replication-related permissions for source MySQL account.</description>
</item>
<item>
<title>Properties</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/props/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/props/</guid>
<description>Background Apache ShardingSphere provides a wealth of system configuration properties, which users can configure through server.yaml.
Parameters Name Data Type Description Default Dynamic Update system-log-level (?) String System log output level, supports DEBUG, INFO, WARN and ERROR, the default level is INFO. false True sql-show (?) boolean Whether to print SQL in logs. Printing SQL can help developers quickly locate system problems.</description>
</item>
<item>
<title>Readwrite-splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting/</guid>
<description>Background The read/write splitting configured in Java API form can be easily applied to various scenarios without relying on additional jar packages. Users only need to construct the read/write splitting data source through java code to be able to use the read/write splitting function.
Parameters Explained Entry Class name: org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration
Configurable Properties:
Name DataType Description dataSources (+) Collection&amp;lt;ReadwriteSplittingDataSourceRuleConfiguration&amp;gt; Data sources of write and reads loadBalancers (*) Map&amp;lt;String, AlgorithmConfiguration&amp;gt; Load balance algorithm name and configurations of replica data sources Primary-secondary Data Source Configuration Class name: org.</description>
</item>
<item>
<title>Readwrite-splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting/</guid>
<description>Background Read/write splitting YAML configuration is highly readable. The YAML format enables you to quickly understand the dependencies between read/write sharding rules. ShardingSphere automatically creates the ShardingSphereDataSource object according to the YAML configuration, which reduces unnecessary coding for users.
Parameters Readwrite-splitting rules: - !READWRITE_SPLITTING dataSources: &amp;lt;data_source_name&amp;gt; (+): # Logic data source name of readwrite-splitting write_data_source_name: # Write data source name read_data_source_names: # Read data source names, multiple data source names separated with comma transactionalReadQueryStrategy (?</description>
</item>
<item>
<title>Readwrite_splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/readwirte-splitting-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/readwirte-splitting-rule/</guid>
<description>Storage unit Operation REGISTER STORAGE UNIT write_ds ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_0&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ),read_ds ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3307, DB=&amp;#34;ds_0&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ); Rule Operation Create readwrite_splitting rule CREATE READWRITE_SPLITTING RULE group_0 ( WRITE_STORAGE_UNIT=write_ds, READ_STORAGE_UNITS(read_ds), TYPE(NAME=&amp;#34;random&amp;#34;) ); Alter readwrite_splitting rule ALTER READWRITE_SPLITTING RULE group_0 ( WRITE_STORAGE_UNIT=write_ds, READ_STORAGE_UNITS(read_ds), TYPE(NAME=&amp;#34;random&amp;#34;,PROPERTIES(&amp;#34;read_weight&amp;#34;=&amp;#34;2:0&amp;#34;)) ); Drop readwrite_splitting rule DROP READWRITE_SPLITTING RULE group_0; Unregister storage unit UNREGISTER STORAGE UNIT write_ds,read_ds; Drop distributed database DROP DATABASE readwrite_splitting_db; </description>
</item>
<item>
<title>Route Engine</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/sharding/route/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/sharding/route/</guid>
<description>Sharding strategies for databases and tables are matched based on the parsing context, and routing paths are generated. SQL with shard keys can be divided into the single-shard router (the shard key operator is equal), multi-shard router (the shard key operator is IN), and range router (the shard key operator is BETWEEN). SQL that does not carry shard keys adopts broadcast routing.
Sharding strategies can usually be configured either by the built-in database or by the user.</description>
</item>
<item>
<title>Seata BASE transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/transaction/base-transaction-seata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/transaction/base-transaction-seata/</guid>
<description>When integrating Seata AT transaction, we need to integrate TM, RM and TC component into ShardingSphere transaction manager. Seata have proxied DataSource interface in order to RPC with TC. Similarly, Apache ShardingSphere faced to DataSource interface to aggregate data sources too. After Seata DataSource encapsulation, it is easy to put Seata AT transaction into Apache ShardingSphere sharding ecosystem.
Init Seata Engine When an application containing ShardingSphereTransactionBaseSeataAT startup, the user-configured DataSource will be wrapped into seata DataSourceProxy through seata.</description>
</item>
<item>
<title>Server Error Code</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/error-code/server-error-code/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/error-code/server-error-code/</guid>
<description>Unique codes provided when server exception occur, which printed by Proxy backend or JDBC startup logs.
Error Code Reason SPI-00001 No implementation class load from SPI `%s` with type `%s`. DATA-SOURCE-00001 Data source unavailable. PROPS-00001 Value `%s` of `%s` cannot convert to type `%s`. PROXY-00001 Load database server info failed. SPRING-00001 Can not find JNDI data source.</description>
</item>
<item>
<title>Sharding Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/sharding/</guid>
<description>Background ShardingSphere built-in algorithms provide a variety of sharding algorithms, which can be divided into automatic sharding algorithms, standard sharding algorithms, composite sharding algorithms, and hint sharding algorithms, and can meet the needs of most business scenarios of users.
Additionally, considering the complexity of business scenarios, the built-in algorithm also provides a way to customize the sharding algorithm. Users can complete complex sharding logic by writing java code.
Parameters Auto Sharding Algorithm Modulo Sharding Algorithm Type: MOD</description>
</item>
<item>
<title>ShardingSphere-Proxy</title>
<link>https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/</guid>
<description>Scenarios ShardingSphere-Proxy is positioned as a transparent database proxy. It theoretically supports any client operation data using MySQL, PostgreSQL and openGauss protocols, and is friendly to heterogeneous languages and operation and maintenance scenarios.
Limitations Proxy provides limited support for system databases / tables (such as information_schema, pg_catalog). When connecting to Proxy through some graph database clients, the client or proxy may have an error prompt. You can use command-line clients (mysql, psql, gsql, etc.</description>
</item>
<item>
<title>SHOW DEFAULT SINGLE TABLE STORAGE UNIT</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-deafult-single-table-storage-unit/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/show-deafult-single-table-storage-unit/</guid>
<description>Description The SHOW DEFAULT SINGLE TABLE STORAGE UNIT syntax is used to query storage units for specified database.
Syntax Grammar Railroad diagram ShowDefaultSingleTableStorageUnit::= &amp;#39;SHOW&amp;#39; &amp;#39;DEFAULT&amp;#39; &amp;#39;SINGLE&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;STORAGE&amp;#39; &amp;#39;UNIT&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return Value Description Column Description storage_unit_name Storage unit name Example Query storage units for specified database.</description>
</item>
<item>
<title>SHOW SHADOW TABLE RULES</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-table-rule/</guid>
<description>Description The SHOW SHADOW TABLE RULES syntax is used to query shadow table rules for specified database.
Syntax Grammar Railroad diagram ShowEncryptRule::= &amp;#39;SHOW&amp;#39; &amp;#39;SHADOW&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;RULES&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description shadow_table Shadow table shadow_algorithm_name Shadow algorithm name Example Query shadow table rules for specified database.</description>
</item>
<item>
<title>SHOW SHARDING ALGORITHMS</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-algorithms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-algorithms/</guid>
<description>Description The SHOW SHARDING ALGORITHMS syntax is used to query the sharding algorithms in the specified database.
Syntax Grammar Railroad diagram ShowShardingAlgorithms::= &amp;#39;SHOW&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;ALGORITHMS&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description name Sharding algorithm name type Sharding algorithm type props Sharding algorithm properties Example Query the sharding table algorithms of the specified logical database SHOW SHARDING ALGORITHMS FROM sharding_db; mysql&amp;gt; SHOW SHARDING ALGORITHMS FROM sharding_db; +-------------------------+--------+-----------------------------------------------------+ | name | type | props | +-------------------------+--------+-----------------------------------------------------+ | t_order_inline | INLINE | algorithm-expression=t_order_${order_id % 2} | | t_order_item_inline | INLINE | algorithm-expression=t_order_item_${order_id % 2} | +-------------------------+--------+-----------------------------------------------------+ 2 rows in set (0.</description>
</item>
<item>
<title>SHOW STATUS FROM READWRITE_SPLITTING RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-status-from-readwrite-splitting-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-status-from-readwrite-splitting-rule/</guid>
<description>Description The SHOW STATUS FROM READWRITE_SPLITTING RULE syntax is used to query readwrite-splitting storage unit status for specified readwrite-splitting rule in specified database.
Syntax Grammar Railroad diagram ShowStatusFromReadwriteSplittingRule ::= &amp;#39;SHOW&amp;#39; &amp;#39;STATUS&amp;#39; &amp;#39;FROM&amp;#39; &amp;#39;READWRITE_SPLITTING&amp;#39; (&amp;#39;RULES&amp;#39; | &amp;#39;RULE&amp;#39; groupName) (&amp;#39;FROM&amp;#39; databaseName)? groupName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.</description>
</item>
<item>
<title>SHOW TRANSACTION RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-transaction-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-transaction-rule/</guid>
<description>Description The SHOW TRANSACTION RULE syntax is used to query transaction rule configuration.
Syntax Grammar Railroad diagram ShowTransactionRule ::= &amp;#39;SHOW&amp;#39; &amp;#39;TRANSACTION&amp;#39; &amp;#39;RULE&amp;#39; Return Value Description Column Description users users provider privilege provider type props privilege properties Example Query transaction rule configuration SHOW TRANSACTION RULE; mysql&amp;gt; SHOW TRANSACTION RULE; +--------------+---------------+-------+ | default_type | provider_type | props | +--------------+---------------+-------+ | LOCAL | | | +--------------+---------------+-------+ 1 row in set (0.</description>
</item>
<item>
<title>SQL Rewrite Test</title>
<link>https://shardingsphere.apache.org/document/current/en/test-manual/module-test/rewrite-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/test-manual/module-test/rewrite-test/</guid>
<description>Target Facing logic databases and tables cannot be executed directly in actual databases. SQL rewrite is used to rewrite logic SQL into rightly executable ones in actual databases, including two parts, correctness rewrite and optimization rewrite. rewrite tests are for these targets.
Test The rewrite tests are in the test folder under sharding-core/sharding-core-rewrite . Followings are the main part for rewrite tests:
test engine environment configuration assert data Test engine is the entrance of rewrite tests, just like other test engines, through Junit Parameterized, read every and each data in the xml file under the target test type in test\resources, and then assert by the engine one by one</description>
</item>
<item>
<title>Use Docker</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/docker/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/docker/</guid>
<description>Background This chapter is an introduction about how to start ShardingSphere-Proxy via Docker
Notice Using Docker to start ShardingSphere-Proxy does not require additional package supoort.
Steps Acquire Docker Image Method 1 (Recommended): Pull from DockerHub docker pull apache/shardingsphere-proxy Method 2: Acquire latest master branch image master: https://github.com/apache/shardingsphere/pkgs/container/shardingsphere-proxy
Method 3: Build your own image
git clone https://github.com/apache/shardingsphere mvn clean install cd shardingsphere-distribution/shardingsphere-proxy-distribution mvn clean package -Prelease,docker If the following problems emerge, please make sure Docker daemon Process is running.</description>
</item>
<item>
<title>ALTER TRANSACTION RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-transaction-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-transaction-rule/</guid>
<description>Description The ALTER TRANSACTION RULE syntax is used to alter transaction rule configuration.
Syntax Grammar Railroad diagram AlterTransactionRule ::= &amp;#39;ALTER&amp;#39; &amp;#39;TRANSACTION&amp;#39; &amp;#39;RULE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;DEFAULT&amp;#39; &amp;#39;=&amp;#39; defaultTransactionType &amp;#39;,&amp;#39; &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; transactionManager &amp;#39;,&amp;#39; propertiesDefinition &amp;#39;)&amp;#39; &amp;#39;)&amp;#39; propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; key &amp;#39;=&amp;#39; value (&amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value)* &amp;#39;)&amp;#39; defaultTransactionType ::= string transactionManager ::= string key ::= string value ::= literal Supplement defaultTransactionType support LOCAL, XA, BASE</description>
</item>
<item>
<title>Appendix with SQL operator</title>
<link>https://shardingsphere.apache.org/document/current/en/features/encrypt/appendix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/encrypt/appendix/</guid>
<description>Unsupported SQL:
The case-insensitive queries are not supported by encrypted fields. Comparison operations are not supported for encrypted fields, such as GREATER THAN, LESS THAN, ORDER BY, BETWEEN. Calculation operations are not supported for encrypted fields, such as AVG, SUM, and computation expressions. </description>
</item>
<item>
<title>Appendix with SQL operator</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/appendix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/sharding/appendix/</guid>
<description>Limited supported SQL:
When using getGeneratedKeys interface of JDBC specification to return auto-increment key, it is necessary to use a distributed key generator that supports auto-increment, and does not support other types of distributed key generators Unsupported SQL:
CASE WHEN contains sub-query Logical table names are used in CASE WHEN( Please use an alias) INSERT INTO tbl_name (col1, col2, …) SELECT * FROM tbl_name WHERE col3 = ?</description>
</item>
<item>
<title>Appendix with SQL operator</title>
<link>https://shardingsphere.apache.org/document/current/en/features/transaction/appendix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/transaction/appendix/</guid>
<description>Unsupported SQL:
RAL and RDL operations of DistSQL are used in transactions. DDL statements are used in XA transactions. Privileges required for XA transactions:
In MySQL8, you need to grant the user XA_RECOVER_ADMIN privilege, otherwise the XA transaction manager will report an error when executing the XA RECOVER statement.</description>
</item>
<item>
<title>COUNT SINGLE_TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/count-single-table/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/count-single-table/</guid>
<description>Description The COUNT SINGLE TABLE syntax is used to query number of single table for specified database.
Syntax Grammar Railroad diagram CountSingleTable::= &amp;#39;COUNT&amp;#39; &amp;#39;SINGLE&amp;#39; &amp;#39;TABLE&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return Value Description Column Description database The database name where the single table is located count The count of single table Example Query the number of single rules for specified database.</description>
</item>
<item>
<title>Distributed Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/transaction/</guid>
<description>Root Configuration org.apache.shardingsphere.transaction.config.TransactionRuleConfiguration
Attributes:
name DataType Description defaultType String Default transaction type providerType (?) String Transaction provider type props (?) Properties Transaction properties </description>
</item>
<item>
<title>Distributed Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/transaction/</guid>
<description>Background ShardingSphere provides three modes for distributed transactions LOCAL, XA, BASE.
Parameters transaction: defaultType: # Transaction mode, optional value LOCAL/XA/BASE providerType: # Specific implementation of the mode Procedure Use LOCAL Mode The content of the server.yaml configuration file is as follows:
transaction: defaultType: LOCAL Use XA Mode The content of the server.yaml configuration file is as follows:
transaction: defaultType: XA providerType: Narayana/Atomikos To manually add Narayana-related dependencies:
jta-5.12.4.Final.jar arjuna-5.12.4.Final.jar common-5.12.4.Final.jar jboss-connector-api_1.</description>
</item>
<item>
<title>DROP ENCRYPT RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/drop-encrypt-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/drop-encrypt-rule/</guid>
<description>Description The DROP ENCRYPT RULE syntax is used to drop an existing encryption rule.
Syntax Grammar Railroad diagram DropEncryptRule ::= &amp;#39;DROP&amp;#39; &amp;#39;ENCRYPT&amp;#39; &amp;#39;RULE&amp;#39; ifExists? encryptRuleName (&amp;#39;,&amp;#39; encryptRuleName)* ifExists ::= &amp;#39;IF&amp;#39; &amp;#39;EXISTS&amp;#39; encryptRuleName ::= identifier Supplement ifExists clause is used for avoid Encrypt rule not exists error. Example Drop an encrypt rule DROP ENCRYPT RULE t_encrypt, t_encrypt_2; Drop encrypt with ifExists clause DROP ENCRYPT RULE IF EXISTS t_encrypt, t_encrypt_2; Reserved words DROP, ENCRYPT, RULE</description>
</item>
<item>
<title>DROP MASK RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/drop-mask-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/mask/drop-mask-rule/</guid>
<description>Description The DROP MASK RULE syntax is used to drop existing mask rule.
Syntax Grammar Railroad diagram DropEncryptRule ::= &amp;#39;DROP&amp;#39; &amp;#39;MASK&amp;#39; &amp;#39;RULE&amp;#39; ifExists? maskRuleName (&amp;#39;,&amp;#39; maskRuleName)* ifExists ::= &amp;#39;IF&amp;#39; &amp;#39;EXISTS&amp;#39; maskRuleName ::= identifier Supplement ifExists clause used for avoid Mask rule not exists error. Example Drop mask rule DROP MASK RULE t_mask, t_mask_1; Drop mask rule with ifExists clause DROP MASK RULE IF EXISTS t_mask, t_mask_1; Reserved words DROP, MASK, RULE</description>
</item>
<item>
<title>DROP READWRITE_SPLITTING RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/drop-readwrite-splitting-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/drop-readwrite-splitting-rule/</guid>
<description>Description The DROP READWRITE_SPLITTING RULE syntax is used to drop readwrite-splitting rule for specified database
Syntax Grammar Railroad diagram DropReadwriteSplittingRule ::= &amp;#39;DROP&amp;#39; &amp;#39;READWRITE_SPLITTING&amp;#39; &amp;#39;RULE&amp;#39; ifExists? readwriteSplittingRuleName (&amp;#39;,&amp;#39; readwriteSplittingRuleName)* (&amp;#39;FROM&amp;#39; databaseName)? ifExists ::= &amp;#39;IF&amp;#39; &amp;#39;EXISTS&amp;#39; readwriteSplittingRuleName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted; ifExists clause is used for avoid Readwrite-splitting rule not exists error.</description>
</item>
<item>
<title>DROP SHADOW RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-rule/</guid>
<description>Description The DROP SHADOW RULE syntax is used to drop shadow rule for specified database
Syntax Grammar Railroad diagram DropShadowRule ::= &amp;#39;DROP&amp;#39; &amp;#39;SHADOW&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;RULE&amp;#39; ifExists? shadowRuleName (&amp;#39;FROM&amp;#39; databaseName)? ifExists ::= &amp;#39;IF&amp;#39; &amp;#39;EXISTS&amp;#39; shadowRuleName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted; ifExists clause is used for avoid Shadow rule not exists error.</description>
</item>
<item>
<title>DROP SHARDING TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-rule/</guid>
<description>Description The DROP SHARDING TABLE RULE syntax is used to drop sharding table rule for specified database.
Syntax Grammar Railroad diagram DropShardingTableRule ::= &amp;#39;DROP&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;RULE&amp;#39; ifExists? shardingRuleName (&amp;#39;,&amp;#39; shardingRuleName)* (&amp;#39;FROM&amp;#39; databaseName)? ifExists ::= &amp;#39;IF&amp;#39; &amp;#39;EXISTS&amp;#39; shardingRuleName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted; ifExists clause is used to avoid Sharding rule not exists error.</description>
</item>
<item>
<title>Encrypt</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/encrypt-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/encrypt-rule/</guid>
<description>Storage unit Operation REGISTER STORAGE UNIT ds_0 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_0&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ); Rule Operation Create encrypt rule CREATE ENCRYPT RULE t_encrypt ( COLUMNS( (NAME=user_id,CIPHER=user_cipher,ENCRYPT_ALGORITHM(TYPE(NAME=&amp;#39;AES&amp;#39;,PROPERTIES(&amp;#39;aes-key-value&amp;#39;=&amp;#39;123456abc&amp;#39;)))), (NAME=order_id,CIPHER =order_cipher,ENCRYPT_ALGORITHM(TYPE(NAME=&amp;#39;RC4&amp;#39;,PROPERTIES(&amp;#39;rc4-key-value&amp;#39;=&amp;#39;123456abc&amp;#39;)))) )); Create encrypt table CREATE TABLE `t_encrypt` ( `id` int(11) NOT NULL, `user_id` varchar(45) DEFAULT NULL, `order_id` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; Alter encrypt rule ALTER ENCRYPT RULE t_encrypt ( COLUMNS( (NAME=user_id,CIPHER=user_cipher,ENCRYPT_ALGORITHM(TYPE(NAME=&amp;#39;AES&amp;#39;,PROPERTIES(&amp;#39;aes-key-value&amp;#39;=&amp;#39;123456abc&amp;#39;)))) )); Drop encrypt rule DROP ENCRYPT RULE t_encrypt; Unregister storage unit UNREGISTER STORAGE UNIT ds_0; Drop distributed database DROP DATABASE encrypt_db; </description>
</item>
<item>
<title>Kernel</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/kernel/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/kernel/</guid>
<description>SQLRouter Fully-qualified class name org.apache.shardingsphere.infra.route.SQLRouter
Definition Used to process routing results
Implementation classes Configuration type Description Fully-qualified class name SingleRule.class Used to process single-table routing results org.apache.shardingsphere.singletable.route.SingleTableSQLRouter ShardingRule.class Used to process sharding routing results org.apache.shardingsphere.sharding.route.engine.ShardingSQLRouter ReadwriteSplittingRule.class Used to process read-write splitting routing results org.apache.shardingsphere.readwritesplitting.route.ReadwriteSplittingSQLRouter DatabaseDiscoveryRule.class Used to process database discovery routing results org.apache.shardingsphere.dbdiscovery.route.DatabaseDiscoverySQLRouter ShadowRule.class Used to process shadow database routing results org.</description>
</item>
<item>
<title>Key Generate Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/keygen/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/keygen/</guid>
<description>Background In traditional database software development, automatic primary key generation is a basic requirement and various databases provide support for this requirement, such as MySQL&amp;rsquo;s self-incrementing keys, Oracle&amp;rsquo;s self-incrementing sequences, etc.
After data sharding, it is a very tricky problem to generate global unique primary keys from different data nodes. Self-incrementing keys between different actual tables within the same logical table generate duplicate primary keys because they are not mutually perceived.</description>
</item>
<item>
<title>PREVIEW SQL</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rul/preview-sql/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rul/preview-sql/</guid>
<description>Description The PREVIEW SQL syntax is used to preview SQL execution plan.
Syntax Grammar Railroad diagram PreviewSql ::= &amp;#39;PREVIEW&amp;#39; sqlStatement Return Value Description Column Description data_source_name storage unit name actual_sql actual excute SQL statement Example Preview SQL execution plan PREVIEW SELECT * FROM t_order; mysql&amp;gt; PREVIEW SELECT * FROM t_order; +------------------+-----------------------+ | data_source_name | actual_sql | +------------------+-----------------------+ | su_1 | SELECT * FROM t_order | +------------------+-----------------------+ 1 row in set (0.</description>
</item>
<item>
<title>REGISTER MIGRATION SOURCE STORAGE UNIT</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/register-migration-source-storage-unit/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/register-migration-source-storage-unit/</guid>
<description>Description The REGISTER MIGRATION SOURCE STORAGE UNIT syntax is used to register migration source storage unit for the currently connection.
Syntax Grammar Railroad diagram RegisterStorageUnit ::= &amp;#39;REGISTER&amp;#39; &amp;#39;MIGRATION&amp;#39; &amp;#39;SOURCE&amp;#39; &amp;#39;STORAGE&amp;#39; &amp;#39;UNIT&amp;#39; storageUnitDefinition (&amp;#39;,&amp;#39; storageUnitDefinition)* storageUnitDefinition ::= StorageUnitName &amp;#39;(&amp;#39; &amp;#39;URL&amp;#39; &amp;#39;=&amp;#39; url &amp;#39;,&amp;#39; &amp;#39;USER&amp;#39; &amp;#39;=&amp;#39; user (&amp;#39;,&amp;#39; &amp;#39;PASSWORD&amp;#39; &amp;#39;=&amp;#39; password)? (&amp;#39;,&amp;#39; propertiesDefinition)?&amp;#39;)&amp;#39; storageUnitName ::= identifier url ::= string user ::= string password ::= string propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; ( key &amp;#39;=&amp;#39; value ) ( &amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value )* &amp;#39;)&amp;#39; key ::= string value ::= literal Supplement Confirm that the registered migration source storage unit can be connected normally, otherwise it will not be added successfully; storageUnitName is case-sensitive; storageUnitName needs to be unique within the current connection; storageUnitName name only allows letters, numbers and _, and must start with a letter; poolProperty is used to customize connection pool parameters, key must be the same as the connection pool parameter name, value supports int and String types; When password contains special characters, it is recommended to use the string form; For example, the string form of password@123 is &amp;quot;password@123&amp;quot;.</description>
</item>
<item>
<title>Rewrite Engine</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/sharding/rewrite/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/sharding/rewrite/</guid>
<description>SQL written by engineers for logical databases and tables cannot be directly executed in real databases.
SQL rewriting is used to rewrite logical SQL into SQL that can be executed correctly in real databases. It includes rewriting for correctness and rewriting for optimization.
Rewriting for Correctness In a scenario with table shards, you need to rewrite the logical table name in the table shards configuration to the real table name obtained after routing.</description>
</item>
<item>
<title>Rules</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/rules/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/rules/</guid>
<description>Background This section explains how to configure the ShardingSphere-Proxy rules.
Parameters Explained Rules configuration for ShardingSphere-Proxy is the same as ShardingSphere-JDBC. For details, please refer to ShardingSphere-JDBC Rules Configuration.
Notice Unlike ShardingSphere-JDBC, the following rules need to be configured in ShardingSphere-Proxy&amp;rsquo;s server.yaml:
SQL Parsing sqlParser: sqlCommentParseEnabled: true sqlStatementCache: initialCapacity: 2000 maximumSize: 65535 parseTreeCache: initialCapacity: 128 maximumSize: 1024 Distributed Transaction transaction: defaultType: XA providerType: Atomikos SQL Translator sqlTranslator: type: useOriginalSQLWhenTranslatingFailed: </description>
</item>
<item>
<title>SHOW COMPUTE NODES</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/show-compute-nodes/</guid>
<description>Description The SHOW COMPUTE NODES syntax is used to query proxy instance information.
Syntax Grammar Railroad diagram ShowComputeNodes ::= &amp;#39;SHOW&amp;#39; &amp;#39;COMPUTE&amp;#39; &amp;#39;NODES&amp;#39; Return Value Description Columns Description instance_id proxy instance id host host address port port number status proxy instance status mode_type proxy instance mode worker_id worker id labels labels version version Example Query proxy instance information SHOW COMPUTE NODES; mysql&amp;gt; SHOW COMPUTE NODES; +--------------------------------------+---------------+------+--------+-----------+-----------+--------+---------+ | instance_id | host | port | status | mode_type | worker_id | labels | version | +--------------------------------------+---------------+------+--------+-----------+-----------+--------+---------+ | 734bb036-b15d-4af0-be87-2372d8b6a0cd | 192.</description>
</item>
<item>
<title>SHOW SHADOW ALGORITHMS</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-algorithm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-shadow-algorithm/</guid>
<description>Description The SHOW SHADOW ALGORITHMS syntax is used to query shadow algorithms for specified database.
Syntax Grammar Railroad diagram ShowEncryptAlgorithm::= &amp;#39;SHOW&amp;#39; &amp;#39;SHADOW&amp;#39; &amp;#39;ALGORITHMS&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description shadow_algorithm_name Shadow algorithm name type Shadow algorithm type props Shadow algorithm properties is_default Default Example Query shadow algorithms for specified database.</description>
</item>
<item>
<title>SHOW UNUSED SHARDING ALGORITHMS</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-algorithms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-algorithms/</guid>
<description>Description The SHOW UNUSED SHARDING ALGORITHMS syntax is used to query the unused sharding algorithms in the specified database.
Syntax Grammar Railroad diagram ShowShardingAlgorithms::= &amp;#39;SHOW&amp;#39; &amp;#39;UNUSED&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;ALGORITHMS&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description name Sharding algorithm name type Sharding algorithm type props Sharding algorithm properties Example Query the unused sharding table algorithms of the specified logical database SHOW UNUSED SHARDING ALGORITHMS; mysql&amp;gt; SHOW UNUSED SHARDING ALGORITHMS; +---------------+--------+-----------------------------------------------------+ | name | type | props | +---------------+--------+-----------------------------------------------------+ | t1_inline | INLINE | algorithm-expression=t_order_${order_id % 2} | +---------------+--------+-----------------------------------------------------+ 1 row in set (0.</description>
</item>
<item>
<title>SQL Hint</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/sql-hint/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/sql-hint/</guid>
<description>Background At present, most relational databases basically provide SQL Hint as a supplement to SQL syntax. SQL Hint allows users to intervene in the execution process of SQL through the built-in Hint syntax of the database, to complete some special functions or realize optimization of SQL execution. ShardingSphere also provides SQL Hint syntax, allowing users to perform force route for sharding and read-write splitting, and data source pass through.
Use specification The SQL Hint syntax of ShardingSphere needs to be written in SQL in the form of comments.</description>
</item>
<item>
<title>UNREGISTER STORAGE UNIT</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/unregister-storage-unit/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/unregister-storage-unit/</guid>
<description>Description The UNREGISTER STORAGE UNIT syntax is used to unregister storage unit from the current database
Syntax Grammar Railroad diagram UnregisterStorageUnit ::= &amp;#39;UNREGISTER&amp;#39; &amp;#39;STORAGE&amp;#39; &amp;#39;UNIT&amp;#39; ifExists? storageUnitName (&amp;#39;,&amp;#39; storageUnitName)* (&amp;#39;IGNORE&amp;#39; &amp;#39;SINGLE&amp;#39; &amp;#39;TABLES&amp;#39;)? ifExists ::= &amp;#39;IF&amp;#39; &amp;#39;EXISTS&amp;#39; storageUnitName ::= identifier Supplement UNREGISTER STORAGE UNIT will only unregister storage unit in Proxy, the real data source corresponding to the storage unit will not be unregistered; Unable to unregister storage unit already used by rules.</description>
</item>
<item>
<title>Use Helm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/helm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/helm/</guid>
<description>Background Use Helm to provide guidance for the installation of ShardingSphere-Proxy instance in a Kubernetes cluster. For more details, please checkout ShardingSphere-on-Cloud.
Requirements Kubernetes 1.18+ kubectl Helm 3.2.0+ StorageClass of PV (Persistent Volumes) can be dynamically applied for persistent data (Optional) . Procedure Online installation Add ShardingSphere-Proxy to the local helm repo: helm repo add shardingsphere https://shardingsphere.apache.org/charts Install ShardingSphere-Proxy charts: helm install shardingsphere-proxy shardingsphere/shardingsphere-proxy Source installation Charts will be installed with default configuration if the following commands are executed: git clone https://github.</description>
</item>
<item>
<title>Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/algorithm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/algorithm/</guid>
<description>Sharding ShardingRuleConfiguration ruleConfiguration = new ShardingRuleConfiguration(); // algorithmName is specified by users and should be consistent with the sharding algorithm in the sharding strategy. // type and props, please refer to the built-in sharding algorithm: https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/sharding/ ruleConfiguration.getShardingAlgorithms().put(&amp;#34;algorithmName&amp;#34;, new AlgorithmConfiguration(&amp;#34;xxx&amp;#34;, new Properties())); Encryption // encryptorName is specified by users, and its property should be consistent with that of encryptorName in encryption rules. // type and props, please refer to the built-in encryption algorithm: https://shardingsphere.</description>
</item>
<item>
<title>Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/algorithm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/algorithm/</guid>
<description>Sharding shardingAlgorithms: # algorithmName is specified by users, and its property has to be consistent with that of shardingAlgorithmName in the sharding strategy. &amp;lt;algorithmName&amp;gt;: # type and props, please refer to the built-in sharding algorithm: https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/sharding/ type: xxx props: xxx: xxx Encryption encryptors: # encryptorName is specified by users, and its property should be consistent with that of encryptorName in encryption rules. &amp;lt;encryptorName&amp;gt;: # type and props, please refer to the built-in encryption algorithm: https://shardingsphere.</description>
</item>
<item>
<title>Atomikos Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/atomikos/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/atomikos/</guid>
<description>Background Apache ShardingSphere provides XA transactions, and the default XA transaction manager is Atomikos.
Procedure Configure the transaction type Configure Atomikos Sample Configure the transaction type Yaml:
transaction: defaultType: XA providerType: Atomikos Configure Atomikos Atomikos configuration items can be customized by adding jta.properties to the project&amp;rsquo;s classpath.
See Atomikos&amp;rsquo;s official documentation for more details.
Data Recovery xa_tx.log is generated in the logs directory of the project. This is the log required for recovering XA crash.</description>
</item>
<item>
<title>CREATE DEFAULT SHADOW ALGORITHM</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-default-shadow-algorithm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/create-default-shadow-algorithm/</guid>
<description>Description The CREATE DEFAULT SHADOW ALGORITHM syntax is used to create a default shadow algorithm.
Syntax Grammar Railroad diagram CreateDefaultShadowAlgorithm ::= &amp;#39;CREATE&amp;#39; &amp;#39;DEFAULT&amp;#39; &amp;#39;SHADOW&amp;#39; &amp;#39;ALGORITHM&amp;#39; ifNotExists? shadowAlgorithm ifNotExists ::= &amp;#39;IF&amp;#39; &amp;#39;NOT&amp;#39; &amp;#39;EXISTS&amp;#39; shadowAlgorithm ::= &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; shadowAlgorithmType &amp;#39;,&amp;#39; propertiesDefiinition &amp;#39;)&amp;#39; shadowAlgorithmType ::= string propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; key &amp;#39;=&amp;#39; value (&amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value)* &amp;#39;)&amp;#39; key ::= string value ::= literal Supplement shadowAlgorithmType currently supports VALUE_MATCH, REGEX_MATCH and SQL_HINT; ifNotExists clause is used for avoid Duplicate default shadow algorithm error.</description>
</item>
<item>
<title>CREATE DEFAULT SHARDING STRATEGY</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-default-sharding-strategy/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-default-sharding-strategy/</guid>
<description>Description The CREATE DEFAULT SHARDING STRATEGY syntax is used to create a default sharding strategy
Syntax Grammar Railroad diagram CreateDefaultShardingStrategy ::= &amp;#39;CREATE&amp;#39; &amp;#39;DEFAULT&amp;#39; &amp;#39;SHARDING&amp;#39; (&amp;#39;DATABASE&amp;#39; | &amp;#39;TABLE&amp;#39;) &amp;#39;STRATEGY&amp;#39; ifNotExists? &amp;#39;(&amp;#39; shardingStrategy &amp;#39;)&amp;#39; ifNotExists ::= &amp;#39;IF&amp;#39; &amp;#39;NOT&amp;#39; &amp;#39;EXISTS&amp;#39; shardingStrategy ::= &amp;#39;TYPE&amp;#39; &amp;#39;=&amp;#39; strategyType &amp;#39;,&amp;#39; (&amp;#39;SHARDING_COLUMN&amp;#39; &amp;#39;=&amp;#39; columnName | &amp;#39;SHARDING_COLUMNS&amp;#39; &amp;#39;=&amp;#39; columnNames) &amp;#39;,&amp;#39; &amp;#39;SHARDING_ALGORITHM&amp;#39; &amp;#39;=&amp;#39; algorithmDefinition strategyType ::= string algorithmDefinition ::= &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; algorithmType &amp;#39;,&amp;#39; propertiesDefinition &amp;#39;)&amp;#39; columnNames ::= columnName (&amp;#39;,&amp;#39; columnName)+ columnName ::= identifier algorithmType ::= string propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; key &amp;#39;=&amp;#39; value (&amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value)* &amp;#39;)&amp;#39; key ::= string value ::= literal Supplement When using the complex sharding algorithm, multiple sharding columns need to be specified using SHARDING_COLUMNS; algorithmType is the sharding algorithm type.</description>
</item>
<item>
<title>DataSource</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/data-source/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/data-source/</guid>
<description>DatabaseType Fully-qualified class name org.apache.shardingsphere.infra.database.type.DatabaseType
Definition Supported database types definition
Implementation classes Configuration Type Description Fully-qualified class name SQL92 SQL92 database type org.apache.shardingsphere.infra.database.type.dialect.SQL92DatabaseType MySQL MySQL database org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType MariaDB MariaDB database org.apache.shardingsphere.infra.database.type.dialect.MariaDBDatabaseType PostgreSQL PostgreSQL database org.apache.shardingsphere.infra.database.type.dialect.PostgreSQLDatabaseType Oracle Oracle database org.apache.shardingsphere.infra.database.type.dialect.OracleDatabaseType SQLServer SQLServer database org.apache.shardingsphere.infra.database.type.dialect.SQLServerDatabaseType H2 H2 database org.apache.shardingsphere.infra.database.type.dialect.H2DatabaseType openGauss OpenGauss database org.</description>
</item>
<item>
<title>ENABLE/DISABLE COMPUTE NODE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/enable-disable-compute-node/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/enable-disable-compute-node/</guid>
<description>Description The ENABLE/DISABLE COMPUTE NODE syntax is used enable/disable a specified proxy instance
Syntax Grammar Railroad diagram EnableDisableComputeNode ::= (&amp;#39;ENABLE&amp;#39; | &amp;#39;DISABLE&amp;#39;) &amp;#39;COMPUTE&amp;#39; &amp;#39;NODE&amp;#39; instanceId instanceId ::= string Supplement instanceId needs to be obtained through SHOW COMPUTE NODES syntax query
The currently in-use proxy instance cannot be disabled
Example Disable a specified proxy instance DISABLE COMPUTE NODE &amp;#39;734bb086-b15d-4af0-be87-2372d8b6a0cd&amp;#39;; Enable a specified proxy instance ENABLE COMPUTE NODE &amp;#39;734bb086-b15d-4af0-be87-2372d8b6a0cd&amp;#39;; Reserved word ENABLE, DISABLE, COMPUTE, NODE</description>
</item>
<item>
<title>Encryption</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/encrypt/</guid>
<description>Background The data encryption Java API rule configuration allows users to directly create ShardingSphereDataSource objects by writing java code. The Java API configuration method is very flexible and can integrate various types of business systems without relying on additional jar packages.
Parameters Root Configuration Class name: org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration
Attributes:
Name DataType Description Default Value tables (+) Collection&amp;lt;EncryptTableRuleConfiguration&amp;gt; Encrypt table rule configurations encryptors (+) Map&amp;lt;String, AlgorithmConfiguration&amp;gt; Encrypt algorithm name and configurations Encrypt Table Rule Configuration Class name: org.</description>
</item>
<item>
<title>Encryption</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/encrypt/</guid>
<description>Background The YAML configuration approach to data encryption is highly readable, with the YAML format enabling a quick understanding of dependencies between encryption rules. Based on the YAML configuration, ShardingSphere automatically completes the creation of ShardingSphereDataSource objects, reducing unnecessary coding efforts for users.
Parameters rules: - !ENCRYPT tables: &amp;lt;table_name&amp;gt; (+): # Encrypt table name columns: &amp;lt;column_name&amp;gt; (+): # Encrypt logic column name cipher: name: # Cipher column name encryptorName: # Cipher encrypt algorithm name assistedQuery (?</description>
</item>
<item>
<title>Execute Engine</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/sharding/execute/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/sharding/execute/</guid>
<description>ShardingSphere uses an automated execution engine to safely and efficiently send the real SQL, which has been routed and rewritten, to the underlying data source for execution.
It does not simply send SQL directly to the data source for execution via JDBC, nor are execution requests placed directly into a thread pool for concurrent execution.
It focuses more on the creation of a balanced data source connection, the consumption generated by the memory usage, and the maximum utilization of the concurrency.</description>
</item>
<item>
<title>Load Balance Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/load-balance/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/load-balance/</guid>
<description>Background ShardingSphere built-in provides a variety of load balancer algorithms, including polling algorithm, random access algorithm and weight access algorithm, which can meet users&amp;rsquo; needs in most business scenarios.
Moreover, considering the complexity of the business scenario, the built-in algorithm also provides an extension mode. Users can implement the load balancer algorithm they need based on SPI interface.
Parameters Round-robin Load Balance Algorithm Type: ROUND_ROBIN
Random Load Balance Algorithm Type: RANDOM</description>
</item>
<item>
<title>MASK</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/mask-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/mask-rule/</guid>
<description>Storage unit Operation REGISTER STORAGE UNIT ds_0 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_0&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ); Rule Operation Create mask rule CREATE MASK RULE t_mask ( COLUMNS( (NAME=phone_number,TYPE(NAME=&amp;#39;MASK_FROM_X_TO_Y&amp;#39;, PROPERTIES(&amp;#34;from-x&amp;#34;=1, &amp;#34;to-y&amp;#34;=2, &amp;#34;replace-char&amp;#34;=&amp;#34;*&amp;#34;))), (NAME=address,TYPE(NAME=&amp;#39;MD5&amp;#39;)) )); Create mask table CREATE TABLE `t_mask` ( `id` int(11) NOT NULL, `user_id` varchar(45) DEFAULT NULL, `phone_number` varchar(45) DEFAULT NULL, `address` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; Alter mask rule ALTER MASK RULE t_mask ( COLUMNS( (NAME=user_id,TYPE(NAME=&amp;#39;MD5&amp;#39;)) )); Drop mask rule DROP MASK RULE t_mask; Unregister storage unit UNREGISTER STORAGE UNIT ds_0; Drop distributed database DROP DATABASE mask_db; </description>
</item>
<item>
<title>SHOW COMPUTE NODE INFO</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-info/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-info/</guid>
<description>Description The SHOW COMPUTE NODE INFO syntax is used to query current proxy instance information.
Syntax Grammar Railroad diagram ShowComputeNodeInfo ::= &amp;#39;SHOW&amp;#39; &amp;#39;COMPUTE&amp;#39; &amp;#39;NODE&amp;#39; &amp;#39;INFO&amp;#39; Return Value Description Columns Description instance_id proxy instance id host host address port port number status proxy instance status mode_type proxy instance mode worker_id worker id labels labels Example Query current proxy instance information SHOW COMPUTE NODE INFO; mysql&amp;gt; SHOW COMPUTE NODE INFO; +--------------------------------------+---------------+------+--------+-----------+-----------+--------+ | instance_id | host | port | status | mode_type | worker_id | labels | +--------------------------------------+---------------+------+--------+-----------+-----------+--------+ | 734bb036-b15d-4af0-be87-2372d8b6a0cd | 192.</description>
</item>
<item>
<title>SHOW DEFAULT SHADOW ALGORITHM</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-default-shadow-algorithm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/show-default-shadow-algorithm/</guid>
<description>Description The SHOW DEFAULT SHADOW ALGORITHM syntax is used to query default shadow algorithms for specified database.
Syntax Grammar Railroad diagram ShowEncryptAlgorithm::= &amp;#39;SHOW&amp;#39; &amp;#39;SHADOW&amp;#39; &amp;#39;ALGORITHMS&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description shadow_algorithm_name Shadow algorithm name type Shadow algorithm type props Shadow algorithm properties Example Query shadow algorithms for specified database.</description>
</item>
<item>
<title>SHOW DEFAULT SHARDING STRATEGY</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-default-sharding-strategy/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-default-sharding-strategy/</guid>
<description>Description The SHOW DEFAULT SHARDING STRATEGY syntax is used to query default sharding strategy in specified database.
Syntax Grammar Railroad diagram ShowDefaultShardingStrategy::= &amp;#39;SHOW&amp;#39; &amp;#39;DEFAULT&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;STRATEGY&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description name Sharding strategy scope type Sharding strategy type sharding_column Sharding column sharding_algorithm_name Sharding algorithm name sharding_algorithm_type Sharding algorithm type sharding_algorithm_props Sharding algorithm properties Example Query default sharding strategy in specified database.</description>
</item>
<item>
<title>SHOW SQL_PARSER RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-sql-parser-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-sql-parser-rule/</guid>
<description>Description The SHOW SQL_PARSER RULE syntax is used to query sql parser rule configuration.
Syntax Grammar Railroad diagram ShowSqlParserRule ::= &amp;#39;SHOW&amp;#39; &amp;#39;SQL_PARSER&amp;#39; &amp;#39;RULE&amp;#39; Return Value Description Column Description sql_comment_parse_enabled SQL comment parse enabled status parse_tree_cache parse tree cache configuration sql_statement_cache SQL statement cache configuration Example Query sql parser rule configuration SHOW SQL_PARSER RULE; mysql&amp;gt; SHOW SQL_PARSER RULE; +---------------------------+-----------------------------------------+-------------------------------------------+ | sql_comment_parse_enabled | parse_tree_cache | sql_statement_cache | +---------------------------+-----------------------------------------+-------------------------------------------+ | false | initialCapacity: 128, maximumSize: 1024 | initialCapacity: 2000, maximumSize: 65535 | +---------------------------+-----------------------------------------+-------------------------------------------+ 1 row in set (0.</description>
</item>
<item>
<title>UNREGISTER MIGRATION SOURCE STORAGE UNIT</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/unregister-storage-unit/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/unregister-storage-unit/</guid>
<description>Description The UNREGISTER MIGRATION SOURCE STORAGE UNIT syntax is used to unregister migration source storage unit from the current connection
Syntax Grammar Railroad diagram UnregisterMigrationSourceStorageUnit ::= &amp;#39;UNREGISTER&amp;#39; &amp;#39;MIGRATION&amp;#39; &amp;#39;SOURCE&amp;#39; &amp;#39;STORAGE&amp;#39; &amp;#39;UNIT&amp;#39; storageUnitName (&amp;#39;,&amp;#39; storageUnitName)* storageUnitName ::= identifier Supplement UNREGISTER MIGRATION SOURCE STORAGE UNIT will only unregister storage unit in Proxy, the real data source corresponding to the storage unit will not be dropped; Example Drop a migration source storage unit UNREGISTER MIGRATION SOURCE STORAGE UNIT ds_0; Drop multiple migration source storage units UNREGISTER MIGRATION SOURCE STORAGE UNIT ds_1, ds_2; Reserved word UNREGISTER、MIGRATION、SOURCE、STORAGE、UNIT</description>
</item>
<item>
<title>ALTER DEFAULT SHADOW ALGORITHM</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-default-shadow-algorithm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/alter-default-shadow-algorithm/</guid>
<description>Description The ALTER DEFAULT SHADOW ALGORITHM syntax is used to alter a default shadow algorithm.
Syntax Grammar Railroad diagram AlterDefaultShadowAlgorithm ::= &amp;#39;ALTER&amp;#39; &amp;#39;DEFAULT&amp;#39; &amp;#39;SHADOW&amp;#39; &amp;#39;ALGORITHM&amp;#39; shadowAlgorithm shadowAlgorithm ::= &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; shadowAlgorithmType &amp;#39;,&amp;#39; propertiesDefiinition &amp;#39;)&amp;#39; shadowAlgorithmType ::= string propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; key &amp;#39;=&amp;#39; value (&amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value)* &amp;#39;)&amp;#39; key ::= string value ::= literal Supplement shadowAlgorithmType currently supports VALUE_MATCH, REGEX_MATCH and SQL_HINT.</description>
</item>
<item>
<title>ALTER DEFAULT SHARDING STRATEGY</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-default-sharding-strategy/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-default-sharding-strategy/</guid>
<description>Description The ALTER DEFAULT SHARDING STRATEGY syntax is used to alter a default sharding strategy
Syntax Grammar Railroad diagram AlterDefaultShardingStrategy ::= &amp;#39;ALTER&amp;#39; &amp;#39;DEFAULT&amp;#39; &amp;#39;SHARDING&amp;#39; (&amp;#39;DATABASE&amp;#39; | &amp;#39;TABLE&amp;#39;) &amp;#39;STRATEGY&amp;#39; &amp;#39;(&amp;#39; shardingStrategy &amp;#39;)&amp;#39; shardingStrategy ::= &amp;#39;TYPE&amp;#39; &amp;#39;=&amp;#39; strategyType &amp;#39;,&amp;#39; (&amp;#39;SHARDING_COLUMN&amp;#39; &amp;#39;=&amp;#39; columnName | &amp;#39;SHARDING_COLUMNS&amp;#39; &amp;#39;=&amp;#39; columnNames) &amp;#39;,&amp;#39; &amp;#39;SHARDING_ALGORITHM&amp;#39; &amp;#39;=&amp;#39; algorithmDefinition strategyType ::= string algorithmDefinition ::= &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; algorithmType &amp;#39;,&amp;#39; propertiesDefinition &amp;#39;)&amp;#39; columnNames ::= columnName (&amp;#39;,&amp;#39; columnName)+ columnName ::= identifier algorithmType ::= string propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; key &amp;#39;=&amp;#39; value (&amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value)* &amp;#39;)&amp;#39; key ::= string value ::= literal Supplement When using the complex sharding algorithm, multiple sharding columns need to be specified using SHARDING_COLUMNS; algorithmType is the sharding algorithm type.</description>
</item>
<item>
<title>ALTER SQL_PARSER RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-sql-parser-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-sql-parser-rule/</guid>
<description>Description The ALTER SQL_PARSER RULE syntax is used to alter SQL parser rule configuration.
Syntax Grammar Railroad diagram AlterSqlParserRule ::= &amp;#39;ALTER&amp;#39; &amp;#39;SQL_PARSER&amp;#39; &amp;#39;RULE&amp;#39; &amp;#39;(&amp;#39; sqlParserRuleDefinition &amp;#39;)&amp;#39; sqlParserRuleDefinition ::= commentDefinition? (&amp;#39;,&amp;#39; parseTreeCacheDefinition)? (&amp;#39;,&amp;#39; sqlStatementCacheDefinition)? commentDefinition ::= &amp;#39;SQL_COMMENT_PARSE_ENABLED&amp;#39; &amp;#39;=&amp;#39; sqlCommentParseEnabled parseTreeCacheDefinition ::= &amp;#39;PARSE_TREE_CACHE&amp;#39; &amp;#39;(&amp;#39; cacheOption &amp;#39;)&amp;#39; sqlStatementCacheDefinition ::= &amp;#39;SQL_STATEMENT_CACHE&amp;#39; &amp;#39;(&amp;#39; cacheOption &amp;#39;)&amp;#39; sqlCommentParseEnabled ::= boolean cacheOption ::= (&amp;#39;INITIAL_CAPACITY&amp;#39; &amp;#39;=&amp;#39; initialCapacity)? (&amp;#39;,&amp;#39;? &amp;#39;MAXIMUM_SIZE&amp;#39; &amp;#39;=&amp;#39; maximumSize)? initialCapacity ::= int maximumSize ::= int Supplement SQL_COMMENT_PARSE_ENABLE: whether to parse the SQL comment</description>
</item>
<item>
<title>Bitronix Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/bitronix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/bitronix/</guid>
<description>background Apache ShardingSphere provides XA transactions that integrate with the Bitronix implementation.
Prerequisites Introducing Maven dependency
&amp;lt;properties&amp;gt; &amp;lt;btm.version&amp;gt;2.1.3&amp;lt;/btm.version&amp;gt; &amp;lt;/properties&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-jdbc-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using XA transactions --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-bitronix&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.codehaus.btm&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;btm&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${btm.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Procedure Configure the XA transaction type Configure Bitronix Sample Configure the XA transaction type Yaml:
transaction: defaultType: XA providerType: Bitronix Configure Bitronix (Deletable) See Bitronix&amp;rsquo;s Official Documentation for more details.</description>
</item>
<item>
<title>COUNT SHADOW RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/count-shadow-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/count-shadow-rule/</guid>
<description>Description The COUNT SHADOW RULE syntax is used to query the number of shadow rules for specified database.
Syntax Grammar Railroad diagram CountShadowRule::= &amp;#39;COUNT&amp;#39; &amp;#39;SHADOW&amp;#39; &amp;#39;RULE&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description rule_name rule type database the database to which the rule belongs count the number of the rule Example Query the number of shadow rules for specified database.</description>
</item>
<item>
<title>Data Masking</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/mask/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/mask/</guid>
<description>Background The data masking Java API rule configuration allows users to directly create ShardingSphereDataSource objects by writing java code. The Java API configuration method is very flexible and can integrate various types of business systems without relying on additional jar packages.
Parameters Root Configuration Class name: org.apache.shardingsphere.mask.api.config.MaskRuleConfiguration
Attributes:
Name DataType Description Default Value tables (+) Collection&amp;lt;MaskTableRuleConfiguration&amp;gt; Mask table rule configurations maskAlgorithms (+) Map&amp;lt;String, AlgorithmConfiguration&amp;gt; Mask algorithm name and configurations Mask Table Rule Configuration Class name: org.</description>
</item>
<item>
<title>Data Masking</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/mask/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/mask/</guid>
<description>Background The YAML configuration approach to data masking is highly readable, with the YAML format enabling a quick understanding of dependencies between mask rules. Based on the YAML configuration, ShardingSphere automatically completes the creation of ShardingSphereDataSource objects, reducing unnecessary coding efforts for users.
Parameters rules: - !MASK tables: &amp;lt;table_name&amp;gt; (+): # Mask table name columns: &amp;lt;column_name&amp;gt; (+): # Mask logic column name maskAlgorithm: # Mask algorithm name # Mask algorithm configuration maskAlgorithms: &amp;lt;mask_algorithm_name&amp;gt; (+): # Mask algorithm name type: # Mask algorithm type props: # Mask algorithm properties # .</description>
</item>
<item>
<title>Encryption Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/encrypt/</guid>
<description>Background Encryption algorithms are by the encryption features of Apache ShardingSphere. A variety of algorithms are built-in to make it easy for users to fully leverage the feature.
Parameters Standard Encrypt Algorithm AES Encrypt Algorithm Type: AES
Attributes:
Name DataType Description aes-key-value String AES KEY digest-algorithm-name String AES KEY DIGEST ALGORITHM (optional, default: SHA-1) RC4 Encrypt Algorithm Type: RC4</description>
</item>
<item>
<title>LABEL|RELABEL COMPUTE NODES</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/label-relabel-compute-node/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/label-relabel-compute-node/</guid>
<description>Description The LABEL|RELABEL COMPUTE NODES syntax is used to label PROXY instance.
Syntax Grammar Railroad diagram LableRelabelComputeNodes ::= (&amp;#39;LABEL&amp;#39; | &amp;#39;RELABEL&amp;#39;) &amp;#39;COMPUTE&amp;#39; &amp;#39;NODE&amp;#39; instance_id &amp;#39;WITH&amp;#39; labelName instance_id ::= string labelName ::= identifier Supplement needs to be obtained through SHOW COMPUTE NODES syntax query
RELABEL is used to relabel PROXY instance
Example Label PROXY instance LABEL COMPUTE NODE &amp;#34;0699e636-ade9-4681-b37a-65240c584bb3&amp;#34; WITH label_1; Relabel PROXY instance RELABEL COMPUTE NODE &amp;#34;0699e636-ade9-4681-b37a-65240c584bb3&amp;#34; WITH label_2; Reserved word LABEL, RELABEL, COMPUTE, NODES, WITH</description>
</item>
<item>
<title>Merger Engine</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/sharding/merge/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/sharding/merge/</guid>
<description>Result merger refers to merging multi-data result sets acquired from all the data nodes as one result set and returning it to the requesting client correctly.
The result merger supported by ShardingSphere can be divided into five functional types: traversal, order-by, group-by, pagination and aggregation, which are combined rather than mutually exclusive. From the perspective of structure, it can be divided into stream merger, memory merger and decorator merger, among which stream merger and memory merger are mutually exclusive, and decorator merger can be further processed based on stream merger and memory merger.</description>
</item>
<item>
<title>Narayana Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/narayana/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/narayana/</guid>
<description>Background Apache ShardingSphere provides XA transactions that integrate with the Narayana implementation.
Prerequisites Introducing Maven dependency
&amp;lt;properties&amp;gt; &amp;lt;narayana.version&amp;gt;5.12.4.Final&amp;lt;/narayana.version&amp;gt; &amp;lt;jboss-transaction-spi.version&amp;gt;7.6.0.Final&amp;lt;/jboss-transaction-spi.version&amp;gt; &amp;lt;jboss-logging.version&amp;gt;3.2.1.Final&amp;lt;/jboss-logging.version&amp;gt; &amp;lt;/properties&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-jdbc-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using XA transactions --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-narayana&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.jboss.narayana.jta&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;jta&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${narayana.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.jboss.narayana.jts&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;narayana-jts-integration&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${narayana.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.jboss&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;jboss-transaction-spi&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${jboss-transaction-spi.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.jboss.logging&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;jboss-logging&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${jboss-logging.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Procedure Configure Narayana Set the XA transaction type Sample Configure Narayana Narayana configuration items can be customized by adding jbossts-properties.</description>
</item>
<item>
<title>Reserved word</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/reserved-word/</guid>
<description>RDL Basic Reserved Words CREATE, ALTER, DROP, TABLE, RULE, TYPE, NAME, PROPERTIES, TRUE, FALSE, IF, NOT, EXISTS
Storage Unit Definition ADD, RESOURCE, IF, EXISTS, HOST, PORT, DB, USER, PASSWORD, URL , IGNORE, SINGLE, TABLES
Rule Definition Sharding DEFAULT, SHARDING, BROADCAST, REFERENCE, DATABASE, STRATEGY, RULES, ALGORITHM , DATANODES, DATABASE_STRATEGY, TABLE_STRATEGY, KEY_GENERATE_STRATEGY, RESOURCES, SHARDING_COLUMN, KEY , GENERATOR, SHARDING_COLUMNS, KEY_GENERATOR, SHARDING_ALGORITHM, COLUMN, AUDIT_STRATEGY , AUDITORS, ALLOW_HINT_DISABLE
Single Table SET, DEFAULT, SINGLE, STORAGE, UNIT, RANDOM</description>
</item>
<item>
<title>Shadow</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/shadow-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/shadow-rule/</guid>
<description>Storage unit Operation REGISTER STORAGE UNIT ds_0 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_0&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ),ds_1 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_1&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ),ds_2 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_2&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ); Rule Operation Create shadow rule CREATE SHADOW RULE group_0( SOURCE=ds_0, SHADOW=ds_1, t_order(TYPE(NAME=&amp;#34;SQL_HINT&amp;#34;),TYPE(NAME=&amp;#34;REGEX_MATCH&amp;#34;, PROPERTIES(&amp;#34;operation&amp;#34;=&amp;#34;insert&amp;#34;,&amp;#34;column&amp;#34;=&amp;#34;user_id&amp;#34;, &amp;#34;regex&amp;#34;=&amp;#39;[1]&amp;#39;))), t_order_item(TYPE(NAME=&amp;#34;SQL_HINT&amp;#34;))); Alter shadow rule ALTER SHADOW RULE group_0( SOURCE=ds_0, SHADOW=ds_2, t_order_item(TYPE(NAME=&amp;#34;SQL_HINT&amp;#34;))); Drop shadow rule DROP SHADOW RULE group_0; Unregister storage unit UNREGISTER STORAGE UNIT ds_0,ds_1,ds_2; Drop distributed database DROP DATABASE foo_db; </description>
</item>
<item>
<title>SHOW COMPUTE NODE MODE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-mode/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-compute-node-mode/</guid>
<description>Description The SHOW COMPUTE NODE MODE syntax is used to query current proxy instance mode configuration information.
Syntax Grammar Railroad diagram ShowComputeNodeInfo ::= &amp;#39;SHOW&amp;#39; &amp;#39;COMPUTE&amp;#39; &amp;#39;NODE&amp;#39; &amp;#39;MODE&amp;#39; Return Value Description Columns Description type type of proxy mode configuration repository type of persist repository props properties of persist repository Example Query current proxy instance mode configuration information SHOW COMPUTE NODE MODE; mysql&amp;gt; SHOW COMPUTE NODE MODE; +---------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | type | repository | props | +---------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Cluster | ZooKeeper | {&amp;#34;operationTimeoutMilliseconds&amp;#34;:500,&amp;#34;timeToLiveSeconds&amp;#34;:60,&amp;#34;maxRetries&amp;#34;:3,&amp;#34;namespace&amp;#34;:&amp;#34;governance_ds&amp;#34;,&amp;#34;server-lists&amp;#34;:&amp;#34;localhost:2181&amp;#34;,&amp;#34;retryIntervalMilliseconds&amp;#34;:500} | +---------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.</description>
</item>
<item>
<title>SHOW MIGRATION SOURCE STORAGE UNITS</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-source-storage-units/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-source-storage-units/</guid>
<description>Description The SHOW MIGRATION SOURCE STORAGE UNITS syntax is used to query the registered migration source storage units
Syntax Grammar Railroad diagram ShowStorageUnit ::= &amp;#39;SHOW&amp;#39; &amp;#39;MIGRATION&amp;#39; &amp;#39;SOURCE&amp;#39; &amp;#39;STORAGE&amp;#39; &amp;#39;UNITS&amp;#39; Return Value Description Column Description name Storage unit name type Storage unit type host Storage unit host port Storage unit port db Database name attribute Storage unit attribute Example Query registered migration source storage units SHOW MIGRATION SOURCE STORAGE UNITS; mysql&amp;gt; SHOW MIGRATION SOURCE STORAGE UNITS; +------+-------+-----------+------+----------------+---------------------------------+---------------------------+---------------------------+---------------+---------------+-----------+------------------+ | name | type | host | port | db | connection_timeout_milliseconds | idle_timeout_milliseconds | max_lifetime_milliseconds | max_pool_size | min_pool_size | read_only | other_attributes | +------+-------+-----------+------+----------------+---------------------------------+---------------------------+---------------------------+---------------+---------------+-----------+------------------+ | ds_1 | MySQL | 127.</description>
</item>
<item>
<title>SHOW SHARDING KEY GENERATORS</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-key-generator/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-key-generator/</guid>
<description>Description SHOW SHARDING KEY GENERATORS syntax is used to query sharding key generators in specified database.
Syntax Grammar Railroad diagram ShowShardingKeyGenerators::= &amp;#39;SHOW&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;KEY&amp;#39; &amp;#39;GENERATORS&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description column Description name Sharding key generator name type Sharding key generator type props Sharding key generator properties Example Query the sharding key generators of the specified logical database SHOW SHARDING KEY GENERATORS FROM sharding_db; mysql&amp;gt; SHOW SHARDING KEY GENERATORS FROM sharding_db; +-------------------------+-----------+-------+ | name | type | props | +-------------------------+-----------+-------+ | snowflake_key_generator | snowflake | {} | +-------------------------+-----------+-------+ 1 row in set (0.</description>
</item>
<item>
<title>SQL Parser</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/sql-parser/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/sql-parser/</guid>
<description>DatabaseTypedSQLParserFacade Fully-qualified class name org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade
Definition Database typed SQL parser facade service definition
Implementation classes Configuration Type Description Fully-qualified class name MySQL SQL parser entry based on MySQL org.apache.shardingsphere.sql.parser.mysql.parser.MySQLParserFacade PostgreSQL SQL parser entry based on PostgreSQL org.apache.shardingsphere.sql.parser.postgresql.parser.PostgreSQLParserFacade SQLServer SQL parser entry based on SQLServer org.apache.shardingsphere.sql.parser.sqlserver.parser.SQLServerParserFacade Oracle SQL parser entry based on Oracle org.apache.shardingsphere.sql.parser.oracle.parser.OracleParserFacade SQL92 SQL parser entry based on SQL92 org.</description>
</item>
<item>
<title>DROP DEFAULT SHADOW ALGORITHM</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-default-shadow-algorithm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-default-shadow-algorithm/</guid>
<description>Description The DROP DEFAULT SHADOW ALGORITHM syntax is used to drop default shadow algorithm for specified database
Syntax Grammar Railroad diagram DropDefaultShadowAlgorithm ::= &amp;#39;DROP&amp;#39; &amp;#39;DEFAULT&amp;#39; &amp;#39;SHADOW&amp;#39; &amp;#39;ALGORITHM&amp;#39; ifExists? (&amp;#39;FROM&amp;#39; databaseName)? ifExists ::= &amp;#39;IF&amp;#39; &amp;#39;EXISTS&amp;#39; databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted; ifExists clause used for avoid Default shadow algorithm not exists error.</description>
</item>
<item>
<title>DROP DEFAULT SHARDING STRATEGY</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-default-sharding-strategy/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-default-sharding-strategy/</guid>
<description>Description The DROP DEFAULT SHARDING STRATEGY syntax is used to drop default sharding strategy for specified database.
Syntax Grammar Railroad diagram DropDefaultShardingStrategy ::= &amp;#39;DROP&amp;#39; &amp;#39;DEFAULT&amp;#39; &amp;#39;SHARDING&amp;#39; (&amp;#39;TABLE&amp;#39; | &amp;#39;DATABASE&amp;#39;) &amp;#39;STRATEGY&amp;#39; ifExists? (&amp;#39;FROM&amp;#39; databaseName)? ifExists ::= &amp;#39;IF&amp;#39; &amp;#39;EXISTS&amp;#39; databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted; ifExists clause is used for avoid Default sharding strategy not exists error.</description>
</item>
<item>
<title>MIGRATE TABLE INTO</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/migrate-table-into/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/migrate-table-into/</guid>
<description>Description MIGRATE TABLE INTO syntax is used to migration table from source to target
Syntax Grammar Railroad diagram MigrateTableInto ::= &amp;#39;MIGRATE&amp;#39; &amp;#39;TABLE&amp;#39; migrationSource &amp;#39;.&amp;#39; tableName &amp;#39;INTO&amp;#39; (databaseName &amp;#39;.&amp;#39;)? tableName migrationSource ::= identifier databaseName ::= identifier tableName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Example Migrate table from source to current database MIGRATE TABLE ds_0.</description>
</item>
<item>
<title>Proxy</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/proxy/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/proxy/</guid>
<description>DatabaseProtocolFrontendEngine Fully-qualified class name org.apache.shardingsphere.proxy.frontend.spi.DatabaseProtocolFrontendEngine
Definition Protocols for ShardingSphere-Proxy to parse and adapt for accessing databases.
Implementation classes Configuration Type Description Fully-qualified class name MySQL Protocol implementation for MySQL org.apache.shardingsphere.proxy.frontend.mysql.MySQLFrontendEngine PostgreSQL Protocol implementation for PostgreSQL org.apache.shardingsphere.proxy.frontend.postgresql.PostgreSQLFrontendEngine openGauss Protocol implementation for openGauss org.apache.shardingsphere.proxy.frontend.opengauss.OpenGaussFrontendEngine AuthorityProvide Fully-qualified class name org.apache.shardingsphere.authority.spi.AuthorityProvider
Definition Loading logic for user permission.
Implementation classes Configuration Type Description Fully-qualified class name ALL_PERMITTED Grant all permissions by default (no forensics) org.</description>
</item>
<item>
<title>SET DIST VARIABLE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/set-dist-vairable/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/set-dist-vairable/</guid>
<description>Description The SET DIST VARIABLE syntax is used to set system variables.
Syntax Grammar Railroad diagram SetDistVariable ::= &amp;#39;SET&amp;#39; &amp;#39;DIST&amp;#39; &amp;#39;VARIABLE&amp;#39; (proxyPropertyName &amp;#39;=&amp;#39; proxyPropertyValue | &amp;#39;agent_plugins_enabled&amp;#39; &amp;#39;=&amp;#39; agentPluginsEnabled) proxyPropertyName ::= identifier proxyPropertyValue ::= literal agentPluginsEnabled ::= boolean Supplement proxy_property_name is one of properties configuration of PROXY, name is split by underscore
agent_plugins_enabled is use to set the agent plugins enable status, the default value is FALSE</description>
</item>
<item>
<title>Shadow Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/shadow/</guid>
<description>Background The shadow DB feature carries out shadow measurement to SQL statements executed. Shadow measurement supports two types of algorithms, and users can choose one or a combination of them based on actual business needs.
Parameters Column-based shadow algorithm Column value matching shadow algorithm Type:VALUE_MATCH
Attribute Name Data Type Description column String shadow column operation String SQL operation type (INSERT, UPDATE, DELETE, SELECT) value String value matched by shadow column Column-based Regex matching algorithm Type:REGEX_MATCH</description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/shadow/</guid>
<description>Background In the distributed application architecture based on microservices, businesses require multiple services to be completed through a series of services and middleware, so the stress test of a single service can no longer meet the needs of real scenarios. If we reconstruct a stress test environment similar to the production environment, it is too expensive and often fails to simulate the complexity and traffic of the online environment. For this reason, the industry often chooses the full link stress test, which is performed in the production environment, so that the test results can accurately reflect the true capacity and performance of the system.</description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow/</guid>
<description>Background Please refer to the following configuration in order to use the ShardingSphere shadow DB feature in ShardingSphere-Proxy.
Parameters rules: - !SHADOW dataSources: shadowDataSource: productionDataSourceName: # production data source name shadowDataSourceName: # shadow data source name tables: &amp;lt;table_name&amp;gt;: dataSourceNames: # shadow table associates shadow data source name list - &amp;lt;shadow_data_source&amp;gt; shadowAlgorithmNames: # shadow table associates shadow algorithm name list - &amp;lt;shadow_algorithm_name&amp;gt; defaultShadowAlgorithmName: # default shadow algorithm name (option) shadowAlgorithms: &amp;lt;shadow_algorithm_name&amp;gt; (+): # shadow algorithm name type: # shadow algorithm type props: # shadow algorithm attribute configuration Please refer to Built-in shadow algorithm list for more details.</description>
</item>
<item>
<title>SHOW TRAFFIC RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-traffic-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/show-traffic-rule/</guid>
<description>Description The SHOW TRAFFIC RULE syntax is used to query specified dual routing rule.
Syntax Grammar Railroad diagram ShowTrafficRule ::= &amp;#39;SHOW&amp;#39; &amp;#39;TRAFFIC&amp;#39; (&amp;#39;RULES&amp;#39; | &amp;#39;RULE&amp;#39; ruleName)? ruleName ::= identifier Supplement When ruleName not specified, the default is show all traffic rules Return Value Description Column Description name traffic rule name labels compute node labels algorithm_type traffic algorithm type algorithm_props traffic algorithn properties load_balancer_type load balancer type load_balancer_props load balancer properties Example Query specified traffic rule SHOW TRAFFIC RULE sql_match_traffic; mysql&amp;gt; SHOW TRAFFIC RULE sql_match_traffic; +-------------------+--------+----------------+--------------------------------------------------------------------------------+--------------------+---------------------+ | name | labels | algorithm_type | algorithm_props | load_balancer_type | load_balancer_props | +-------------------+--------+----------------+--------------------------------------------------------------------------------+--------------------+---------------------+ | sql_match_traffic | OLTP | SQL_MATCH | sql=SELECT * FROM t_order WHERE order_id = 1; UPDATE t_order SET order_id = 5; | RANDOM | | +-------------------+--------+----------------+--------------------------------------------------------------------------------+--------------------+---------------------+ 1 row in set (0.</description>
</item>
<item>
<title>SHOW UNUSED SHARDING KEY GENERATORS</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-key-generators/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-key-generators/</guid>
<description>Description SHOW SHARDING KEY GENERATORS syntax is used to query sharding key generators that are not used in specified database.
Syntax Grammar Railroad diagram ShowShardingKeyGenerators::= &amp;#39;SHOW&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;KEY&amp;#39; &amp;#39;GENERATOR&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description column Description name Sharding key generator name type Sharding key generator type props Sharding key generator properties Example Query sharding key generators that are not used in the specified logical database SHOW UNUSED SHARDING KEY GENERATORS FROM sharding_db; mysql&amp;gt; SHOW UNUSED SHARDING KEY GENERATORS FROM sharding_db; +-------------------------+-----------+-------+ | name | type | props | +-------------------------+-----------+-------+ | snowflake_key_generator | snowflake | | +-------------------------+-----------+-------+ 1 row in set (0.</description>
</item>
<item>
<title>UNLABEL COMPUTE NODES</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/unlabel-compute-node/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/circuit-breaker/unlabel-compute-node/</guid>
<description>Description The UNLABEL COMPUTE NODES syntax is used to remove specified label from PROXY instance.
Syntax Grammar Railroad diagram UnlabelComputeNode ::= &amp;#39;UNLABEL&amp;#39; &amp;#39;COMPUTE&amp;#39; &amp;#39;NODE&amp;#39; instance_id &amp;#39;WITH&amp;#39; labelName instance_id ::= string labelName ::= identifier Supplement needs to be obtained through SHOW COMPUTE NODES syntax query Example Remove specified label from PROXY instance UNLABEL COMPUTE NODE &amp;#34;0699e636-ade9-4681-b37a-65240c584bb3&amp;#34; WITH label_1; Reserved word UNLABEL, COMPUTE, NODES, WITH</description>
</item>
<item>
<title>Unsupported Items</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/unsupported/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/unsupported/</guid>
<description>DataSource Interface Do not support timeout related operations Connection Interface Do not support operations of stored procedure, function and cursor Do not support native SQL Do not support savepoint related operations Do not support Schema/Catalog operation Do not support self-defined type mapping Statement and PreparedStatement Interface Do not support statements that return multiple result sets (stored procedures, multiple pieces of non-SELECT data) Do not support the operation of international characters ResultSet Interface Do not support getting result set pointer position Do not support changing result pointer position through none-next method Do not support revising the content of result set Do not support acquiring international characters Do not support getting Array JDBC 4.</description>
</item>
<item>
<title>ALTER TRAFFIC RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-traffic-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/global-rule/alter-traffic-rule/</guid>
<description>Description The ALTER TRAFFIC RULE syntax is used to alter dual routing rule.
Syntax Grammar Railroad diagram AlterTrafficRule ::= &amp;#39;ALTER&amp;#39; &amp;#39;TRAFFIC&amp;#39; &amp;#39;RULE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;LABELS&amp;#39; &amp;#39;(&amp;#39; lableName &amp;#39;)&amp;#39; &amp;#39;,&amp;#39; trafficAlgorithmDefinition &amp;#39;,&amp;#39; loadBalancerDefinition &amp;#39;)&amp;#39; lableName ::= identifier trafficAlgorithmDefinition ::= &amp;#39;TRAFFIC_ALGORITHM&amp;#39; &amp;#39;(&amp;#39; &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; trafficAlgorithmTypeName (&amp;#39;,&amp;#39; propertiesDefinition)? &amp;#39;)&amp;#39; &amp;#39;)&amp;#39; loadBalancerDefinition ::= &amp;#39;LOAD_BALANCER&amp;#39; &amp;#39;(&amp;#39; &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; loadBalancerName (&amp;#39;,&amp;#39; propertiesDefinition)? &amp;#39;)&amp;#39; &amp;#39;)&amp;#39; propertiesDefinition ::= &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; key &amp;#39;=&amp;#39; value (&amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value)* &amp;#39;)&amp;#39; trafficAlgorithmTypeName ::= string loadBalancerTypeName ::= string key ::= string value ::= literal Supplement TRAFFIC_ALGORITHM support SQL_MATCH and SQL_HINT two types;</description>
</item>
<item>
<title>Data Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/sharding/</guid>
<description>ShardingAlgorithm Fully-qualified class name org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
Definition Sharding Algorithm definition
Implementation classes Configuration Type Auto Create Tables Description Fully-qualified class name MOD Y Modulo sharding algorithm org.apache.shardingsphere.sharding.algorithm.sharding.mod.ModShardingAlgorithm HASH_MOD Y Hash modulo sharding algorithm org.apache.shardingsphere.sharding.algorithm.sharding.mod.HashModShardingAlgorithm BOUNDARY_RANGE Y Boundary based range sharding algorithm org.apache.shardingsphere.sharding.algorithm.sharding.range.BoundaryBasedRangeShardingAlgorithm VOLUME_RANGE Y Volume based range sharding algorithm org.apache.shardingsphere.sharding.algorithm.sharding.range.VolumeBasedRangeShardingAlgorithm AUTO_INTERVAL Y Mutable interval sharding algorithm org.</description>
</item>
<item>
<title>DROP SHADOW ALGORITHM</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-algorithm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/drop-shadow-algorithm/</guid>
<description>Description The DROP SHADOW ALGORITHM syntax is used to drop shadow algorithm for specified database
Syntax Grammar Railroad diagram DropShadowAlgorithm ::= &amp;#39;DROP&amp;#39; &amp;#39;SHADOW&amp;#39; &amp;#39;ALGORITHM&amp;#39; ifExists? shadowAlgorithmName (&amp;#39;,&amp;#39; shadowAlgorithmName)* (&amp;#39;FROM&amp;#39; databaseName)? ifExists ::= &amp;#39;IF&amp;#39; &amp;#39;EXISTS&amp;#39; shadowAlgorithmName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted; ifExists clause is used for avoid shadow algorithm not exists error.</description>
</item>
<item>
<title>Seata Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/seata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/seata/</guid>
<description>Background Apache ShardingSphere provides BASE transactions that integrate the Seata implementation.
Procedure Start Seata Server Create the log table Add the Seata configuration Sample Start Seata Server Refer to seata-work-shop to download and start the Seata server.
Create undo_log table Create the undo_log table in each shard database instance (take MySQL as an example).
CREATE TABLE IF NOT EXISTS `undo_log` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT &amp;#39;increment id&amp;#39;, `branch_id` BIGINT(20) NOT NULL COMMENT &amp;#39;branch transaction id&amp;#39;, `xid` VARCHAR(100) NOT NULL COMMENT &amp;#39;global transaction id&amp;#39;, `context` VARCHAR(128) NOT NULL COMMENT &amp;#39;undo_log context,such as serialization&amp;#39;, `rollback_info` LONGBLOB NOT NULL COMMENT &amp;#39;rollback info&amp;#39;, `log_status` INT(11) NOT NULL COMMENT &amp;#39;0:normal status,1:defense status&amp;#39;, `log_created` DATETIME NOT NULL COMMENT &amp;#39;create datetime&amp;#39;, `log_modified` DATETIME NOT NULL COMMENT &amp;#39;modify datetime&amp;#39;, PRIMARY KEY (`id`), UNIQUE KEY `ux_undo_log` (`xid`, `branch_id`) ) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8 COMMENT =&amp;#39;AT transaction mode undo table&amp;#39;; Modify configuration Add the seata.</description>
</item>
<item>
<title>SHOW DIST VARIABLE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-dist-variable/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-dist-variable/</guid>
<description>Description The SHOW DIST VARIABLE syntax is used to query PROXY system variables configuration.
Syntax Grammar Railroad diagram ShowDistVariable ::= &amp;#39;SHOW&amp;#39; &amp;#39;DIST&amp;#39; (&amp;#39;VARIABLES&amp;#39; (&amp;#39;LIKE&amp;#39; likePattern)?| &amp;#39;VARIABLE&amp;#39; &amp;#39;WHERE&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; variableName) likePattern ::= string variableName ::= identifier Return Value Description Columns Description variable_name system variable name variable_value system variable value Supplement When variableName is not specified, the default is query all PROXY variables configuration.</description>
</item>
<item>
<title>SHOW MIGRATION LIST</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-list/</guid>
<description>Description The SHOW MIGRATION LIST syntax is used to query migration job list.
Syntax Grammar Railroad diagram ShowMigrationList ::= &amp;#39;SHOW&amp;#39; &amp;#39;MIGRATION&amp;#39; &amp;#39;LIST&amp;#39; Return Values Description Columns Description id migration job id tables migration tables job_item_count migration job sharding number active migration job states create_time migration job create time stop_time migration job stop time Example Query migration job list SHOW MIGRATION LIST; mysql&amp;gt; SHOW MIGRATION LIST; +---------------------------------------+---------+----------------+--------+---------------------+---------------------+ | id | tables | job_item_count | active | create_time | stop_time | +---------------------------------------+---------+----------------+--------+---------------------+---------------------+ | j01013a38b0184e07c864627b5bb05da09ee0 | t_order | 1 | false | 2022-10-31 18:18:24 | 2022-10-31 18:18:31 | +---------------------------------------+---------+----------------+--------+---------------------+---------------------+ 1 row in set (0.</description>
</item>
<item>
<title>SHOW SHARDING AUDITORS</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-auditors/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-auditors/</guid>
<description>Description SHOW SHARDING AUDITORS syntax is used to query sharding auditors in specified database.
Syntax Grammar Railroad diagram ShowShardingAuditors::= &amp;#39;SHOW&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;AUDITORS&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description column Description name Sharding auditor name type Sharding auditor algorithm type props Sharding auditor algorithm properties Example Query sharding auditors for the specified logical database SHOW SHARDING AUDITORS FROM sharding_db; mysql&amp;gt; SHOW SHARDING AUDITORS FROM sharding_db; +-------------------------------+-------------------------+-------+ | name | type | props | +-------------------------------+-------------------------+-------+ | sharding_key_required_auditor | dml_sharding_conditions | {} | +-------------------------------+-------------------------+-------+ 1 row in set (0.</description>
</item>
<item>
<title>SQL Parser</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-parser/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-parser/</guid>
<description>Background SQL is the standard language for users to communicate with databases. The SQL parsing engine is responsible for parsing the SQL string into an abstract syntax tree for Apache ShardingSphere to understand and implement its incremental function. Currently, MySQL, PostgreSQL, SQLServer, Oracle, openGauss and SQL dialects conforming to SQL92 specifications are supported. Due to the complexity of SQL syntax, there are still a few unsupported SQLs. By using SQL parsing in the form of Java API, you can easily integrate into various systems and flexibly customize user requirements.</description>
</item>
<item>
<title>SQL Translator</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/sql-translator/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/sql-translator/</guid>
<description>Native SQL translator Type: NATIVE
Attributes:
None
Default SQL translator, does not implement yet.
JooQ SQL translator Type: JOOQ
Attributes:
None
Because of it need JooQ dependency, ShardingSphere does not include the module, please use below XML to import it by Maven.
&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-sql-translator-jooq-provider&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${project.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; </description>
</item>
<item>
<title>SQL-parser</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-parser/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-parser/</guid>
<description>Background The SQL parser YAML configuration is readable and easy to use. The YAML files allow you to separate the code from the configuration, and easily modify the configuration file as needed.
Parameters sqlParser: sqlCommentParseEnabled: # Whether to parse SQL comments sqlStatementCache: # SQL statement local cache initialCapacity: # Initial capacity of local cache maximumSize: # Maximum capacity of local cache parseTreeCache: # Parse tree local cache initialCapacity: # Initial capacity of local cache maximumSize: # Maximum capacity of local cache Procedure Set local cache configuration.</description>
</item>
<item>
<title>Readwrite-splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/readwrite-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/readwrite-splitting/</guid>
<description>ReadQueryLoadBalanceAlgorithm Fully-qualified class name org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm
Definition Read query load balance algorithm&amp;rsquo;s definition
Implementation classes Configuration Type Description Fully-qualified class name ROUND_ROBIN the read database load balancer algorithm based on polling org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RoundRobinReadQueryLoadBalanceAlgorithm RANDOM the read database load balancer algorithm based on random org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RandomReadQueryLoadBalanceAlgorithm WEIGHT the read database load balancer algorithm based on weight org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.WeightReadQueryLoadBalanceAlgorithm </description>
</item>
<item>
<title>REFRESH TABLE METADATA</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-table-metadata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-table-metadata/</guid>
<description>Description The REFRESH TABLE METADATA syntax is used to refresh table metadata.
Syntax Grammar Railroad diagram RefreshTableMetadata ::= &amp;#39;REFRESH&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;METADATA&amp;#39; (tableName | tableName &amp;#39;FROM&amp;#39; &amp;#39;STORAGE&amp;#39; &amp;#39;UNIT&amp;#39; storageUnitName (&amp;#39;SCHEMA&amp;#39; schemaName)?)? tableName ::= identifier storageUnitName ::= identifier schemaName ::= identifier Supplement When tableName and storageUnitName is not specified, the default is to refresh all table metadata.
refresh table metadata need to use DATABASE.</description>
</item>
<item>
<title>Sharding Audit Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/audit/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/audit/</guid>
<description>Background The sharding audit is to audit the SQL statements in the sharding database. Sharding audit not only intercept illegal SQL statements, but also gather the SQL statistics.
Parameters DML_SHARDING_CONDITIONS algorithm Type: DML_SHARDING_CONDITIONS
Procedure when configuring data sharding rules, create sharding audit configurations. Sample DML_SHARDING_CONDITIONS auditors: sharding_key_required_auditor: type: DML_SHARDING_CONDITIONS </description>
</item>
<item>
<title>SHOW MIGRATION STATUS</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-status/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-status/</guid>
<description>Description The SHOW MIGRATION STATUS syntax is used to query migration job status for specified migration job.
Syntax Grammar Railroad diagram ShowMigrationStatus ::= &amp;#39;SHOW&amp;#39; &amp;#39;MIGRATION&amp;#39; &amp;#39;STATUS&amp;#39; migrationJobId migrationJobId ::= string Supplement migrationJobId needs to be obtained through SHOW MIGRATION LIST syntax query Return Value Description column Description item migration job sharding serial number data source migration source status migration job status processed_records_count number of processed rows inventory_finished_percentage finished percentage of migration job incremental_idle_seconds incremental idle time error_message error message Example Query migration job status SHOW MIGRATION STATUS &amp;#39;j010180026753ef0e25d3932d94d1673ba551&amp;#39;; mysql&amp;gt; SHOW MIGRATION STATUS &amp;#39;j010180026753ef0e25d3932d94d1673ba551&amp;#39;; +------+-------------+--------------------------+--------+-------------------------+-------------------------------+--------------------------+---------------+ | item | data_source | status | active | processed_records_count | inventory_finished_percentage | incremental_idle_seconds | error_message | +------+-------------+--------------------------+--------+-------------------------+-------------------------------+--------------------------+---------------+ | 0 | ds_1 | EXECUTE_INCREMENTAL_TASK | true | 6 | 100 | 25 | | +------+-------------+--------------------------+--------+-------------------------+-------------------------------+--------------------------+---------------+ 1 row in set (0.</description>
</item>
<item>
<title>SHOW UNUSED SHARDING AUDITORS</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-auditors/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-unused-sharding-auditors/</guid>
<description>Description SHOW SHARDING AUDITORS syntax is used to query sharding auditors that are not used in specified database.
Syntax Grammar Railroad diagram ShowUnusedShardingAuditors::= &amp;#39;SHOW&amp;#39; &amp;#39;UNUSED&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;AUDITOR&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description column Description name Sharding auditor name type Sharding auditor algorithm type props Sharding auditor algorithm properties Example Query sharding auditors that are not used in the specified logical database SHOW UNUSED SHARDING AUDITORS FROM sharding_db; mysql&amp;gt; SHOW UNUSED SHARDING AUDITORS FROM sharding_db; +-------------------------------+-------------------------+-------+ | name | type | props | +-------------------------------+-------------------------+-------+ | sharding_key_required_auditor | dml_sharding_conditions | {} | +-------------------------------+-------------------------+-------+ 1 row in set (0.</description>
</item>
<item>
<title>SQL Translator</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-translator/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-translator/</guid>
<description>Root Configuration Class: org.apache.shardingsphere.sqltranslator.api.config.SQLTranslatorRuleConfiguration
Attributes:
name DataType Description type String SQL translator type useOriginalSQLWhenTranslatingFailed (?) boolean Whether use original SQL when translating failed </description>
</item>
<item>
<title>SQL Translator</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-translator/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-translator/</guid>
<description>Configuration Item Explanation sqlTranslator: type: # SQL translator type useOriginalSQLWhenTranslatingFailed: # Whether use original SQL when translating failed </description>
</item>
<item>
<title>Data Masking Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/mask/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/common-config/builtin-algorithm/mask/</guid>
<description>Background Data masking algorithms are by the mask features of Apache ShardingSphere. A variety of algorithms are built-in to make it easy for users to fully leverage the feature.
Parameters Hash Data Masking Algorithm MD5 Data Masking Algorithm Type: MD5
Attributes:
Name DataType Description salt String Salt value (optional) Mask Data Masking Algorithm Keep First N Last M Data Masking Algorithm Type: KEEP_FIRST_N_LAST_M</description>
</item>
<item>
<title>Distributed Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/transaction/</guid>
<description>ShardingSphereTransactionManager Fully-qualified class name org.apache.shardingsphere.transaction.spi.ShardingSphereTransactionManager
Definition ShardingSphere transaction manager service definition
Implementation classes Configuration Type Description Fully-qualified class name XA XA distributed transaction manager org.apache.shardingsphere.transaction.xa.XAShardingSphereTransactionManager BASE Seata distributed transaction manager org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager XATransactionManagerProvider Fully-qualified class name org.apache.shardingsphere.transaction.xa.spi.XATransactionManagerProvider
Definition XA transaction manager provider definition
Implementation classes Configuration Type Description Fully-qualified class name Atomikos XA distributed transaction manager based on Atomikos org.</description>
</item>
<item>
<title>Mixed Rules</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/mix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/mix/</guid>
<description>Background ShardingSphere provides a variety of features, such as data sharding, read/write splitting, high availability, and data encryption. These features can be used independently or in combination. Below, you will find the configuration samples based on JAVA API.
Samples // Sharding configuration private ShardingRuleConfiguration createShardingRuleConfiguration() { ShardingRuleConfiguration result = new ShardingRuleConfiguration(); result.getTables().add(getOrderTableRuleConfiguration()); result.setDefaultDatabaseShardingStrategy(new StandardShardingStrategyConfiguration(&amp;#34;user_id&amp;#34;, &amp;#34;inline&amp;#34;)); result.setDefaultTableShardingStrategy(new StandardShardingStrategyConfiguration(&amp;#34;order_id&amp;#34;, &amp;#34;standard_test_tbl&amp;#34;)); Properties props = new Properties(); props.setProperty(&amp;#34;algorithm-expression&amp;#34;, &amp;#34;demo_ds_${user_id % 2}&amp;#34;); result.getShardingAlgorithms().put(&amp;#34;inline&amp;#34;, new AlgorithmConfiguration(&amp;#34;INLINE&amp;#34;, props)); result.</description>
</item>
<item>
<title>Mixed Rules</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/mix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/mix/</guid>
<description>Background ShardingSphere provides a variety of features, such as data sharding, read/write splitting, and data encryption. These features can be used independently or in combination. Below, you will find the parameters&amp;rsquo; explanation and configuration samples based on YAML.
Parameters rules: - !SHARDING tables: &amp;lt;logic_table_name&amp;gt;: # Logical table name: actualDataNodes: # consists of logical data source name plus table name (refer to Inline syntax rules) tableStrategy: # Table shards strategy. The same as database shards strategy standard: shardingColumn: # Sharding column name shardingAlgorithmName: # Sharding algorithm name keyGenerateStrategy: column: # Auto-increment column name.</description>
</item>
<item>
<title>REFRESH DATABASE METADATA FROM GOVERNANCE CENTER</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-database-metadata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/refresh-database-metadata/</guid>
<description>Description The REFRESH DATABASE METADATA FROM GOVERNANCE CENTER syntax is used to pull the latest configuration from the governance center and refresh the metadata of the local logic database.
Syntax Grammar Railroad diagram RefreshDatabaseMetadataFromGovernanceCenter ::= &amp;#39;REFRESH&amp;#39; &amp;#39;DATABASE&amp;#39; &amp;#39;METADATA&amp;#39; databaseName? &amp;#39;FROM&amp;#39; &amp;#39;GOVERNANCE&amp;#39; &amp;#39;CENTER&amp;#39; databaseName ::= identifier Supplement When databaseName is not specified, the default is to refresh all database metadata.
refresh table metadata need to use DATABASE.</description>
</item>
<item>
<title>SHOW MIGRATION CHECK ALGORITHM</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-algorithm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-algorithm/</guid>
<description>Description The SHOW MIGRATION RULE syntax is used to query migration check algorithm.
Syntax Grammar Railroad diagram ShowMigrationCheckAlgorithm ::= &amp;#39;SHOW&amp;#39; &amp;#39;MIGRATION&amp;#39; &amp;#39;CHECK&amp;#39; &amp;#39;ALGORITHMS&amp;#39; Return Value Description Column Description type migration check algorithm type supported_database_types supported database type description Description of migration check algorithm Example Query migration check algorithm SHOW MIGRATION CHECK ALGORITHMS; mysql&amp;gt; SHOW MIGRATION CHECK ALGORITHMS; +-------------+--------------------------------------------------------------+----------------------------+ | type | supported_database_types | description | +-------------+--------------------------------------------------------------+----------------------------+ | CRC32_MATCH | MySQL | Match CRC32 of records.</description>
</item>
<item>
<title>SHOW SHARDING TABLE NODES</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-nodes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-nodes/</guid>
<description>Description SHOW SHARDING TABLE NODES syntax is used to query sharding table nodes in specified database.
Syntax Grammar Railroad diagram ShowShardingTableNode::= &amp;#39;SHOW&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;NODES&amp;#39; tableName? (&amp;#39;FROM&amp;#39; databaseName)? tableName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Columns Descriptions name Sharding rule name nodes Sharding nodes Example Query sharding table nodes for specified table in the specified logical database SHOW SHARDING TABLE NODES t_order_item FROM sharding_db; mysql&amp;gt; SHOW SHARDING TABLE NODES t_order_item FROM sharding_db; +--------------+------------------------------------------------------------------------------------------------------------+ | name | nodes | +--------------+------------------------------------------------------------------------------------------------------------+ | t_order_item | resource_0.</description>
</item>
<item>
<title>Cache for Sharding Route</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding-cache/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding-cache/</guid>
<description>Background This feature is experimental and needs to be used with the data sharding rule. The cache for sharding route will put the logical SQL, the parameter value of the shard key, and the routing result into the cache, exchange space for time, and reduce CPU usage of the routing logic.
We recommend enabling it only if the following conditions are met:
Pure OLTP scenarios. The CPU of the machine which deployed the ShardingSphere process has reached the bottleneck.</description>
</item>
<item>
<title>CHECK MIGRATION </title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/check-migration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/check-migration/</guid>
<description>Description The CHECK MIGRATION LIST syntax is used to check data consistancy in migration job.
Syntax Grammar Railroad diagram ShowMigrationList ::= &amp;#39;CHECK&amp;#39; &amp;#39;MIGRATION&amp;#39; migrationJobId &amp;#39;BY&amp;#39; &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; migrationCheckAlgorithmType &amp;#39;)&amp;#39; migrationJobId ::= string migrationCheckAlgorithmType ::= string Supplement migrationJobId needs to be obtained through SHOW MIGRATION LIST syntax query
migrationCheckAlgorithmType needs to be obtained through SHOW MIGRATION CHECK ALGORITHMS syntax query</description>
</item>
<item>
<title>DROP SHARDING KEY GENERATOR</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-key-generator/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-key-generator/</guid>
<description>Description The DROP SHARDING KEY GENERATOR syntax is used to drop sharding key generator for specified database.
Syntax Grammar Railroad diagram DropShardingKeyGenerator ::= &amp;#39;DROP&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;KEY&amp;#39; &amp;#39;GENERATOR&amp;#39; ifExists? keyGeneratorName (keyGeneratorName)* (&amp;#39;FROM&amp;#39; databaseName)? ifExists ::= &amp;#39;IF&amp;#39; &amp;#39;EXISTS&amp;#39; keyGeneratorName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted; ifExists clause is used for avoid Sharding key generator not exists error.</description>
</item>
<item>
<title>SHOW SHARDING TABLE NODES</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-algorithm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-algorithm/</guid>
<description>Description SHOW SHARDING TABLE RULES USED ALGORITHM syntax is used to query sharding rules used specified sharding algorithm in specified logical database
Syntax Grammar Railroad diagram ShowShardingTableRulesUsedAlgorithm::= &amp;#39;SHOW&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;RULES&amp;#39; &amp;#39;USED&amp;#39; &amp;#39;ALGORITHM&amp;#39; algorithmName (&amp;#39;FROM&amp;#39; databaseName)? algorithmName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.</description>
</item>
<item>
<title>SHOW TABLE METADATA</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-table-metadata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-table-metadata/</guid>
<description>Description The SHOW TABLE METADATA syntax is used to query tabe metadata.
Syntax Grammar Railroad diagram ShowTableMetadata ::= &amp;#39;SHOW&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;METADATA&amp;#39; tableName (&amp;#39;,&amp;#39; tableName)* (&amp;#39;FROM&amp;#39; databaseName)? tableName ::= identifier databaseName ::= identifier Return Value Description Columns Description schema_name database name table_name table name type metadata type name metadata name Supplement When databaseName is not specified, the default is the currently used DATABASE.</description>
</item>
<item>
<title>SQL Audit</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/sql-audit/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/sql-audit/</guid>
<description>SQLAuditor Fully-qualified class name org.apache.shardingsphere.infra.executor.audit.SQLAuditor
Definition SQL auditor class definition
Implementation classes Configuration Type Description Fully-qualified class name Sharding Sharding auditor org.apache.shardingsphere.sharding.auditor.ShardingSQLAuditor </description>
</item>
<item>
<title>DROP SHARDING ALGORITHM</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-algorithm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-algorithm/</guid>
<description>Description The DROP SHARDING ALGORITHM syntax is used to drop sharding algorithm for specified database.
Syntax Grammar Railroad diagram DropShardingAlgorithm ::= &amp;#39;DROP&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;ALGORITHM&amp;#39; shardingAlgorithmName ifExists? (&amp;#39;FROM&amp;#39; databaseName)? ifExists ::= &amp;#39;IF&amp;#39; &amp;#39;EXISTS&amp;#39; shardingAlgorithmName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted; ifExists clause used for avoid Sharding algorithm not exists error.</description>
</item>
<item>
<title>Encryption</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/encrypt/</guid>
<description>EncryptAlgorithm Fully-qualified class name org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm
Definition Data encrypt algorithm definition
Implementation classes Configuration Type Description Fully-qualified class name AES AES data encrypt algorithm org.apache.shardingsphere.encrypt.algorithm.encrypt.AESEncryptAlgorithm RC4 RC4 data encrypt algorithm org.apache.shardingsphere.encrypt.algorithm.encrypt.RC4EncryptAlgorithm SM3 SM3 data encrypt algorithm org.apache.shardingsphere.encrypt.sm.algorithm.SM3EncryptAlgorithm SM4 SM4 data encrypt algorithm org.apache.shardingsphere.encrypt.sm.algorithm.SM4EncryptAlgorithm CHAR_DIGEST_LIKE Data encryption algorithms for like queries org.apache.shardingsphere.encrypt.algorithm.like.CharDigestLikeEncryptAlgorithm MD5 MD5 assisted query encrypt algorithm org.</description>
</item>
<item>
<title>EXPORT DATABASE CONFIGURATION</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/export-database-configuration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/export-database-configuration/</guid>
<description>Description The EXPORT DATABASE CONFIGURATION syntax is used to export storage units and rule configurations to YAML format.
Syntax Grammar Railroad diagram ExportDatabaseConfiguration ::= &amp;#39;EXPORT&amp;#39; &amp;#39;DATABASE&amp;#39; &amp;#39;CONFIGURATION&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? (&amp;#39;TO&amp;#39; &amp;#39;FILE&amp;#39; filePath)? databaseName ::= identifier filePath ::= string Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.</description>
</item>
<item>
<title>SHOW MIGRATION CHECK STATUS</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-status/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/show-migration-check-status/</guid>
<description>Description The SHOW MIGRATION CHECK STATUS syntax is used to query migration check status for specified migration job.
Syntax Grammar Railroad diagram ShowMigrationCheckStatus ::= &amp;#39;SHOW&amp;#39; &amp;#39;MIGRATION&amp;#39; &amp;#39;CHECK&amp;#39; &amp;#39;STATUS&amp;#39; migrationJobId migrationJobId ::= string Supplement migrationJobId needs to be obtained through SHOW MIGRATION LIST syntax query Return Value Description Columns Description tables migration check table result check result finished_percentage check finished finished_percentage remaining_seconds check remaining time check_begin_time check begin time check_end_time check end time error_message error message Example Query migration check status SHOW MIGRATION CHECK STATUS &amp;#39;j010180026753ef0e25d3932d94d1673ba551&amp;#39;; mysql&amp;gt; SHOW MIGRATION CHECK STATUS &amp;#39;j010180026753ef0e25d3932d94d1673ba551&amp;#39;; +---------+--------+---------------------+-------------------+-------------------------+-------------------------+------------------+---------------+ | tables | result | finished_percentage | remaining_seconds | check_begin_time | check_end_time | duration_seconds | error_message | +---------+--------+---------------------+-------------------+-------------------------+-------------------------+------------------+---------------+ | t_order | true | 100 | 0 | 2022-11-01 17:57:39.</description>
</item>
<item>
<title>SHOW SHARDING TABLE RULES USED KEY GENERATOR</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-key-generator/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-key-generator/</guid>
<description>Description SHOW SHARDING TABLE RULES USED ALGORITHM syntax is used to query sharding rules used specified sharding key generator in specified logical database
Syntax Grammar Railroad diagram ShowShardingTableRulesUsedKeyGenerator::= &amp;#39;SHOW&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;RULES&amp;#39; &amp;#39;USED&amp;#39; &amp;#39;KEY&amp;#39; &amp;#39;GENERATOR&amp;#39; keyGeneratorName (&amp;#39;FROM&amp;#39; databaseName)? keyGeneratorName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.</description>
</item>
<item>
<title>CREATE SHARDING TABLE REFERENCE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-reference-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-reference-rule/</guid>
<description>Description The CREATE SHARDING TABLE REFERENCE RULE syntax is used to create reference rule for sharding tables
Syntax Grammar Railroad diagram CreateShardingTableReferenceRule ::= &amp;#39;CREATE&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;REFERENCE&amp;#39; &amp;#39;RULE&amp;#39; ifNotExists? referenceRelationshipDefinition (&amp;#39;,&amp;#39; referenceRelationshipDefinition)* ifNotExists ::= &amp;#39;IF&amp;#39; &amp;#39;NOT&amp;#39; &amp;#39;EXISTS&amp;#39; referenceRelationshipDefinition ::= ruleName &amp;#39;(&amp;#39; tableName (&amp;#39;,&amp;#39; tableName)* &amp;#39;)&amp;#39; tableName ::= identifier Supplement Sharding table reference rule can only be created for sharding tables; A sharding table can only be associated with one sharding table reference rule; The referenced sharding tables should be sharded in the same storage units and have the same number of sharding nodes.</description>
</item>
<item>
<title>Data Masking</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/mask/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/mask/</guid>
<description>MaskAlgorithm Fully-qualified class name org.apache.shardingsphere.mask.spi.MaskAlgorithm
Definition Data masking algorithm definition
Implementation classes Configuration Type Description Fully-qualified class name MD5 Data masking algorithm based on MD5 org.apache.shardingsphere.mask.algorithm.hash.MD5MaskAlgorithm KEEP_FIRST_N_LAST_M Keep first n last m data masking algorithm org.apache.shardingsphere.mask.algorithm.cover.KeepFirstNLastMMaskAlgorithm KEEP_FROM_X_TO_Y Keep from x to y data masking algorithm org.apache.shardingsphere.mask.algorithm.cover.KeepFromXToYMaskAlgorithm MASK_FIRST_N_LAST_M Mask first n last m data masking algorithm org.apache.shardingsphere.mask.algorithm.cover.MaskFirstNLastMMaskAlgorithm MASK_FROM_X_TO_Y Mask from x to y data masking algorithm org.</description>
</item>
<item>
<title>IMPORT DATABASE CONFIGURATION</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/import-database-configuration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/import-database-configuration/</guid>
<description>Description The IMPORT DATABASE CONFIGURATION syntax is used to import YAML configuration to specified database.
Syntax Grammar Railroad diagram ExportDatabaseConfiguration ::= &amp;#39;IMPORT&amp;#39; &amp;#39;DATABASE&amp;#39; &amp;#39;CONFIGURATION&amp;#39; &amp;#39;FROM&amp;#39; &amp;#39;FILE&amp;#39; filePath (&amp;#39;TO&amp;#39; databaseName)? databaseName ::= identifier filePath ::= string Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.
The IMPORT DATABASE CONFIGURATION syntax only supports import operations on empty database.</description>
</item>
<item>
<title>SHOW SHARDING TABLE RULES USED AUDITOR</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-auditor/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rules-used-auditor/</guid>
<description>Description SHOW SHARDING TABLE RULES USED ALGORITHM syntax is used to query sharding rules used specified sharding auditor in specified logical database
Syntax Grammar Railroad diagram ShowShardingTableRulesUsedAuditor::= &amp;#39;SHOW&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;RULES&amp;#39; &amp;#39;USED&amp;#39; &amp;#39;AUDITOR&amp;#39; AuditortorName (&amp;#39;FROM&amp;#39; databaseName)? AuditortorName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.</description>
</item>
<item>
<title>START MIGRATION CHECK</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration-check/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration-check/</guid>
<description>Description The START MIGRATION CHECK syntax is used to stop migration check process.
Syntax Grammar Railroad diagram StartMigrationCheck ::= &amp;#39;START&amp;#39; &amp;#39;MIGRATION&amp;#39; &amp;#39;CHECK&amp;#39; migrationJobId migrationJobId ::= string Supplement migrationJobId needs to be obtained through SHOW MIGRATION LIST syntax query Example Stop migration check process START MIGRATION CHECK &amp;#39;j010180026753ef0e25d3932d94d1673ba551&amp;#39;; Reserved word START, MIGRATION, CHECK
Related links Reserved word SHOW MIGRATION LIST </description>
</item>
<item>
<title>ALTER SHARDING TABLE REFERENCE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-reference-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-reference-rule/</guid>
<description>Description The ALTER SHARDING TABLE REFERENCE RULE syntax is used to alter sharding table reference rule.
Syntax Grammar Railroad diagram AlterShardingTableReferenceRule ::= &amp;#39;ALTER&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;REFERENCE&amp;#39; &amp;#39;RULE&amp;#39; referenceRelationshipDefinition (&amp;#39;,&amp;#39; referenceRelationshipDefinition)* referenceRelationshipDefinition ::= ruleName &amp;#39;(&amp;#39; tableName (&amp;#39;,&amp;#39; tableName)* &amp;#39;)&amp;#39; tableName ::= identifier Supplement A sharding table can only be associated with one sharding table reference rule; The referenced sharding tables should be sharded in the same storage units and have the same number of sharding nodes.</description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/shadow/</guid>
<description>ShadowAlgorithm Fully-qualified class name org.apache.shardingsphere.shadow.spi.ShadowAlgorithm
Definition Shadow algorithm&amp;rsquo;s definition
Implementation classes Configuration Type Description Fully-qualified class name VALUE_MATCH Match shadow algorithms based on field values org.apache.shardingsphere.shadow.algorithm.shadow.column.ColumnValueMatchedShadowAlgorithm REGEX_MATCH Regular matching shadow algorithm based on field value org.apache.shardingsphere.shadow.algorithm.shadow.column.ColumnRegexMatchedShadowAlgorithm SQL_HINT Shadow algorithm on sql hint org.apache.shardingsphere.shadow.algorithm.shadow.hint.SQLHintShadowAlgorithm </description>
</item>
<item>
<title>SHOW RULES USED STORAGE UNIT</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-rules-used-storage-unit/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/show-rules-used-storage-unit/</guid>
<description>Description The SHOW RULES USED STORAGE UNIT syntax is used to query the rules for using the specified storage unit in specified database.
Syntax Grammar Railroad diagram ShowRulesUsedStorageUnit ::= &amp;#39;SHOW&amp;#39; &amp;#39;RULES&amp;#39; &amp;#39;USED&amp;#39; &amp;#39;STORAGE&amp;#39; &amp;#39;UNIT&amp;#39; storageUnitName (&amp;#39;FROM&amp;#39; databaseName)? storageUnitName ::= identifier databaseName ::= identifier Return Value Description Columns Description type rule type name rule name Supplement When databaseName is not specified, the default is the currently used DATABASE.</description>
</item>
<item>
<title>SHOW SHARDING TABLE REFERENCE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-reference-rules/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-sharding-table-reference-rules/</guid>
<description>Description SHOW SHARDING TABLE REFERENCE RULE syntax is used to query specified sharding table reference rule in the specified logical database.
Syntax Grammar Railroad diagram ShowShardingBindingTableRules::= &amp;#39;SHOW&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;REFERENCE&amp;#39; (&amp;#39;RULE&amp;#39; ruleName | &amp;#39;RULES&amp;#39;) (&amp;#39;FROM&amp;#39; databaseName)? ruleName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted.</description>
</item>
<item>
<title>STOP MIGRATION CHECK</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration-check/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration-check/</guid>
<description>Description The STOP MIGRATION CHECK syntax is used to stop migration check process.
Syntax Grammar Railroad diagram StopMigrationCheck ::= &amp;#39;STOP&amp;#39; &amp;#39;MIGRATION&amp;#39; &amp;#39;CHECK&amp;#39; migrationJobId migrationJobId ::= string Supplement migrationJobId needs to be obtained through SHOW MIGRATION LIST syntax query Example Stop migration check process STOP MIGRATION CHECK &amp;#39;j010180026753ef0e25d3932d94d1673ba551&amp;#39;; Reserved word STOP, MIGRATION, CHECK
Related links Reserved word SHOW MIGRATION LIST </description>
</item>
<item>
<title>DROP SHARDING TABLE REFERENCE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-reference-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-sharding-table-reference-rule/</guid>
<description>Description The DROP SHARDING TABLE REFERENCE RULE syntax is used to drop specified sharding table reference rule.
Syntax Grammar Railroad diagram DropShardingTableReferenceRule ::= &amp;#39;DROP&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;REFERENCE&amp;#39; &amp;#39;RULE&amp;#39; ifExists? shardingReferenceRuleName (&amp;#39;,&amp;#39; shardingReferenceRuleName)* ifExists ::= &amp;#39;IF&amp;#39; &amp;#39;EXISTS&amp;#39; shardingReferenceRuleName ::= identifier Supplement ifExists clause is used for avoid Sharding reference rule not exists error. Example Drop a specified sharding table reference rule DROP SHARDING TABLE REFERENCE RULE ref_0; Drop multiple sharding table reference rules DROP SHARDING TABLE REFERENCE RULE ref_0, ref_1; Drop sharding table reference rule with ifExists clause DROP SHARDING TABLE REFERENCE RULE IF EXISTS ref_0; Reserved word DROP, SHARDING, TABLE, REFERENCE, RULE</description>
</item>
<item>
<title>Observability</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/agent/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/agent/</guid>
<description>PluginLifecycleService Fully-qualified class name org.apache.shardingsphere.agent.spi.PluginLifecycleService
Definition Plug lifecycle management interface
Implementation classes Configuration Type Description Fully-qualified class name File Logging plug lifecycle management class org.apache.shardingsphere.agent.plugin.logging.file.FileLoggingPluginLifecycleService Prometheus Prometheus plug lifecycle management class org.apache.shardingsphere.agent.plugin.metrics.prometheus.PrometheusPluginLifecycleService OpenTelemetry OpenTelemetryTracing plug lifecycle management class org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.OpenTelemetryTracingPluginLifecycleService </description>
</item>
<item>
<title>SHOW BROADCAST TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-broadcast-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/show-broadcast-table-rule/</guid>
<description>Description The SHOW BROADCAST TABLE RULE syntax is used to broadcast tables for specified database.
Syntax Grammar Railroad diagram ShowBroadcastTableRule ::= &amp;#39;SHOW&amp;#39; &amp;#39;BROADCAST&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;RULES&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description broadcast_table Broadcast table name Example Query broadcast tables for specified database.</description>
</item>
<item>
<title>START MIGRATION</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/start-migration/</guid>
<description>Description The START MIGRATION syntax is used to start migration process.
Syntax Grammar Railroad diagram StartMigration ::= &amp;#39;START&amp;#39; &amp;#39;MIGRATION&amp;#39; migrationJobId migrationJobId ::= string Supplement migrationJobId needs to be obtained through SHOW MIGRATION LIST syntax query Example Start migration process START MIGRATION &amp;#39;j010180026753ef0e25d3932d94d1673ba551&amp;#39;; Reserved word START, MIGRATION
Related links Reserved word SHOW MIGRATION LIST </description>
</item>
<item>
<title>COUNT SHARDING RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/count-sharding-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/count-sharding-rule/</guid>
<description>Description The COUNT SHARDING RULE syntax is used to query the number of sharding rules for specified database.
Syntax Grammar Railroad diagram CountShardingRule::= &amp;#39;COUNT&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;RULE&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description rule_name rule type database the database to which the rule belongs count the number of the rule Example Query the number of sharding rules for specified database.</description>
</item>
<item>
<title>CREATE BROADCAST TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-broadcast-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/create-broadcast-table-rule/</guid>
<description>Description The CREATE BROADCAST TABLE RULE syntax is used to create broadcast table rules for tables that need to be broadcast (broadcast tables)
Syntax Grammar Railroad diagram CreateBroadcastTableRule ::= &amp;#39;CREATE&amp;#39; &amp;#39;BROADCAST&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;RULE&amp;#39; ifNotExists? tableName (&amp;#39;,&amp;#39; tableName)* ifNotExists ::= &amp;#39;IF&amp;#39; &amp;#39;NOT&amp;#39; &amp;#39;EXISTS&amp;#39; tableName ::= identifier Supplement tableName can use an existing table or a table that will be created; ifNotExists clause is used for avoid Duplicate Broadcast rule error.</description>
</item>
<item>
<title>STOP MIGRATION</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/stop-migration/</guid>
<description>Description The STOP MIGRATION syntax is used to stop migration process.
Syntax Grammar Railroad diagram StopMigration ::= &amp;#39;STOP&amp;#39; &amp;#39;MIGRATION&amp;#39; migrationJobId migrationJobId ::= string Supplement migrationJobId needs to be obtained through SHOW MIGRATION LIST syntax query Example Stop migration process STOP MIGRATION &amp;#39;j010180026753ef0e25d3932d94d1673ba551&amp;#39;; Reserved word STOP, MIGRATION
Related links Reserved word SHOW MIGRATION LIST </description>
</item>
<item>
<title>COMMIT MIGRATION</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/commit-migration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/commit-migration/</guid>
<description>Description The COMMIT MIGRATION syntax is used to commit migration process.
Syntax Grammar Railroad diagram CommitMigration ::= &amp;#39;COMMIT&amp;#39; &amp;#39;MIGRATION&amp;#39; migrationJobId migrationJobId ::= string Supplement migrationJobId needs to be obtained through SHOW MIGRATION LIST syntax query Example Commit migration process COMMIT MIGRATION &amp;#39;j010180026753ef0e25d3932d94d1673ba551&amp;#39;; Reserved word COMMIT, MIGRATION
Related links Reserved word SHOW MIGRATION LIST </description>
</item>
<item>
<title>DROP BROADCAST TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-broadcast-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/drop-broadcast-table-rule/</guid>
<description>Description The DROP BROADCAST TABLE RULE syntax is used to drop broadcast table rule for specified broadcast tables
Syntax Grammar Railroad diagram DropBroadcastTableRule ::= &amp;#39;DROP&amp;#39; &amp;#39;BROADCAST&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;RULE&amp;#39; ifExists? tableName (&amp;#39;,&amp;#39; tableName)* ifExists ::= &amp;#39;IF&amp;#39; &amp;#39;EXISTS&amp;#39; tableName ::= identifier Supplement tableName can use the table of existing broadcast rules; ifExists clause is used for avoid Broadcast rule not exists error. Example Drop broadcast table rule for specified broadcast table DROP BROADCAST TABLE RULE t_province, t_city; Drop broadcast table rule with ifExists clause DROP BROADCAST TABLE RULE IF EXISTS t_province, t_city; Reserved word DROP, BROADCAST, TABLE, RULE</description>
</item>
<item>
<title>ROLLBACK MIGRATION</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/rollback-migration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/migration/rollback-migration/</guid>
<description>Description The ROLLBACK MIGRATION syntax is used to rollback migration process.
Syntax Grammar Railroad diagram RollbackMigration ::= &amp;#39;ROLLBACK&amp;#39; &amp;#39;MIGRATION&amp;#39; migrationJobId migrationJobId ::= string Supplement migrationJobId needs to be obtained through SHOW MIGRATION LIST syntax query
After the statement is executed, the target will be cleaned up
Example Rollback migration process ROLLBACK MIGRATION &amp;#39;j010180026753ef0e25d3932d94d1673ba551&amp;#39;; Reserved word ROLLBACK, MIGRATION</description>
</item>
</channel>
</rss>