- 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
- 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)
- 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 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
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
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
- 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
- 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 3.0.14 Release Notes
Release date: May 9, 2020
TiDB version: 3.0.14
Compatibility Changes
TiDB
- Adjust the user privilege in
performance_schema
andmetrics_schema
from read-write to read-only #15417
- Adjust the user privilege in
Important Bug Fixes
TiDB
- Fix the issue that the query result of
index join
is incorrect when thejoin
condition has multiple equivalent conditions on the column with thehandle
attribute #15734 - Fix the panic that occurs when performing the
fast analyze
operation on the column with thehandle
attribute #16079 - Fix the issue that the
query
field in the DDL job structure is incorrect when the DDL statement is executed in a way ofprepare
. This issue might cause data inconsistency between the upstream and the downstream when Binlog is used for data replication. #15443
- Fix the issue that the query result of
TiKV
- Fix the issue that repeated requests on the cleanup of lock might destroy the atomicity of the transaction #7388
New Features
TiDB
- Add the schema name column and the table name column to the query results of the
admin show ddl jobs
statement #16428 - Enhance the
RECOVER TABLE
syntax to support recovering truncated tables #15458 - Support the privilege check for the
SHOW GRANTS
statement #16168 - Support the privilege check for the
LOAD DATA
statement #16736 - Improve the performance of partition pruning when functions related to time and date are used as partition keys #15618
- Adjust the log level of
dispatch error
fromWARN
toERROR
#16232 - Support the
require-secure-transport
startup option to force clients to use TLS #15415 - Support HTTP communication between TiDB components when TLS is configured #15419
- Add the
start_ts
information of the current transaction to theinformation_schema.processlist
table #16160 - Support automatically reloading the TLS certificate information used for communication among clusters #15162
- Improve the read performance of the partitioned tables by restructuring the partition pruning #15628
- Support the partition pruning feature when
floor(unix_timestamp(a))
is used as the partition expression of therange
partition table #16521 - Allow executing the
update
statement that contains aview
and does not update theview
#16787 - Prohibit creating nested
view
s #15424 - Prohibit truncating
view
#16420 - Prohibit using the
update
statement to explicitly update the values of a column when this column is not in thepublic
state #15576 - Prohibit starting TiDB when the
status
port is occupied #15466 - Change the character set of the
current_role
function frombinary
toutf8mb4
#16083 - Improve
max-execution-time
usability by checking the interrupt signal when the data of a new Region is read #15615 - Add the
ALTER TABLE ... AUTO_ID_CACHE
syntax for explicitly setting the cache step ofauto_id
#16287
- Add the schema name column and the table name column to the query results of the
TiKV
Tools
TiDB Lightning
- Support printing the TiKV cluster mode using the
fetch-mode
sub-command of tidb-lightning-ctl #287
- Support printing the TiKV cluster mode using the
Bug Fixes
TiDB
- Fix the issue that
WEEKEND
function is not compatible with MySQL when the SQL mode isALLOW_INVALID_DATES
#16170 - Fix the issue that the
DROP INDEX
statement fails to execute when the index column contains the auto-increment primary key #16008 - Fix the issue of incorrect values of the
TABLE_NAMES
column in the Statement Summary #15231 - Fix the issue that some expressions have incorrect results when the plan cache is enabled #16184
- Fix the issue that the result of the
not
/istrue
/isfalse
function is incorrect #15916 - Fix the panic caused by the
MergeJoin
operation on tables with redundant indexes #15919 - Fix the issue caused by incorrectly simplifying the link when the predicate only refers to the outer table #16492
- Fix the issue that the
CURRENT_ROLE
function reports an error caused by theSET ROLE
statement #15569 - Fix the issue that the result of the
LOAD DATA
statement is incompatible with MySQL when this statement encounters\
#16633 - Fix the issue that the database visibility is incompatible with MySQL #14939
- Fix the issue of incorrect privilege check for the
SET DEFAULT ROLE ALL
statement #15585 - Fix the issue of partition pruning failure caused by the plan cache #15818
- Fix the issue that
schema change
is reported during the transaction commit when concurrent DDL operations are performed on a table and blocking exists, because the transaction does not lock the related table #15707 - Fix the incorrect behavior of
IF(not_int, *, *)
#15356 - Fix the incorrect behavior of
CASE WHEN (not_int)
#15359 - Fix the issue that the
Unknown column
error message is returned when using aview
that is not in the current schema #15866 - Fix the issue that the result of parsing time strings is incompatible with MySQL #16242
- Fix the possible panic of the collation operator in
left join
when anull
column exists in the right child node #16528 - Fix the issue that no error message is returned even though the SQL execution is blocked when TiKV keeps returning the
StaleCommand
error message #16528 - Fix the possible panic caused by the port probing when the audit plugin is enabled #15967
- Fix the panic caused when
fast analyze
works on indices only #15967 - Fix the possible panic of the
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
statement execution in some cases #16309 - Fix the issue of TiDB OOM caused by specifying a large number of partitions (for example,
9999999999999
) when the hash partition table is created without checking the number of partitions before allocating memory #16218 - Fix the issue of incorrect information of partitioned tables in
information_schema.tidb_hot_table
#16726 - Fix the issue that the partition selection algorithm does not take effect on the hash partitioned table #16070
- Fix the issue that the HTTP API of the MVCC series does not support partitioned tables #16191
- Keep the error handling of the
UNION
statement consistent with that of theSELECT
statement #16137 - Fix the issue of incorrect behavior when the parameter type of the
VALUES
function isbit(n)
#15486 - Fix the issue that the processing logic of TiDB is inconsistent with MySQL when the
view
column name is too long. In this case, the system automatically generates a short column name. #14873 - Fix the issue that
(not not col)
is incorrectly optimized ascol
#16094 - Fix the issue of incorrect
range
of the inner table built byIndexLookupJoin
plans #15753 - Fix the issue that
only_full_group_by
fails to correctly check expressions with brackets #16012 - Fix the issue that an error is returned when the
select view_name.col_name from view_name
statement is executed #15572
- Fix the issue that
TiKV
- Fix the issue that the node cannot be deleted correctly after the isolation recovery in some cases #7703
- Fix the issue of data loss during network isolation caused by the Region Merge operation #7679
- Fix the issue that learner cannot be removed correctly in some cases #7598
- Fix the issue that the scanning result of raw key-value pairs might be out of order #7597
- Fix the issue of reconnection when the batch of Raft messages is too large #7542
- Fix the issue of gRPC thread deadlock caused by the empty request #7538
- Fix the issue that the processing logic of restarting the learner is incorrect during the merge process #7457
- Fix the issue that repeated requests on the cleanup of lock might destroy the atomicity of the transaction #7388
Was this page helpful?