API Changes
- Authority: Mark privilege provider ALL_PERMITTED as deprecated and will be removed in future
- DistSQL: Remove optional param usageCount from show storage units
New Features
- Kernel: Add new doris, hive and presto sql parser module and database type
Enhancements
- Pipeline: Add SHARDING_TOTAL_COUNT impl of JobExecutorServiceHandler to improve CPU core requirement
- Pipeline: Support page query for inventory dumper and data consistency streaming query
- Pipeline: Use case-insensitive identifiers to enhance the table metadata loader
- Pipeline: Support primary key columns ordering for standard pipeline table metadata loader
- DistSQL: Check privilege when registering or altering storage unit
- DistSQL: Check duplicate actual data nodes when creating or altering sharding table rule
- DistSQL: Add like support for show storage units
- DistSQL: Rollback if import database configuration failed
- Proxy: Make the results of show tables in order
- Metadata: Collect table type for PostgreSQL
- DistSQL: add table type to result set of show logical tables
- Proxy: Trigger metadata collection when creating and deleting database and table
- Proxy: Optimize Agent to support collecting metrics data from multiple data sources when used with Driver
- Encrypt: Add unsupported check for combine statement with encrypt columns
- SQL Parser: Support PostgreSQL COLLATION and CONSTRAINT keywords
- SQL Parser: Support Mysql change replication with no server ids
- SQL Parser: Support Mysql row and column aliases with ON DUPLICATE KEY UPDATE
- SQL Parser: Support Mysql CALL sql with mysql prefix
- SQL Parser: Support Mysql create loadable function returns int/dec
- SQL Parser: Support parsing MySQL CREATE TABLESPACE/TABLE in Mysql-8
- SQL Parser: Support parsing MySQL CREATE INDEX with ENGINE_ATTRIBUTE
- SQL Parser: Support parsing MySQL LOAD DATA with @ variable
- SQL Parser: Support parsing MySQL START REPLICA statement
- SQL Parser: Support parsing MySQL json table function
- Sharding: Revise all local index for sharding table and add object uniqueness level spi to control index token generator
- SQL Parser: Enhance mysql json function visit statement result
- SQL Federation: Support sql federation bit_count function for mysql
- SQL Federation: Improve atan and anan2 sql function for mysql
- Kernel: Support sql hint extract when sql contains dbeaver hint comment
- Encrypt: Support select distinct(column) encrypt rewrite and refactor SubstitutableColumnNameToken build logic
- SQL Federation: Support federated query mysql bin function
- Kernel: Add extract combine left select in extractFromSelectStatementWithoutProjection method
- Proxy Native: Add more graalvm reachability metadata for caffeine cache
- SQL Parser: Enhance Oracle update statement as alias parse and add test case
- SQL Federation: Support for federated query NOT operator
- Encrypt: Support like concat nested concat statement rewrite with encrypt feature
- Support PostgreSQL, openGauss function table and update from parse
- Add assisted node to create and delete databases
- Support cte with postgres and openGauss
- Optimize the timezone support of PostgreSQLDateValueParser.
- Sharding: Add NullsOrderType.LOW and NullsOrderType.HIGH to handle NULL order by in sharding feature
- Support oracle column length unit type SQL parsing
- Support postgresql limit and offset as null
- Add mysql column not null sql parsing
- Add mysql charset sql parsing
- Use same transaction type in one transaction in jdbc adapter
- Support for switching transaction types
- Add inline sharding algorithms match actual data nodes check
Bug Fixes
- Pipeline: InventoryTaskSplitter compatible with
BigInteger
primary key - Proxy: Support binary type bool value in PostgreSQL
- Proxy: Support array type prepared param in PostgreSQL
- Proxy: Support binary protocol value for text array in PostgreSQL
- Metadata: Keep in-used storage node when unregister storage unit
- Migration: Fix default data source lost when create migration job
- Proxy: Fix duplicate results when querying information_schema.SCHEMATA
- Proxy: Fix incorrect results for querying information_schema.SCHEMATA
- Proxy: Fix NPE when execute show table status
- Proxy: Fix no database selected exception occurs when show tables from db
- DistSQL: Fix load single table error after creating logical data source
- DistSQL: Fix set default single table storage unit to random failed
- DistSQL: Fix set default single table storage unit to logical data source failed
- DistSQL: Fix NPE when import metadata
- Proxy: Fix the error that the process does not exit after proxy startup fail
- Proxy: Fix the error that the persisted system metadata was not cleared after the database was deleted in the PostgreSQL scenario
- SQL Federation: Fix federated query LocalDateTime conversion
- SQL Federation: Fix push down sql execute error when sql contains chinese character with sql federation
- Encrypt: Fix show create table wrong result with encrypt when data type contains float
- SQL Parser: Support PostgreSQL do nothing conflict action
- Kernel: Replace ThreadLocal with TransmittableThreadLocal in HintManager to support cross Thread usage
- SQL Federation: Fix federation query binary type data query
- Kernel: Use ConnectionPropertiesParser spi to parse jdbcUrl to solve oracle url parse error
- Sharding: Fix Sharding column not tracked through aliases
- SQL Binder: Add TableAvailable interface for CloseStatementContext, MoveStatementContext, FetchStatementContext and fix sql rewrite test case
- Kernel: Fix column count assert exception caused by postgresql system table judge
- SQL Federation: Fix null result in federated query for a single projected column
- SQL Parser: Fix oracle nvl function and interval hour parse error
- Sharding: Fix alter view exception when config sharding rule and binding table rule
- SQL Federation: Fix sql federation unknown type exception caused by calcite wrong result type with bigint
- Fixed the problem of missing storage unit when registering storage unit
- Fix the issue where updating a non-encrypted table and using a subquery on an encrypted table.
- Resolve the issue where "zip file closed" in versions prior to SpringBoot 2.3.
- Fix the NPE when it does not contain a specified logic database in Driver.
- Fix is need accumulate logic
- Fix setSavepoint method invocation not cleaning up
- Add insert select rewrite for encrypt
- Fix the generated key column name case insensitivity error
- Fix no database selected exception in the query sql
- Fix savepoint manager not cleaned up in distributed transactions
- Fix postgresql rollback only
- Fix transaction context not cleaned up when xa transaction is committed
- Fix the issue that cursor is not rewritten