From 2c023a1bd0f7f42bd0a990040aaf4eb7b04f97cf 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 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 5511d8052c4893687be4d1c4a9095fec4780030f 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 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 a7cc956e197fb1d9204ed23748cf6fb4d683d4ec 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 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 e1020b37124da245f174f3a67f967526fde6b7ff 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 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 ded6a8408027686d6109a38612ce0f39f610893d 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 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 478ed99db88d5dbe03b006c38c58f2b6b27b9e4d 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 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 d23eaee5acecb58e3924f66e29aba530974489a9 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 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 9f5920289c2422fcdce30162c3bed747bf1463da 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 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 681a763590f80d2b49a7a099be02ef9c6d59ee0d 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 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 | |----------------------------------------------------------------------------------------------------------|:------------:|:------------:|:------------:|:------------:|