New feature
- New DistSQL to load and show all the ShardingSphere configuration rules
- Support join SQL from different database instances
- Support multiple backend database types for new feature of database gateway
- Support creating and updating the authentication online
- Add a new automated agent module
API Change
QueryReplica
configuration item is replaced byread-write-splitting
Authentication
configuration item of ShardingProxy is replaced byAUTHORITY
- Optimize the dataSource configuration for ShardingJDBC with
dataSourceClassName
- New API for automated sharding table configuration to provide standard and automated sharding tables
- Remove configuration item
acceptor-size
from ShardingProxy - Create a built-in sharding algorithm SPI which allows users to directly configure the class name as in 4.x
Enhancement
- Improve metadata loading process distinctly
- Greatly enhance the SQL parsing for Oracle, SQLServer and PostgreSQL
- Support loading privileges from MySQL/PostgreSQL/SQLServer/Oracle
- Support DDL statement for encryption feature
- Support rewrite owner table name of projection if using sharding and encrypt together
- When using
SELECT *
from encrypted SQL, add quote char for the rewritten column to avoid conflict with keyword - Support PostgreSQL JSON/JSONB/pattern matching operator parse
- Support MySQL/PostgreSQL
CREATE/ALTER/DROP TABLESPACE
statement - Support PostgreSQL
PREPARE, EXECUTE, DEALLOCATE
statement - Support PostgreSQL
EXPLAIN
statement - Support PostgreSQL
START/END TRANSACTION
statement - Support PostgreSQL
ALTER/DROP INDEX
statement - Support CREATE
TABLESPACE
of PostgreSQL - Support MySQL
CREATE LOADABLE FUNCTION
statement - Support MySQL/PostgreSQL
ALTER TABLE RENAME
statement - Support PostgreSQL Close command
Refactor
- New schema structure in registry center
- Remove Nacos and Apollo config center support
- ShardingScaling leverages elasticJob as its job distribution
- Refactor the metadata content and its update process
Bug Fix
- Bugfix for cannot use
SELECT * wildcard
when readwrite-splitting only - Fix instance error when the custom sharding algorithm does not match the configuration type.
- Fix NoSuchTableException when executing drop table if exists statement
- Fix the wrong table rewrite in
UPDATE ... SET ...
statement - Fix wrong table rewrite in CREATE/ALTER TABLE statement foreign key reference table
- Fix projection owner check exception when existing subquery temporary table
- Fix Oracle/SQL92
SELECT ... WHERE ... LIKE
statement class cast exception - Fix MySQL
SELECT EXISTS ... FROM ...
statement parse error - Fix the wrong result of
SHOW INDEX
statement - Fix SELECT
... GROUP BY ...
statement rewrite and merge result error - Fix CREATE TABLE statement rewrite error for encrypt
- Fix exception occurs in PostgreSQL Proxy when reading text format parameter values
- Enhance the support of array object for PostgreSQL Proxy
- Fix the bug of Datatype casting for ShardingProxy
- PostgreSQL Proxy supports using numeric type
- Fix PostgreSQL Proxy transaction command complete packet's tag incorrect
- Fix PostgreSQL Proxy may return packet which is not expected by the client