TiDB 2.1.19 Release Notes
Release date: December 27, 2019
TiDB version: 2.1.19
TiDB Ansible version: 2.1.19
TiDB
- SQL Optimizer
- Optimize the scenario of
select max(_tidb_rowid) from t
to avoid full table scan #13294 - Fix the incorrect results caused by the incorrect value assigned to the user variable in the query and the push-down of predicates #13230
- Fix the issue that the statistics are not accurate because a data race occurs when statistics are updated #13690
- Fix the issue that the result is incorrect when the
UPDATE
statement contains both a sub-query and a stored generated column; fix theUPDATE
statement execution error when this statement contains two same-named tables from different databases #13357 - Fix the issue that the query plan might be incorrectly selected because the
PhysicalUnionScan
operator incorrectly sets the statistics #14134 - Remove the
minAutoAnalyzeRatio
constraint to make the automaticANALYZE
more timely #14013 - Fix the issue that the estimated number of rows is greater than
1
when theWHERE
clause contains an equal condition on the unique key #13385
- Optimize the scenario of
- SQL Execution Engine
- Fix the precision overflow when using
int64
as the intermediate result ofunit64
inConvertJSONToInt
#13036 - Fix the issue that when the
SLEEP
function is in a query (for example,select 1 from (select sleep(1)) t;)
), column pruning causessleep(1)
in the query to be invalid #13039 - Reduce memory overhead by reusing
Chunk
in theINSERT ON DUPLICATE UPDATE
statement #12999 - Add more transaction-related fields for the
slow_query
table #13129:Prewrite_time
Commit_time
Get_commit_ts_time
Commit_backoff_time
Backoff_types
Resolve_lock_time
Local_latch_wait_time
Write_key
Write_size
Prewrite_region
Txn_retry
- Fix the issue that a subquery contained in an
UPDATE
statement is incorrectly converted; fix theUPDATE
execution failure when theWHERE
clause contains a subquery #13120 - Support executing
ADMIN CHECK TABLE
on partitioned tables #13143 - Fix the issue that the precision of statements such as
SHOW CREATE TABLE
is incomplete whenON UPDATE CURRENT_TIMESTAMP
is used as a column attribute and floating point precision is specified #12462 - Fix the panic occurred when executing the
SELECT * FROM information_schema.KEY_COLUMN_USAGE
statement because the foreign key is not checked when dropping, modifying or changing the column #14162 - Fix the issue that the returned data might be duplicated when
Streaming
is enabled in TiDB #13255 - Fix the
Invalid time format
error caused by daylight saving time #13624 - Fix the issue that data is incorrect because the precision is lost when an integer is converted to an unsigned floating point or decimal type #13756
- Fix the issue that an incorrect type of value is returned when the
Quote
function handles theNULL
value #13681 - Fix the issue that the timezone is incorrect after parsing the date from strings using
gotime.Local
#13792 - Fix the issue that the result might be incorrect because the
binSearch
function does not return an error in the implementation ofbuiltinIntervalRealSig
#13768 - Fix the issue that an error might occur when converting the string type to the floating point type in the
INSERT
statement execution #14009 - Fix the incorrect result returned from the
sum(distinct)
function #13041 - Fix the issue that
data too long
is returned whenCAST
converting the data inunion
of the same location to the merged type because the returned type length of thejsonUnquoteFunction
function is given an incorrect value #13645 - Fix the issue that the password cannot be set because the privilege check is too strict #13805
- Fix the precision overflow when using
- Server
- Fix the issue that
KILL CONNECTION
might cause the goroutine leak #13252 - Support getting the binlog status of all TiDB nodes via the
info/all
interface of the HTTP API #13188 - Fix the failure to build the TiDB project on Windows #13650
- Add the
server-version
configuration item to control and modify the version of TiDB server #13904 - Fix the issue that the binary
plugin
compiled with Go1.13 does not run normally #13527
- Fix the issue that
- DDL
- Use the table's
COLLATE
instead of the system's default charset in the column when a table is created and the table containsCOLLATE
#13190 - Limit the length of the index name when creating a table #13311
- Fix the issue that the length of the table name is not checked when renaming a table #13345
- Check the width range of the
BIT
column #13511 - Make the error information output from
change/modify column
more understandable #13798 - Fix the issue that when executing the
drop column
operation that has not yet been handled by the downstream Drainer, the downstream might receive DML operations without the affected column #13974
- Use the table's
TiKV
- Raftstore
- Fix the panic occurred when restarting TiKV and
is_merging
is given an incorrect value in the process of merging Regions and applying the Compact log #5884
- Fix the panic occurred when restarting TiKV and
- Importer
- Remove the limit on the gRPC message length #5809
PD
- Improve the performance of the HTTP API for getting all Regions #1988
- Upgrade etcd to fix the issue that etcd PreVote cannot elect a leader (downgrade not supported) #2052
Tools
- TiDB Binlog
- Optimize the node status information output through binlogctl #777
- Fix the panic occurred because of the
nil
value in the Drainer filter configuration #802 - Optimize the
Graceful
exit of Pump #825 - Add more detailed monitoring metrics when Pump writes binlog data #830
- Optimize Drainer's logic to refresh table information after Drainer has executed a DDL operation #836
- Fix the issue that the commit binlog of a DDL operation is ignored when Pump does not receive this binlog #855