Releases: pingcap/tidb
Releases · pingcap/tidb
tidb-server v5.3.3
There is no release note for this version.
tidb-server v5.3.2
Compatibility Changes
- Fix the issue that the
REPLACE
statement incorrectly changes other rows when the auto ID is out of range #29483
Bug Fixes
- Fix the issue that Amazon S3 cannot correctly calculate the size of compressed data #30534
- Fix the issue of potential data index inconsistency in optimistic transaction mode #30410
- Fix the issue that a SQL operation is canceled when its JSON type column joins its
CHAR
type column #29401 - Previously, when a network connectivity issue occurred, TiDB did not always correctly free the resources held by the disconnected session. This issue has been fixed so that open transactions can be rolled back and other associated resources can be released. #34722
- Fix the issue of the
data and columnID count not match
error that occurs when inserting duplicated values with TiDB Binlog enabled #33608 - Fix the issue that query result might be wrong when Plan Cache is started in the RC isolation level #34447
- Fix the session panic that occurs when executing the prepared statement after table schema change with the MySQL binary protocol #33509
- Fix the issue that the table attributes are not indexed when a new partition is added and the issue that the table range information is not updated when the partition changes #33929
- Fix the issue that the TiDB server might run out of memory when the
INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY
table is queried. This issue can be triggered when you check slow queries on the Grafana dashboard #33893 - Fix the issue that some DDL statements might be stuck for a period after the PD node of a cluster is replaced #33908
- Fix the issue that granting the
all
privilege might fail in clusters that are upgraded from v4.0 #33588 - Fix wrong results of deleting data of multiple tables using
left join
#31321 - Fix a bug that TiDB may dispatch duplicate tasks to TiFlash #32814
- Fix the issue that the background HTTP service of TiDB might not exit successfully and makes the cluster in an abnormal state #30571
- Fix the panic issue caused by the
fatal error: concurrent map read and map write
error #35340
tidb-server v6.1.0
Improvements
- Improve the performance of the
UnionScanRead
operator #32433 - Improve the display of task types in the output of
EXPLAIN
(add the MPP task type) #33332 - Support using
rand()
as the default value of a column #10377 - Support using
uuid()
as the default value of a column #33870 - Support modifying the character set of columns from
latin1
toutf8
/utf8mb4
#34008
Bug fixes
- Fix the issue of possible panic that might occur when the
in
function processes thebit
type data #33070 - Fix the issue of wrong query result because the
UnionScan
operator cannot maintain the order #33175 - Fix the issue that the Merge Join operator gets wrong results in certain cases #33042
- Fix the issue that the
index join
result might be wrong in the dynamic pruning mode #33231 - Fix the issue that data might not be garbage-collected when some partitions of a partitioned table is dropped #33620
- Fix the issue that some DDL statements might be stuck for a period after the PD node of a cluster is replaced #33908
- Fix the issue that the TiDB server might run out of memory when the
INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY
table is queried. This issue can be triggered when you check slow queries on the Grafana dashboard #33893 - Fix the issue that the system variable
max_allowed_packet
does not take effect #31422 - Fix the issue of memory leak in the TopSQL module #34525 #34502
- Fix the issue that the Plan Cache might be wrong on the PointGet plan #3237
- Fix the issue that query result might be wrong when Plan Cache is started in the RC isolation level #34447
tidb-server v5.4.1
Improvements
- Support using the PointGet plan for queries that read the
_tidb_rowid
column #31543 - Add more logs and metrics for the
Apply
operator to show whether it is parallel #33887 - Improve the
TopN
pruning logic for Analyze Version 2 used for collecting statistics #34256 - Support displaying multiple Kubernetes clusters in the Grafana dashboard #32593
Bug Fixes
- Fix the issue that
date_format
in TiDB handles'\n'
in a MySQL-incompatible way #32232 - Fix the issue that TiDB writes wrong data due to the wrong encoding of the
ENUM
orSET
column #32302 - Fix the issue that the Merge Join operator gets wrong results in certain cases #33042
- Fix the issue that TiDB gets a wrong result when a correlated subquery returns a constant #32089
- Fix the issue that TiDB gets the wrong result when using TiFlash to scan tables with empty range although TiFlash does not support reading tables with empty range yet #33083
- Fix the issue that the
MAX
orMIN
function on theENUM
orSET
column returns a wrong result when the new collation is enabled in TiDB #31638 - Fix a bug that CTE might be blocked when a query reports errors #31302
- Fix wrong range calculation results for Nulleq function on Enum values #32428
- Fix TiDB OOM when exporting data using ChunkRPC #31981 #30880
- Fix a bug that
tidb_super_read_only
is not automatically enabled whentidb_restricted_read_only
is enabled #31745 - Fix the issue that the
greatest
orleast
function with collation gets a wrong result #31789 - Fix load data panic if the data is broken at an escape character #31589
- Fix the
invalid transaction
error when executing a query using index lookup join #30468 - Fix wrong results of deleting data of multiple tables using
left join
#31321 - Fix a bug that TiDB may dispatch duplicate tasks to TiFlash #32814
- Fix the issue that granting the
all
privilege might fail in clusters that are upgraded from v4.0 #33588 - Fix the session panic that occurs when executing the prepared statement after table schema change with the MySQL binary protocol #33509
- Fix the issue that executing SQL statements that have the
compress()
expression withtidb_enable_vectorized_expression
enabled will fail #33397 - Fix the issue of high CPU usage by the
reArrangeFallback
function #30353 - Fix the issue that the table attributes are not indexed when a new partition is added and the issue that the table range information is not updated when the partition changes #33929
- Fix a bug that the
TopN
statistical information of a table during the initialization is not correctly sorted #34216 - Fix the error that occurs when reading from the
INFORMATION_SCHEMA.ATTRIBUTES
table by skipping the unidentifiable table attributes #33665 - Fix a bug that even if
@@tidb_enable_parallel_apply
is set, theApply
operator is not paralleled when anorder
property exists #34237 - Fix a bug that
'0000-00-00 00:00:00'
can be inserted into adatetime
column whensql_mode
is set toNO_ZERO_DATE
#34099 - Fix the issue that the TiDB server might run out of memory when the
INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY
table is queried. This issue can be triggered when you check slow queries on the Grafana dashboard. #33893 - Fix a bug that in the
NOWAIT
statement, a transaction being executed does not return immediately when encountering a lock #32754 - Fix a bug that causes a failure when creating a table with the
GBK
charset andgbk_bin
collation #31308 - Fix a bug that when
enable-new-charset
ison
, creating aGBK
charset table with collation fails with the "Unknown character set" error #31297
tidb-server v5.2.4
There is no release note for this version.
tidb-server v6.0.0
Improvements
- Clear the placement rule settings of a table automatically after restoring the table using the
FLASHBACK
orRECOVER
statement #31668 - Add a performance overview dashboard to show core performance metrics on typical critical paths, making metrics analysis on TiDB easier #31676
- Support using the
REPLACE
keyword in theLOAD DATA LOCAL INFILE
statement #24515 - (dup: release-5.1.4.md > Improvements> TiDB)- Support partition pruning for the built-in
IN
expression in Range partition tables #26739 - Improve query efficiency by eliminating potentially redundant Exchange operations in MPP aggregation queries #31762
- Improve compatibility with MySQL by allowing duplicate partition names in the
TRUNCATE PARTITION
andDROP PARTITION
statements #31681 - Support showing the
CREATE_TIME
information in the results of theADMIN SHOW DDL JOBS
statement #23494 - Support a new built-in function
CHARSET()
#3931 - Support filtering a baseline capturing blocklist by usernames #32558
- Optimize the results of the
ADMIN SHOW DDL JOBS
andSHOW TABLE STATUS
statements by displaying the time according to the currenttime_zone
#26642 - Supports pushing down the
DAYNAME()
andMONTHNAME()
functions to TiFlash #32594 - Support pushing down the
REGEXP
function to TiFlash #32637 - Support tracking the execution of the
UnionScan
operator #32631 - Support pushing down the
GREATEST
andLEAST
functions to TiFlash #32787 - Support using the PointGet plan for queries that read the
_tidb_rowid
column #31543 - Support using wildcards in a baseline capturing blocklist #32714
- Support showing the original partition name in the output of the
EXPLAIN
statement without converting the name to lowercase #32719 - Enable partition pruning for RANGE COLUMNS partitionings on IN conditions and string type columns #32626
- Return an error message when a system variable is set to NULL #32850
- Remove Broadcast Join from the non-MPP mode #31465
- Support pushing down the
DAYOFMONTH()
andLAST_DAY()
functions to TiFlash #33012 - Support pushing down the
DAYOFWEEK()
andDAYOFYEAR()
functions to TiFlash #33130 - Support pushing down the
IS_TRUE
,IS_FALSE
, andIS_TRUE_WITH_NULL
functions to TiFlash #33047 - Support executing MPP plans on partitioned tables in dynamic pruning mode #32347
- Support enabling the switch to reduce read latency in transactions at the
READ-COMMITTED
isolation level for the read-consistency read #33159 - Support pushing down predicates for common table expressions (CTEs) #28163
- Simplify the configurations of
Statement Summary
andCapture Plan Baselines
to be available on a global basis only #30557 - Update gopsutil to v3.21.12 to address alarms reported when building binary on macOS 12 #31607
Bug Fixes
- Fix the bug that the placement rule reports an error when
SCHEDULE = majority_in_primary
, andPrimaryRegion
andRegions
are of the same value #31271 - (dup: release-5.3.1.md > Bug fixes> TiDB)- Fix the
invalid transaction
error when executing a query using index lookup join #30468 - Fix the bug that
show grants
returns incorrect results when two or more privileges are granted #30855 - Fix the bug that
INSERT INTO t1 SET timestamp_col = DEFAULT
would set the timestamp to the zero timestamp for the field defaulted to CURRENT_TIMESTAMP #29926) - Fix errors reported in reading the results by avoiding encoding the maximum value and minimum non-null value of the string type #31721
- Fix load data panic if the data is broken at an escape character #31589
- (dup: release-5.3.1.md > Bug fixes> TiDB)- Fix the issue that the
greatest
orleast
function with collation gets a wrong result #31789 - Fix the bug that the date_add and date_sub functions may return incorrect data types #31809
- Fix possible panic when inserting data to virtually generated columns using an insert statement #31735
- Fix the bug that no error is reported when duplicate columns are present in the created list partition #31784
- Fix wrong results returned when
select for update union select
uses incorrect snapshots #31530 - (dup: release-5.3.1.md > Bug fixes> Tools> Backup & Restore (BR))- Fix the potential issue that Regions might be unevenly distributed after a restore operation is finished #31034
- Fix the bug that COERCIBILITY is wrong for the
json
type #31541 - Fix wrong collation of the
json
type when this type is processed using builtin-func #31320 - Fix the bug that PD rules are not deleted when the count of TiFlash replicas is set to 0 #32190
- (dup: release-5.3.1.md > Bug fixes> TiDB)- Fix the issue that
alter column set default
wrongly updates the table schema #31074 - (dup: release-5.3.1.md > Bug fixes> TiDB)- Fix the issue that
date_format
in TiDB handles in a MySQL-incompatible way #32232 - Fix the bug that errors may occur when updating partitioned tables using join #31629
- Fix wrong range calculation for Nulleq function on Enum values #32428
- Fix possible panic in
upper()
andlower()
functions #32488 - Fix time zone problems encountered when changing the other type columns to timestamp type columns #29585
- Fix TiDB OOM when exporting data using ChunkRPC #31981 #30880
- Fix the bug that sub SELECT LIMIT does not work as expected in dynamic partition pruning mode #32516
- Fix wrong or inconsistent format of bit default value on INFORMATION_SCHEMA.COLUMNS #32655
- Fix the bug that partition table pruning might not work for listing partition tables after server restart #32416
- Fix the bug that
add column
may use wrong default timestamp after executingSET timestamp
#31968 - Fix the bug that connecting to a TiDB passwordless account from MySQL 5.5 or 5.6 client may fail #32334
- Fix wrong results when reading partitioned tables in dynamic mode in transactions #29851
- Fix the bug that TiDB may dispatch duplicate tasks to TiFlash #32814
- Fix wrong results returned when the
timdiff
function contains a millisecond #31680 - Fix wrong results when explicitly reading partitions and using the IndexJoin plan #32007
- Fix the bug that "rename column" fails when changing column type concurrently #31075
- Fix the bug that the formula for calculating net cost for TiFlash plans is not aligned with TiKV plans #30103
- Fix the bug that
KILL TIDB
cannot take effect immediately on idle links #24031 - Fix the bug that reading from a table with generated columns may get wrong results #33038
- Fix wrong results of deleting data of multiple tables using
left join
#31321 - Fix the bug that the
SUBTIME
function returns a wrong result in case of overflow #31868 - Fix the bug that the selection operator can not be pushed down when an aggregation contains the having condition #33166
- Fix the bug ...
v6.0.0-alpha: session: fix global sysdate_is_now won't work (#32785)
close pingcap/tidb#32784
tidb-server v5.3.1
Compatibility changes
- Change the default value of the system variable
tidb_analyze_version
from2
to1
#31748 - Since v5.1.4, if TiKV is configured with
storage.enable-ttl = true
, the requests from TiDB are rejected, because the TTL feature of TiKV only supports the RawKV mode #27303
Feature enhancements
- Support partition pruning for the built-in
IN
expression in Range partition tables #26739 - Improve the accuracy of tracking memory usage when
IndexJoin
is executed #28650
Bug fixes
- Fix a memory leak bug that occurs when the system variable
tidb_analyze_version
is set to2
#32499 - Fix the issue that the
MaxDays
andMaxBackups
configurations do not take effect for the slow log #25716 - Fix the issue that executing the
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
statement gets panic #28078 - Fix the wrong result that might occur when performing
JOIN
onENUM
type columns #27831 - Fix the issue that INDEX HASH JOIN returns the
send on closed channel
error #31129 - Fix the issue that using the
BatchCommands
API might block sending TiDB requests to TiKV in some rare cases #32500 - Fix the issue of potential data index inconsistency in optimistic transaction mode #30410
- Fix the issue that window functions might return different results when using a transaction or not #29947
- Fix the issue that the length information is wrong when casting
Decimal
toString
#29417 - Fix the issue that the
GREATEST
function returns incorrect result that occurs when setting thetidb_enable_vectorized_expression
vectorized expression tooff
#29434 - Fix the issue that the optimizer might cache invalid plans for
join
in some cases #28087 - Fix wrong results of the
microsecond
andhour
functions in vectorized expressions #29244 #28643 - Fix the TiDB panic when executing the
ALTER TABLE.. ADD INDEX
statement in some cases #27687 - Fix a bug that the availability detection of MPP node does not work in some corner cases #3118
- Fix the
DATA RACE
issue when assigningMPP task ID
#27952 - Fix the
INDEX OUT OF RANGE
error for a MPP query after deleting an emptydual table
#28250 - Fix the issue of false positive error log
invalid cop task execution summaries length
for MPP queries #1791
tidb-server v5.1.4
Compatibility changes
- Change the default value of the system variable
tidb_analyze_version
from2
to1
#31748 - Since v5.1.4, if TiKV is configured with
storage.enable-ttl = true
, the requests from TiDB are rejected, because the TTL feature of TiKV only supports the RawKV mode #27303
Feature enhancements
- Support partition pruning for the built-in
IN
expression in Range partition tables #26739 - Improve the accuracy of tracking memory usage when
IndexJoin
is executed #28650
Bug fixes
- Fix a memory leak bug that occurs when the system variable
tidb_analyze_version
is set to2
#32499 - Fix the issue that the
MaxDays
andMaxBackups
configurations do not take effect for the slow log #25716 - Fix the issue that executing the
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
statement gets panic #28078 - Fix the wrong result that might occur when performing
JOIN
onENUM
type columns #27831 - Fix the issue that INDEX HASH JOIN returns the
send on closed channel
error #31129 - Fix the issue that using the
BatchCommands
API might block sending TiDB requests to TiKV in some rare cases #32500 - Fix the issue of potential data index inconsistency in optimistic transaction mode #30410
- Fix the issue that window functions might return different results when using a transaction or not #29947
- Fix the issue that the length information is wrong when casting
Decimal
toString
#29417 - Fix the issue that the
GREATEST
function returns incorrect result that occurs when setting thetidb_enable_vectorized_expression
vectorized expression tooff
#29434 - Fix the issue that the optimizer might cache invalid plans for
join
in some cases #28087 - Fix wrong results of the
microsecond
andhour
functions in vectorized expressions #29244 #28643 - Fix the TiDB panic when executing the
ALTER TABLE.. ADD INDEX
statement in some cases #27687 - Fix a bug that the availability detection of MPP node does not work in some corner cases #3118
- Fix the
DATA RACE
issue when assigningMPP task ID
#27952 - Fix the
INDEX OUT OF RANGE
error for a MPP query after deleting an emptydual table
#28250 - Fix the issue of false positive error log
invalid cop task execution summaries length
for MPP queries #1791
tidb-server v5.4.0
Improvements
- Add a new system variable
tidb_enable_paging
to determine whether to use paging to send Coprocessor requests. Enabling this feature can reduce the amount of data to process and to reduce latency and resource consumption #30578 - Support the
ADMIN {SESSION | INSTANCE | GLOBAL} PLAN_CACHE
syntax to clear the cached query plan #30370
Bug fixes
- Fix the issue of the
tidb_analyze_version
value change that occurs when upgrading the cluster from v4.x to v5.x #25422 - Fix the issue of the wrong result that occurs when using different collations in a subquery #30748
- Fix the issue that the result of
concat(ifnull(time(3))
in TiDB is different from that in MySQL #29498 - Fix the issue of potential data index inconsistency in optimistic transaction mode #30410
- Fix the issue that the query execution plan of IndexMerge is wrong when an expression cannot be pushed down to TiKV #30200
- Fix the issue that concurrent column type change causes inconsistency between the schema and the data #31048
- Fix the issue that the IndexMerge query result is wrong when there is a subquery #30913
- Fix the panic issue that occurs when the FetchSize is set too large in the client #30896
- Fix the issue that LEFT JOIN might be mistakenly converted to INNER JOIN #20510
- Fix the issue that panic might occur when the
CASE-WHEN
expression and collation are used together #30245 - Fix the issue of wrong query result that occurs when the
IN
value contains a binary constant #31261 - Fix the issue of wrong query result that occurs when CTE has a subquery #31255
- Fix the issue that executing the
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
statement gets panic #28078 - Fix the issue that INDEX HASH JOIN returns the
send on closed channel
error #31129