Skip to content

tidb-server v5.0.4

Compare
Choose a tag to compare
@zhouqiang-cl zhouqiang-cl released this 27 Sep 02:24
· 11652 commits to master since this release
53251a9

Compatibility Changes

  • Fix the issue that executing SHOW VARIABLES in a new session is slow. This fix reverts some changes made in #19341 and might cause compatibility issues. #24326
  • Change the default value of the tidb_stmt_summary_max_stmt_count variable from 200 to 3000 #25873
  • The following bug fixes change execution results, which might cause upgrade incompatibilities:
    • Fix the issue that TiDB returns wrong result when the children of UNION contain the NULL value #26559
    • Fix the issue that greatest(datetime) union null returns empty string #26532
    • Fix the issue that the behavior of the last_day function is incompatible in SQL mode #26000
    • Fix the issue that the having clause might not work correctly #26496
    • Fix the wrong execution results that occur when the collations around the between expression are different #27146
    • Fix the wrong execution results that occur when the column in the group_concat function has a non-bin collation #27429
    • Fix an issue that using a count(distinct) expression on multiple columns returns wrong result when the new collation is enabled #27091
    • Fix the result wrong that occurs when the argument of the extract function is a negative duration #27236
    • Fix the issue that inserting an invalid date does not report an error when the SQL_MODE is 'STRICT_TRANS_TABLES' #26762
    • Fix the issue that using an invalid default date does not report an error when the SQL_MODE is 'NO_ZERO_IN_DATE' #26766
    • Fix a bug on the query range of prefix index #26029
    • Fix the issue that the LOAD DATA statement might abnormally import non-utf8 data #25979
    • Fix the issue that insert ignore on duplicate update might insert wrong data when the secondary index has the same column with the primary key #25809
    • Fix the issue that insert ignore duplicate update might insert wrong data when a partitioned table has a clustered index #25846
    • Fix the issue that the query result might be wrong when the key is the ENUM type in point get or batch point get #24562
    • Fix the wrong result that occurs when dividing a BIT-type value #23479
    • Fix the issue that the results of prepared statements and direct queries might be inconsistent #22949
    • Fix the issue that the query result might be wrong when a YEAR type is compared with a string or an integer type #23262

Feature enhancements

  • Support setting tidb_enforce_mpp=1 to ignore the optimizer estimation and forcibly use the MPP mode #26382

Improvements

  • Trigger auto-analyze based on the histogram row count #24237
    • Stop sending requests to a TiFlash node for a period if the node has failed and restarted before #26757
    • Increase the split region upper limit to make split table and presplit more stable #26657
    • Support retry for MPP queries #26483
    • Check the availability of TiFlash before launching MPP queries #1807
    • Support the stable result mode to make the query result more stable #26084
    • Support the MySQL system variable init_connect and its associated features #18894
    • Thoroughly push down the COUNT(DISTINCT) aggregation function in the MPP mode #25861
    • Print log warnings when the aggregation function cannot be pushed down in EXPLAIN statements #25736
    • Add error labels for TiFlashQueryTotalCounter in Grafana dashboard #25327
    • Support getting the MVCC data of a clustered index table through a secondary index by HTTP API #24209
    • Optimize the memory allocation of prepared statement in parser #24371

Bug Fixes

  • Fix the issue that TiDB might panic when querying a partitioned table and the partition key has the IS NULL condition #23802
    • Fix the issue that the overflow check of the FLOAT64 type is different with that of MySQL #23897
    • Fix the wrong character set and collation for the case when expression #26662
    • Fix the issue that committing pessimistic transactions might cause write conflicts #25964
    • Fix a bug that the index keys in a pessimistic transaction might be repeatedly committed #26359 #10600
    • Fix the issue that TiDB might panic when resolving the async commit locks #25778
    • Fix a bug that a column might not be found when using INDEX MERGE #25045
    • Fix a bug that ALTER USER REQUIRE SSL clears users' authentication_string #25225
    • Fix a bug that the value of the tidb_gc_scan_lock_mode global variable on a new cluster shows "PHYSICAL" instead of the actual default mode "LEGACY" #25100
    • Fix the bug that the TIKV_REGION_PEERS system table does not show the correct DOWN status #24879
    • Fix the issue of memory leaks that occurs when HTTP API is used #24649
    • Fix the issue that views do not support DEFINER #24414
    • Fix the issue that tidb-server --help exits with the code 2 #24046
    • Fix the issue that setting the global variable dml_batch_size does not take effect #24709
    • Fix the issue that using read_from_storage and partitioned table at the same time causes an error #20372
    • Fix the issue that TiDB panics when executing the projection operator #24264
    • Fix the issue that statistics might cause queries to panic #24061
    • Fix the issue that using the approx_percentile function on a BIT column might panic #23662
    • Fix the issue that the metrics on the Coprocessor Cache panel in Grafana are wrong #26338
    • Fix the issue that concurrently truncating the same partition causes DDL statements to stuck #26229
    • Fix the issue of wrong query results that occurs when the session variable is used as the GROUP BY item #27106
    • Fix the wrong implicit conversion between VARCHAR and timestamp when joining tables #25902
    • Fix the wrong results in associated subquery statements #27233