Releases: apache/shardingsphere
Releases · apache/shardingsphere
5.1.1
New Feature
- Kernel: support alter materialized view for PostgreSQL
- Kernel: support declare for PostgreSQL
- Kernel: support discard for PostgreSQL
- Kernel: Add mode to parser to support $$ in PostgreSQL
- Kernel: Support MySQL create tablespace statement parse
- Scaling: Implement stop source writing and restore source writing
- Scaling: Support partial tables scale-out
- DistSQL: New DistSQL syntax:
SHOW UNUSED RESOURCES
- Mode: Added persistent
XA Recovery Id
to Governance Center - Mode: Database discovery adds delayed master-slave delay function
- Distributed Transaction: Add savepoint support for ShardingSphere proxy
- Distributed Transaction: Support auto rollback when report exception in transaction block for PostgreSQL and openGauss
- Distributed Transaction: Make it is easy to use with Narayana
- Distributed Transaction: Add savepoint support for ShardingSphere-JDBC
Enhancement
- Kernel: Refactor kernel to improve performance
- Proxy: Reduce Docker image size of ShardingSphere-Proxy
- Proxy: ShardingSphere-Proxy supports set names statements
- Proxy: ShardingSphere-Proxy MySQL supports multi statements
- Scaling: Only one proxy node could do data consistency check in proxy cluster
- Scaling: Replace scaling input and output config fields type from int to Integer
- Scaling: Update MySQL checksum SQL
- Scaling: Improve scaling job progress deletion in reset and progress check before starting job
- Scaling: Improve
FinishCheckJob
data consistency check when target tables already have the same data as source tables - Scaling: Break scaling job ASAP when there is unsupported table since primary key
- Scaling: Reuse
ClusterPersistRepository
of proxy inPipelineAPIFactory
- Scaling: Update jobId generation algorithm, and make it support idempotency
- DistSQL: Support configuration data type and length when CREATE/ALTER ENCRYPT RULE
- DistSQL: Unify the display results of
SHOW ALL VARIABLES
andSHOW VARIABLE
- DistSQL: Remove the effect of binding order when
DROP BINDING TABLE RULES
- DistSQL: Add column
mode_type
in the result ofSHOW INSTANCE LIST
- DistSQL: Add validation to the mode when
ENABLE/DISABLE INSTANCE
- DistSQL: Check if the rule is in used when
DROP READWRITE_SPLITTING RULE
- DistSQL: Check duplicate resource names when
CREATE READWRITE_SPLITTING RULE
- DistSQL: Add column
delay_time
to the result ofSHOW READWRITE_SPLITTING READ RESOURCES
- DistSQL: Support
IF EXISTS
whenDROP RULE
- DistSQL: Optimize the prompt information of connection failure when
ADD/ALTER RESOURCE
- Mode: Add schema-level global distributed locks
- Mode: Add schema version number to support batch execution of DistSQL
- Mode: Persistent metadata optimization in cluster mode
- Mode: The database discovery add the
schemaName
identifier when create a JOB
Refactor
- Kernel: Refactor test case for encrypt
- Kernel: Refactor metadata to support PostgreSQL database and schema
- Scaling: Remove HikariCP dependency in pipeline modules
- Mode: Refactor governance center storage node structure
- Mode: Refactor governance center meta data structure
- Mode: Adjust the database discovery MGR module to MySQL module
Bug Fix
- Kernel: Fix function with no parameter
- Kernel: Fix
InsertValueContext.getValue
cast exception - Kernel: Fix aggregate distinct column error
- Kernel: Fix NPE when rewrite parameter with schema
- Kernel: Fix NPE caused by
GeneratedKeysResultSet
not returncolumnName
in read-write splitting - Kernel: Fix show tables statement loses part of the single table
- Kernel: Fix ModShardingAlgorithm wrong route result when exist same suffix table
- Kernel: Fix sql parse error when contains key in assignment clause and optimize index parse
- Kernel: Fix NumberFormatException when sharding algorithm config number props
- Kernel: Fix wrong metadata when config single dataSource for read-write splitting
- Kernel: Fix statement close exception when use
BatchPreparedStatementExecutor
- Kernel: Fix rewrite lowercase logic when sql contains shorthand projection
- Kernel: Fix NullPointerException when start up proxy with memory mode
- Proxy: Fix literals may be replaced by mistake in PostgreSQL/openGauss protocol
- Proxy: Fix ShardingSphere-Proxy PostgreSQL with multi-schema cannot be connected by PostgreSQL JDBC Driver 42.3.x
- Proxy: Fix timestamp nanos inaccurate in ShardingSphere-Proxy MySQL
- Proxy: Complete ShardingSphere-Proxy PostgreSQL codec for numeric in binary format
- Proxy: Potential performance issue and risk of OOM in ShardingSphere-JDBC
- Proxy: Fix Operation not allowed after ResultSet closed occasionally happens in ShardingSphere-Proxy MySQL
- Proxy: Fix NPE causes by ShardingSphere-JDBC executeBatch without addBatch
- Scaling: Fix failed or stopped job could not be started by DistSQL except restarting proxy
- DistSQL: Fix parsing exception for inline expression when
CREATE SHARDING TABLE RULE
- DistSQL: Fix parsing exception when password is keyword
password
inADD RESOURCE
statement - Mode: Fixed loss of compute nodes due to ZooKeeper session timeout
- Mode: Fixed the case of the table name in the governance center
- Mode: DistSQL enable disable instance refresh in-memory compute node status
- Mode: Fixed database discovery unable to create Rule through DistSQL
Change Log
5.1.0
New feature
- Support SQL hint
- New DistSQL syntax: SHOW AUTHORITY RULE
- New DistSQL syntax: SHOW TRANSACTION RULE
- New DistSQL syntax: ALTER TRANSACTION RULE
- New DistSQL syntax: SHOW SQL_PARSER RULE
- New DistSQL syntax: ALTER SQL_PARSER RULE
- New DistSQL syntax: ALTER DEFAULT SHARDING STRATEGY
- New DistSQL syntax: DROP DEFAULT SHARDING STRATEGY
- New DistSQL syntax: CREATE DEFAULT SINGLE TABLE RULE
- New DistSQL syntax: SHOW SINGLE TABLES
- New DistSQL syntax: SHOW SINGLE TABLE RULES
- New DistSQL syntax: SHOW SHARDING TABLE NODES
- New DistSQL syntax: CREATE/ALTER/DROP SHARDING KEY GENERATOR
- New DistSQL syntax: SHOW SHARDING KEY GENERATORS
- New DistSQL syntax: REFRESH TABLE METADATA
- New DistSQL syntax: PARSE SQL, Output the abstract syntax tree obtained by parsing SQL
- New DistSQL syntax: SHOW UNUSED SHARDING ALGORITHMS
- New DistSQL syntax: SHOW UNUSED SHARDING KEY GENERATORS
- New DistSQL syntax: CREATE/DROP SHARDING SCALING RULE
- New DistSQL syntax: ENABLE/DISABLE SHARDING SCALING RULE
- New DistSQL syntax: SHOW SHARDING SCALING RULES
- New DistSQL syntax: SHOW INSTANCE MODE
- New DistSQL syntax: COUNT SCHEMA RULES
- Scaling: Add
rateLimiter
configuration andQPS
TPS
implementation - Scaling: Add
DATA_MATCH
data consistency check - Scaling: Add
batchSize
configuration to avoid possible OOME - Scaling: Add
streamChannel
configuration andMEMORY
implementation - Scaling: Support MySQL BINARY data type
- Scaling: Support MySQL YEAR data type
- Scaling: Support PostgreSQL BIT data type
- Scaling: Support PostgreSQL MONEY data type
- Database discovery adds support for JDBC Spring Boot
- Database discovery adds support for JDBC Spring Namespace
- Database discovery adds support for openGauss
- Shadow DB adds support for logical data source transfer
- Add data type validator for column matching shadow algorithm
- Add support for xa start/end/prepare/commit/recover in encrypt case with only one data source
API Change
- Redesign the database discovery related DistSQL syntax
- In DistSQL, the keyword GENERATED_KEY is adjusted to KEY_GENERATE_STRATEGY
- Native authority provider is marked as deprecated and will be removed in a future version
- Scaling: Move scaling configuration from server.yaml to config-sharding.yaml
- Scaling: Rename clusterAutoSwitchAlgorithm SPI to completionDetector and refactor method parameter
- Scaling: Data consistency check API method rename and return type change
- Database discovery module API refactoring
- Readwrite-splitting supports static and dynamic configuration
- Shadow DB remove the enable configuration
- Shadow algorithm type modified
Enhancement
- Improve load multi single table performance
- Remove automatically added order by primary key clause
- Optimize binding table route logic without sharding column in join condition
- Support update sharding key when the sharding routing result keep the same
- Optimize rewrite engine performance
- Support select union/union all ... statements by federation engine
- Support insert on duplicate key update sharding column when route context keep same
- Use union all to merge sql route units for simple select to improve performance
- Supports autocommit in ShardingSphere-Proxy
- ShardingSphere openGauss Proxy supports sha256 authentication method
- Remove property java.net.preferIPv4Stack=true from Proxy startup script
- Remove the verification of null rules for JDBC
- Optimize performance of executing openGauss batch bind
- Disable Netty resource leak detector by default
- Supports describe prepared statement in PostgreSQL / openGauss Proxy
- Optimize performance of executing PostgreSQL batched inserts
- Add instance_id to the result of SHOW INSTANCE LIST
- Support to use instance_id to perform operations when enable/disable a proxy instance
- Support auto creative algorithm when
CREATE SHARDING TABLE RULE
, reducing the steps of creating rule - Support specifying an existing KeyGenerator when CREATE SHARDING TABLE RULE
- DROP DATABASE supports IF EXISTS option
- DATANODES in SHARDING TABLE RULE supports enumerated inline expressions
- CREATE/ALTER SHARDING TABLE RULE supports complex sharding algorithm
- SHOW SHARDING TABLE NODES supports non-inline scenarios (range, time, etc.)
- When there is only one read data source in the readwrite-splitting rule, it is not allowed to be disabled
- Scaling: Add basic support of chunked streaming data consistency check
- Shadow algorithm decision logic optimization to improve performance
Refactor
- Refactor federation engine scan table logic
- Avoid duplicated TCL SQL parsing when executing prepared statement in Proxy
- Scaling: Add pipeline modules to redesign scaling
- Scaling: Refactor several job configuration structure
- Scaling: Precalculate tasks splitting and persist in job configuration
- Scaling: Add basic support of pipeline-core code reuse for encryption job
- Scaling: Add basic support of scaling job and encryption job combined running
- Scaling: Add
input
andoutput
configuration, includingworkerThread
andrateLimiter
- Scaling: Move
blockQueueSize
intostreamChannel
- Scaling: Change jobId type from integer to text
- Optimize JDBC to load only the specified schema
- Optimize meta data structure of the registry center
- Rename Note shadow algorithm to HINT shadow algorithm
Bug Fix
- Support parsing function
- Fix alter table drop constrain
- Fix optimize table route
- Support Route resource group
- Support parsing binlog
- Support postgreSql/openGauss '&' and '|' operator
- Support parsing openGauss insert on duplicate key
- Support parse postgreSql/openGauss union
- Support query which table has column contains keyword
- Fix missing parameter in function
- Fix sub query table with no alias
- Fix utc timestamp function
- Fix alter encrypt column
- Support alter column with position encrypt column
- Fix delete with schema for postgresql
- Fix wrong route result caused by oracle parser ambiguity
- Fix projection count error when use sharding and encrypt
- Fix npe when using shadow and readwrite_splitting
- Fix wrong metadata when actual table is case insensitive
- Fix encrypt rewrite exception when execute multiple table join query
- Fix encrypt rewrite wrong result with table level queryWithCipherColumn
- Fix parsing chinese
- Fix encrypt exists sub query
- Fix full route caused by the MySQL BINARY keyword in the sharding condition
- Fix getResultSet method empty result exception when using JDBCMemoryQueryResult processing statement
- Fix incorrect shard table validation logic when creating store function/procedure
- Fix null charset exception occurs when connecting Proxy with some PostgreSQL client
- Fix executing commit in prepared statement cause transaction status incorrect in MySQL Proxy
- Fix client connected to Proxy may stuck if error occurred in PostgreSQL with non English locale
- Fix file not found when path of configurations contains blank character
- Fix transaction status may be incorrect cause by early flush
- Fix the unsigned datatype problem when query with PrepareStatement
- Fix protocol violation in implementations of prepared statement in MySQL Proxy
- Fix caching too many connections in openGauss batch bind
- Fix the problem of missing data in SHOW READWRITE_SPLITTING RULES when db-discovery and readwrite-splitting are used together
- Fix the problem of missing data in SHOW READWRITE_SPLITTING READ RESOURCES when db-discovery and readwrite-splitting are used together
- Fix the NPE when the CREATE SHARDING TABLE RULE statement does not specify the sub-database and sub-table strategy
- Fix NPE when PREVIEW SQL by schema.table
- Fix DISABLE statement could disable readwrite-splitting write data source in some cases
- Fix DIABLE INSTANCE could disable the current instance in some cases
- Fix the issue that user may query the unauthorized logic schema when the provider is SCHEMA_PRIVILEGES_PERMITTED
- Fix NPE when authority provider is not configured
- Scaling: Fix DB connection leak on XA initialization which triggered by data consistency check
- Scaling: Fix PostgreSQL replication stream exception on multiple data sources
- Scaling: Fix migrating updated record exception on PostgreSQL incremental phase
- Scaling: Fix MySQL 5.5 check BINLOG_ROW_IMAGE option failure
- Scaling: Fix PostgreSQL xml data type consistency check
- Fix database discovery failed to modify cron configuration
- Fix single read data source use weight loadbalance algorithm error
- Fix create redundant data souce without memory mode
- Fix column value matching shadow algorithm data type conversion exception
Change Log
5.0.0
New feature
- Support parsing SQL comment
- New DistSQL syntax: shadow rule management
- New DistSQL syntax: scaling job management
- New DistSQL syntax: disable proxy instance
- New DistSQL syntax: disable readwrite-splitting read data source
- New DistSQL syntax:
DROP SHARDING ALGORITHM
- New DistSQL syntax:
ALTER RESOURCE
- New DistSQL syntax:
CREATE SHARDING ALGORITHM
- New DistSQL syntax:
CREATE DEFAULT SHARDING [TABLE | DATABASE] STRATEGY
- New DistSQL syntax:
SHOW ALL VARIABLE
- New DistSQL syntax:
SHOW VARIABLE variableName;
- Support
3
modes, including Memory, Standalone and Cluster mode - Proxy supports for openGauss
- Scaling: Add basic support for openGauss
- Scaling: Add incremental task completion detect algorithm SPI interface
- Scaling: Add data consistency check algorithm SPI interface
- Scaling: Basic support of create table on target automatically for MySQL and openGauss
- Scaling: Support auto switch cluster configuration when job finished
- Scaling: Add more DistSQL support such as data consistency check, etc
API Change
- Add schema name configuration for ShardingSphere-JDBC
- Add default sharding column configuration
- Change the default authority provider from
NATIVE
toALL_PRIVILEGES_PERMITTED
- SCTL syntax adjustment, merged with DistSQL RAL syntax
SHOW RESOURCES
DistSQL is adjusted toSHOW SCHEMA RESOURCES
- Remove
shadow
logical field, support shadow algorithm
Enhancement
- Support parsing MySQL union/union all statement
- Support PostgreSQL
ABORT
statement - Refactor and improve metadata loading process
- Support PostgreSQL
CREATE INDEX
statement to generate index automatically when no index is specified - Support SQL statement execution with logical schema
- Support binding tables configuration with different sharding columns
- Optimize kernel performance
- Proxy supports queries to part of information_schema tables to optimize client connection experience
- DistSQL supports using quotation marks to use keywords as parameter names
- The password in the
ADD RESOURCE
statement supports special characters ADD RESOURCE
supports custom JDBC parameters and connection pool propertiesDROP RESOURCE
supports optional parameterignore single tables
, used to ignore single table rule restrictions- Support the use of DistSQL to create sharding table rule based on readwrite-splitting rules
SHOW DATABASES
statement supports like syntaxCREATE SHARDING TABLE RULE
supports the use of inline expressions to specify resourcesCREATE SHARDING TABLE RULE
supports configuration usingdataNodes
CREATE SHARDING TABLE RULE
supports reuse of existing algorithmsSET VARIABLE
, support to modify proxy configuration- PostgreSQL's protocol enhancements (Such as supports Portal, unspecified type)
- Using Netty executor to optimize Proxy performance in specified scenarios
- Make memory strictly fetch size configurable in Proxy
- Scaling: Improve support for PostgreSQL
- Scaling: Support concurrent data consistency check of source and target side
Refactor
- Refactor the SingleTable feature to support Encrypt multiple data sources
- Adjust the persistent data structure of the registry center state node
- Remove the SQL rewrite of DML for Shadow
- Support the SQL routing of DDL for Shadow
- Scaling: Refactor default implementation of incremental task completion detect algorithm
- Scaling: Refactor default implementation of data consistency check algorithm
- Scaling: Remove HTTP API and binary distribution
Bug Fix
- Fix sharding interval algorithm
- Fix
SHOW INDEX FROM TABLE FROM TABLE
statement rewrite exception - Fix Encrypt multi tables join query rewrite exception
- Fix subquery index out of range exception
- Fix wrong result of Oracle paging query
- Fix the rewrite exception when KeyGenerateStrategy is not configured in the Sharding feature
- Fix federation executor engine exception caused by Oracle dialect case
- Fix Sharding and Encrypt integration usage rewrite exception
- Fix Oracle metadata loading exception
- Fix the issue that
SHOW RESOURCES
statement cannot display custom attributes - Fix the issue that SQL execution exception is not thrown
- Fix Etcd can not send node added event
- Fix PostgreSQL rows contains null value may be missing in query result
- Fix PostgreSQL metadata columns are out-of-order
- Fix client character set may be incorrect in Proxy
Change Log
5.0.0-beta
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
Change Log
5.0.0-alpha
5.0.0-alpha
New Feature
- The pluggable architecture is available and support function extension through the SPI.
- Independent SQL parsing engine is available to get SQL parsed AST for the different database dialects.
- New RDL feature for ShardingSphere Proxy supports creating sharding rules and sharding tables.
- ShardingSphere-Scaling supports resuming data migration from break-point.
- ShardingSphere-Scaling supports using ShardingSphere JDBC to migrate data to new cluster.
- ShardingSphere shadow database is available.
API Changes
- New sharding/encryption/shadow/queryReplica API.
- New sharding algorithm and strategy API.
- New API for ShardingSphere Scaling to create task.
- Remove DefaultDataSourceName setting item.
- The separator of the parameter configuration item is changed from - the dot ‘.’ to minus sign ‘-’.
- Change parameter allow.range.query.with.inline.sharding from global parameter to sharding algorithm parameter.
Refactor
- Refactor the architecture of SQL parsing module base on the database dialects.
- Use SPI mechanism to reconstruct online metadata change processing.
- Rename Orchestration module to Governance module.
- Rename MasterSlave module to QueryReplica module.
- Refactor the metadata structure in the governance registration center.
- Refactor GovernmentShardingSphereDataSource.
- ShardingSphere UI merges configuration center and registration center display layout.
Enhancement
- Upgrade the minimum supported version of JDK to Java8.
- Update Zookeeper curator to version 5.1.0.
- Update Google Guava to version 29.0-jre.
- The enhancement for MySQL SQL syntax definition and parsing process.
- The enhancement for PostgreSQL syntax definition and parsing process.
- The enhancement for sub-queries in different database dialects.
- Support MySQL view operations for non-sharding tables
- Support MySQL stored functions and procedure operations for non-sharding tables.
- Support SQLServer Top syntax.
- Optimize the metadata loading to improve the startup speed.
- Optimize batch insert performance.
- Supports the use of Oracle RAC JDBC URL.
- XA transaction manager adds support for Oracle database.
- ShardingSphere Proxy supports the use of p6sy driver.
- Add help information to the ShardingSphere Proxy startup script.
Bug fixes
- Fix alias rewriting error when processing OrderBy condition.
- Fix SQL rewriting error when MYSQL Insert statement contains expression.
- Fix parameter calculation error in update on duplicate SQL.
- Fix generatedKeys gets wrong when batch inserting.
- Fix the abnormal issue of multi-table verification in DML statement update operation.
- Fix the NPE problem caused by executing SQL when the table does not exist.
- Fix the exception when using the Show table command for an unconfigured table.
- Fix metadata loading error when Oracle database has multiple qualified users.
- Fix the issue that replica node cannot be enabled online.
- Fix the problem that ShardingSphere-JDBC does not support PostgreSQL array type.
- Fix the problem that ShardingSphere-Proxy does not respond when querying long blob data.
shardingsphere-ui-4.1.1
4.1.1
Enhancement
- Add Sharding-UI dockerfile
- Enhancement for Sharding-UI docker build
Bug Fixes
- Fix faild to disable slave database through ui
4.1.1
4.1.1
Enhancement
- Add Sharding-Scaling & Sharding-UI dockerfile
- update MySQL & PostgreSQL version for proxy
Bug Fixes
- Fix parser syntax rule of SUBSTRING and CONVERT
- Fix parser ColumnSegment ClassCastException
- Fix TableMetaData load error when use Sharding-JDBC with oracle
- Fix getSchema NPE when use Sharding-JDBC with oracle
- Fix Sharding-JDBC parse sql NPE in PostgreSQL
- Fix Sharding-Proxy receive error response for PostgreSQL JDBC client
- Fix Sharding-Proxy response number of update is 0 for PostgreSQL JDBC client
- Fix Sharding-Proxy receive null for PostgreSQL column meta data
- Fix Sharding-Scaling NPE in MySQL incremental task
Change Logs
4.1.0
4.1.0
New Features
- Support scaling for ShardingSphere (alpha version)
- Move etcd registry center from experiment repo to apache repo
- Upgrade to Java 8
Enhancement
- Optimization for Sharing Parser with ANTLR Visitor improving the parsing performance of long SQL by 100%~1000%
- Use multiple threads to load metadata for different data sources
- Support
allow.range.query.with.inline.sharding
option - The docker of Sharding-Proxy supports loading external lib packages
- Support integration with Spring using @ShardingTransactionType
- Enhance ShardingDataSource to compatiable with Seata in micro-sevice distribution transaction
Refactor
- Remove leaf key generator
Bug Fixes
- Fix an exception caused by using a CHAR/VARCHAR type column as a order by item
- Refine
DataTypeName
syntax rules of all database dialects - Fix an exception caused by executing
BEGIN
using prepared statement of MySQL C API - Fix the problem that
ALTER TABLE
fails to execute when the field type of the table contains Integer/Double/BigDecimal - Fix the problem of the stop index dislocation of segment with alias
- Fix the problem that overwriting SQL
SELECT * FROM tbl WHERE encrypt_col = ? AND (sharding_key = ? OR sharding_key = ?)
when using sharding + encrypt would throw StringIndexOutOfBoundsException - Fix the problem of incorrect decoding after AES encoding when using Sharding-Proxy in Spring Boot
- Fix a long-time problem of adding schema dynamically in Sharding-UI
Change Logs
shardingsphere-ui-4.1.0
4.1.0
New Features
- Add a start.bat to launch for shardingsphere-ui distribution module in Windows
- The work flow and roadmap of sharding-scaling
Enhancements
- sharding-ui-frontend config file problem
- The enhancement for the first version sharding-scaling-ui
- Fix link of build status
- Fix ui login Chinese text
- Add sharding scaling API document
Bug Fixes
- Fix request error page interactive presentation problem
- Fix ui module for new center api
- Fix spelling error
- UI details modification
- Fixes ui errors when loading datasources config
4.0.1
4.0.1
Bug Fixes
- Using guava cache to fix parsing deadlock.
- Oracle insert SQL could not work in encrypt mode.
- Proxy for PostgreSQL decode parameters error in all types except String.
- COM_STM_EXECUTE of proxy for MySQL could not support sysbench.
- None sharding strategy could not config in spring-boot.
- Plain column could not get from resultSet in sharding-encrypt mode.
- WasNull field was wrong in GroupByStreamMergeResult.
- Metadata.getColumns could not work in JDBC.
- IN operator contains space and
\n
\t
\r
could not supported by parser.
Enhancement
- Optimize antlr performance using two-stage parsing strategy.
- Add class filter constructor to restrict the illegal class from YAML.