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

update mysql-compatibility #1079

Merged
merged 1 commit into from
May 29, 2024
Merged
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
20 changes: 10 additions & 10 deletions docs/MatrixOne/Overview/feature/mysql-compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ MatrixOne 与 MySQL 8.0 的协议,以及 MySQL 8.0 常用的功能和语法都

### TABLE 相关

* 不支持 `CREATE TABLE .. AS SELECT` 语句。
* 不支持表定义中的 `ENGINE=`,但 MatrixOne 会直接忽略 `ENGINE=`。
* ALTER TABLE 中的这些子句:`CHANGE [COLUMN]`,`MODIFY [COLUMN]`,`RENAME COLUMN`,`ADD [CONSTRAINT [symbol]] PRIMARY KEY`,`DROP PRIMARY KEY` 和 `ALTER COLUMN ORDER BY` 可以在 ALTER TABLE 语句中自由组合使用,但不支持与其他子句一起使用。
* 临时表暂不支持使用 `ALTER TABLE` 修改表结构。
Expand Down Expand Up @@ -79,7 +78,7 @@ MatrixOne 与 MySQL 8.0 的协议,以及 MySQL 8.0 常用的功能和语法都

### INSERT 相关

* MatrixOne 不支持 `LOW_PRIORITY`,`DELAYED`,`HIGH_PRIORITY`,`IGNORE` 等修饰符。
* MatrixOne 不支持 `LOW_PRIORITY`,`DELAYED`,`HIGH_PRIORITY` 等修饰符。

### UPDATE 相关

Expand All @@ -96,7 +95,6 @@ MatrixOne 与 MySQL 8.0 的协议,以及 MySQL 8.0 常用的功能和语法都
### LOAD 相关

* MatrixOne 支持 `SET`,但只支持 `SET columns_name=nullif(expr1,expr2)` 的形式。
* MatrixOne 不支持 `ESCAPED BY`。
* MatrixOne 支持客户端执行 `LOAD DATA LOCAL`,但在连接时必须加入 `--local-infile` 参数。
* MatrixOne 支持导入 `JSONlines` 文件,但需要使用一些特殊的语法。
* MatrixOne 支持从对象存储导入文件,但需要使用一些特殊的语法。
Expand All @@ -120,7 +118,7 @@ MatrixOne 与 MySQL 8.0 的协议,以及 MySQL 8.0 常用的功能和语法都

## 流计算

* 流计算属于 MatrixOne 独有功能,目前 1.1 版本仅支持 Kafka 连接器。
* 流计算属于 MatrixOne 独有功能,目前 1.2.0 版本仅支持 Kafka 连接器。
* Kafka 连接器需要通过特殊语法创建及使用。

## 数据类型
Expand All @@ -131,14 +129,15 @@ MatrixOne 与 MySQL 8.0 的协议,以及 MySQL 8.0 常用的功能和语法都
* DATETIME: MySQL 的最大取值范围为 `'1000-01-01 00:00:00'` 到 `'9999-12-31 23:59:59'`,MatrixOne 的最大范围为 `'0001-01-01 00:00:00'` 到 `'9999-12-31 23:59:59'`。
* TIMESTAMP: MySQL 的最大取值范围是 `'1970-01-01 00:00:01.000000'` UTC 到 `'2038-01-19 03:14:07.999999'` UTC,MatrixOne 的最大范围 `'0001-01-01 00:00:00'` UTC 到 `'9999-12-31 23:59:59'` UTC。
* MatrixOne 支持 UUID 类型。
* MatrixOne 支持向量类型。
* 不支持空间 Spatial 类型。
* 不支持 BIT,SET 类型。
* 不支持 SET 类型。
* 不支持 MEDIUMINT 类型。

## 索引和约束

* MatrixOne 支持向量索引。
* 次级索引在 `IN`, `Between and` 及 `Like` 语句中暂时不生效。
* 外键不支持自引用。
* 外键不支持 `ON CASCADE DELETE` 级联删除。

## 分区支持
Expand All @@ -150,7 +149,7 @@ MatrixOne 与 MySQL 8.0 的协议,以及 MySQL 8.0 常用的功能和语法都

## 关键字

* MatrixOne 中比 MySQL 多了三个保留关键字,`begin`, `reindex`, `ownership`, 用于 Database/Table/Column 创建时需要增加反引号
* MatrixOne MySQL 关键字差异较多,请参考 [MatrixOne 关键字](../../Reference/Language-Structure/keywords.md)

## 函数与操作符

Expand Down Expand Up @@ -197,13 +196,14 @@ MatrixOne 与 MySQL 8.0 的协议,以及 MySQL 8.0 常用的功能和语法都
## 备份恢复

* 支持基于 mobackup 工具的物理备份。
* 支持快照备份
* 不支持 mysqldump 备份工具,仅支持 mo-dump 工具。
* 不支持 binlog 日志备份。
* 不支持增量备份。

## 系统变量

* MatrixOne 的 `lower_case_table_names` 有 5 种模式,默认为 1。
* MatrixOne 的 `lower_case_table_names` 有 2 种模式,默认为 1。
* MatrixOne 的 `sql_mode` 只支持 `ONLY_FULL_GROUP_BY` 一种模式

## 系统表

Expand All @@ -215,7 +215,7 @@ MatrixOne 与 MySQL 8.0 的协议,以及 MySQL 8.0 常用的功能和语法都

## 编程语言

* Java,Python,Golang 连接器和 ORM 基本支持,其他语言的连接器及 ORM 可能会碰到兼容性问题。
* Java,Python,C#,Golang 连接器和 ORM 基本支持,其他语言的连接器及 ORM 可能会碰到兼容性问题。

## 其他支持工具

Expand Down
Loading