TiDB - v5.1.0


  • Support the built-in function VITESS_HASH() #23915
  • Support pushing down data of the enumerated type to TiKV to improve performance when using enumerated types in WHERE clauses #23619
  • Optimize the calculation of Window Function to solve TiDB OOM problems when paging data with ROW_NUMBER() #23807
  • Optimize the calculation of UNION ALL to solve the TiDB OOM problems when using UNION ALL to join a large number of SELECT statements #21441
  • Optimize the dynamic mode of partitioned tables to improve performance and stability #24150
  • Fix the Region is Unavailable issue that occurs in multiple scenarios project#62
  • Fix multiple Region is Unavailable issues that might occur in frequent scheduling situations
  • Fix Region is Unavailable issue that might occur in some high stress write situations
  • Avoid frequently reading the mysql.stats_histograms table if the cached statistics is up-to-date to avoid high CPU usage #24317

Bug Fixes

  • Fix the issue that the execution result of project elimination might be wrong when the projection result is empty #23887
  • Fix the issue of wrong query results when a column contains NULL values in some cases #23891
  • Forbid generating MPP plans when the scan contains virtual columns #23886
  • Fix the wrong reuse of PointGet and TableDual in Plan Cache #23187 #23144 #23304 #23290
  • Fix the error that occurs when the optimizer builds the IndexMerge plan for clustered indexes #23906
  • Fix the type inference of the BIT-type errors #23832
  • Fix the issue that some optimizer hints do not take effect when the PointGet operator exists #23570
  • Fix the issue that DDL operations might fail when rolling back due to an error #23893
  • Fix the issue that the index range of the binary literal constant is incorrectly built #23672
  • Fix the potential wrong results of the IN clause in some cases #23889
  • Fix the wrong results of some string functions #23759
  • Users now need both INSERT and DELETE privileges on a table to perform REPLACE operations #23909
  • Users now need both INSERT and DELETE privileges on a table to perform REPLACE operations #24070
  • Fix the wrong TableDual plans caused by incorrectly comparing binaries and bytes#23846
  • Fix the panic issue caused by using the prefix index and index join in some cases #24547 #24716 #24717
  • Fix the issue that the prepared plan cache of point get is incorrectly used by the point get statement in the transaction #24741
  • Fix the issue of writing the wrong prefix index value when the collation is ascii_bin or latin1_bin #24569
  • Fix the issue that the ongoing transaction might be interrupted by the GC worker #24591
  • Fix a bug that the point query might get wrong on the clustered index when new-collation is enabled but new-row-format is disabled #24541
  • Refactor the conversion of partition keys for shuffle hash join #24490
  • Fix the panic issue that occurs when building the plan for queries that contain the HAVING clause #24045
  • Fix the issue that the column pruning improvement causes the Apply and Join operators' results to go wrong #23887
  • Fix a bug that the primary lock fallen back from async commit cannot be resolved #24384
  • Fix a GC issue of statistics that might cause duplicated fm-sketch records #24357
  • Avoid unnecessary pessimistic rollback when the pessimistic locking receives the ErrKeyExists error #23799
  • Fix the issue that numeric literals cannot be recognized when the sql_mode contains ANSI_QUOTES #24429
  • Forbid statements such as INSERT INTO table PARTITION (<partitions>) ... ON DUPLICATE KEY UPDATE to read data from non-listed partitions #24746
  • Fix the potential index out of range error when a SQL statement contains both GROUP BY and UNION #24281
  • Fix the issue that the CONCAT function incorrectly handles the collation #24296
  • Fix the issue that the collation_server global variable does not take effect in new sessions #24156


June 24, 2021, 8:02 a.m.
tidb-server v5.1.0
Register or login to:
  • 🔍View and search all TiDB releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google