You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2021/10/30 12:36:44 UTC

[shardingsphere] branch master updated: Add db-compatibility/sql-parser document (#13367)

This is an automated email from the ASF dual-hosted git repository.

duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 545ef45  Add db-compatibility/sql-parser document (#13367)
545ef45 is described below

commit 545ef45fbfa0e971fa8b04dc7c446938090b957f
Author: Liang Zhang <te...@163.com>
AuthorDate: Sat Oct 30 20:35:44 2021 +0800

    Add db-compatibility/sql-parser document (#13367)
---
 .../db-compatibility/sql-parser/_index.cn.md       | 15 ++++++++++
 .../db-compatibility/sql-parser/_index.en.md       | 16 +++++++++++
 .../db-compatibility/sql-parser/mysql.cn.md        | 22 +++++++++++++++
 .../db-compatibility/sql-parser/mysql.en.md        | 22 +++++++++++++++
 .../db-compatibility/sql-parser/oracle.cn.md       |  8 ++++++
 .../db-compatibility/sql-parser/oracle.en.md       |  8 ++++++
 .../db-compatibility/sql-parser/postgresql.cn.md   |  8 ++++++
 .../db-compatibility/sql-parser/postgresql.en.md   |  8 ++++++
 .../db-compatibility/sql-parser/sql92.cn.md        |  8 ++++++
 .../db-compatibility/sql-parser/sql92.en.md        |  8 ++++++
 .../db-compatibility/sql-parser/sqlserver.cn.md    |  8 ++++++
 .../db-compatibility/sql-parser/sqlserver.en.md    |  8 ++++++
 .../features/sharding/use-norms/_index.cn.md       |  2 +-
 .../content/features/sharding/use-norms/sql.cn.md  | 32 +--------------------
 .../content/features/sharding/use-norms/sql.en.md  | 33 +---------------------
 15 files changed, 142 insertions(+), 64 deletions(-)

diff --git a/docs/document/content/features/db-compatibility/sql-parser/_index.cn.md b/docs/document/content/features/db-compatibility/sql-parser/_index.cn.md
new file mode 100644
index 0000000..ff444c9
--- /dev/null
+++ b/docs/document/content/features/db-compatibility/sql-parser/_index.cn.md
@@ -0,0 +1,15 @@
++++
+title = "SQL 解析"
+weight = 1
+chapter = true
++++
+
+SQL 是使用者与数据库交流的标准语言。
+SQL 解析引擎负责将 SQL 字符串解析为抽象语法树,供 Apache ShardingSphere 理解并实现其增量功能。
+
+目前支持 MySQL, PostgreSQL, SQLServer, Oracle, openGauss 以及符合 SQL92 规范的 SQL 方言。
+由于 SQL 语法的复杂性,目前仍然存在少量不支持的 SQL。
+
+本章节详细罗列出目前不支持的 SQL 种类,供使用者参考。
+
+其中有未涉及到的 SQL 欢迎补充,未支持的 SQL 也尽量会在未来的版本中支持。
diff --git a/docs/document/content/features/db-compatibility/sql-parser/_index.en.md b/docs/document/content/features/db-compatibility/sql-parser/_index.en.md
new file mode 100644
index 0000000..dc2293f
--- /dev/null
+++ b/docs/document/content/features/db-compatibility/sql-parser/_index.en.md
@@ -0,0 +1,16 @@
++++
+title = "SQL Parser"
+weight = 1
+chapter = true
++++
+
+SQL is the standard operation language between users and databases.
+SQL Parse engine used to parse SQL into an abstract syntax tree to provide Apache ShardingSphere understand and implement the add-on features.
+
+It supports SQL dialect for MySQL, PostgreSQL, SQLServer, Oracle, openGauss and SQL that conform to the SQL92 specification.
+However, due to the complexity of SQL syntax, there are still a little of SQL do not support yet.
+
+This chapter has listed unsupported SQLs reference for users.
+
+There are some unsupported SQLs maybe missing, welcome to finish them.
+We will try best to support the unavailable SQLs in future versions.
diff --git a/docs/document/content/features/db-compatibility/sql-parser/mysql.cn.md b/docs/document/content/features/db-compatibility/sql-parser/mysql.cn.md
new file mode 100644
index 0000000..37105ce
--- /dev/null
+++ b/docs/document/content/features/db-compatibility/sql-parser/mysql.cn.md
@@ -0,0 +1,22 @@
++++
+title = "MySQL"
+weight = 1
++++
+
+MySQL 不支持的 SQL 清单如下:
+
+| SQL                                                          |
+| ------------------------------------------------------------ |
+| FLUSH PRIVILEGES                                             |
+| CLONE LOCAL DATA DIRECTORY = 'clone_dir'                     |
+| INSTALL COMPONENT 'file://component1', 'file://component2'   |
+| UNINSTALL COMPONENT 'file://component1', 'file://component2' |
+| SHOW CREATE USER user                                        |
+| REPAIR TABLE t_order                                         |
+| OPTIMIZE TABLE t_order                                       |
+| CHECKSUM TABLE t_order                                       |
+| CHECK TABLE t_order                                          |
+| SET RESOURCE GROUP group_name                                |
+| DROP RESOURCE GROUP group_name                               |
+| CREATE RESOURCE GROUP group_name TYPE = SYSTEM               |
+| ALTER RESOURCE GROUP rg1 VCPU = 0-63                         |
diff --git a/docs/document/content/features/db-compatibility/sql-parser/mysql.en.md b/docs/document/content/features/db-compatibility/sql-parser/mysql.en.md
new file mode 100644
index 0000000..13e9b56
--- /dev/null
+++ b/docs/document/content/features/db-compatibility/sql-parser/mysql.en.md
@@ -0,0 +1,22 @@
++++
+title = "MySQL"
+weight = 1
++++
+
+The unsupported SQL list for MySQL are as follows:
+
+| SQL                                                          |
+| ------------------------------------------------------------ |
+| FLUSH PRIVILEGES                                             |
+| CLONE LOCAL DATA DIRECTORY = 'clone_dir'                     |
+| INSTALL COMPONENT 'file://component1', 'file://component2'   |
+| UNINSTALL COMPONENT 'file://component1', 'file://component2' |
+| SHOW CREATE USER user                                        |
+| REPAIR TABLE t_order                                         |
+| OPTIMIZE TABLE t_order                                       |
+| CHECKSUM TABLE t_order                                       |
+| CHECK TABLE t_order                                          |
+| SET RESOURCE GROUP group_name                                |
+| DROP RESOURCE GROUP group_name                               |
+| CREATE RESOURCE GROUP group_name TYPE = SYSTEM               |
+| ALTER RESOURCE GROUP rg1 VCPU = 0-63                         |
diff --git a/docs/document/content/features/db-compatibility/sql-parser/oracle.cn.md b/docs/document/content/features/db-compatibility/sql-parser/oracle.cn.md
new file mode 100644
index 0000000..bc7c65d
--- /dev/null
+++ b/docs/document/content/features/db-compatibility/sql-parser/oracle.cn.md
@@ -0,0 +1,8 @@
++++
+title = "Oracle"
+weight = 4
++++
+
+Oracle 不支持的 SQL 清单如下:
+
+TODO
diff --git a/docs/document/content/features/db-compatibility/sql-parser/oracle.en.md b/docs/document/content/features/db-compatibility/sql-parser/oracle.en.md
new file mode 100644
index 0000000..58e2c2f
--- /dev/null
+++ b/docs/document/content/features/db-compatibility/sql-parser/oracle.en.md
@@ -0,0 +1,8 @@
++++
+title = "Oracle"
+weight = 4
++++
+
+The unsupported SQL list for Oracle are as follows:
+
+TODO
diff --git a/docs/document/content/features/db-compatibility/sql-parser/postgresql.cn.md b/docs/document/content/features/db-compatibility/sql-parser/postgresql.cn.md
new file mode 100644
index 0000000..9ce58f3
--- /dev/null
+++ b/docs/document/content/features/db-compatibility/sql-parser/postgresql.cn.md
@@ -0,0 +1,8 @@
++++
+title = "PostgreSQL"
+weight = 2
++++
+
+PostgreSQL 不支持的 SQL 清单如下:
+
+TODO
diff --git a/docs/document/content/features/db-compatibility/sql-parser/postgresql.en.md b/docs/document/content/features/db-compatibility/sql-parser/postgresql.en.md
new file mode 100644
index 0000000..cafafb1
--- /dev/null
+++ b/docs/document/content/features/db-compatibility/sql-parser/postgresql.en.md
@@ -0,0 +1,8 @@
++++
+title = "PostgreSQL"
+weight = 2
++++
+
+The unsupported SQL list for PostgreSQL are as follows:
+
+TODO
diff --git a/docs/document/content/features/db-compatibility/sql-parser/sql92.cn.md b/docs/document/content/features/db-compatibility/sql-parser/sql92.cn.md
new file mode 100644
index 0000000..cefa40f
--- /dev/null
+++ b/docs/document/content/features/db-compatibility/sql-parser/sql92.cn.md
@@ -0,0 +1,8 @@
++++
+title = "SQL92"
+weight = 5
++++
+
+SQL92 不支持的 SQL 清单如下:
+
+TODO
diff --git a/docs/document/content/features/db-compatibility/sql-parser/sql92.en.md b/docs/document/content/features/db-compatibility/sql-parser/sql92.en.md
new file mode 100644
index 0000000..a42ccfc
--- /dev/null
+++ b/docs/document/content/features/db-compatibility/sql-parser/sql92.en.md
@@ -0,0 +1,8 @@
++++
+title = "SQL92"
+weight = 5
++++
+
+The unsupported SQL list for SQL92 are as follows:
+
+TODO
diff --git a/docs/document/content/features/db-compatibility/sql-parser/sqlserver.cn.md b/docs/document/content/features/db-compatibility/sql-parser/sqlserver.cn.md
new file mode 100644
index 0000000..736aeb6
--- /dev/null
+++ b/docs/document/content/features/db-compatibility/sql-parser/sqlserver.cn.md
@@ -0,0 +1,8 @@
++++
+title = "SQLServer"
+weight = 3
++++
+
+SQLServer 不支持的 SQL 清单如下:
+
+TODO
diff --git a/docs/document/content/features/db-compatibility/sql-parser/sqlserver.en.md b/docs/document/content/features/db-compatibility/sql-parser/sqlserver.en.md
new file mode 100644
index 0000000..915bb3f
--- /dev/null
+++ b/docs/document/content/features/db-compatibility/sql-parser/sqlserver.en.md
@@ -0,0 +1,8 @@
++++
+title = "SQLServer"
+weight = 3
++++
+
+The unsupported SQL list for SQLServer are as follows:
+
+TODO
diff --git a/docs/document/content/features/sharding/use-norms/_index.cn.md b/docs/document/content/features/sharding/use-norms/_index.cn.md
index 5aa552a..819cf22 100644
--- a/docs/document/content/features/sharding/use-norms/_index.cn.md
+++ b/docs/document/content/features/sharding/use-norms/_index.cn.md
@@ -5,5 +5,5 @@ weight = 2
 
 ## 背景
 
-虽然 Apache ShardingSphere 希望能够完全兼容所有的SQL以及单机数据库,但分布式为数据库带来了更加复杂的场景。
+虽然 Apache ShardingSphere 希望能够完全兼容所有的 SQL 以及单机数据库,但分布式为数据库带来了更加复杂的场景。
 Apache ShardingSphere 希望能够优先解决海量数据 OLTP 的问题,OLAP 的相关支持,会一点一点的逐渐完善。
diff --git a/docs/document/content/features/sharding/use-norms/sql.cn.md b/docs/document/content/features/sharding/use-norms/sql.cn.md
index adbf70e..fe01b4f 100644
--- a/docs/document/content/features/sharding/use-norms/sql.cn.md
+++ b/docs/document/content/features/sharding/use-norms/sql.cn.md
@@ -3,37 +3,7 @@ title = "SQL"
 weight = 1
 +++
 
-由于 SQL 语法灵活复杂,面向分布式的数据库和单机数据库的查询场景又不完全相同,难免有和单机数据库不兼容的 SQL 出现。
-
-本文详细罗列出已明确可支持的 SQL 种类以及已明确不支持的 SQL 种类,供使用者参考。
-
-其中有未涉及到的 SQL 欢迎补充,未支持的 SQL 也尽量会在未来的版本中支持。
-
-## 解析引擎
-
-解析引擎负责将 SQL 字符串解析为抽象语法树。
-目前支持 MySQL, PostgreSQL, SQLServer, Oracle, openGauss 以及符合 SQL92 规范的 SQL。
-由于 SQL 语法的复杂性,目前仍然存在少量解析引擎不支持的 SQL。
-
-清单如下:
-
-| MySQL                                                        |
-| ------------------------------------------------------------ |
-| FLUSH PRIVILEGES                                             |
-| CLONE LOCAL DATA DIRECTORY = 'clone_dir'                     |
-| INSTALL COMPONENT 'file://component1', 'file://component2'   |
-| UNINSTALL COMPONENT 'file://component1', 'file://component2' |
-| SHOW CREATE USER user                                        |
-| REPAIR TABLE t_order                                         |
-| OPTIMIZE TABLE t_order                                       |
-| CHECKSUM TABLE t_order                                       |
-| CHECK TABLE t_order                                          |
-| SET RESOURCE GROUP group_name                                |
-| DROP RESOURCE GROUP group_name                               |
-| CREATE RESOURCE GROUP group_name TYPE = SYSTEM               |
-| ALTER RESOURCE GROUP rg1 VCPU = 0-63                         |
-
-## 数据分片
+## SQL 支持程度
 
 兼容全部常用的**路由至单数据节点**的 SQL;
 **路由至多数据节点**的 SQL 由于场景复杂,分为稳定支持、实验性支持和不支持这三种情况。
diff --git a/docs/document/content/features/sharding/use-norms/sql.en.md b/docs/document/content/features/sharding/use-norms/sql.en.md
index 14fa804..8cf8fdf 100644
--- a/docs/document/content/features/sharding/use-norms/sql.en.md
+++ b/docs/document/content/features/sharding/use-norms/sql.en.md
@@ -3,38 +3,7 @@ title = "SQL"
 weight = 1
 +++
 
-Since the SQL syntax is flexible and complex and distributed databases and stand-alone databases do not have identical query scenarios, SQLs incompatible with stand-alone databases are hard to avoid.
-
-This document has listed identified supported SQL types and unsupported SQL types, trying to avoid traps for users.
-
-It is inevitably to have some unlisted SQLs, welcome to supplement for that. 
-We will also try to support those unavailable SQLs in future versions.
-
-## Parse Engine
-
-Parse engine used to parse SQL into an abstract syntax tree.
-It supports MySQL, PostgreSQL, SQLServer, Oracle, openGauss and SQL that conform to the SQL92 specification. 
-However, due to the complexity of SQL syntax, there are still a little of SQL that the parse engine does not support.
-
-The list is as follows:
-
-| MySQL                                                        |
-| ------------------------------------------------------------ |
-| FLUSH PRIVILEGES                                             |
-| CLONE LOCAL DATA DIRECTORY = 'clone_dir'                     |
-| INSTALL COMPONENT 'file://component1', 'file://component2'   |
-| UNINSTALL COMPONENT 'file://component1', 'file://component2' |
-| SHOW CREATE USER user                                        |
-| REPAIR TABLE t_order                                         |
-| OPTIMIZE TABLE t_order                                       |
-| CHECKSUM TABLE t_order                                       |
-| CHECK TABLE t_order                                          |
-| SET RESOURCE GROUP group_name                                |
-| DROP RESOURCE GROUP group_name                               |
-| CREATE RESOURCE GROUP group_name TYPE = SYSTEM               |
-| ALTER RESOURCE GROUP rg1 VCPU = 0-63                         |
-
-## Data Sharding
+## SQL Supporting Status
 
 Compatible with all regular SQL when **routing to single data node**;
 **The SQL routing to multiple data nodes** is pretty complex, it divides the scenarios as totally supported, experimental supported and unsupported.