- 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 COLUMNADD INDEXADMINADMIN CANCEL DDLADMIN CHECKSUM TABLEADMIN CHECK [TABLE|INDEX]ADMIN SHOW DDL [JOBS|QUERIES]ADMIN SHOW TELEMETRYALTER DATABASEALTER INDEXALTER INSTANCEALTER PLACEMENT POLICYALTER TABLEALTER TABLE COMPACTALTER TABLE SET TIFLASH MODEALTER USERANALYZE TABLEBACKUPBATCHBEGINCHANGE COLUMNCOMMITCHANGE DRAINERCHANGE PUMPCREATE [GLOBAL|SESSION] BINDINGCREATE DATABASECREATE INDEXCREATE PLACEMENT POLICYCREATE ROLECREATE SEQUENCECREATE TABLE LIKECREATE TABLECREATE USERCREATE VIEWDEALLOCATEDELETEDESCDESCRIBEDODROP [GLOBAL|SESSION] BINDINGDROP COLUMNDROP DATABASEDROP INDEXDROP PLACEMENT POLICYDROP ROLEDROP SEQUENCEDROP STATSDROP TABLEDROP USERDROP VIEWEXECUTEEXPLAIN ANALYZEEXPLAINFLASHBACK TABLEFLUSH PRIVILEGESFLUSH STATUSFLUSH TABLESGRANT <privileges>GRANT <role>INSERTKILL [TIDB]LOAD DATALOAD STATSMODIFY COLUMNPREPARERECOVER TABLERENAME INDEXRENAME TABLEREPLACERESTOREREVOKE <privileges>REVOKE <role>ROLLBACKSAVEPOINTSELECTSET DEFAULT ROLESET [NAMES|CHARACTER SET]SET PASSWORDSET ROLESET TRANSACTIONSET [GLOBAL|SESSION] <variable>SHOW ANALYZE STATUSSHOW [BACKUPS|RESTORES]SHOW [GLOBAL|SESSION] BINDINGSSHOW BUILTINSSHOW CHARACTER SETSHOW COLLATIONSHOW [FULL] COLUMNS FROMSHOW CONFIGSHOW CREATE PLACEMENT POLICYSHOW CREATE SEQUENCESHOW CREATE TABLESHOW CREATE USERSHOW DATABASESSHOW DRAINER STATUSSHOW ENGINESSHOW ERRORSSHOW [FULL] FIELDS FROMSHOW GRANTSSHOW INDEX [FROM|IN]SHOW INDEXES [FROM|IN]SHOW KEYS [FROM|IN]SHOW MASTER STATUSSHOW PLACEMENTSHOW PLACEMENT FORSHOW PLACEMENT LABELSSHOW PLUGINSSHOW PRIVILEGESSHOW [FULL] PROCESSSLISTSHOW PROFILESSHOW PUMP STATUSSHOW SCHEMASSHOW STATS_HEALTHYSHOW STATS_HISTOGRAMSSHOW STATS_METASHOW STATUSSHOW TABLE NEXT_ROW_IDSHOW TABLE REGIONSSHOW TABLE STATUSSHOW [FULL] TABLESSHOW [GLOBAL|SESSION] VARIABLESSHOW WARNINGSSHUTDOWNSPLIT REGIONSTART TRANSACTIONTABLETRACETRUNCATEUPDATEUSEWITH
- 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_STATUSCLIENT_ERRORS_SUMMARY_BY_HOSTCLIENT_ERRORS_SUMMARY_BY_USERCLIENT_ERRORS_SUMMARY_GLOBALCHARACTER_SETSCLUSTER_CONFIGCLUSTER_HARDWARECLUSTER_INFOCLUSTER_LOADCLUSTER_LOGCLUSTER_SYSTEMINFOCOLLATIONSCOLLATION_CHARACTER_SET_APPLICABILITYCOLUMNSDATA_LOCK_WAITSDDL_JOBSDEADLOCKSENGINESINSPECTION_RESULTINSPECTION_RULESINSPECTION_SUMMARYKEY_COLUMN_USAGEMETRICS_SUMMARYMETRICS_TABLESPARTITIONSPLACEMENT_POLICIESPROCESSLISTREFERENTIAL_CONSTRAINTSSCHEMATASEQUENCESSESSION_VARIABLESSLOW_QUERYSTATISTICSTABLESTABLE_CONSTRAINTSTABLE_STORAGE_STATSTIDB_HOT_REGIONSTIDB_HOT_REGIONS_HISTORYTIDB_INDEXESTIDB_SERVERS_INFOTIDB_TRXTIFLASH_REPLICATIKV_REGION_PEERSTIKV_REGION_STATUSTIKV_STORE_STATUSUSER_PRIVILEGESVARIABLES_INFOVIEWS
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
maxwellformat #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 Runtimestatistics #19264 - Forbid creating tables in
metrics_schemaandperformance_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
%rand%Tdata format inStr_to_date()#19693 - Enable
SELECT INTO OUTFILEto require the file privilege #19577 - Support the
stddev_popfunction #19541 - Add the
TiDB-Runtimedashboard #19396 - Improve compatibility for the
ALTER TABLEalgorithms #19364 - Encode
insert/delete/updateplans in the slow logplanfield #19269
TiKV
PD
TiFlash
- Add Grafana panels for data replication (
apply Region snapshotsandingest SST files) - Add Grafana panels for
write stall - Add
dt_segment_force_merge_delta_rowsanddt_segment_force_merge_delta_deletesto adjust the threshold ofwrite stall - Support setting
raftstore.snap-handle-pool-sizeto0in TiFlash-Proxy to disable applying Region snapshot by multi-thread to reduce memory consumption during data replication - Support CN check on
https_portandmetrics_port
- Add Grafana panels for data replication (
Tools
Bug Fixes
TiDB
- Fix an issue of collecting the
tikv_cop_waittime 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
enumandsettypes #19778 - Add a privilege check for
SHOW STATS_METAandSHOW STATS_BUCKET#19760 - Fix the error of unmatched column lengths caused by
builtinGreatestStringSigandbuiltinLeastStringSig#19758 - If unnecessary errors or warnings occur, the vectorized control expresions fall back to their scalar execution #19749
- Fix the error of the
Applyoperator when the type of the correlation column isBit#19692 - Fix the issue that occurs when the user queries
processlistandcluster_login 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
DecimaltoInt#19682 - Fix the issue that
SELECT ... INTO OUTFILEreturns 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
Applyoperator uponHashJoin#19611 - Fix an incorrect result of vectorization that casts
RealasTime#19594 - Fix the bug that the
SHOW GRANTSstatement shows grants for non-existent users #19588 - Fix a query error when there is an
Applyexecutor uponIndexLookupJoin#19566 - Fix the wrong results when converting
ApplytoHashJoinon a partitioned table #19546 - Fix incorrect results when there is an
IndexLookUpexecutor on the inner side of anApply#19508 - Fix an unexpected panic when using view #19491
- Fix the incorrect result of the
anti-semi-joinquery #19477 - Fix the bug that the
TopNstatistics 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
indexLookupJoinwith a virtual generated column #19439 - Fix an error that different plans of the
selectandupdatequeries compare datum #19403 - Fix a data race for TiFlash work index in Region cache #19362
- Fix the bug that the
logarithmfunction 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 regionserror 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/Minfunctions on theENUM/SETcolumns #19869 - Fix the read failure from the
tiflash_segmentsandtiflash_tablessystem 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
TRUNCATEoperation #19445 - Fix the issue that
PREPARE statement FROM @Varwill fail whenVarcontains 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_summaryandexplain, 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_HARDWAREdoes not have raid device information #19457 - Make the
add indexoperation that has a generated column with thecase-whenexpression 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
Errorto theInfomessage 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-tokenconfiguration 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
nullableattribute - 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
0in Grafana - Fix the wrong result of the
FROM_UNIXTIMEfunction 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
resolvedTsin puller #927 - Fix the issue that
changefeedmight be blocked by MySQL driver #936 - Fix the incorrect Resolved Ts interval of TiCDC #8573
Backup & Restore (BR)
Dumpling
- Fix the issue that the
NULLvalue for the binary type is not handled properly #137
- Fix the issue that the
TiDB Lightning
Was this page helpful?