API Change
- Proxy: Remove the outdated schemaName configuration of the Proxy
- Kernel: Remove the sqlCommentParseEnabled configuration in SQL Parser Rule to reduce code complexity
- SQL Parser: Consider removing sqlCommentParseEnabled config in SQLParser rule
- Federation: Add allQueryUseSQLFederation config for sql federation
Bug Fix
- Pipeline: Fix commit/rollback migration job doesn't drop related consistency check job when check job is not completed
- Pipeline: Fix show consistency check status stop_time display
- Proxy: Restore original databaseName in connectionSession after unicast
- Proxy: Fix show tables can be executed without use database
- Proxy: Fix the incorrect current database after unicast routing
- Proxy: Fix the problem that show tables can be executed before use database
- Readwrite-splitting: Fix check exception when using shadow data source
- Governance: Fix thread blocking problem when create logic database for Etcd register center
- Governance:Fix register storage units and create feature rules failure when use Standalone mode
- MetaData: Fix database system schema is not built when create database
- Metadata: Fix NPE of system schema builder rule
- SQL Parser: Fix PostgreSQL NPE when parse columnRef
- SQL Parser: Fix npe cause by parse MySQL select window statement
- Sharding: Fix routing error when joining tables in uppercase
- Sharding: Fix drop sharding table exception when table name is uppercase
- Sharding: Fix generated key with upper case column name
- Federation: Fix Object 'DUAL' not found exception when execute select 1 from dual with sql federation
- Transaction: Fix xa auto commit in executeQuery
- Proxy: Fix multi statements with specified database name
Enhancement
- Pipeline: Improve CDC stability and performance
- Pipeline: MemoryPipelineChannel supports configurable zero queue size for less memory consumption
- Pipeline: Show dedicated error when mode type is not Cluster
- Authority: Add isSuper option for user
- Pipeline: Ignore error message in status DistSQL result on job cancelling
- DistSQL: Use JSON format to output props in RQL
- DistSQL: Optimize REFRESH DATABASE METADATA logic
- DistSQL: SHOW COMPUTE NODES supports JDBC nodes
- DistSQL: Optimize syntax of REFRESH DATABASE METADATA
- DistSQL: Optimize the output of SHOW TABLE METADATA
- Proxy: Add MySQL precompiled parameter verification to avoid turning on rewriteBatchedStatements=true when BenchmarkSQL connects to Proxy, causing an ArrayIndexOutOfBoundsException exception when the Proxy parameterCount exceeds 65535.
- SQL Parser: Add EOF to throw exception when parse distsql rollback migration statement
- SQL Parser: Support more plsql statement parse and add plsql parse assert logic
- SQL Parser: Support parse index hint
- SQL Parser: Support mysql intersect combine operation sql parse
- SQL Parser: Supoort parse chinese white space for oracle
- SQL Parser: Fix mysql TimeStampDiff function parse
- SQL Parser: Fix sqlServer unqualified shorthand parsing
- SQL Parser: Support sqlServer SEARCH unreserved word parsing
- SQL Parser: Add sql server MEMBER unreserved word
- Binder: Add ParameterMarkerSegmentBinder logic for Oracle MergeStatementBinder
- Federation: Support mysql cross join statement for sql federation
- Transaction: Add advice message in XATransactionCheckPrivilegeFailedException
- Sharding: Validate duplicate sharding actual data nodes
- Sharding: Support null condition value routing
- Proxy: Fix mysql client multi statements option in protocol
New Feature
- DistSQL: New syntax for query plugin (SPI) implementation
- DistSQL: New syntax for managing SQL_TRANSLATOR rule
Refactor
- JDBC: Merge shardingsphere-jdbc-core to shardingsphere-jdbc module
- Proxy: Rename server.yaml to global.yaml, config- to database- and keep compatible with old config
- Proxy: Rename
config-xxx.yaml
todatabase-xxx.yaml
- Proxy: Optimize MySQLComStmtPrepareExecutor logic
- Encrypt: Refactor encrypt interface and add encrypt algorithm metadata
- Infra: Create new algorithm module in infra and move snowflake, uuid to this module
- Infra: Modify unmarshal method to return a default object when yaml is empty
- Infra: Optimize StandardParameterBuilder logic