From 9d97104fb2c57b149eaa4833d88b9d131ee75d8c Mon Sep 17 00:00:00 2001 From: tangenta Date: Tue, 7 Jul 2020 17:11:13 +0800 Subject: [PATCH] cherry pick #3477 to release-3.1 Signed-off-by: ti-srebot --- comment-syntax.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/comment-syntax.md b/comment-syntax.md index dff3d718f1c9..3ced67f4ad47 100644 --- a/comment-syntax.md +++ b/comment-syntax.md @@ -115,7 +115,7 @@ TiDB 也跟 MySQL 保持一致,支持一种 C 风格注释的变体: /*!50110 Specific code */ ``` -在这种格式中,TiDB 会执行注释中的语句,这个语法是为了让这些 SQL 在其他的数据库中被忽略,而在 TiDB 中被执行。 +和 MySQL 一样,TiDB 会执行注释中的语句。 例如:`SELECT /*! STRAIGHT_JOIN */ col1 FROM table1,table2 WHERE ...` @@ -125,7 +125,11 @@ TiDB 也跟 MySQL 保持一致,支持一种 C 风格注释的变体: ## TiDB 可执行的注释语法 -TiDB 也有独立的注释语法,称为 TiDB 可执行注释语法,格式为 `/*T![feature_id] XXX */`。只有在当前版本中实现了 `feature_id` 对应的功能特性的 TiDB,才会试图解析该注释里的 SQL 片段。例如 v3.1.1 中引入了 `AUTO_RANDOM` 特性,该版本能够将 `/*T![auto_rand] auto_random */` 解析为 `auto_random`;而 v3.0.0 中没有实现 `AUTO_RANDOM` 特性,则上述 SQL 语句片段会被忽略。 +TiDB 也有独立的注释语法,称为 TiDB 可执行注释语法。主要分为两种: + +* `/*T! Specific code */`:该语法只能被 TiDB 解析执行,而在其他数据库中会被忽略。 + +* `/*T![feature_id] Specific code */`:该语法用于保证 TiDB 不同版本之间的兼容性。只有在当前版本中实现了 `feature_id` 对应的功能特性的 TiDB,才会试图解析该注释里的 SQL 片段。例如 v3.1.1 中引入了 `AUTO_RANDOM` 特性,该版本能够将 `/*T![auto_rand] auto_random */` 解析为 `auto_random`;而 v3.0.0 中没有实现 `AUTO_RANDOM` 特性,则上述 SQL 语句片段会被忽略。 ## 优化器注释语法