TiDB 3.0.14 Release Notes
Release date: May 9, 2020
TiDB version: 3.0.14
Compatibility Changes
TiDB
- Adjust the user privilege in
performance_schema
andmetrics_schema
from read-write to read-only #15417
- Adjust the user privilege in
Important Bug Fixes
TiDB
- Fix the issue that the query result of
index join
is incorrect when thejoin
condition has multiple equivalent conditions on the column with thehandle
attribute #15734 - Fix the panic that occurs when performing the
fast analyze
operation on the column with thehandle
attribute #16079 - Fix the issue that the
query
field in the DDL job structure is incorrect when the DDL statement is executed in a way ofprepare
. This issue might cause data inconsistency between the upstream and the downstream when Binlog is used for data replication. #15443
- Fix the issue that the query result of
TiKV
- Fix the issue that repeated requests on the cleanup of lock might destroy the atomicity of the transaction #7388
New Features
TiDB
- Add the schema name column and the table name column to the query results of the
admin show ddl jobs
statement #16428 - Enhance the
RECOVER TABLE
syntax to support recovering truncated tables #15458 - Support the privilege check for the
SHOW GRANTS
statement #16168 - Support the privilege check for the
LOAD DATA
statement #16736 - Improve the performance of partition pruning when functions related to time and date are used as partition keys #15618
- Adjust the log level of
dispatch error
fromWARN
toERROR
#16232 - Support the
require-secure-transport
startup option to force clients to use TLS #15415 - Support HTTP communication between TiDB components when TLS is configured #15419
- Add the
start_ts
information of the current transaction to theinformation_schema.processlist
table #16160 - Support automatically reloading the TLS certificate information used for communication among clusters #15162
- Improve the read performance of the partitioned tables by restructuring the partition pruning #15628
- Support the partition pruning feature when
floor(unix_timestamp(a))
is used as the partition expression of therange
partition table #16521 - Allow executing the
update
statement that contains aview
and does not update theview
#16787 - Prohibit creating nested
view
s #15424 - Prohibit truncating
view
#16420 - Prohibit using the
update
statement to explicitly update the values of a column when this column is not in thepublic
state #15576 - Prohibit starting TiDB when the
status
port is occupied #15466 - Change the character set of the
current_role
function frombinary
toutf8mb4
#16083 - Improve
max-execution-time
usability by checking the interrupt signal when the data of a new Region is read #15615 - Add the
ALTER TABLE ... AUTO_ID_CACHE
syntax for explicitly setting the cache step ofauto_id
#16287
- Add the schema name column and the table name column to the query results of the
TiKV
Tools
TiDB Lightning
- Support printing the TiKV cluster mode using the
fetch-mode
sub-command of tidb-lightning-ctl #287
- Support printing the TiKV cluster mode using the
Bug Fixes
TiDB
- Fix the issue that
WEEKEND
function is not compatible with MySQL when the SQL mode isALLOW_INVALID_DATES
#16170 - Fix the issue that the
DROP INDEX
statement fails to execute when the index column contains the auto-increment primary key #16008 - Fix the issue of incorrect values of the
TABLE_NAMES
column in the Statement Summary #15231 - Fix the issue that some expressions have incorrect results when the plan cache is enabled #16184
- Fix the issue that the result of the
not
/istrue
/isfalse
function is incorrect #15916 - Fix the panic caused by the
MergeJoin
operation on tables with redundant indexes #15919 - Fix the issue caused by incorrectly simplifying the link when the predicate only refers to the outer table #16492
- Fix the issue that the
CURRENT_ROLE
function reports an error caused by theSET ROLE
statement #15569 - Fix the issue that the result of the
LOAD DATA
statement is incompatible with MySQL when this statement encounters\
#16633 - Fix the issue that the database visibility is incompatible with MySQL #14939
- Fix the issue of incorrect privilege check for the
SET DEFAULT ROLE ALL
statement #15585 - Fix the issue of partition pruning failure caused by the plan cache #15818
- Fix the issue that
schema change
is reported during the transaction commit when concurrent DDL operations are performed on a table and blocking exists, because the transaction does not lock the related table #15707 - Fix the incorrect behavior of
IF(not_int, *, *)
#15356 - Fix the incorrect behavior of
CASE WHEN (not_int)
#15359 - Fix the issue that the
Unknown column
error message is returned when using aview
that is not in the current schema #15866 - Fix the issue that the result of parsing time strings is incompatible with MySQL #16242
- Fix the possible panic of the collation operator in
left join
when anull
column exists in the right child node #16528 - Fix the issue that no error message is returned even though the SQL execution is blocked when TiKV keeps returning the
StaleCommand
error message #16528 - Fix the possible panic caused by the port probing when the audit plugin is enabled #15967
- Fix the panic caused when
fast analyze
works on indices only #15967 - Fix the possible panic of the
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
statement execution in some cases #16309 - Fix the issue of TiDB OOM caused by specifying a large number of partitions (for example,
9999999999999
) when the hash partition table is created without checking the number of partitions before allocating memory #16218 - Fix the issue of incorrect information of partitioned tables in
information_schema.tidb_hot_table
#16726 - Fix the issue that the partition selection algorithm does not take effect on the hash partitioned table #16070
- Fix the issue that the HTTP API of the MVCC series does not support partitioned tables #16191
- Keep the error handling of the
UNION
statement consistent with that of theSELECT
statement #16137 - Fix the issue of incorrect behavior when the parameter type of the
VALUES
function isbit(n)
#15486 - Fix the issue that the processing logic of TiDB is inconsistent with MySQL when the
view
column name is too long. In this case, the system automatically generates a short column name. #14873 - Fix the issue that
(not not col)
is incorrectly optimized ascol
#16094 - Fix the issue of incorrect
range
of the inner table built byIndexLookupJoin
plans #15753 - Fix the issue that
only_full_group_by
fails to correctly check expressions with brackets #16012 - Fix the issue that an error is returned when the
select view_name.col_name from view_name
statement is executed #15572
- Fix the issue that
TiKV
- Fix the issue that the node cannot be deleted correctly after the isolation recovery in some cases #7703
- Fix the issue of data loss during network isolation caused by the Region Merge operation #7679
- Fix the issue that learner cannot be removed correctly in some cases #7598
- Fix the issue that the scanning result of raw key-value pairs might be out of order #7597
- Fix the issue of reconnection when the batch of Raft messages is too large #7542
- Fix the issue of gRPC thread deadlock caused by the empty request #7538
- Fix the issue that the processing logic of restarting the learner is incorrect during the merge process #7457
- Fix the issue that repeated requests on the cleanup of lock might destroy the atomicity of the transaction #7388