Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

translate 8 EBNF related PRs #17216

Merged
merged 5 commits into from
Apr 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions sql-statements/sql-statement-savepoint.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,19 @@ RELEASE SAVEPOINT identifier

当事务提交或者回滚后,事务中所有保存点都会被删除。

## 语法图

```ebnf+diagram
SavepointStmt ::=
"SAVEPOINT" Identifier

RollbackToStmt ::=
"ROLLBACK" "TO" "SAVEPOINT"? Identifier

ReleaseSavepointStmt ::=
"RELEASE" "SAVEPOINT" Identifier
```

## 示例

创建表 `t1`:
Expand Down Expand Up @@ -140,6 +153,8 @@ SELECT * FROM t1;

使用 `ROLLBACK TO SAVEPOINT` 语句将事物回滚到指定保存点时,MySQL 会释放该保存点之后才持有的锁,但在 TiDB 悲观事务中,不会立即释放该保存点之后才持有的锁,而是等到事务提交或者回滚时,才释放全部持有的锁。

TiDB 不支持 MySQL 中的 `ROLLBACK WORK TO SAVEPOINT ...` 语法。

## 另请参阅

* [COMMIT](/sql-statements/sql-statement-commit.md)
Expand Down
41 changes: 4 additions & 37 deletions sql-statements/sql-statement-set-names.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,38 +10,13 @@ aliases: ['/docs-cn/dev/sql-statements/sql-statement-set-names/','/docs-cn/dev/r

## 语法图

**SetNamesStmt:**

![SetNamesStmt](/media/sqlgram/SetNamesStmt.png)

**VariableAssignmentList:**

![VariableAssignmentList](/media/sqlgram/VariableAssignmentList.png)

**VariableAssignment:**

![VariableAssignment](/media/sqlgram/VariableAssignment.png)

**CharsetName:**

![CharsetName](/media/sqlgram/CharsetName.png)

**StringName:**

![StringName](/media/sqlgram/StringName.png)

**CharsetKw:**

![CharsetKw](/media/sqlgram/CharsetKw.png)

**CharsetNameOrDefault:**

![CharsetNameOrDefault](/media/sqlgram/CharsetNameOrDefault.png)
```ebnf+diagram
SetNamesStmt ::=
"SET" ("NAMES" ("DEFAULT" | CharsetName ("COLLATE" ("DEFAULT" | CollationName))?) | ("CHARSET" | ("CHAR" | "CHARACTER") "SET") ("DEFAULT" | CharsetName))
```

## 示例

qiancai marked this conversation as resolved.
Show resolved Hide resolved
{{< copyable "sql" >}}

```sql
SHOW VARIABLES LIKE 'character_set%';
```
Expand All @@ -62,8 +37,6 @@ SHOW VARIABLES LIKE 'character_set%';
8 rows in set (0.01 sec)
```

{{< copyable "sql" >}}

```sql
SET NAMES utf8;
```
Expand All @@ -72,8 +45,6 @@ SET NAMES utf8;
Query OK, 0 rows affected (0.00 sec)
```

{{< copyable "sql" >}}

```sql
SHOW VARIABLES LIKE 'character_set%';
```
Expand All @@ -94,8 +65,6 @@ SHOW VARIABLES LIKE 'character_set%';
8 rows in set (0.00 sec)
```

{{< copyable "sql" >}}

```sql
SET CHARACTER SET utf8mb4;
```
Expand All @@ -104,8 +73,6 @@ SET CHARACTER SET utf8mb4;
Query OK, 0 rows affected (0.00 sec)
```

{{< copyable "sql" >}}

```sql
SHOW VARIABLES LIKE 'character_set%';
```
Expand Down
78 changes: 17 additions & 61 deletions sql-statements/sql-statement-show-columns-from.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,62 +16,30 @@ aliases: ['/docs-cn/dev/sql-statements/sql-statement-show-columns-from/','/docs-

## 语法图

**ShowStmt:**
```ebnf+diagram
ShowColumnsFromStmt ::=
"SHOW" "FULL"? ("COLUMNS" | "FIELDS") ("FROM" | "IN") TableName ( ("FROM" | "IN") SchemaName)? ShowLikeOrWhere?

![ShowStmt](/media/sqlgram/ShowStmt.png)
TableName ::=
(Identifier ".")? Identifier

**ShowColumnsFilterable:**

![ShowColumnsFilterable](/media/sqlgram/ShowColumnsFilterable.png)

**OptFull:**

![OptFull](/media/sqlgram/OptFull.png)

**FieldsOrColumns:**

![FieldsOrColumns](/media/sqlgram/FieldsOrColumns.png)

**ShowTableAliasOpt:**

![ShowTableAliasOpt](/media/sqlgram/ShowTableAliasOpt.png)

**FromOrIn:**

![FromOrIn](/media/sqlgram/FromOrIn.png)

**TableName:**

![TableName](/media/sqlgram/TableName.png)

**ShowDatabaseNameOpt:**

![ShowDatabaseNameOpt](/media/sqlgram/ShowDatabaseNameOpt.png)

**DBName:**

![DBName](/media/sqlgram/DBName.png)

**ShowLikeOrWhereOpt:**

![ShowLikeOrWhereOpt](/media/sqlgram/ShowLikeOrWhereOpt.png)
ShowLikeOrWhere ::=
"LIKE" SimpleExpr
| "WHERE" Expression
```

## 示例

{{< copyable "sql" >}}

```sql
create view v1 as select 1;
CREATE VIEW v1 AS SELECT 1;
```

```
Query OK, 0 rows affected (0.11 sec)
```

{{< copyable "sql" >}}

```sql
show columns from v1;
SHOW COLUMNS FROM v1;
```

```
Expand All @@ -83,10 +51,8 @@ show columns from v1;
1 row in set (0.00 sec)
```

{{< copyable "sql" >}}

```sql
desc v1;
DESC v1;
```

```
Expand All @@ -98,10 +64,8 @@ desc v1;
1 row in set (0.00 sec)
```

{{< copyable "sql" >}}

```sql
describe v1;
DESCRIBE v1;
```

```
Expand All @@ -113,10 +77,8 @@ describe v1;
1 row in set (0.00 sec)
```

{{< copyable "sql" >}}

```sql
explain v1;
EXPLAIN v1;
```

```
Expand All @@ -128,10 +90,8 @@ explain v1;
1 row in set (0.00 sec)
```

{{< copyable "sql" >}}

```sql
show fields from v1;
SHOW FIELDS FROM v1;
```

```
Expand All @@ -143,10 +103,8 @@ show fields from v1;
1 row in set (0.00 sec)
```

{{< copyable "sql" >}}

```sql
show full columns from v1;
SHOW FULL COLUMNS FROM v1
```

```
Expand All @@ -158,10 +116,8 @@ show full columns from v1;
1 row in set (0.00 sec)
```

{{< copyable "sql" >}}

```sql
show full columns from mysql.user;
SHOW FULL COLUMNS FROM mysql.user;
```

```
Expand Down
13 changes: 5 additions & 8 deletions sql-statements/sql-statement-show-create-user.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,10 @@ aliases: ['/docs-cn/dev/sql-statements/sql-statement-show-create-user/','/docs-c

## 语法图

**ShowCreateUserStmt:**

![ShowCreateUserStmt](/media/sqlgram/ShowCreateUserStmt.png)

**Username:**

![Username](/media/sqlgram/Username.png)
```ebnf+diagram
ShowCreateUserStmt ::=
"SHOW" "CREATE" "USER" (Username ("@" Hostname)? | "CURRENT_USER" ( "(" ")" )? )
```

## 示例

Expand Down Expand Up @@ -45,7 +42,7 @@ mysql> SHOW GRANTS FOR 'root';

## MySQL 兼容性

* `SHOW CREATE USER` 的输出结果旨在匹配 MySQL,但 TiDB 尚不支持若干 `CREATE` 选项。尚未支持的选项在语句执行过程中会被解析但会被跳过执行。详情可参阅 [security compatibility]
* `SHOW CREATE USER` 的输出结果旨在匹配 MySQL,但 TiDB 尚不支持若干 `CREATE` 选项。尚未支持的选项在语句执行过程中会被解析但会被跳过执行。详情可参阅[与 MySQL 安全特性差异](/security-compatibility-with-mysql.md)

## 另请参阅

Expand Down
36 changes: 9 additions & 27 deletions sql-statements/sql-statement-show-grants.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,30 +10,20 @@ aliases: ['/docs-cn/dev/sql-statements/sql-statement-show-grants/','/docs-cn/dev

## 语法图

**ShowGrantsStmt:**
```ebnf+diagram
ShowGrantsStmt ::=
"SHOW" "GRANTS" ("FOR" Username ("USING" RolenameList)?)?

![ShowGrantsStmt](/media/sqlgram/ShowGrantsStmt.png)
Username ::=
"CURRENT_USER" ( "(" ")" )?
| Username ("@" Hostname)?

**Username:**

![Username](/media/sqlgram/Username.png)

**UsingRoles:**

![UsingRoles](/media/sqlgram/UsingRoles.png)

**RolenameList:**

![RolenameList](/media/sqlgram/RolenameList.png)

**Rolename:**

![Rolename](/media/sqlgram/Rolename.png)
RolenameList ::=
Rolename ("@" Hostname)? ("," Rolename ("@" Hostname)? )*
```

## 示例

{{< copyable "sql" >}}

```sql
SHOW GRANTS;
```
Expand All @@ -47,8 +37,6 @@ SHOW GRANTS;
1 row in set (0.00 sec)
```

{{< copyable "sql" >}}

```sql
SHOW GRANTS FOR 'u1';
```
Expand All @@ -57,8 +45,6 @@ SHOW GRANTS FOR 'u1';
ERROR 1141 (42000): There is no such grant defined for user 'u1' on host '%'
```

{{< copyable "sql" >}}

```sql
CREATE USER u1;
```
Expand All @@ -67,8 +53,6 @@ CREATE USER u1;
Query OK, 1 row affected (0.04 sec)
```

{{< copyable "sql" >}}

```sql
GRANT SELECT ON test.* TO u1;
```
Expand All @@ -77,8 +61,6 @@ GRANT SELECT ON test.* TO u1;
Query OK, 0 rows affected (0.04 sec)
```

{{< copyable "sql" >}}

```sql
SHOW GRANTS FOR u1;
```
Expand Down
11 changes: 7 additions & 4 deletions sql-statements/sql-statement-show-profiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,17 @@ aliases: ['/docs-cn/dev/sql-statements/sql-statement-show-profiles/']

## 语法图

**ShowStmt:**
```ebnf+diagram
ShowProfilesStmt ::=
"SHOW" "PROFILES" ShowLikeOrWhere?

![ShowStmt](/media/sqlgram/ShowStmt.png)
ShowLikeOrWhere ::=
qiancai marked this conversation as resolved.
Show resolved Hide resolved
"LIKE" SimpleExpr
| "WHERE" Expression
```

## 示例

{{< copyable "sql" >}}

```sql
SHOW PROFILES
```
Expand Down
Loading
Loading