From 0894fdf938870fc5a6cbf9f1c10b37e1876bd54c Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Mon, 9 Aug 2021 15:04:44 -0600 Subject: [PATCH 01/11] add basic features --- basic-features.md | 206 +++++++++++++++++++++++++++++----------------- 1 file changed, 131 insertions(+), 75 deletions(-) diff --git a/basic-features.md b/basic-features.md index 0415038603ed7..76354c4088217 100644 --- a/basic-features.md +++ b/basic-features.md @@ -1,79 +1,135 @@ --- -title: TiDB Basic Features +title: TiDB Features summary: Learn about the basic features of TiDB. --- -# TiDB Basic Features - -This document introduces the basic features of TiDB. - -## Data types - -- Numeric types: `BIT`, `BOOL|BOOLEAN`, `SMALLINT`, `MEDIUMINT`, `INT|INTEGER`, `BIGINT`, `FLOAT`, `DOUBLE`, `DECIMAL`. - -- Date and time types: `DATE`, `TIME`, `DATETIME`, `TIMESTAMP`, `YEAR`. - -- String types: `CHAR`, `VARCHAR`, `TEXT`, `TINYTEXT`, `MEDIUMTEXT`, `LONGTEXT`, `BINARY`, `VARBINARY`, `BLOB`, `TINYBLOB`, `MEDIUMBLOB`, `LONGBLOB`, `ENUM`, `SET`. - -- The `JSON` type. - -## Operators - -- Arithmetic operators, bit operators, comparison operators, logical operators, date and time operators, and so on. - -## Character sets and collations - -- Character sets: `UTF8`, `UTF8MB4`, `BINARY`, `ASCII`, `LATIN1`. - -- Collations: `UTF8MB4_GENERAL_CI`, `UTF8MB4_UNICODE_CI`, `UTF8MB4_GENERAL_BIN`, `UTF8_GENERAL_CI`, `UTF8_UNICODE_CI`, `UTF8_GENERAL_BIN`, `BINARY`. - -## Functions - -- Control flow functions, string functions, date and time functions, bit functions, data type conversion functions, data encryption and decryption functions, compression and decompression functions, information functions, JSON functions, aggregation functions, window functions, and so on. - -## SQL statements - -- Fully supports standard Data Definition Language (DDL) statements, such as `CREATE`, `DROP`, `ALTER`, `RENAME`, `TRUNCATE`, and so on. - -- Fully supports standard Data Manipulation Language (DML) statements, such as `INSERT`, `REPLACE`, `SELECT`, subqueries, `UPDATE`, `LOAD DATA`, and so on. - -- Fully supports standard transactional and locking statements, such as `START TRANSACTION`, `COMMIT`, `ROLLBACK`, `SET TRANSACTION`, and so on. - -- Fully supports standard database administration statements, such as `SHOW`, `SET`, and so on. - -- Fully supports standard utility statements, such as `DESCRIBE`, `EXPLAIN`, `USE`, and so on. - -- Fully supports the `GROUP BY` and `ORDER BY` clauses. - -- Fully supports the standard `LEFT OUTER JOIN` and `RIGHT OUTER JOIN` SQL statements. - -- Fully supports the standard SQL table and column aliases. - -## Partitioning - -- Supports Range partitioning -- Supports Hash partitioning - -## Views - -- Supports general views - -## Constraints - -- Supports non-empty constraints -- Supports primary key constraints -- Supports unique constraints - -## Security - -- Supports privilege management based on RBAC (role-based access control) -- Supports password management -- Supports communication and data encryption -- Supports IP allowlist -- Supports audit - -## Tools - -- Supports fast backup -- Supports data migration from MySQL to TiDB using tools -- Supports deploying and maintaining TiDB using tools +# TiDB Features + +The following table provides an overview of the feature development history of TiDB. Note that features under active development may change before final release. + +| Data types, functions, and operators | 5.1 | 5.0 | 4.0 | 3.1 | 3.0 | 2.1 | +|----------------------------------------------------------------------------------------------------------|:------------:|:------------:|:------------:|:------------:|:------------:|:------------:| +| [Numeric types](/data-type-numeric.md) | Y | Y | Y | Y | Y | Y | +| [Date and time types](/data-type-date-and-time.md) | Y | Y | Y | Y | Y | Y | +| [String types](/data-type-string.md) | Y | Y | Y | Y | Y | Y | +| [JSON type](/data-type-json.md) | Experimental | Experimental | Experimental | Experimental | Experimental | Experimental | +| [Control flow functions](/functions-and-operators/control-flow-functions.md) | Y | Y | Y | Y | Y | Y | +| [String functions](/functions-and-operators/string-functions.md) | Y | Y | Y | Y | Y | Y | +| [Numeric functions and operators](/functions-and-operators/numeric-functions-and-operators.md) | Y | Y | Y | Y | Y | Y | +| [Date and time functions](/functions-and-operators/date-and-time-functions.md) | Y | Y | Y | Y | Y | Y | +| [Bit functions and operators](/functions-and-operators/bit-functions-and-operators.md) | Y | Y | Y | Y | Y | Y | +| [Cast functions and operators](/functions-and-operators/cast-functions-and-operators.md) | Y | Y | Y | Y | Y | Y | +| [Encryption and compression functions](/functions-and-operators/encryption-and-compression-functions.md) | Y | Y | Y | Y | Y | Y | +| [Information functions](/functions-and-operators/information-functions.md) | Y | Y | Y | Y | Y | Y | +| [JSON functions](/functions-and-operators/json-functions.md) | Experimental | Experimental | Experimental | Experimental | Experimental | Experimental | +| [Aggregation functions](/functions-and-operators/aggregate-group-by-functions.md) | Y | Y | Y | Y | Y | Y | +| [Window functions](/functions-and-operators/window-functions.md) | Y | Y | Y | Y | Y | Y | +| [Miscellaneous functions](/functions-and-operators/miscellaneous-functions.md) | Y | Y | Y | Y | Y | Y | +| [Operators](/functions-and-operators/operators.md) | Y | Y | Y | Y | Y | Y | +| [**Character sets**](/character-set-and-collation.md) | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | +| `utf8` | Y | Y | Y | Y | Y | Y | +| `utf8mb4` | Y | Y | Y | Y | Y | Y | +| `ascii` [^1] | Y | Y | Y | Y | Y | Y | +| `latin1` | Y | Y | Y | Y | Y | Y | +| `binary` | Y | Y | Y | Y | Y | Y | +| [**Collations**](/character-set-and-collation.md) | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | +| `utf8_bin` | Y | Y | Y | Y | Y | Y | +| `utf8_general_ci` | Experimental | Experimental | Experimental | N | N | N | +| `utf8_unicode_ci` | Experimental | Experimental | Experimental | N | N | N | +| `utf8mb4_bin` | Y | Y | Y | Y | Y | Y | +| `utf8mb4_general_ci` | Experimental | Experimental | Experimental | N | N | N | +| `utf8mb4_unicode_ci` | Experimental | Experimental | Experimental | N | N | N | +| `ascii_bin` | Y | Y | Y | Y | Y | Y | +| `latin1_bin` | Y | Y | Y | Y | Y | Y | +| `binary` | Y | Y | Y | Y | Y | Y | +| **Indexing and constraints** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | +| [Expression indexes](/sql-statements/sql-statement-create-index.md#expression-index) | Experimental | Experimental | Experimental | N | N | N | +| [Columnar storage (TiFlash)](/tiflash/tiflash-overview.md) | Y | Y | Y | Y | N | N | +| [RocksDB engine](/storage-engine/rocksdb-overview.md) | Y | Y | Y | Y | Y | Y | +| [Titan plugin](/storage-engine/titan-overview.md) | Y | Y | Y | Experimental | Experimental | Experimental | +| [Invisible indexes](/sql-statements/sql-statement-add-index.md) | Y | Y | N | N | N | N | +| [Composite `PRIMARY KEY`](/constraints.md) | Y | Y | Y | Y | Y | Y | +| [Unique indexes](/constraints.md) | Y | Y | Y | Y | Y | Y | +| [Clustered index on integer `PRIMARY KEY`](/constraints.md) | Y | Y | Y | Y | Y | Y | +| [Clustered index on composite or non-integer key](/constraints.md) | Experimental | Experimental | N | N | N | N | +| **SQL statements** [^2] | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | +| Basic `SELECT`, `INSERT`, `UPDATE`, `DELETE`, `REPLACE` | Y | Y | Y | Y | Y | Y | +| `INSERT ON DUPLICATE KEY UPDATE` | Y | Y | Y | Y | Y | Y | +| `LOAD DATA INFILE` | Y | Y | Y | Y | Y | Y | +| `SELECT INTO OUTFILE` | Y | Y | Y | N | N | N | +| `INNER JOIN`, `LEFT\|RIGHT [OUTER] JOIN` | Y | Y | Y | Y | Y | Y | +| `UNION`, `UNION ALL` | Y | Y | Y | Y | Y | Y | +| [`EXCEPT` and `INTERSECT` operators](/functions-and-operators/set-operators.md) | Y | Y | N | N | N | N | +| `GROUP BY`, `ORDER BY` | Y | Y | Y | Y | Y | Y | +| [Window Functions](/functions-and-operators/window-functions.md) | Y | Y | Y | Y | Y | N | +| [Common Table Expressions (CTE)](/sql-statements/sql-statement-with.md) | Y | N | N | N | N | N | +| `START TRANSACTION`, `COMMIT`, `ROLLBACK` | Y | Y | Y | Y | Y | Y | +| [`EXPLAIN`](/sql-statements/sql-statement-explain.md) | Y | Y | Y | Y | Y | Y | +| [`EXPLAIN ANALYZE`](/sql-statements/sql-statement-explain-analyze.md) | Y | Y | Y | Y | Y | Y | +| **Advanced SQL Features** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | +| [Prepared statement cache](/sql-prepare-plan-cache.md) | Experimental | Experimental | Experimental | N | N | N | +| [SQL plan management (SPM)](/sql-plan-management.md) | Y | Y | Y | N | N | N | +| [Coprocessor cache](/coprocessor-cache.md) | Y | Y | Experimental | N | N | N | +| [Placement rules in SQL](/configure-placement-rules.md) | Experimental | Experimental | Experimental | N | N | N | +| [Follower reads](/follower-read.md) | Y | Y | Y | Y | N | N | +| [Read historical data (tidb_snapshot)](/read-historical-data.md) | Y | Y | Y | Y | Y | Y | +| [Optimizer hints](/optimizer-hints.md) | Y | Y | Y | Y | Y | Y | +| [MPP Exection Engine](/explain-mpp.md) | Y | Y | N | N | N | N | +| **Data definition language (DDL)** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | +| Basic `CREATE`, `DROP`, `ALTER`, `RENAME`, `TRUNCATE` | Y | Y | Y | Y | Y | Y | +| [Generated columns](/generated-columns.md) | Experimental | Experimental | Experimental | Experimental | Experimental | Experimental | +| [Views](/views.md) | Y | Y | Y | Y | Y | N | +| [Sequences](/sql-statements/sql-statement-create-sequence.md) | Y | Y | Y | N | N | N | +| [Auto increment](/auto-increment.md) | Y | Y | Y | Y | Y | Y | +| [Auto random](/auto-random.md) | Y | Y | Y | N | N | N | +| [DDL algorithm assertions](/sql-statements/sql-statement-alter-table.md) | Y | Y | Y | N | N | N | +| Multi schema change: add column(s) | Y | Y | N | N | N | N | +| [Change column type](/sql-statements/sql-statement-modify-column.md) | Y | N | N | N | N | N | +| **Transactions** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | +| [Async commit](/system-variables.md#tidb_enable_async_commit-new-in-v50) | Y | Y | N | N | N | N | +| [1PC](/system-variables.md#tidb_enable_1pc-new-in-v50) | Y | Y | N | N | N | N | +| [Large transactions (10GB)](/transaction-overview.md#transaction-size-limit) | Y | Y | Y | N | N | N | +| [Pessimistic transactions](/pessimistic-transaction.md) | Y | Y | Y | Y | Y | Experimental | +| [Optimistic transactions](/optimistic-transaction.md) | Y | Y | Y | Y | Y | Y | +| [Repeatable-read isolation (snapshot isolation)](/transaction-isolation-levels.md) | Y | Y | Y | Y | Y | Y | +| [Read-committed isolation](/transaction-isolation-levels.md) | Y | Y | Y | N | N | N | +| **Partitioning** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | +| [Range partitioning](/partitioned-table.md) | Y | Y | Y | Y | Y | N | +| [Hash partitioning](/partitioned-table.md) | Y | Y | Y | Y | Y | N | +| [List partitioning](/partitioned-table.md) | Experimental | Experimental | N | N | N | N | +| [List COLUMNS partitioning](/partitioned-table.md) | Experimental | Experimental | N | N | N | N | +| **Statistics** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | +| [CMSketch](/statistics.md) | Deprecated | Deprecated | Y | Y | Y | Y | +| [Histograms](/statistics.md) | Y | Y | Y | Y | Y | Y | +| [Extended statistics (multiple columns)](/statistics.md) | Experimental | Experimental | N | N | N | N | +| **Security** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | +| [Transparent layer security (TLS)](/enable-tls-between-clients-and-servers.md) | Y | Y | Y | Y | Y | Y | +| [Encryption at rest (TDE)](/encryption-at-rest.md) | Y | Y | Y | N | N | N | +| [Role-based authentication (RBAC)](/role-based-access-control.md) | Y | Y | Y | Y | Y | N | +| [Certificate-based authentication](/certificate-authentication.md) | Y | Y | Y | Y | Y | N | +| Support for MySQL 8.0 clients | Y | Y | Y | N | N | N | +| [MySQL compatible `GRANT` system](/privilege-management.md) | Y | Y | Y | Y | Y | Y | +| [Dynamic Privileges](/privilege-management.md#dynamic-privileges) | Y | N | N | N | N | N | +| [Security Enhanced Mode](/system-variables.md#tidb_enable_enhanced_security) | Y | N | N | N | N | N | +| [Redacted Log Files](/log-redaction.md) | Y | Y | N | N | N | N | +| **Data import and export** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | +| [Fast Importer (TiDB Lightning)](/tidb-lightning/tidb-lightning-overview.md) | Y | Y | Y | Y | Y | Y | +| mydumper logical dumper | Deprecated | Deprecated | Deprecated | Y | Y | Y | +| [Dumpling logical dumper](/dumpling-overview.md) | Y | Y | Y | N | N | N | +| [Transactional `LOAD DATA`](/sql-statements/sql-statement-load-data.md) | Y | Y | N | N | N | N | +| [Database migration toolkit (DM)](/migration-overview.md) | Y | Y | Y | Y | Y | Y | +| [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md) | Deprecated | Deprecated | Deprecated | Y | Y | Y | +| [Change data capture (CDC)](/ticdc/ticdc-overview.md) | Y | Y | Y | N | N | N | +| **Management, observability and tools** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | +| [TiDB Dashboard](/dashboard/dashboard-intro.md) | Y | Y | Y | N | N | N | +| [SQL diagnostics](/information-schema/information-schema-sql-diagnostics.md) | Experimental | Experimental | Experimental | N | N | N | +| [Information schema](/information-schema/information-schema.md) | Y | Y | Y | Y | Y | Y | +| [Metrics schema](/metrics-schema.md) | Y | Y | Y | N | N | N | +| [Statements summary tables](/statement-summary-tables.md) | Y | Y | Y | N | N | N | +| [Slow query log](/identify-slow-queries.md) | Y | Y | Y | Y | Y | Y | +| [TiUP deployment](/tiup/tiup-overview.md) | Y | Y | Y | N | N | N | +| Ansible deployment | N | N | Deprecated | Y | Y | Y | +| [Kubernetes operator](https://docs.pingcap.com/tidb-in-kubernetes/) | Y | Y | Y | Y | Y | Y | +| [Built-in physical backup](/br/backup-and-restore-use-cases.md) | Y | Y | Y | N | N | N | + +[^1]: TiDB incorrectly treats latin1 as a subset of utf8. See [TiDB #18955](https://github.com/pingcap/tidb/issues/18955) for more details. [^2]: See [Statement Reference](/sql-statements/sql-statement-select.md) for a full list of SQL statements supported. \ No newline at end of file From 4b20ee8397d050b473aca6ce8eb58183c1cb2107 Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Mon, 9 Aug 2021 21:41:24 -0600 Subject: [PATCH 02/11] Update basic-features.md Co-authored-by: wjHuang --- basic-features.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/basic-features.md b/basic-features.md index 76354c4088217..0fadff04b0301 100644 --- a/basic-features.md +++ b/basic-features.md @@ -23,7 +23,7 @@ The following table provides an overview of the feature development history of T | [Information functions](/functions-and-operators/information-functions.md) | Y | Y | Y | Y | Y | Y | | [JSON functions](/functions-and-operators/json-functions.md) | Experimental | Experimental | Experimental | Experimental | Experimental | Experimental | | [Aggregation functions](/functions-and-operators/aggregate-group-by-functions.md) | Y | Y | Y | Y | Y | Y | -| [Window functions](/functions-and-operators/window-functions.md) | Y | Y | Y | Y | Y | Y | +| [Window functions](/functions-and-operators/window-functions.md) | Y | Y | Y | Y | Y | N | | [Miscellaneous functions](/functions-and-operators/miscellaneous-functions.md) | Y | Y | Y | Y | Y | Y | | [Operators](/functions-and-operators/operators.md) | Y | Y | Y | Y | Y | Y | | [**Character sets**](/character-set-and-collation.md) | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | @@ -132,4 +132,4 @@ The following table provides an overview of the feature development history of T | [Kubernetes operator](https://docs.pingcap.com/tidb-in-kubernetes/) | Y | Y | Y | Y | Y | Y | | [Built-in physical backup](/br/backup-and-restore-use-cases.md) | Y | Y | Y | N | N | N | -[^1]: TiDB incorrectly treats latin1 as a subset of utf8. See [TiDB #18955](https://github.com/pingcap/tidb/issues/18955) for more details. [^2]: See [Statement Reference](/sql-statements/sql-statement-select.md) for a full list of SQL statements supported. \ No newline at end of file +[^1]: TiDB incorrectly treats latin1 as a subset of utf8. See [TiDB #18955](https://github.com/pingcap/tidb/issues/18955) for more details. [^2]: See [Statement Reference](/sql-statements/sql-statement-select.md) for a full list of SQL statements supported. From 9c9ae64e2e53e2aa0249bd7c3ae9c4e9feb0e346 Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Mon, 9 Aug 2021 21:44:05 -0600 Subject: [PATCH 03/11] Add feedback --- basic-features.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/basic-features.md b/basic-features.md index 0fadff04b0301..323d1f01c9427 100644 --- a/basic-features.md +++ b/basic-features.md @@ -59,9 +59,9 @@ The following table provides an overview of the feature development history of T | `SELECT INTO OUTFILE` | Y | Y | Y | N | N | N | | `INNER JOIN`, `LEFT\|RIGHT [OUTER] JOIN` | Y | Y | Y | Y | Y | Y | | `UNION`, `UNION ALL` | Y | Y | Y | Y | Y | Y | -| [`EXCEPT` and `INTERSECT` operators](/functions-and-operators/set-operators.md) | Y | Y | N | N | N | N | +| [`EXCEPT` and `INTERSECT` operators](/functions-and-operators/set-operators.md) | Y | Y | N | N | N | N | | `GROUP BY`, `ORDER BY` | Y | Y | Y | Y | Y | Y | -| [Window Functions](/functions-and-operators/window-functions.md) | Y | Y | Y | Y | Y | N | +| [Window Functions](/functions-and-operators/window-functions.md) | Y | Y | Y | Y | Y | N | | [Common Table Expressions (CTE)](/sql-statements/sql-statement-with.md) | Y | N | N | N | N | N | | `START TRANSACTION`, `COMMIT`, `ROLLBACK` | Y | Y | Y | Y | Y | Y | | [`EXPLAIN`](/sql-statements/sql-statement-explain.md) | Y | Y | Y | Y | Y | Y | @@ -70,11 +70,11 @@ The following table provides an overview of the feature development history of T | [Prepared statement cache](/sql-prepare-plan-cache.md) | Experimental | Experimental | Experimental | N | N | N | | [SQL plan management (SPM)](/sql-plan-management.md) | Y | Y | Y | N | N | N | | [Coprocessor cache](/coprocessor-cache.md) | Y | Y | Experimental | N | N | N | -| [Placement rules in SQL](/configure-placement-rules.md) | Experimental | Experimental | Experimental | N | N | N | +| [Stale Read](/stale-read.md) | Y | N | N | N | N | N | | [Follower reads](/follower-read.md) | Y | Y | Y | Y | N | N | | [Read historical data (tidb_snapshot)](/read-historical-data.md) | Y | Y | Y | Y | Y | Y | | [Optimizer hints](/optimizer-hints.md) | Y | Y | Y | Y | Y | Y | -| [MPP Exection Engine](/explain-mpp.md) | Y | Y | N | N | N | N | +| [MPP Exection Engine](/explain-mpp.md) | Y | Y | N | N | N | N | | **Data definition language (DDL)** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | | Basic `CREATE`, `DROP`, `ALTER`, `RENAME`, `TRUNCATE` | Y | Y | Y | Y | Y | Y | | [Generated columns](/generated-columns.md) | Experimental | Experimental | Experimental | Experimental | Experimental | Experimental | @@ -84,7 +84,7 @@ The following table provides an overview of the feature development history of T | [Auto random](/auto-random.md) | Y | Y | Y | N | N | N | | [DDL algorithm assertions](/sql-statements/sql-statement-alter-table.md) | Y | Y | Y | N | N | N | | Multi schema change: add column(s) | Y | Y | N | N | N | N | -| [Change column type](/sql-statements/sql-statement-modify-column.md) | Y | N | N | N | N | N | +| [Change column type](/sql-statements/sql-statement-modify-column.md) | Y | N | N | N | N | N | | **Transactions** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | | [Async commit](/system-variables.md#tidb_enable_async_commit-new-in-v50) | Y | Y | N | N | N | N | | [1PC](/system-variables.md#tidb_enable_1pc-new-in-v50) | Y | Y | N | N | N | N | From 351c770d5cf406bd9cef6dd43a02ef7e04d2dace Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Tue, 10 Aug 2021 13:01:52 -0600 Subject: [PATCH 04/11] Change collations to stable --- basic-features.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/basic-features.md b/basic-features.md index 323d1f01c9427..992988bc96bbd 100644 --- a/basic-features.md +++ b/basic-features.md @@ -34,11 +34,11 @@ The following table provides an overview of the feature development history of T | `binary` | Y | Y | Y | Y | Y | Y | | [**Collations**](/character-set-and-collation.md) | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | | `utf8_bin` | Y | Y | Y | Y | Y | Y | -| `utf8_general_ci` | Experimental | Experimental | Experimental | N | N | N | -| `utf8_unicode_ci` | Experimental | Experimental | Experimental | N | N | N | +| `utf8_general_ci` | Y | Y | Y | N | N | N | +| `utf8_unicode_ci` | Y | Y | Y | N | N | N | | `utf8mb4_bin` | Y | Y | Y | Y | Y | Y | -| `utf8mb4_general_ci` | Experimental | Experimental | Experimental | N | N | N | -| `utf8mb4_unicode_ci` | Experimental | Experimental | Experimental | N | N | N | +| `utf8mb4_general_ci` | Y | Y | Y | N | N | N | +| `utf8mb4_unicode_ci` | Y | Y | Y | N | N | N | | `ascii_bin` | Y | Y | Y | Y | Y | Y | | `latin1_bin` | Y | Y | Y | Y | Y | Y | | `binary` | Y | Y | Y | Y | Y | Y | @@ -51,7 +51,7 @@ The following table provides an overview of the feature development history of T | [Composite `PRIMARY KEY`](/constraints.md) | Y | Y | Y | Y | Y | Y | | [Unique indexes](/constraints.md) | Y | Y | Y | Y | Y | Y | | [Clustered index on integer `PRIMARY KEY`](/constraints.md) | Y | Y | Y | Y | Y | Y | -| [Clustered index on composite or non-integer key](/constraints.md) | Experimental | Experimental | N | N | N | N | +| [Clustered index on composite or non-integer key](/constraints.md) | Y | Y | N | N | N | N | | **SQL statements** [^2] | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | | Basic `SELECT`, `INSERT`, `UPDATE`, `DELETE`, `REPLACE` | Y | Y | Y | Y | Y | Y | | `INSERT ON DUPLICATE KEY UPDATE` | Y | Y | Y | Y | Y | Y | From ec38c687e582c915eacfc22bed4650712b99058f Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Mon, 16 Aug 2021 20:08:32 -0600 Subject: [PATCH 05/11] Update basic-features.md Co-authored-by: TomShawn <41534398+TomShawn@users.noreply.github.com> --- basic-features.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/basic-features.md b/basic-features.md index 992988bc96bbd..4c94f41a2a074 100644 --- a/basic-features.md +++ b/basic-features.md @@ -132,4 +132,6 @@ The following table provides an overview of the feature development history of T | [Kubernetes operator](https://docs.pingcap.com/tidb-in-kubernetes/) | Y | Y | Y | Y | Y | Y | | [Built-in physical backup](/br/backup-and-restore-use-cases.md) | Y | Y | Y | N | N | N | -[^1]: TiDB incorrectly treats latin1 as a subset of utf8. See [TiDB #18955](https://github.com/pingcap/tidb/issues/18955) for more details. [^2]: See [Statement Reference](/sql-statements/sql-statement-select.md) for a full list of SQL statements supported. +[^1]: TiDB incorrectly treats latin1 as a subset of utf8. See [TiDB #18955](https://github.com/pingcap/tidb/issues/18955) for more details. + +[^2]: See [Statement Reference](/sql-statements/sql-statement-select.md) for a full list of SQL statements supported. From c378afaf1caafe897b992409ef9a2c6160999af8 Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Wed, 18 Aug 2021 16:55:22 -0600 Subject: [PATCH 06/11] Add exchange partition --- basic-features.md | 1 + 1 file changed, 1 insertion(+) diff --git a/basic-features.md b/basic-features.md index 4c94f41a2a074..4d9c499d0aea1 100644 --- a/basic-features.md +++ b/basic-features.md @@ -98,6 +98,7 @@ The following table provides an overview of the feature development history of T | [Hash partitioning](/partitioned-table.md) | Y | Y | Y | Y | Y | N | | [List partitioning](/partitioned-table.md) | Experimental | Experimental | N | N | N | N | | [List COLUMNS partitioning](/partitioned-table.md) | Experimental | Experimental | N | N | N | N | +| [`EXCHANGE PARTITION`](/partitioned-table.md) | Experimental | Experimental | N | N | N | N | | **Statistics** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | | [CMSketch](/statistics.md) | Deprecated | Deprecated | Y | Y | Y | Y | | [Histograms](/statistics.md) | Y | Y | Y | Y | Y | Y | From 089e408fe7203629ea9090baef2b58d95fcda00b Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Wed, 25 Aug 2021 13:28:58 -0600 Subject: [PATCH 07/11] update for 5.2. --- basic-features.md | 260 ++++++++++++++++++++++++---------------------- 1 file changed, 135 insertions(+), 125 deletions(-) diff --git a/basic-features.md b/basic-features.md index 4d9c499d0aea1..be7faac79eb90 100644 --- a/basic-features.md +++ b/basic-features.md @@ -7,131 +7,141 @@ summary: Learn about the basic features of TiDB. The following table provides an overview of the feature development history of TiDB. Note that features under active development may change before final release. -| Data types, functions, and operators | 5.1 | 5.0 | 4.0 | 3.1 | 3.0 | 2.1 | -|----------------------------------------------------------------------------------------------------------|:------------:|:------------:|:------------:|:------------:|:------------:|:------------:| -| [Numeric types](/data-type-numeric.md) | Y | Y | Y | Y | Y | Y | -| [Date and time types](/data-type-date-and-time.md) | Y | Y | Y | Y | Y | Y | -| [String types](/data-type-string.md) | Y | Y | Y | Y | Y | Y | -| [JSON type](/data-type-json.md) | Experimental | Experimental | Experimental | Experimental | Experimental | Experimental | -| [Control flow functions](/functions-and-operators/control-flow-functions.md) | Y | Y | Y | Y | Y | Y | -| [String functions](/functions-and-operators/string-functions.md) | Y | Y | Y | Y | Y | Y | -| [Numeric functions and operators](/functions-and-operators/numeric-functions-and-operators.md) | Y | Y | Y | Y | Y | Y | -| [Date and time functions](/functions-and-operators/date-and-time-functions.md) | Y | Y | Y | Y | Y | Y | -| [Bit functions and operators](/functions-and-operators/bit-functions-and-operators.md) | Y | Y | Y | Y | Y | Y | -| [Cast functions and operators](/functions-and-operators/cast-functions-and-operators.md) | Y | Y | Y | Y | Y | Y | -| [Encryption and compression functions](/functions-and-operators/encryption-and-compression-functions.md) | Y | Y | Y | Y | Y | Y | -| [Information functions](/functions-and-operators/information-functions.md) | Y | Y | Y | Y | Y | Y | -| [JSON functions](/functions-and-operators/json-functions.md) | Experimental | Experimental | Experimental | Experimental | Experimental | Experimental | -| [Aggregation functions](/functions-and-operators/aggregate-group-by-functions.md) | Y | Y | Y | Y | Y | Y | -| [Window functions](/functions-and-operators/window-functions.md) | Y | Y | Y | Y | Y | N | -| [Miscellaneous functions](/functions-and-operators/miscellaneous-functions.md) | Y | Y | Y | Y | Y | Y | -| [Operators](/functions-and-operators/operators.md) | Y | Y | Y | Y | Y | Y | -| [**Character sets**](/character-set-and-collation.md) | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | -| `utf8` | Y | Y | Y | Y | Y | Y | -| `utf8mb4` | Y | Y | Y | Y | Y | Y | -| `ascii` [^1] | Y | Y | Y | Y | Y | Y | -| `latin1` | Y | Y | Y | Y | Y | Y | -| `binary` | Y | Y | Y | Y | Y | Y | -| [**Collations**](/character-set-and-collation.md) | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | -| `utf8_bin` | Y | Y | Y | Y | Y | Y | -| `utf8_general_ci` | Y | Y | Y | N | N | N | -| `utf8_unicode_ci` | Y | Y | Y | N | N | N | -| `utf8mb4_bin` | Y | Y | Y | Y | Y | Y | -| `utf8mb4_general_ci` | Y | Y | Y | N | N | N | -| `utf8mb4_unicode_ci` | Y | Y | Y | N | N | N | -| `ascii_bin` | Y | Y | Y | Y | Y | Y | -| `latin1_bin` | Y | Y | Y | Y | Y | Y | -| `binary` | Y | Y | Y | Y | Y | Y | -| **Indexing and constraints** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | -| [Expression indexes](/sql-statements/sql-statement-create-index.md#expression-index) | Experimental | Experimental | Experimental | N | N | N | -| [Columnar storage (TiFlash)](/tiflash/tiflash-overview.md) | Y | Y | Y | Y | N | N | -| [RocksDB engine](/storage-engine/rocksdb-overview.md) | Y | Y | Y | Y | Y | Y | -| [Titan plugin](/storage-engine/titan-overview.md) | Y | Y | Y | Experimental | Experimental | Experimental | -| [Invisible indexes](/sql-statements/sql-statement-add-index.md) | Y | Y | N | N | N | N | -| [Composite `PRIMARY KEY`](/constraints.md) | Y | Y | Y | Y | Y | Y | -| [Unique indexes](/constraints.md) | Y | Y | Y | Y | Y | Y | -| [Clustered index on integer `PRIMARY KEY`](/constraints.md) | Y | Y | Y | Y | Y | Y | -| [Clustered index on composite or non-integer key](/constraints.md) | Y | Y | N | N | N | N | -| **SQL statements** [^2] | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | -| Basic `SELECT`, `INSERT`, `UPDATE`, `DELETE`, `REPLACE` | Y | Y | Y | Y | Y | Y | -| `INSERT ON DUPLICATE KEY UPDATE` | Y | Y | Y | Y | Y | Y | -| `LOAD DATA INFILE` | Y | Y | Y | Y | Y | Y | -| `SELECT INTO OUTFILE` | Y | Y | Y | N | N | N | -| `INNER JOIN`, `LEFT\|RIGHT [OUTER] JOIN` | Y | Y | Y | Y | Y | Y | -| `UNION`, `UNION ALL` | Y | Y | Y | Y | Y | Y | -| [`EXCEPT` and `INTERSECT` operators](/functions-and-operators/set-operators.md) | Y | Y | N | N | N | N | -| `GROUP BY`, `ORDER BY` | Y | Y | Y | Y | Y | Y | -| [Window Functions](/functions-and-operators/window-functions.md) | Y | Y | Y | Y | Y | N | -| [Common Table Expressions (CTE)](/sql-statements/sql-statement-with.md) | Y | N | N | N | N | N | -| `START TRANSACTION`, `COMMIT`, `ROLLBACK` | Y | Y | Y | Y | Y | Y | -| [`EXPLAIN`](/sql-statements/sql-statement-explain.md) | Y | Y | Y | Y | Y | Y | -| [`EXPLAIN ANALYZE`](/sql-statements/sql-statement-explain-analyze.md) | Y | Y | Y | Y | Y | Y | -| **Advanced SQL Features** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | -| [Prepared statement cache](/sql-prepare-plan-cache.md) | Experimental | Experimental | Experimental | N | N | N | -| [SQL plan management (SPM)](/sql-plan-management.md) | Y | Y | Y | N | N | N | -| [Coprocessor cache](/coprocessor-cache.md) | Y | Y | Experimental | N | N | N | -| [Stale Read](/stale-read.md) | Y | N | N | N | N | N | -| [Follower reads](/follower-read.md) | Y | Y | Y | Y | N | N | -| [Read historical data (tidb_snapshot)](/read-historical-data.md) | Y | Y | Y | Y | Y | Y | -| [Optimizer hints](/optimizer-hints.md) | Y | Y | Y | Y | Y | Y | -| [MPP Exection Engine](/explain-mpp.md) | Y | Y | N | N | N | N | -| **Data definition language (DDL)** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | -| Basic `CREATE`, `DROP`, `ALTER`, `RENAME`, `TRUNCATE` | Y | Y | Y | Y | Y | Y | -| [Generated columns](/generated-columns.md) | Experimental | Experimental | Experimental | Experimental | Experimental | Experimental | -| [Views](/views.md) | Y | Y | Y | Y | Y | N | -| [Sequences](/sql-statements/sql-statement-create-sequence.md) | Y | Y | Y | N | N | N | -| [Auto increment](/auto-increment.md) | Y | Y | Y | Y | Y | Y | -| [Auto random](/auto-random.md) | Y | Y | Y | N | N | N | -| [DDL algorithm assertions](/sql-statements/sql-statement-alter-table.md) | Y | Y | Y | N | N | N | -| Multi schema change: add column(s) | Y | Y | N | N | N | N | -| [Change column type](/sql-statements/sql-statement-modify-column.md) | Y | N | N | N | N | N | -| **Transactions** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | -| [Async commit](/system-variables.md#tidb_enable_async_commit-new-in-v50) | Y | Y | N | N | N | N | -| [1PC](/system-variables.md#tidb_enable_1pc-new-in-v50) | Y | Y | N | N | N | N | -| [Large transactions (10GB)](/transaction-overview.md#transaction-size-limit) | Y | Y | Y | N | N | N | -| [Pessimistic transactions](/pessimistic-transaction.md) | Y | Y | Y | Y | Y | Experimental | -| [Optimistic transactions](/optimistic-transaction.md) | Y | Y | Y | Y | Y | Y | -| [Repeatable-read isolation (snapshot isolation)](/transaction-isolation-levels.md) | Y | Y | Y | Y | Y | Y | -| [Read-committed isolation](/transaction-isolation-levels.md) | Y | Y | Y | N | N | N | -| **Partitioning** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | -| [Range partitioning](/partitioned-table.md) | Y | Y | Y | Y | Y | N | -| [Hash partitioning](/partitioned-table.md) | Y | Y | Y | Y | Y | N | -| [List partitioning](/partitioned-table.md) | Experimental | Experimental | N | N | N | N | -| [List COLUMNS partitioning](/partitioned-table.md) | Experimental | Experimental | N | N | N | N | -| [`EXCHANGE PARTITION`](/partitioned-table.md) | Experimental | Experimental | N | N | N | N | -| **Statistics** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | -| [CMSketch](/statistics.md) | Deprecated | Deprecated | Y | Y | Y | Y | -| [Histograms](/statistics.md) | Y | Y | Y | Y | Y | Y | -| [Extended statistics (multiple columns)](/statistics.md) | Experimental | Experimental | N | N | N | N | -| **Security** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | -| [Transparent layer security (TLS)](/enable-tls-between-clients-and-servers.md) | Y | Y | Y | Y | Y | Y | -| [Encryption at rest (TDE)](/encryption-at-rest.md) | Y | Y | Y | N | N | N | -| [Role-based authentication (RBAC)](/role-based-access-control.md) | Y | Y | Y | Y | Y | N | -| [Certificate-based authentication](/certificate-authentication.md) | Y | Y | Y | Y | Y | N | -| Support for MySQL 8.0 clients | Y | Y | Y | N | N | N | -| [MySQL compatible `GRANT` system](/privilege-management.md) | Y | Y | Y | Y | Y | Y | -| [Dynamic Privileges](/privilege-management.md#dynamic-privileges) | Y | N | N | N | N | N | -| [Security Enhanced Mode](/system-variables.md#tidb_enable_enhanced_security) | Y | N | N | N | N | N | -| [Redacted Log Files](/log-redaction.md) | Y | Y | N | N | N | N | -| **Data import and export** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | -| [Fast Importer (TiDB Lightning)](/tidb-lightning/tidb-lightning-overview.md) | Y | Y | Y | Y | Y | Y | -| mydumper logical dumper | Deprecated | Deprecated | Deprecated | Y | Y | Y | -| [Dumpling logical dumper](/dumpling-overview.md) | Y | Y | Y | N | N | N | -| [Transactional `LOAD DATA`](/sql-statements/sql-statement-load-data.md) | Y | Y | N | N | N | N | -| [Database migration toolkit (DM)](/migration-overview.md) | Y | Y | Y | Y | Y | Y | -| [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md) | Deprecated | Deprecated | Deprecated | Y | Y | Y | -| [Change data capture (CDC)](/ticdc/ticdc-overview.md) | Y | Y | Y | N | N | N | -| **Management, observability and tools** | **5.1** | **5.0** | **4.0** | **3.1** | **3.0** | **2.1** | -| [TiDB Dashboard](/dashboard/dashboard-intro.md) | Y | Y | Y | N | N | N | -| [SQL diagnostics](/information-schema/information-schema-sql-diagnostics.md) | Experimental | Experimental | Experimental | N | N | N | -| [Information schema](/information-schema/information-schema.md) | Y | Y | Y | Y | Y | Y | -| [Metrics schema](/metrics-schema.md) | Y | Y | Y | N | N | N | -| [Statements summary tables](/statement-summary-tables.md) | Y | Y | Y | N | N | N | -| [Slow query log](/identify-slow-queries.md) | Y | Y | Y | Y | Y | Y | -| [TiUP deployment](/tiup/tiup-overview.md) | Y | Y | Y | N | N | N | -| Ansible deployment | N | N | Deprecated | Y | Y | Y | -| [Kubernetes operator](https://docs.pingcap.com/tidb-in-kubernetes/) | Y | Y | Y | Y | Y | Y | -| [Built-in physical backup](/br/backup-and-restore-use-cases.md) | Y | Y | Y | N | N | N | +| Data types, functions, and operators | 5.2 | 5.1 | 5.0 | 4.0 | +|----------------------------------------------------------------------------------------------------------|:------------:|:------------:|:------------:|:------------:| +| [Numeric types](/data-type-numeric.md) | Y | Y | Y | Y | +| [Date and time types](/data-type-date-and-time.md) | Y | Y | Y | Y | +| [String types](/data-type-string.md) | Y | Y | Y | Y | +| [JSON type](/data-type-json.md) | Experimental | Experimental | Experimental | Experimental | +| [Control flow functions](/functions-and-operators/control-flow-functions.md) | Y | Y | Y | Y | +| [String functions](/functions-and-operators/string-functions.md) | Y | Y | Y | Y | +| [Numeric functions and operators](/functions-and-operators/numeric-functions-and-operators.md) | Y | Y | Y | Y | +| [Date and time functions](/functions-and-operators/date-and-time-functions.md) | Y | Y | Y | Y | +| [Bit functions and operators](/functions-and-operators/bit-functions-and-operators.md) | Y | Y | Y | Y | +| [Cast functions and operators](/functions-and-operators/cast-functions-and-operators.md) | Y | Y | Y | Y | +| [Encryption and compression functions](/functions-and-operators/encryption-and-compression-functions.md) | Y | Y | Y | Y | +| [Information functions](/functions-and-operators/information-functions.md) | Y | Y | Y | Y | +| [JSON functions](/functions-and-operators/json-functions.md) | Experimental | Experimental | Experimental | Experimental | +| [Aggregation functions](/functions-and-operators/aggregate-group-by-functions.md) | Y | Y | Y | Y | +| [Window functions](/functions-and-operators/window-functions.md) | Y | Y | Y | Y | +| [Miscellaneous functions](/functions-and-operators/miscellaneous-functions.md) | Y | Y | Y | Y | +| [Operators](/functions-and-operators/operators.md) | Y | Y | Y | Y | +| [**Character sets**](/character-set-and-collation.md) | **5.2** | **5.1** | **5.0** | **4.0** | +| `utf8` | Y | Y | Y | Y | +| `utf8mb4` | Y | Y | Y | Y | +| `ascii` [^1] | Y | Y | Y | Y | +| `latin1` | Y | Y | Y | Y | +| `binary` | Y | Y | Y | Y | +| [**Collations**](/character-set-and-collation.md) | **5.2** | **5.1** | **5.0** | **4.0** | +| `utf8_bin` | Y | Y | Y | Y | +| `utf8_general_ci` | Y | Y | Y | Y | +| `utf8_unicode_ci` | Y | Y | Y | Y | +| `utf8mb4_bin` | Y | Y | Y | Y | +| `utf8mb4_general_ci` | Y | Y | Y | Y | +| `utf8mb4_unicode_ci` | Y | Y | Y | Y | +| `ascii_bin` | Y | Y | Y | Y | +| `latin1_bin` | Y | Y | Y | Y | +| `binary` | Y | Y | Y | Y | +| **Indexing and constraints** | **5.2** | **5.1** | **5.0** | **4.0** | +| [Expression indexes](/sql-statements/sql-statement-create-index.md#expression-index) | Experimental | Experimental | Experimental | Experimental | +| [Columnar storage (TiFlash)](/tiflash/tiflash-overview.md) | Y | Y | Y | Y | +| [RocksDB engine](/storage-engine/rocksdb-overview.md) | Y | Y | Y | Y | +| [Titan plugin](/storage-engine/titan-overview.md) | Y | Y | Y | Y | +| [Invisible indexes](/sql-statements/sql-statement-add-index.md) | Y | Y | Y | N | +| [Composite `PRIMARY KEY`](/constraints.md) | Y | Y | Y | Y | +| [Unique indexes](/constraints.md) | Y | Y | Y | Y | +| [Clustered index on integer `PRIMARY KEY`](/constraints.md) | Y | Y | Y | Y | +| [Clustered index on composite or non-integer key](/constraints.md) | Y | Y | Y | N | +| **SQL statements** [^2] | **5.2** | **5.1** | **5.0** | **4.0** | +| Basic `SELECT`, `INSERT`, `UPDATE`, `DELETE`, `REPLACE` | Y | Y | Y | Y | +| `INSERT ON DUPLICATE KEY UPDATE` | Y | Y | Y | Y | +| `LOAD DATA INFILE` | Y | Y | Y | Y | +| `SELECT INTO OUTFILE` | Y | Y | Y | Y | +| `INNER JOIN`, `LEFT\|RIGHT [OUTER] JOIN` | Y | Y | Y | Y | +| `UNION`, `UNION ALL` | Y | Y | Y | Y | +| [`EXCEPT` and `INTERSECT` operators](/functions-and-operators/set-operators.md) | Y | Y | Y | N | +| `GROUP BY`, `ORDER BY` | Y | Y | Y | Y | +| [Window Functions](/functions-and-operators/window-functions.md) | Y | Y | Y | Y | +| [Common Table Expressions (CTE)](/sql-statements/sql-statement-with.md) | Y | Y | N | N | +| `START TRANSACTION`, `COMMIT`, `ROLLBACK` | Y | Y | Y | Y | +| [`EXPLAIN`](/sql-statements/sql-statement-explain.md) | Y | Y | Y | Y | +| [`EXPLAIN ANALYZE`](/sql-statements/sql-statement-explain-analyze.md) | Y | Y | Y | Y | +| [User-defined variables](/user-defined-variables.md) | Experimental | Experimental | Experimental | Experimental | +| **Advanced SQL Features** | **5.2** | **5.1** | **5.0** | **4.0** | +| [Prepared statement cache](/sql-prepare-plan-cache.md) | Experimental | Experimental | Experimental | Experimental | +| [SQL plan management (SPM)](/sql-plan-management.md) | Y | Y | Y | Y | +| [Coprocessor cache](/coprocessor-cache.md) | Y | Y | Y | Experimental | +| [Stale Read](/stale-read.md) | Y | Y | N | N | +| [Follower reads](/follower-read.md) | Y | Y | Y | Y | +| [Read historical data (tidb_snapshot)](/read-historical-data.md) | Y | Y | Y | Y | +| [Optimizer hints](/optimizer-hints.md) | Y | Y | Y | Y | +| [MPP Exection Engine](/explain-mpp.md) | Y | Y | Y | N | +| [Index Merge Join](/explain-index-merge.md) | Experimental | Experimental | Experimental | Experimental | +| **Data definition language (DDL)** | **5.2** | **5.1** | **5.0** | **4.0** | +| Basic `CREATE`, `DROP`, `ALTER`, `RENAME`, `TRUNCATE` | Y | Y | Y | Y | +| [Generated columns](/generated-columns.md) | Experimental | Experimental | Experimental | Experimental | +| [Views](/views.md) | Y | Y | Y | Y | +| [Sequences](/sql-statements/sql-statement-create-sequence.md) | Y | Y | Y | Y | +| [Auto increment](/auto-increment.md) | Y | Y | Y | Y | +| [Auto random](/auto-random.md) | Y | Y | Y | Y | +| [DDL algorithm assertions](/sql-statements/sql-statement-alter-table.md) | Y | Y | Y | Y | +| Multi schema change: add column(s) | Y | Y | Y | N | +| [Change column type](/sql-statements/sql-statement-modify-column.md) | Y | Y | N | N | +| **Transactions** | **5.2** | **5.1** | **5.0** | **4.0** | +| [Async commit](/system-variables.md#tidb_enable_async_commit-new-in-v50) | Y | Y | Y | N | +| [1PC](/system-variables.md#tidb_enable_1pc-new-in-v50) | Y | Y | Y | N | +| [Large transactions (10GB)](/transaction-overview.md#transaction-size-limit) | Y | Y | Y | Y | +| [Pessimistic transactions](/pessimistic-transaction.md) | Y | Y | Y | Y | +| [Optimistic transactions](/optimistic-transaction.md) | Y | Y | Y | Y | +| [Repeatable-read isolation (snapshot isolation)](/transaction-isolation-levels.md) | Y | Y | Y | Y | +| [Read-committed isolation](/transaction-isolation-levels.md) | Y | Y | Y | Y | +| **Partitioning** | **5.2** | **5.1** | **5.0** | **4.0** | +| [Range partitioning](/partitioned-table.md) | Y | Y | Y | Y | +| [Hash partitioning](/partitioned-table.md) | Y | Y | Y | Y | +| [List partitioning](/partitioned-table.md) | Experimental | Experimental | Experimental | N | +| [List COLUMNS partitioning](/partitioned-table.md) | Experimental | Experimental | Experimental | N | +| [`EXCHANGE PARTITION`](/partitioned-table.md) | Experimental | Experimental | Experimental | N | +| [Dynamic Pruning](/partitioned-table.md#dynamic-pruning-mode) | Experimental | Experimental | N | N | +| **Statistics** | **5.2** | **5.1** | **5.0** | **4.0** | +| [CMSketch](/statistics.md) | Deprecated | Deprecated | Deprecated | Y | +| [Histograms](/statistics.md) | Y | Y | Y | Y | +| [Extended statistics (multiple columns)](/statistics.md) | Experimental | Experimental | Experimental | N | +| [Statistics Feedback](/statistics.md#automatic-update) | Experimental | Experimental | Experimental | Experimental | +| [Fast Analyze](/system-variables.md#tidb_enable_fast_analyze) | Experimental | Experimental | Experimental | Experimental | +| **Security** | **5.2** | **5.1** | **5.0** | **4.0** | +| [Transparent layer security (TLS)](/enable-tls-between-clients-and-servers.md) | Y | Y | Y | Y | +| [Encryption at rest (TDE)](/encryption-at-rest.md) | Y | Y | Y | Y | +| [Role-based authentication (RBAC)](/role-based-access-control.md) | Y | Y | Y | Y | +| [Certificate-based authentication](/certificate-authentication.md) | Y | Y | Y | Y | +| `caching_sha2_password` authentication | Y | N | N | N | +| [MySQL compatible `GRANT` system](/privilege-management.md) | Y | Y | Y | Y | +| [Dynamic Privileges](/privilege-management.md#dynamic-privileges) | Y | Y | N | N | +| [Security Enhanced Mode](/system-variables.md#tidb_enable_enhanced_security) | Y | Y | N | N | +| [Redacted Log Files](/log-redaction.md) | Y | Y | Y | N | +| **Data import and export** | **5.2** | **5.1** | **5.0** | **4.0** | +| [Fast Importer (TiDB Lightning)](/tidb-lightning/tidb-lightning-overview.md) | Y | Y | Y | Y | +| mydumper logical dumper | Deprecated | Deprecated | Deprecated | Deprecated | +| [Dumpling logical dumper](/dumpling-overview.md) | Y | Y | Y | Y | +| [Transactional `LOAD DATA`](/sql-statements/sql-statement-load-data.md) | Y | Y | Y | N | +| [Database migration toolkit (DM)](/migration-overview.md) | Y | Y | Y | Y | +| [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md) | Deprecated | Deprecated | Deprecated | Deprecated | +| [Change data capture (CDC)](/ticdc/ticdc-overview.md) | Y | Y | Y | Y | +| **Management, observability and tools** | **5.2** | **5.1** | **5.0** | **4.0** | +| [TiDB Dashboard](/dashboard/dashboard-intro.md) | Y | Y | Y | Y | +| [SQL diagnostics](/information-schema/information-schema-sql-diagnostics.md) | Experimental | Experimental | Experimental | Experimental | +| [Information schema](/information-schema/information-schema.md) | Y | Y | Y | Y | +| [Metrics schema](/metrics-schema.md) | Y | Y | Y | Y | +| [Statements summary tables](/statement-summary-tables.md) | Y | Y | Y | Y | +| [Slow query log](/identify-slow-queries.md) | Y | Y | Y | Y | +| [TiUP deployment](/tiup/tiup-overview.md) | Y | Y | Y | Y | +| Ansible deployment | N | N | N | Deprecated | +| [Kubernetes operator](https://docs.pingcap.com/tidb-in-kubernetes/) | Y | Y | Y | Y | +| [Built-in physical backup](/br/backup-and-restore-use-cases.md) | Y | Y | Y | Y | +| Top SQL | Y | N | N | N | +| [Global Kill](/sql-statements/sql-statement-kill.md) | Experimental | Experimental | Experimental | Experimental | +| [Lock View](/information-schema/information-schema-data-lock-waits.md) | Experimental | Experimental | Experimental | Experimental | +| [`SHOW CONFIG`](/sql-statements/sql-statement-show-config.md) | Experimental | Experimental | Experimental | Experimental | +| [`SET CONFIG`](/dynamic-config.md) | Experimental | Experimental | Experimental | Experimental | [^1]: TiDB incorrectly treats latin1 as a subset of utf8. See [TiDB #18955](https://github.com/pingcap/tidb/issues/18955) for more details. From 1c6c1eaf1fb03750f65011458e7db880ed4dc3b3 Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Thu, 2 Sep 2021 19:01:54 -0600 Subject: [PATCH 08/11] Change Lock view to stable --- basic-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/basic-features.md b/basic-features.md index be7faac79eb90..0d04e04775298 100644 --- a/basic-features.md +++ b/basic-features.md @@ -139,7 +139,7 @@ The following table provides an overview of the feature development history of T | [Built-in physical backup](/br/backup-and-restore-use-cases.md) | Y | Y | Y | Y | | Top SQL | Y | N | N | N | | [Global Kill](/sql-statements/sql-statement-kill.md) | Experimental | Experimental | Experimental | Experimental | -| [Lock View](/information-schema/information-schema-data-lock-waits.md) | Experimental | Experimental | Experimental | Experimental | +| [Lock View](/information-schema/information-schema-data-lock-waits.md) | Y | Experimental | Experimental | Experimental | | [`SHOW CONFIG`](/sql-statements/sql-statement-show-config.md) | Experimental | Experimental | Experimental | Experimental | | [`SET CONFIG`](/dynamic-config.md) | Experimental | Experimental | Experimental | Experimental | From b0722a0b08862cdd3d998f803e48c9287e08656d Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Thu, 9 Sep 2021 22:10:34 +0800 Subject: [PATCH 09/11] Update basic-features.md --- basic-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/basic-features.md b/basic-features.md index 0d04e04775298..7d8991ec65324 100644 --- a/basic-features.md +++ b/basic-features.md @@ -5,7 +5,7 @@ summary: Learn about the basic features of TiDB. # TiDB Features -The following table provides an overview of the feature development history of TiDB. Note that features under active development may change before final release. +The following table provides an overview of the feature development history of TiDB. Note that features under active development might change before the final release. | Data types, functions, and operators | 5.2 | 5.1 | 5.0 | 4.0 | |----------------------------------------------------------------------------------------------------------|:------------:|:------------:|:------------:|:------------:| From 2b0ebe97dd427bd598b311571288b39f199bf995 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Thu, 9 Sep 2021 22:25:09 +0800 Subject: [PATCH 10/11] Apply suggestions from code review --- basic-features.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/basic-features.md b/basic-features.md index 7d8991ec65324..88996ae1a7e77 100644 --- a/basic-features.md +++ b/basic-features.md @@ -62,7 +62,7 @@ The following table provides an overview of the feature development history of T | [`EXCEPT` and `INTERSECT` operators](/functions-and-operators/set-operators.md) | Y | Y | Y | N | | `GROUP BY`, `ORDER BY` | Y | Y | Y | Y | | [Window Functions](/functions-and-operators/window-functions.md) | Y | Y | Y | Y | -| [Common Table Expressions (CTE)](/sql-statements/sql-statement-with.md) | Y | Y | N | N | +| [Common Table Expressions (CTE)](https://docs.pingcap.com/tidb/v5.2/sql-statement-with) | Y | Y | N | N | | `START TRANSACTION`, `COMMIT`, `ROLLBACK` | Y | Y | Y | Y | | [`EXPLAIN`](/sql-statements/sql-statement-explain.md) | Y | Y | Y | Y | | [`EXPLAIN ANALYZE`](/sql-statements/sql-statement-explain-analyze.md) | Y | Y | Y | Y | @@ -71,7 +71,7 @@ The following table provides an overview of the feature development history of T | [Prepared statement cache](/sql-prepare-plan-cache.md) | Experimental | Experimental | Experimental | Experimental | | [SQL plan management (SPM)](/sql-plan-management.md) | Y | Y | Y | Y | | [Coprocessor cache](/coprocessor-cache.md) | Y | Y | Y | Experimental | -| [Stale Read](/stale-read.md) | Y | Y | N | N | +| [Stale Read](https://docs.pingcap.com/tidb/v5.1/stale-read) | Y | Y | N | N | | [Follower reads](/follower-read.md) | Y | Y | Y | Y | | [Read historical data (tidb_snapshot)](/read-historical-data.md) | Y | Y | Y | Y | | [Optimizer hints](/optimizer-hints.md) | Y | Y | Y | Y | @@ -139,7 +139,7 @@ The following table provides an overview of the feature development history of T | [Built-in physical backup](/br/backup-and-restore-use-cases.md) | Y | Y | Y | Y | | Top SQL | Y | N | N | N | | [Global Kill](/sql-statements/sql-statement-kill.md) | Experimental | Experimental | Experimental | Experimental | -| [Lock View](/information-schema/information-schema-data-lock-waits.md) | Y | Experimental | Experimental | Experimental | +| [Lock View](https://docs.pingcap.com/tidb/v5.2/information-schema-data-lock-waits) | Y | Experimental | Experimental | Experimental | | [`SHOW CONFIG`](/sql-statements/sql-statement-show-config.md) | Experimental | Experimental | Experimental | Experimental | | [`SET CONFIG`](/dynamic-config.md) | Experimental | Experimental | Experimental | Experimental | From b9fdeac2d41fc11da79f2c47a5e67b3dc62cf268 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Fri, 10 Sep 2021 12:56:02 +0800 Subject: [PATCH 11/11] fix broken links --- basic-features.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/basic-features.md b/basic-features.md index 88996ae1a7e77..27f7249ab18c8 100644 --- a/basic-features.md +++ b/basic-features.md @@ -62,7 +62,7 @@ The following table provides an overview of the feature development history of T | [`EXCEPT` and `INTERSECT` operators](/functions-and-operators/set-operators.md) | Y | Y | Y | N | | `GROUP BY`, `ORDER BY` | Y | Y | Y | Y | | [Window Functions](/functions-and-operators/window-functions.md) | Y | Y | Y | Y | -| [Common Table Expressions (CTE)](https://docs.pingcap.com/tidb/v5.2/sql-statement-with) | Y | Y | N | N | +| [Common Table Expressions (CTE)](https://docs.pingcap.com/tidb/v5.1/sql-statement-with) | Y | Y | N | N | | `START TRANSACTION`, `COMMIT`, `ROLLBACK` | Y | Y | Y | Y | | [`EXPLAIN`](/sql-statements/sql-statement-explain.md) | Y | Y | Y | Y | | [`EXPLAIN ANALYZE`](/sql-statements/sql-statement-explain-analyze.md) | Y | Y | Y | Y | @@ -101,7 +101,7 @@ The following table provides an overview of the feature development history of T | [List partitioning](/partitioned-table.md) | Experimental | Experimental | Experimental | N | | [List COLUMNS partitioning](/partitioned-table.md) | Experimental | Experimental | Experimental | N | | [`EXCHANGE PARTITION`](/partitioned-table.md) | Experimental | Experimental | Experimental | N | -| [Dynamic Pruning](/partitioned-table.md#dynamic-pruning-mode) | Experimental | Experimental | N | N | +| [Dynamic Pruning](https://docs.pingcap.com/tidb/v5.1/partitioned-table#dynamic-pruning-mode) | Experimental | Experimental | N | N | | **Statistics** | **5.2** | **5.1** | **5.0** | **4.0** | | [CMSketch](/statistics.md) | Deprecated | Deprecated | Deprecated | Y | | [Histograms](/statistics.md) | Y | Y | Y | Y | @@ -115,8 +115,8 @@ The following table provides an overview of the feature development history of T | [Certificate-based authentication](/certificate-authentication.md) | Y | Y | Y | Y | | `caching_sha2_password` authentication | Y | N | N | N | | [MySQL compatible `GRANT` system](/privilege-management.md) | Y | Y | Y | Y | -| [Dynamic Privileges](/privilege-management.md#dynamic-privileges) | Y | Y | N | N | -| [Security Enhanced Mode](/system-variables.md#tidb_enable_enhanced_security) | Y | Y | N | N | +| [Dynamic Privileges](https://docs.pingcap.com/tidb/v5.1/privilege-management#dynamic-privileges) | Y | Y | N | N | +| [Security Enhanced Mode](https://docs.pingcap.com/tidb/v5.1/system-variables#tidb_enable_enhanced_security) | Y | Y | N | N | | [Redacted Log Files](/log-redaction.md) | Y | Y | Y | N | | **Data import and export** | **5.2** | **5.1** | **5.0** | **4.0** | | [Fast Importer (TiDB Lightning)](/tidb-lightning/tidb-lightning-overview.md) | Y | Y | Y | Y |