github pingcap/tidb v4.0.2
tidb-server v4.0.2

latest releases: v8.3.0-20241003-726da9c, v8.3.0-20240927-4c7ce1f, v6.5.11...
4 years ago

Compatibility Changes

  • Remove sensitive information in the slow query log and the statement summary table #18130
  • Forbid negative value in the sequence cache #18103
  • Remove tombstone TiKV and TiFlash stores from the CLUSTER_INFO table #17953
  • Change the diagnostic rule from current-load to node-check #17660

New Features

  • Support the MEMORY_QUOTA() hint in INSERT statements #18101
  • Support authentication based on the SAN field of TLS certificate #17698
  • Support collation for the REGEXP() function #17581
  • Support the sql_select_limit session and global variable #17604
  • Support splitting the Region for the newly added partition by default #17665
  • Support pushing the IF()/BITXOR()/BITNEG()/JSON_LENGTH() functions to the TiFlash Coprocessor #17651 #17592
  • Support a new aggregate function APPROX_COUNT_DISTINCT() to calculate the approximate result of COUNT(DISTINCT) #18120
  • Support collation in TiFlash and pushing collation-related functions to TiFlash #17705
  • Add the STATUS_ADDRESS column in the INFORMATION_SCHEMA.INSPECTION_RESULT table to indicate the status address of servers #17695
  • Add the SOURCE column in the MYSQL.BIND_INFO table to indicate the how the bindings are created #17587
  • Add the PLAN_IN_CACHE and PLAN_CACHE_HITS columns in the PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGEST table to indicate the plan cache usage of SQL statements #17493
  • Add the enable-collect-execution-info configuration item and the tidb_enable_collect_execution_info session variable to control whether to collect execution information of each operator and record the information in the slow query log #18073 #18072
  • Add the tidb_slow_log_masking global variable to control whether to desensitize the queries in slow query log #17694
  • Add a diagnostic rule in the INFORMATION_SCHEMA.INSPECTION_RESULT table for the storage.block-cache.capacity TiKV configuration item #17671
  • Add the BACKUP and RESTORE SQL statements to back up and restore data #15274

Improvements

  • Reduce the query latency caused by the Golang memory allocation when CM-Sketch consumes too much memory #17545
  • Reduce the QPS recovery duration of a cluster when a TiKV server is in the failure recovery process #17681
  • Support pushing aggregate functions to TiKV/TiFlash Coprocessor on partition tables #17655
  • Improve the accuracy of row count estimation for index equal conditions #17611

Bug Fixes

  • Fix the issue of incorrect execution plan obtained from the plan cache after tidb_isolation_read_engines is changed #17570
  • Fix the occasional runtime error that occurs when executing the EXPLAIN FOR CONNECTION statement #18124
  • Fix the incorrect result of the last_plan_from_cache session variable in some cases #18111
  • Fix the runtime error that occurs when executing the UNIX_TIMESTAMP() function from the plan cache #18002 #17673
  • Fix the runtime error when the child of HashJoin executor returns the NULL column #17937
  • Fix the runtime error caused by concurrently executing the DROP DATABASE statement and other DDL statements in the same database #17659
  • Fix the incorrect result of the COERCIBILITY() function on user variables #17890
  • Fix the issue that the IndexMergeJoin executor occasionally gets stuck #18091
  • Fix the hang issue of the IndexMergeJoin executor when out of memory quota and query cancelling is triggered #17654
  • Fix the excessive counting memory usage of the Insert and Replace executors #18062
  • Fix the issue that the data replication to TiFlash storage is stopped when DROP DATABASE and DROP TABLE are executed concurrently in the same database #17901
  • Fix the BACKUP/RESTORE failure between TiDB and the object storage service #17844
  • Fix the incorrect error message of privilege check failure when access is denied #17724
  • Discard the query feedbacks generated from the DELETE/UPDATE statement #17843
  • Forbid altering AUTO_RANDOM_BASE for a table without AUTO_RANDOM property #17828
  • Fix the issue that some system tables cannot be accessed when setting the value of tidb_isolation_read_engines without tidb #17719
  • Fix the inaccurate result of JSON comparison on large integers and float values #17717
  • Fix the incorrect decimal property for the result of the COUNT() function #17704
  • Fix the incorrect result of the HEX() function when the type of input is the binary string #17620
  • Fix the issue that an empty result is returned when querying the INFORMATION_SCHEMA.INSPECTION_SUMMARY table without filter condition #17697
  • Fix the issue that the hashed password used by the ALTER USER statement to update user information is unexpected #17646
  • Support collation for ENUM and SET values #17701
  • Fix the issue that the timeout mechanism for pre-splitting Regions does not work when creating a table #17619
  • Fix the issue that the schema is unexpectedly updated when a DDL job is retried, which might break the atomicity of DDL jobs #17608
  • Fix the incorrect result of the FIELD() function when the argument contains the column #17562
  • Fix the issue that the max_execution_time hint does not work occasionally #17536
  • Fix the issue that the concurrency information is redundantly printed in the result of EXPLAIN ANALYZE #17350
  • Fix the incompatible behavior of %h on the STR_TO_DATE function #17498
  • Fix the issue that the follower/learner keeps retrying when tidb_replica_read is set to follower and there is a network partition between the leader and the follower/learner #17443
  • Fix the issue that TiDB sends too many pings to PD follower in some cases #17947
  • Fix the issue that the range partition table of older versions cannot be loaded in TiDB v4.0 #17983
  • Fix the SQL statement timeout issue when multiple Region requests fail at the same time by assigning different Backoffer for each Region #17585
  • Fix the MySQL incompatible behavior when parsing DateTime delimiters #17501
  • Fix the issue that TiKV requests are occasionally sent to the TiFlash server #18105

Don't miss a new tidb release

NewReleases is sending notifications on new releases.