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 that CTE may be blocked when a query reports errors #31302
- Fix the bug that excessive length of varbinary or varchar columns when creating tables in non-strict mode may result in errors #30328
- Fix the wrong number of followers in
information_schema.placement_policies
when no follower is specified #31702 - Fix the issue that TiDB allows to specify column prefix length as 0 when an index is created #31972
- Fix the issue that TiDB allows partition names ending with spaces #31535
- Fix the wrong message of the
RENAME TABLE
statement #29893