title | aliases | summary | ||
---|---|---|---|---|
TiDB 3.0.0-rc.2 Release Notes |
|
TiDB 3.0.0-rc.2 was released on May 28, 2019, with improvements in stability, usability, features, SQL optimizer, statistics, and execution engine. The release includes enhancements to the SQL optimizer, execution engine, server, DDL, PD, TiKV, and tools like TiDB Binlog and TiDB Lightning. Some notable improvements include support for Index Join in more scenarios, handling virtual columns properly, and adding a metric to track data replication downstream. |
Release date: May 28, 2019
TiDB version: 3.0.0-rc.2
TiDB Ansible version: 3.0.0-rc.2
On May 28, 2019, TiDB 3.0.0-rc.2 is released. The corresponding TiDB Ansible version is 3.0.0-rc.2. Compared with TiDB 3.0.0-rc.1, this release has greatly improved the stability, usability, features, the SQL optimizer, statistics, and the execution engine.
-
SQL Optimizer
- Support Index Join in more scenarios #10540
- Support exporting historical statistics #10291
- Support the incremental
Analyze
operation on monotonically increasing index columns #10355 - Neglect the NULL value in the
Order By
clause #10488 - Fix the wrong schema information calculation of the
UnionAll
logical operator when simplifying the column information #10384 - Avoid modifying the original expression when pushing down the
Not
operator #10363 - Support the
dump
/load
correlation of histograms #10573
-
Execution Engine
- Handle virtual columns with a unique index properly when fetching duplicate rows in
batchChecker
#10370 - Fix the scanning range calculation issue for the
CHAR
column #10124 - Fix the issue of
PointGet
incorrectly processing negative numbers #10113 - Merge
Window
functions with the same name to improve execution efficiency #9866 - Allow the
RANGE
frame in aWindow
function to contain noOrderBy
clause #10496
- Handle virtual columns with a unique index properly when fetching duplicate rows in
-
Server
- Fix the issue that TiDB continuously creates a new connection to TiKV when a fault occurs in TiKV #10301
- Make
tidb_disable_txn_auto_retry
affect all retryable errors instead of only write conflict errors #10339 - Allow DDL statements without parameters to be executed using
prepare
/execute
#10144 - Add the
tidb_back_off_weight
variable to control the backoff time #10266 - Prohibit TiDB retrying non-automatically committed transactions in default conditions by setting the default value of
tidb_disable_txn_auto_retry
toon
#10266 - Fix the database privilege judgment of
role
inRBAC
#10261 - Support the pessimistic transaction mode (experimental) #10297
- Reduce the wait time for handling lock conflicts in some cases #10006
- Make the Region cache able to visit follower nodes when a fault occurs in the leader node #10256
- Add the
tidb_low_resolution_tso
variable to control the number of TSOs obtained in batches and reduce the times of transactions obtaining TSO to adapt for scenarios where data consistency is not so strictly required #10428
-
DDL
- Fix the uppercase issue of the charset name in the storage of the old version of TiDB #10272
- Support
preSplit
of table partition, which pre-allocates table Regions when creating a table to avoid write hotspots after the table is created #10221 - Fix the issue that TiDB incorrectly updates the version information in PD in some cases #10324
- Support modifying the charset and collation using the
ALTER DATABASE
statement #10393 - Support splitting Regions based on the index and range of the specified table to relieve hotspot issues #10203
- Prohibit modifying the precision of the decimal column using the
alter table
statement #10433 - Fix the restriction for expressions and functions in hash partition #10273
- Fix the issue that adding indexes in a table that contains partitions will in some cases cause TiDB panic #10475
- Validate table information before executing the DDL to avoid invalid table schemas #10464
- Enable hash partition by default; and enable range columns partition when there is only one column in the partition definition #9936
- Enable the Region storage by default to store the Region metadata #1524
- Fix the issue that hot Region scheduling is preempted by another scheduler #1522
- Fix the issue that the priority for the leader does not take effect #1533
- Add the gRPC interface for
ScanRegions
#1535 - Push operators actively #1536
- Add the store limit mechanism for separately controlling the speed of operators for each store #1474
- Fix the issue of inconsistent
Config
status #1476
-
Engine
- Support multiple column families sharing a block cache #4563
-
Server
-
Raftstore
- Support hibernate Regions to reduce the consumption of the raftstore CPU #4591
- Fix the issue that the leader does not reply to the
ReadIndex
requests for the learner #4653 - Fix transferring leader failures in some cases #4684
- Fix the dirty read issue in some cases #4688
- Fix the issue that a snapshot may lose applied data in some cases #4716
-
Coprocessor
- Add more RPN functions
LogicalOr
#4691LTReal
#4602LEReal
#4602GTReal
#4602GEReal
#4602NEReal
#4602EQReal
#4602IsNull
#4720IsTrue
#4720IsFalse
#4720- Support comparison arithmetic for
Int
#4625 - Support comparison arithmetic for
Decimal
#4625 - Support comparison arithmetic for
String
#4625 - Support comparison arithmetic for
Time
#4625 - Support comparison arithmetic for
Duration
#4625 - Support comparison arithmetic for
Json
#4625 - Support plus arithmetic for
Int
#4733 - Support plus arithmetic for
Real
#4733 - Support plus arithmetic for
Decimal
#4733 - Support MOD functions for
Int
#4727 - Support MOD functions for
Real
#4727 - Support MOD functions for
Decimal
#4727 - Support minus arithmetic for
Int
#4746 - Support minus arithmetic for
Real
#4746 - Support minus arithmetic for
Decimal
#4746
- Add more RPN functions
-
TiDB Binlog
- Add a metric to track the delay of data replication downstream #594
-
TiDB Lightning