- Docs Home
- About TiDB
- Quick Start
- Develop
- Overview
- Quick Start
- Build a TiDB Cluster in TiDB Cloud (Developer Tier)
- CRUD SQL in TiDB
- Build a Simple CRUD App with TiDB
- Example Applications
- Connect to TiDB
- Design Database Schema
- Write Data
- Read Data
- Transaction
- Optimize
- Troubleshoot
- Reference
- Cloud Native Development Environment
- Third-party Support
- Deploy
- Software and Hardware Requirements
- Environment Configuration Checklist
- Plan Cluster Topology
- Install and Start
- Verify Cluster Status
- Test Cluster Performance
- Migrate
- Overview
- Migration Tools
- Migration Scenarios
- Migrate from Aurora
- Migrate MySQL of Small Datasets
- Migrate MySQL of Large Datasets
- Migrate and Merge MySQL Shards of Small Datasets
- Migrate and Merge MySQL Shards of Large Datasets
- Migrate from CSV Files
- Migrate from SQL Files
- Migrate from One TiDB Cluster to Another TiDB Cluster
- Migrate from TiDB to MySQL-compatible Databases
- Advanced Migration
- Integrate
- Overview
- Integration Scenarios
- Maintain
- Monitor and Alert
- Troubleshoot
- TiDB Troubleshooting Map
- Identify Slow Queries
- Analyze Slow Queries
- SQL Diagnostics
- Identify Expensive Queries Using Top SQL
- Identify Expensive Queries Using Logs
- Statement Summary Tables
- Troubleshoot Hotspot Issues
- Troubleshoot Increased Read and Write Latency
- Save and Restore the On-Site Information of a Cluster
- Troubleshoot Cluster Setup
- Troubleshoot High Disk I/O Usage
- Troubleshoot Lock Conflicts
- Troubleshoot TiFlash
- Troubleshoot Write Conflicts in Optimistic Transactions
- Troubleshoot Inconsistency Between Data and Indexes
- Performance Tuning
- Tuning Guide
- Configuration Tuning
- System Tuning
- Software Tuning
- SQL Tuning
- Overview
- Understanding the Query Execution Plan
- SQL Optimization Process
- Overview
- Logic Optimization
- Physical Optimization
- Prepare Execution Plan Cache
- Control Execution Plans
- Tutorials
- TiDB Tools
- Overview
- Use Cases
- Download
- TiUP
- Documentation Map
- Overview
- Terminology and Concepts
- Manage TiUP Components
- FAQ
- Troubleshooting Guide
- Command Reference
- Overview
- TiUP Commands
- TiUP Cluster Commands
- Overview
- tiup cluster audit
- tiup cluster check
- tiup cluster clean
- tiup cluster deploy
- tiup cluster destroy
- tiup cluster disable
- tiup cluster display
- tiup cluster edit-config
- tiup cluster enable
- tiup cluster help
- tiup cluster import
- tiup cluster list
- tiup cluster patch
- tiup cluster prune
- tiup cluster reload
- tiup cluster rename
- tiup cluster replay
- tiup cluster restart
- tiup cluster scale-in
- tiup cluster scale-out
- tiup cluster start
- tiup cluster stop
- tiup cluster template
- tiup cluster upgrade
- TiUP DM Commands
- Overview
- tiup dm audit
- tiup dm deploy
- tiup dm destroy
- tiup dm disable
- tiup dm display
- tiup dm edit-config
- tiup dm enable
- tiup dm help
- tiup dm import
- tiup dm list
- tiup dm patch
- tiup dm prune
- tiup dm reload
- tiup dm replay
- tiup dm restart
- tiup dm scale-in
- tiup dm scale-out
- tiup dm start
- tiup dm stop
- tiup dm template
- tiup dm upgrade
- TiDB Cluster Topology Reference
- DM Cluster Topology Reference
- Mirror Reference Guide
- TiUP Components
- PingCAP Clinic Diagnostic Service
- TiDB Operator
- Dumpling
- TiDB Lightning
- TiDB Data Migration
- About TiDB Data Migration
- Architecture
- Quick Start
- Deploy a DM cluster
- Tutorials
- Advanced Tutorials
- Maintain
- Cluster Upgrade
- Tools
- Performance Tuning
- Manage Data Sources
- Manage Tasks
- Export and Import Data Sources and Task Configurations of Clusters
- Handle Alerts
- Daily Check
- Reference
- Architecture
- Command Line
- Configuration Files
- OpenAPI
- Compatibility Catalog
- Secure
- Monitoring and Alerts
- Error Codes
- Glossary
- Example
- Troubleshoot
- Release Notes
- Backup & Restore (BR)
- Point-in-Time Recovery
- TiDB Binlog
- TiCDC
- Dumpling
- sync-diff-inspector
- TiSpark
- Reference
- Cluster Architecture
- Key Monitoring Metrics
- Secure
- Privileges
- SQL
- SQL Language Structure and Syntax
- SQL Statements
ADD COLUMN
ADD INDEX
ADMIN
ADMIN CANCEL DDL
ADMIN CHECKSUM TABLE
ADMIN CHECK [TABLE|INDEX]
ADMIN SHOW DDL [JOBS|QUERIES]
ADMIN SHOW TELEMETRY
ALTER DATABASE
ALTER INDEX
ALTER INSTANCE
ALTER PLACEMENT POLICY
ALTER TABLE
ALTER TABLE COMPACT
ALTER TABLE SET TIFLASH MODE
ALTER USER
ANALYZE TABLE
BACKUP
BATCH
BEGIN
CHANGE COLUMN
COMMIT
CHANGE DRAINER
CHANGE PUMP
CREATE [GLOBAL|SESSION] BINDING
CREATE DATABASE
CREATE INDEX
CREATE PLACEMENT POLICY
CREATE ROLE
CREATE SEQUENCE
CREATE TABLE LIKE
CREATE TABLE
CREATE USER
CREATE VIEW
DEALLOCATE
DELETE
DESC
DESCRIBE
DO
DROP [GLOBAL|SESSION] BINDING
DROP COLUMN
DROP DATABASE
DROP INDEX
DROP PLACEMENT POLICY
DROP ROLE
DROP SEQUENCE
DROP STATS
DROP TABLE
DROP USER
DROP VIEW
EXECUTE
EXPLAIN ANALYZE
EXPLAIN
FLASHBACK TABLE
FLUSH PRIVILEGES
FLUSH STATUS
FLUSH TABLES
GRANT <privileges>
GRANT <role>
INSERT
KILL [TIDB]
LOAD DATA
LOAD STATS
MODIFY COLUMN
PREPARE
RECOVER TABLE
RENAME INDEX
RENAME TABLE
REPLACE
RESTORE
REVOKE <privileges>
REVOKE <role>
ROLLBACK
SAVEPOINT
SELECT
SET DEFAULT ROLE
SET [NAMES|CHARACTER SET]
SET PASSWORD
SET ROLE
SET TRANSACTION
SET [GLOBAL|SESSION] <variable>
SHOW ANALYZE STATUS
SHOW [BACKUPS|RESTORES]
SHOW [GLOBAL|SESSION] BINDINGS
SHOW BUILTINS
SHOW CHARACTER SET
SHOW COLLATION
SHOW [FULL] COLUMNS FROM
SHOW CONFIG
SHOW CREATE PLACEMENT POLICY
SHOW CREATE SEQUENCE
SHOW CREATE TABLE
SHOW CREATE USER
SHOW DATABASES
SHOW DRAINER STATUS
SHOW ENGINES
SHOW ERRORS
SHOW [FULL] FIELDS FROM
SHOW GRANTS
SHOW INDEX [FROM|IN]
SHOW INDEXES [FROM|IN]
SHOW KEYS [FROM|IN]
SHOW MASTER STATUS
SHOW PLACEMENT
SHOW PLACEMENT FOR
SHOW PLACEMENT LABELS
SHOW PLUGINS
SHOW PRIVILEGES
SHOW [FULL] PROCESSSLIST
SHOW PROFILES
SHOW PUMP STATUS
SHOW SCHEMAS
SHOW STATS_HEALTHY
SHOW STATS_HISTOGRAMS
SHOW STATS_META
SHOW STATUS
SHOW TABLE NEXT_ROW_ID
SHOW TABLE REGIONS
SHOW TABLE STATUS
SHOW [FULL] TABLES
SHOW [GLOBAL|SESSION] VARIABLES
SHOW WARNINGS
SHUTDOWN
SPLIT REGION
START TRANSACTION
TABLE
TRACE
TRUNCATE
UPDATE
USE
WITH
- Data Types
- Functions and Operators
- Overview
- Type Conversion in Expression Evaluation
- Operators
- Control Flow Functions
- String Functions
- Numeric Functions and Operators
- Date and Time Functions
- Bit Functions and Operators
- Cast Functions and Operators
- Encryption and Compression Functions
- Locking Functions
- Information Functions
- JSON Functions
- Aggregate (GROUP BY) Functions
- Window Functions
- Miscellaneous Functions
- Precision Math
- Set Operations
- List of Expressions for Pushdown
- TiDB Specific Functions
- Clustered Indexes
- Constraints
- Generated Columns
- SQL Mode
- Table Attributes
- Transactions
- Garbage Collection (GC)
- Views
- Partitioning
- Temporary Tables
- Cached Tables
- Character Set and Collation
- Placement Rules in SQL
- System Tables
mysql
- INFORMATION_SCHEMA
- Overview
ANALYZE_STATUS
CLIENT_ERRORS_SUMMARY_BY_HOST
CLIENT_ERRORS_SUMMARY_BY_USER
CLIENT_ERRORS_SUMMARY_GLOBAL
CHARACTER_SETS
CLUSTER_CONFIG
CLUSTER_HARDWARE
CLUSTER_INFO
CLUSTER_LOAD
CLUSTER_LOG
CLUSTER_SYSTEMINFO
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS
DATA_LOCK_WAITS
DDL_JOBS
DEADLOCKS
ENGINES
INSPECTION_RESULT
INSPECTION_RULES
INSPECTION_SUMMARY
KEY_COLUMN_USAGE
METRICS_SUMMARY
METRICS_TABLES
PARTITIONS
PLACEMENT_POLICIES
PROCESSLIST
REFERENTIAL_CONSTRAINTS
SCHEMATA
SEQUENCES
SESSION_VARIABLES
SLOW_QUERY
STATISTICS
TABLES
TABLE_CONSTRAINTS
TABLE_STORAGE_STATS
TIDB_HOT_REGIONS
TIDB_HOT_REGIONS_HISTORY
TIDB_INDEXES
TIDB_SERVERS_INFO
TIDB_TRX
TIFLASH_REPLICA
TIKV_REGION_PEERS
TIKV_REGION_STATUS
TIKV_STORE_STATUS
USER_PRIVILEGES
VARIABLES_INFO
VIEWS
METRICS_SCHEMA
- UI
- TiDB Dashboard
- Overview
- Maintain
- Access
- Overview Page
- Cluster Info Page
- Top SQL Page
- Key Visualizer Page
- Metrics Relation Graph
- SQL Statements Analysis
- Slow Queries Page
- Cluster Diagnostics
- Monitoring Page
- Search Logs Page
- Instance Profiling
- Session Management and Configuration
- FAQ
- CLI
- Command Line Flags
- Configuration File Parameters
- System Variables
- Storage Engines
- Telemetry
- Errors Codes
- Table Filter
- Schedule Replicas by Topology Labels
- FAQs
- Release Notes
- All Releases
- Release Timeline
- TiDB Versioning
- TiDB Installation Packages
- v6.2
- v6.1
- v6.0
- v5.4
- v5.3
- v5.2
- v5.1
- v5.0
- v4.0
- v3.1
- v3.0
- v2.1
- v2.0
- v1.0
- Glossary
TiDB 4.0.6 Release Notes
Release date: September 15, 2020
TiDB version: 4.0.6
New Features
TiFlash
- Support outer join in TiFlash broadcast join
TiDB Dashboard
Tools
TiCDC (GA since v4.0.6)
- Support outputting data in the
maxwell
format #869
- Support outputting data in the
Improvements
TiDB
- Replace error codes and messages with standard errors #19888
- Improve the write performance of partitioned table #19649
- Record more RPC runtime information in
Cop Runtime
statistics #19264 - Forbid creating tables in
metrics_schema
andperformance_schema
#19792 - Support adjusting the concurrency of the union executor #19886
- Support out join in broadcast join #19664
- Add SQL digest for the process list #19829
- Switch to the pessimistic transaction mode for autocommit statement retry #19796
- Support the
%r
and%T
data format inStr_to_date()
#19693 - Enable
SELECT INTO OUTFILE
to require the file privilege #19577 - Support the
stddev_pop
function #19541 - Add the
TiDB-Runtime
dashboard #19396 - Improve compatibility for the
ALTER TABLE
algorithms #19364 - Encode
insert
/delete
/update
plans in the slow logplan
field #19269
TiKV
PD
TiFlash
- Add Grafana panels for data replication (
apply Region snapshots
andingest SST files
) - Add Grafana panels for
write stall
- Add
dt_segment_force_merge_delta_rows
anddt_segment_force_merge_delta_deletes
to adjust the threshold ofwrite stall
- Support setting
raftstore.snap-handle-pool-size
to0
in TiFlash-Proxy to disable applying Region snapshot by multi-thread to reduce memory consumption during data replication - Support CN check on
https_port
andmetrics_port
- Add Grafana panels for data replication (
Tools
Bug Fixes
TiDB
- Fix an issue of collecting the
tikv_cop_wait
time in metric profile #19881 - Fix the wrong result of
SHOW GRANTS
#19834 - Fix the incorrect query result of
!= ALL (subq)
#19831 - Fix a bug of converting the
enum
andset
types #19778 - Add a privilege check for
SHOW STATS_META
andSHOW STATS_BUCKET
#19760 - Fix the error of unmatched column lengths caused by
builtinGreatestStringSig
andbuiltinLeastStringSig
#19758 - If unnecessary errors or warnings occur, the vectorized control expresions fall back to their scalar execution #19749
- Fix the error of the
Apply
operator when the type of the correlation column isBit
#19692 - Fix the issue that occurs when the user queries
processlist
andcluster_log
in MySQL 8.0 client #19690 - Fix the issue that plans of the same type have different plan digests #19684
- Forbid changing the column type from
Decimal
toInt
#19682 - Fix the issue that
SELECT ... INTO OUTFILE
returns the runtime error #19672 - Fix the incorrect implementation of
builtinRealIsFalseSig
#19670 - Fix the issue that the partition expression check misses the parentheses expression #19614
- Fix a query error when there is an
Apply
operator uponHashJoin
#19611 - Fix an incorrect result of vectorization that casts
Real
asTime
#19594 - Fix the bug that the
SHOW GRANTS
statement shows grants for non-existent users #19588 - Fix a query error when there is an
Apply
executor uponIndexLookupJoin
#19566 - Fix the wrong results when converting
Apply
toHashJoin
on a partitioned table #19546 - Fix incorrect results when there is an
IndexLookUp
executor on the inner side of anApply
#19508 - Fix an unexpected panic when using view #19491
- Fix the incorrect result of the
anti-semi-join
query #19477 - Fix the bug that the
TopN
statistics is not deleted when the statistics is dropped #19465 - Fix a wrong result caused by mistaken usage of batch point get #19460
- Fix the bug that a column cannot be found in
indexLookupJoin
with a virtual generated column #19439 - Fix an error that different plans of the
select
andupdate
queries compare datum #19403 - Fix a data race for TiFlash work index in Region cache #19362
- Fix the bug that the
logarithm
function does not show a warning #19291 - Fix an unexpected error that occurs when TiDB persists data to disks #19272
- Support using a single partitioned table on the inner side of index join #19197
- Fix the wrong hash key value generated for decimal #19188
- Fix the issue that TiDB returns a
no regions
error when table endKey and Region endKey are the same #19895 - Fix the unexpected success of alter partition #19891
- Fix the wrong value of the default maximum packet length allowed for pushed down expressions #19876
- Fix a wrong behavior for the
Max
/Min
functions on theENUM
/SET
columns #19869 - Fix the read failure from the
tiflash_segments
andtiflash_tables
system tables when some TiFlash nodes are offline #19748 - Fix a wrong result of the
Count(col)
aggregation function #19628 - Fix a runtime error of the
TRUNCATE
operation #19445 - Fix the issue that
PREPARE statement FROM @Var
will fail whenVar
contains uppercase characters #19378 - Fix the bug that schema charset modification in an uppercase schema will cause panic #19302
- Fix the inconsistency of plans between
information_schema.statements_summary
andexplain
, when the information containstikv/tiflash
#19159 - Fix the error in tests that the file does not exist for
select into outfile
#19725 - Fix the issue that
INFORMATION_SCHEMA.CLUSTER_HARDWARE
does not have raid device information #19457 - Make the
add index
operation that has a generated column with thecase-when
expression can exit normally when it encounters a parse error #19395 - Fix the bug that the DDL operation takes too long to retry #19488
- Make statements like
alter table db.t1 add constraint fk foreign key (c2) references t2(c1)
execute without first executinguse db
#19471 - Change the dispatch error from the
Error
to theInfo
message in the server log file #19454
- Fix an issue of collecting the
TiKV
- Fix the estimation error for a non-index column when collation is enabled #8620
- Fix the issue that Green GC might miss locks during the process of Region transfer #8460
- Fix a panic issue that occurs when TiKV runs very slowly during Raft membership change #8497
- Fix the deadlock issue that occurs between the PD client thread and other threads when calling PD sync requests #8612
- Upgrade jemalloc to v5.2.1 to address the issue of memory allocation in huge page #8463
- Fix the issue that the unified thread pool hangs for long-running queries #8427
PD
- Add the
initial-cluster-token
configuration to prevent different clusters from communicating with each other during bootstrap #2922 - Fix the unit of store limit rate when the mode is
auto
#2826 - Fix the issue that some schedulers persist configuration without solving errors #2818
- Fix the empty HTTP response in scheduler #2871 #2874
- Add the
TiFlash
- Fix the issue that after renaming the primary key column in previous versions, TiFlash might not start after upgrading to v4.0.4/v4.0.5
- Fix the exceptions that occur after modifying the column's
nullable
attribute - Fix the crash caused by computing a table's replication status
- Fix the issue that TiFlash is not available for data reads after users applied unsupported DDL operations
- Fix the exceptions caused by unsupported collations which are treated as
utf8mb4_bin
- Fix the issue that the QPS panel for the TiFlash coprocessor executor always displays
0
in Grafana - Fix the wrong result of the
FROM_UNIXTIME
function when input isNULL
Tools
TiCDC
- Fix the issue that TiCDC leaks memory in some cases #942
- Fix the issue that TiCDC might panic in Kafka sink #912
- Fix the issue that CommitTs or ResolvedTs (CRTs) might be less than
resolvedTs
in puller #927 - Fix the issue that
changefeed
might be blocked by MySQL driver #936 - Fix the incorrect Resolved Ts interval of TiCDC #8573
Backup & Restore (BR)
Dumpling
- Fix the issue that the
NULL
value for the binary type is not handled properly #137
- Fix the issue that the
TiDB Lightning
Was this page helpful?