API Changes
- DistSQL: Refactor syntax API, please refer to the user manual
- Proxy: Change the configuration style of global rule, remove the exclamation mark
- Proxy: Allow zero-configuration startup, enable the default account root/root when there is no Authority configuration
- Proxy: Remove the default logback.xml and use API initialization
- JDBC: Remove the Spring configuration and use Driver + YAML configuration instead
Enhancements
- DistSQL: New syntax REFRESH DATABASE METADATA, refresh logic database metadata
- Kernel: Support DistSQL REFRESH DATABASE METADATA to load configuration from the governance center and rebuild MetaDataContext
- Support postgresql/openGauss setting transaction isolation level
- Scaling: Increase inventory task progress update frequency
- Scaling: DATA_MATCH consistency check support breakpoint resume
- Scaling: Support drop consistency check job via DistSQL
- Scaling: Rename column from sharding_total_count to job_item_count in job list DistSQL response
- Scaling: Add sharding column in incremental task SQL to avoid broadcast routing
- Scaling: Sharding column could be updated when generating SQL
- Scaling: Improve column value reader for DATA_MATCH consistency check
- DistSQL: Encrypt DistSQL syntax optimization, support like query algorithm
- DistSQL: Add properties value check when REGISTER STORAGE UNIT
- DistSQL: Remove useless algorithms at the same time when DROP RULE
- DistSQL: EXPORT DATABASE CONFIGURATION supports broadcast tables
- DistSQL: REGISTER STORAGE UNIT supports heterogeneous data sources
- Encrypt: Support Encrypt LIKE feature
- Automatically start distributed transactions when executing DML statements across multiple shards
- Kernel: Support client \d for PostgreSQL and openGauss
- Kernel: Support select group by, order by statement when column contains null values
- Kernel: Support parse RETURNING clause of PostgreSQL/openGauss Insert
- Kernel: SQL HINT performance improvement
- Kernel: Support mysql case when then statement parse
- Kernel: Supporting data source level heterogeneous database gateway
- (Experimental) Sharding: Add sharding cache plugin
- Proxy: Support more PostgreSQL datetime formats
- Proxy: Support MySQL COM_RESET_CONNECTION
- Scaling: Improve MySQLBinlogEventType.valueOf to support unknown event type
- Kernel: Support case when for federation
Bug Fix
- Scaling: Fix barrier node created at job deletion
- Scaling: Fix part of columns value might be ignored in DATA_MATCH consistency check
- Scaling: Fix jdbc url parameters are not updated in consistency check
- Scaling: Fix tables sharding algorithm type INLINE is case-sensitive
- Scaling: Fix incremental task on MySQL require mysql system database permission
- Proxy: Fix the NPE when executing select SQL without storage node
- Proxy: Support DATABASE_PERMITTED permission verification in unicast scenarios
- Kernel: Fix the wrong value of worker-id in show compute nodes
- Kernel: Fix route error when the number of readable data sources and weight configurations of the Weight algorithm are not equal
- Kernel: Fix multiple groups of readwrite-splitting refer to the same load balancer name, and the load balancer fails problem
- Kernel: Fix can not disable and enable compute node problem
- JDBC: Fix data source is closed in ShardingSphereDriver cluster mode when startup problem
- Kernel: Fix wrong rewrite result when part of logical table name of the binding table is consistent with the actual table name, and some are inconsistent
- Kernel: Fix startup exception when use SpringBoot without configuring rules
- Encrypt: Fix null pointer exception when Encrypt value is null
- Kernel: Fix oracle parsing does not support varchar2 specified type
- Kernel: Fix serial flag judgment error within the transaction
- Kernel: Fix cursor fetch error caused by wasNull change
- Kernel: Fix alter transaction rule error when refresh metadata
- Encrypt: Fix EncryptRule cast to TransparentRule exception that occurs when the call procedure statement is executed in the Encrypt scenario
- Encrypt: Fix exception which caused by ExpressionProjection in shorthand projection
- Proxy: Fix PostgreSQL Proxy int2 negative value decoding incorrect
- Proxy: PostgreSQL/openGauss support describe insert returning clause
- Proxy: Fix gsql 3.0 may be stuck when connecting Proxy
- Proxy: Fix parameters are missed when checking SQL in Proxy backend
- Proxy: Enable MySQL Proxy to encode large packets
- Kernel: Fix oracle parse comment without whitespace error
- DistSQL: Fix show create table for encrypt table
Refactor
- Scaling: Reverse table name and column name when generating SQL if it's SQL keyword
- Scaling: Improve increamental task failure handling
- Kernel: Governance center node adjustment, unified hump to underscore