From d08317af85070088d9d48371deb123d1f2914485 Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Mon, 9 Aug 2021 15:04:44 -0600 Subject: [PATCH 1/9] 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 74260e3ff2b49..de8e8f66e06c4 100644 --- a/basic-features.md +++ b/basic-features.md @@ -1,80 +1,136 @@ --- -title: TiDB Basic Features +title: TiDB Features summary: Learn about the basic features of TiDB. aliases: ['/docs/dev/basic-features/'] --- -# 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 3c3314b405cd0acfbed8845dcbaeeeffd13a44ca Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Mon, 9 Aug 2021 21:41:24 -0600 Subject: [PATCH 2/9] 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 de8e8f66e06c4..61bef8dcc5801 100644 --- a/basic-features.md +++ b/basic-features.md @@ -24,7 +24,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** | @@ -133,4 +133,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 7cdd6ea1747555efacc886449eecd2150b14b677 Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Mon, 9 Aug 2021 21:44:05 -0600 Subject: [PATCH 3/9] Add feedback --- basic-features.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/basic-features.md b/basic-features.md index de8e8f66e06c4..86a8bc4e416c1 100644 --- a/basic-features.md +++ b/basic-features.md @@ -60,9 +60,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 | @@ -71,11 +71,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 | @@ -85,7 +85,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 b4254ea84d977fadaff5eb7deaa9c109de40d1b0 Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Tue, 10 Aug 2021 13:01:52 -0600 Subject: [PATCH 4/9] 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 ab7fa74e7020a..8fe2020f58685 100644 --- a/basic-features.md +++ b/basic-features.md @@ -35,11 +35,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 | @@ -52,7 +52,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 8a68c66b5e79730b1c618dc23912b5f32f3700d1 Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Mon, 16 Aug 2021 20:08:32 -0600 Subject: [PATCH 5/9] 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 8fe2020f58685..aca6883bee579 100644 --- a/basic-features.md +++ b/basic-features.md @@ -133,4 +133,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 aebe68efc3fd91ef7a2d0ecf5b2dcbcd6ada45b0 Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Wed, 18 Aug 2021 16:55:22 -0600 Subject: [PATCH 6/9] Add exchange partition --- basic-features.md | 1 + 1 file changed, 1 insertion(+) diff --git a/basic-features.md b/basic-features.md index aca6883bee579..21b4762d3deda 100644 --- a/basic-features.md +++ b/basic-features.md @@ -99,6 +99,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 51f51826b56ba61368aa8b4983b87e67b1a230c9 Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Wed, 25 Aug 2021 13:28:58 -0600 Subject: [PATCH 7/9] 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 21b4762d3deda..c22ed25e5697f 100644 --- a/basic-features.md +++ b/basic-features.md @@ -8,131 +8,141 @@ aliases: ['/docs/dev/basic-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 | 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 a3c6297810d0471914f91befb449a922cfb32d2f Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Thu, 2 Sep 2021 19:01:54 -0600 Subject: [PATCH 8/9] 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 c22ed25e5697f..735d7919a1aeb 100644 --- a/basic-features.md +++ b/basic-features.md @@ -140,7 +140,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 ce0cca312c920d09fbd8276e2f26d9dca803e5c3 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 9/9] 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 735d7919a1aeb..7eac8b8dbf16f 100644 --- a/basic-features.md +++ b/basic-features.md @@ -6,7 +6,7 @@ aliases: ['/docs/dev/basic-features/'] # 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 | |----------------------------------------------------------------------------------------------------------|:------------:|:------------:|:------------:|:------------:|