1 Star 0 Fork 958

kingzuos / sharding-sphere

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
RELEASE-NOTES.md 25.48 KB
一键复制 编辑 原始数据 按行查看 历史
terrymanu 提交于 2018-05-14 09:00 . for #827: add release notes

3.0.0

Milestones

  1. Sharding-Proxy launch. Support the use of Sharding-Sphere in the form of database to support for MySQL CLI and GUI client

New Features

  1. ISSUE #290 Support batch INSERT statements
  2. ISSUE #501 Support OR statement

Enhancements

  1. ISSUE #608 Support the USE statement of MySQL
  2. ISSUE #609 Support the SHOW statement of MySQL
  3. ISSUE #610 Optimize the DQL that does not contain a table name
  4. ISSUE #611 Support the DESC statement of MySQL
  5. ISSUE #652 Support Spring Boot Starter 2.x
  6. ISSUE #701 Support caching parsing results of SQL to improve performance
  7. ISSUE #702 Support $->{..} as mark for inline expression
  8. ISSUE #719 Support Spring bean namespace to inject key generator objects
  9. ISSUE #720 Support Spring bean namespace to inject sharding algorithm objects
  10. ISSUE #773 Support sharding and autoincrement primary key of INSERT statements without column names

Bug Fixes

  1. ISSUE #628 Support data type jsonb for PostgreSQL
  2. ISSUE #629 Support transaction isolation on JDBC
  3. ISSUE #646 When aliases in SELECT ITEMS correspond to the real column names of GROUP BY or ORDER BY, there is no need to add columns
  4. ISSUE #735 Unexpected slave datasource routing result when using Round-robin load-balance algorithm in Mybatis
  5. ISSUE #806 SQL parse error with NOT IN
  6. ISSUE #827 Fix endless loop for bad SQL like SELECT * FROM table WHERE id IN ()

2.0.3

Enhancements

  1. ISSUE #600 Support TCL

Bug Fixes

  1. ISSUE #522 The slave database does not need to execute the DDL statement for read-write separation
  2. ISSUE #540 Support SQLs that the alias is the keyword
  3. ISSUE #577 Support newline for YAML configuration

2.0.2

Enhancements

  1. ISSUE #475 Support CREATE INDEX
  2. ISSUE #525 Support DROP INDEX

Bug Fixes

  1. ISSUE #520 When the partition table is introduced, the exception type is no longer DuplicateKeyException when the unique key conflict occurs
  2. ISSUE #521 ShardingProperties is invalid in YAML configuration
  3. ISSUE #529 Table name capitalization cannot be queried
  4. ISSUE #541 Can't parse IS NOT NULL
  5. ISSUE #557 When GroupBy and OrderBy aliases are inconsistent, stream merging should be used
  6. ISSUE #559 Support parsing numbers beginning with minus and decimal (e.g. -.12).
  7. ISSUE #567 MySQL adds an escape character when columns are added to prevent errors caused by using keywords as column names or aliases

2.0.1

Enhancements

  1. ISSUE #489 SpringName uses RuntimeBeanReference to prevent the creation of InnerBean
  2. ISSUE #496 Logical table names in sharding configuration can be case sensitive
  3. ISSUE #497 The registry center closes gracefully

Bug Fixes

  1. ISSUE #490 Oracle using rownum greater than or equal to or less than or equal to the result of paging is incorrect
  2. ISSUE #491 Can't close connection by ResultSet.getStatement().getConnection().close()

2.0.0

Milestones

  1. API adjust. Brand new Maven coordinate name, package name and spring namespace name. Simplify and enhance API configuration, inline expression full configuration support
  2. Support spring-boot-starter of sharding-jdbc
  3. Dynamic configuration. Zookeeper and etcd can be used as registry to dynamically modify data sources and sharding configurations
  4. Data governance. Fusing database access procedures to access databases and disable access to slave databases
  5. ConfigMap support. Predefined metadata can be obtained in the sharding and read-write separation strategy
  6. Tracking system support. You can view the invocation chain of sharding-jdbc through sky-walking and other Opentracing based APM systems

Enhancements

  1. ISSUE #386 Support for SELECT 1, a SQL that does not contain table names
  2. ISSUE #407 Sharding-jdbc's spring-boot-starter compatibility uses two ways of attribute configuration: minus sign and hump
  3. ISSUE #424 Providing SQL overall execution events

Bug Fixes

  1. ISSUE #387 Prevent errors from keywords process when '`' exists in function + column name
  2. ISSUE #394 Can't only close statement
  3. ISSUE #398 Use Hint routing to shield case sensitivity
  4. ISSUE #404 Sharding-jdbc's spring-boot-starter does not support HikariDataSource
  5. ISSUE #419 When SQL is rewritten, it does not determine whether alias is a keyword without the escape character, which results in SQL exception
  6. ISSUE #436 Read-write separation, when the RoundRobin algorithm is configured from the database and MyBatis is used, it can only be routed to the same slave library
  7. ISSUE #452 Sharding of DDL statements to more than one table causes a connection leak
  8. ISSUE #453 Orchestration datasource name is conflict with Druid datasource name
  9. ISSUE #464 SQL if the varchar type is not closed due to the absence of matching single quotes, and the next varchar in SQL is the wrong SQL of Chinese characters, it will lead to higher use of CPU
  10. ISSUE #472 Before Connection executes createStatement, it calls getMetaData first and then setAutoCommit can not take effective connection to the database that was created later

1.5.4.1

Bug Fixes

  1. ISSUE #382 The query cannot be completed without sharding rule

1.5.4

Bug Fixes

  1. ISSUE #356 In the Where condition of SQL, the REGEXP operator is compatible with non sharding columns
  2. ISSUE #362 Read-write separation using PreparedStatement does not invoke the setParameter method to cause errors
  3. ISSUE #370 Error in calling getGeneratedKeys using native self increment primary key
  4. ISSUE #375 Data can not be obtained after paging second pages route to a single node
  5. ISSUE #379 When Mybatis is used to call Connection.getMetaData (), the connection is not close correct

1.5.3

Enhancements

  1. ISSUE #98 Read-write separation load balancing strategy support configuration
  2. ISSUE #196 Read-write separation and sharding configuration independence

Bug Fixes

  1. ISSUE #349 Incorrect function of ResultSet.wasNull causes null numeric type in DB to zero
  2. ISSUE #351 Tables that are included in the default data source but not in TableRule configuration are not properly executed
  3. ISSUE #353 In the Where condition of SQL, it is compatible with non sharding columns !=, !> and !< operator
  4. ISSUE #354 In the Where condition of SQL, NOT operators are compatible with non-sharding columns

1.5.2

Milestones

  1. The test engine of quality assurance, each SQL can run 60 test cases of different dimensions

Enhancements

  1. ISSUE #335 Support the GROUP BY + custom function SQL
  2. ISSUE #341 Support ORDER BY xxx NULLS FIRST | LAST statement of Oracle

Bug Fixes

  1. ISSUE #334 Parsing ORDER BY with functions will resolve the following ASC and DESC to the name attribute of OrderItem
  2. ISSUE #335 JOIN parsing is incorrect using the full name association of the table
  3. ISSUE #346 Parsing table name error of DDL statement DROP TABLE IF EXISTS USER

1.5.1

New Features

  1. ISSUE #314 Support DDL type SQL

Changes

  1. ISSUE #327 Close sql.show configuration by default

Bug Fixes

  1. ISSUE #308 Invalid return of database native GeneratedKey
  2. ISSUE #309 ORDER BY and GROUP BY in sub-queries are not included in the analytic context
  3. ISSUE #313 Support <> operator
  4. ISSUE #317 Parameter of LIMIT can not be type of Long
  5. ISSUE #320 SQL rewriting error of GROUP BY + LIMIT
  6. ISSUE #323 Parsing ORDER BY + Aggregation Expression error

1.5.0

Milestones

  1. The new SQL parsing module removes the dependence on Druid. We only need to parse the sharding context, and adopt a "semi understanding" concept for SQL to further improve performance and compatibility, and reduce code complexity
  2. The new SQL rewrite module adds an optimized rewrite module
  3. The new SQL merge module is rebuilt into 3 merging engines: streaming, memory and decorator

New Features

  1. Support Oracle, SQLServer and PostgreSQL
  2. Non functional sub-query support

Enhancements

  1. ISSUE #256 Configurable display sharding execute to SQL log
  2. ISSUE #291 Processing SQL use stream mode that contains only GroupBy

Changes

  1. Simplify the distributed self increasing sequence. Each table is supported by simplifying a multiple self increasing sequence to a single table supporting only a single distributed self increasing sequence, and no longer supporting workerID settings through environment variables
  2. Remove support for OR

Bug Fixes

  1. ISSUE #239 LIMIT routes to multiple query result sets. If there is only one result set that is not empty, the result of paging is incorrect
  2. ISSUE #263 Sharding and logical table configuration can be case insensitive
  3. ISSUE #292 When the memory mode handles GROUP BY statement, if there is paging information, it needs to be rewritten
  4. ISSUE #295 LIMIT 0 does not filter the result set according to paging restrictions

1.4.2

Enhancements

  1. ISSUE #219 Thread performance optimization
  2. ISSUE #215 Aggregated result set of stream sort StreamingOrderByReducerResultSet performance optimization
  3. ISSUE #161 When the result sets are merged, heap sort can be used to improve performance

Bug Fixes

  1. ISSUE #212 More meaningful hints for missing data source rules
  2. ISSUE #214 table_name.column_name in (?,?) in WHERE can't parser expression
  3. ISSUE #180 Batch execution of Update return inaccuracy
  4. ISSUE #225 The last character of automatic generation of Id is not 0

1.4.1

Enhancements

  1. ISSUE #191 Generating KeyGenerator of workerId based on IP of host
  2. ISSUE #192 Get workerId's KeyGenerator based on HOSTNAME's digital suffix
  3. ISSUE #210 Routing to single library and single table to remove supplementary SQL statement fragments

Bug Fixes

  1. ISSUE #194 Some component exceptions in the close method of Connection, Statement, ResultSet and other interfaces cause the close method of another component to be not invoked
  2. ISSUE #199 Sharding and reuse PreparedStatement object cause route error
  3. ISSUE #201 Event transmission missing before batch operation execution
  4. ISSUE #203 Merge events sent by the batch operation
  5. ISSUE #209 Parallel execution of multiple limit queries leads to IndexOutOfBoundsException

1.4.0

Enhancements

Automatic generation key implementation, including

  1. ISSUE #162 Implementation of distributed primary key algorithm
  2. ISSUE #163 Acquisition of a self increasing sequence of JDBC interfaces
  3. ISSUE #171 Sharding-jdbc-core coordination automatic generation sequence transformation
  4. ISSUE #172 The configuration of YAML and Spring supports the self increasing sequence

Bug Fixes

  1. ISSUE #176 The wasNull flag of AbstractMemoryResultSet is not reset in time

1.3.3

Enhancements

  1. ISSUE #59 PreparedStatement can call the correct underlying set method according to the parameter type when setting parameters

Bug Fixes

  1. ISSUE #149 When INSERT IGNORE INTO, if the data is duplicated, the value returned to -1 when ignored, and it should be returned to 0
  2. ISSUE #118 In the same thread, DQL is executed first, then DML is executed, and DML operation is executed from the slave database
  3. ISSUE #122 In cases where connections are not available (such as network interruption), transactions should be interrupted rather than retry
  4. ISSUE #152 PreparedStatement's cache causes an array out of bound
  5. ISSUE #150 With the latest SQLServer jdbc driver compatibility problem, Product Name should be changed from SQLServer to Microsoft SQL Server
  6. ISSUE #166 Druid data source stat filter multi-thread error reporting should be added to database connection level synchronization

1.3.2

Enhancements

  1. ISSUE #79 Optimizes limit for only one target table, does not modify limit offset

Bug Fixes

  1. ISSUE #36 ShardingPreparedStatement cannot set parameters repeatedly
  2. ISSUE #114 When ShardingPreparedStatement performs batch tasks, it repeatedly analyzes SQL and leads to OOM
  3. ISSUE #33 According to the MySQL document, queries similar to limit 100 and -1 format are not supported
  4. ISSUE #124 The return value of com.dangdang.ddframe.rdb.sharding.jdbc.adapter.AbstractStatementAdapter.getUpdateCount does not conform to the JDBC specification
  5. ISSUE #141 Multi-thread executor parameter setting failure

1.3.1

Enhancements

  1. ISSUE #91 Open support for Statement.getGeneratedKeys can return the original database self increase primary key
  2. ISSUE #92 Query DQL statement event sending

Bug Fixes

  1. ISSUE #89 Use read-write separation with sharding hint leads to conflict
  2. ISSUE #95 Write operations in the same thread are read from the master database changed to the same thread and within the same connection

1.3.0

New Features

  1. ISSUE #85 Read-write separation

Enhancements

  1. ISSUE #82 TableRule can import the dataSourceName attribute to specify the data source corresponding to the TableRule
  2. ISSUE #88 Release restrictions on other databases, support standard SQL, do not support personalized paging statements

Bug Fixes

  1. ISSUE #81 Associative table query uses OR query condition to resolve the result exceptions

1.2.1

Refactor

  1. ISSUE #60 API adjust, remove ShardingDataSource, use factory instead
  2. ISSUE #76 ShardingRule and TableRule change to Builder pattern
  3. ISSUE #77 ShardingRule and TableRule change to Builder pattern

Enhancements

  1. ISSUE #61 Add the logical table name to the ShardingValue class
  2. ISSUE #66 Statement on the JDBC tier supports get/set MaxFieldSize, MaxRows and QueryTimeout
  3. ISSUE #72 Batch inserts supporting select union all
  4. ISSUE #78 Simplifying sharding only configuration, without configuring logical table and real table correspondence
  5. ISSUE #80 Simplifying the configuration that does not sharding, specifying the default data source, do not need configure TableRule

Bug Fixes

  1. ISSUE #63 No table name or table alias is added to the ORDER BY and GROUP BY derivation columns
  2. ISSUE #65 Performance enhancement for parsing condition context
  3. ISSUE #67 The soft transaction log cannot be deleted when routed to multiple tables
  4. ISSUE #71 Routing single sharding key by OFFSET of LIMIT error
  5. ISSUE #75 MemoryTransactionLogStorage retry times update concurrency problem

1.2.0

New Features

  1. ISSUE #53 The relationship between the real table and the logical table is not configured, and the real table is dynamically calculated by the sharding algorithm
  2. ISSUE #58 Soft transaction: the initial version of the best effort type

Refactor

  1. ISSUE #49 Adjust the property configuration
  2. ISSUE #51 Refactor of Hint interface

Bug Fixes

  1. ISSUE #43 The yaml file contains Chinese, and the operating system mode is not UTF-8 encoding, resulting in yaml can not be parsed
  2. ISSUE #48 Yaml file is not closed after reading
  3. ISSUE #57 At the analytic level, we can identify sub queries to ensure that the behavior of supplementary columns can be accurately positioned

1.1.0

New Features

  1. ISSUE #40 Support YAML configuration
  2. ISSUE #41 Support Spring namespace configuration
  3. ISSUE #42 Support inline expression configuration

Bug Fixes

  1. ISSUE #25 The problem of repeated results will appear under the OR expression

1.0.1

Enhancements

  1. ISSUE #39 Support the use of Hint method to register the key value to SQL routing

Bug Fixes

  1. ISSUE #11 The count function returns incorrectly without aliases
  2. ISSUE #13 The Insert statement does not write column names or write column names but column names do not contain sharding fields, occur broadcast route
  3. ISSUE #16 For now a new connection pool is executed every time SQL is executed. Instead, each ShardingDataSource object should be changed to share a pool
  4. ISSUE #18 When query Count, getObject() throws Exception: Unsupported data type: Object
  5. ISSUE #19 In SUM and AVG functions, merger is not executed if aliases are not added, and null pointer exception fired if aliases are added
  6. ISSUE #38 The compatibility between JPA and Sharding-JDBC. JPA automatically add the column aliases of SELECT, resulting in ORDER BY obtaining ResultSet data only by aliases rather than column names

1.0.0

  1. Initial version
Java
1
https://gitee.com/kingzuos/sharding-sphere.git
git@gitee.com:kingzuos/sharding-sphere.git
kingzuos
sharding-sphere
sharding-sphere
dev

搜索帮助