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_schemaandmetrics_schemafrom read-write to read-only #15417
- Adjust the user privilege in
Important Bug Fixes
TiDB
- Fix the issue that the query result of
index joinis incorrect when thejoincondition has multiple equivalent conditions on the column with thehandleattribute #15734 - Fix the panic that occurs when performing the
fast analyzeoperation on the column with thehandleattribute #16079 - Fix the issue that the
queryfield 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 jobsstatement #16428 - Enhance the
RECOVER TABLEsyntax to support recovering truncated tables #15458 - Support the privilege check for the
SHOW GRANTSstatement #16168 - Support the privilege check for the
LOAD DATAstatement #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 errorfromWARNtoERROR#16232 - Support the
require-secure-transportstartup option to force clients to use TLS #15415 - Support HTTP communication between TiDB components when TLS is configured #15419
- Add the
start_tsinformation of the current transaction to theinformation_schema.processlisttable #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 therangepartition table #16521 - Allow executing the
updatestatement that contains aviewand does not update theview#16787 - Prohibit creating nested
views #15424 - Prohibit truncating
view#16420 - Prohibit using the
updatestatement to explicitly update the values of a column when this column is not in thepublicstate #15576 - Prohibit starting TiDB when the
statusport is occupied #15466 - Change the character set of the
current_rolefunction frombinarytoutf8mb4#16083 - Improve
max-execution-timeusability by checking the interrupt signal when the data of a new Region is read #15615 - Add the
ALTER TABLE ... AUTO_ID_CACHEsyntax 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-modesub-command of tidb-lightning-ctl #287
- Support printing the TiKV cluster mode using the
Bug Fixes
TiDB
- Fix the issue that
WEEKENDfunction is not compatible with MySQL when the SQL mode isALLOW_INVALID_DATES#16170 - Fix the issue that the
DROP INDEXstatement fails to execute when the index column contains the auto-increment primary key #16008 - Fix the issue of incorrect values of the
TABLE_NAMEScolumn 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/isfalsefunction is incorrect #15916 - Fix the panic caused by the
MergeJoinoperation 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_ROLEfunction reports an error caused by theSET ROLEstatement #15569 - Fix the issue that the result of the
LOAD DATAstatement 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 ALLstatement #15585 - Fix the issue of partition pruning failure caused by the plan cache #15818
- Fix the issue that
schema changeis 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 columnerror message is returned when using aviewthat 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 joinwhen anullcolumn 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
StaleCommanderror message #16528 - Fix the possible panic caused by the port probing when the audit plugin is enabled #15967
- Fix the panic caused when
fast analyzeworks on indices only #15967 - Fix the possible panic of the
SELECT * FROM INFORMATION_SCHEMA.PROCESSLISTstatement 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
UNIONstatement consistent with that of theSELECTstatement #16137 - Fix the issue of incorrect behavior when the parameter type of the
VALUESfunction isbit(n)#15486 - Fix the issue that the processing logic of TiDB is inconsistent with MySQL when the
viewcolumn 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
rangeof the inner table built byIndexLookupJoinplans #15753 - Fix the issue that
only_full_group_byfails to correctly check expressions with brackets #16012 - Fix the issue that an error is returned when the
select view_name.col_name from view_namestatement 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