Skip to content

DDL语法中添加对alter TABLE option的功能审核 #716

@SisyphusSQ

Description

@SisyphusSQ

描述您想要的功能:
目前版本的goInception对 table opntion的修改和rename index的语法校验没有支持,希望加上。

示例:

CREATE TABLE employee (
    id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    user_name VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE,
    department_id BIGINT,
    salary DECIMAL(10,2),
    user_status TINYINT DEFAULT 1,
    created_at datetime DEFAULT CURRENT_TIMESTAMP,
    updated_at datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) DEFAULT CHARSET=utf8mb4 COMPRESSION='lz4_1.0' REPLICA_NUM=3
  PARTITION BY HASH(department_id) PARTITIONS 4;

ALTER TABLE employee RENAME INDEX idx_name TO idx_user_name;
+----------+---------+-------------+-----------------+-------------------------------+-------------------------------------------------------------+---------------+--------------+---------------+--------------+---------+-------------+-----------+
| order_id |  stage  | error_level |   stage_status  |         error_message         |                             sql                             | affected_rows |   sequence   | backup_dbname | execute_time | sqlsha1 | backup_time | needMerge |
+----------+---------+-------------+-----------------+-------------------------------+-------------------------------------------------------------+---------------+--------------+---------------+--------------+---------+-------------+-----------+
|    1     | CHECKED |      0      | Audit Completed |              None             |                     use public_test_htap                    |       0       | 0_0_00000000 |      None     |      0       |   None  |      0      |     0     |
|    2     | CHECKED |      2      | Audit Completed | Not supported statement type. | ALTER TABLE employee RENAME INDEX idx_name TO idx_user_name |       0       | 0_0_00000001 |      None     |      0       |   None  |      0      |     0     |
+----------+---------+-------------+-----------------+-------------------------------+-------------------------------------------------------------+---------------+--------------+---------------+--------------+---------+-------------+-----------+

ALTER TABLE employee COMPRESSION='zstd_1.0';
+----------+---------+-------------+-----------------+-----------------------------------------+---------------------------------------------+---------------+--------------+---------------+--------------+---------+-------------+-----------+
| order_id |  stage  | error_level |   stage_status  |              error_message              |                     sql                     | affected_rows |   sequence   | backup_dbname | execute_time | sqlsha1 | backup_time | needMerge |
+----------+---------+-------------+-----------------+-----------------------------------------+---------------------------------------------+---------------+--------------+---------------+--------------+---------+-------------+-----------+
|    1     | CHECKED |      0      | Audit Completed |                   None                  |             use public_test_htap            |       0       | 0_0_00000000 |      None     |      0       |   None  |      0      |     0     |
|    2     | CHECKED |      1      | Audit Completed | Not supported statement of alter option | ALTER TABLE employee COMPRESSION='zstd_1.0' |       0       | 0_0_00000001 |      None     |      0       |   None  |      0      |     0     |
+----------+---------+-------------+-----------------+-----------------------------------------+---------------------------------------------+---------------+--------------+---------------+--------------+---------+-------------+-----------+


ALTER TABLE employee ROW_FORMAT=DYNAMIC;
+----------+---------+-------------+-----------------+-----------------------------------------+-----------------------------------------+---------------+--------------+---------------+--------------+---------+-------------+-----------+
| order_id |  stage  | error_level |   stage_status  |              error_message              |                   sql                   | affected_rows |   sequence   | backup_dbname | execute_time | sqlsha1 | backup_time | needMerge |
+----------+---------+-------------+-----------------+-----------------------------------------+-----------------------------------------+---------------+--------------+---------------+--------------+---------+-------------+-----------+
|    1     | CHECKED |      0      | Audit Completed |                   None                  |           use public_test_htap          |       0       | 0_0_00000000 |      None     |      0       |   None  |      0      |     0     |
|    2     | CHECKED |      1      | Audit Completed | Not supported statement of alter option | ALTER TABLE employee ROW_FORMAT=DYNAMIC |       0       | 0_0_00000001 |      None     |      0       |   None  |      0      |     0     |
+----------+---------+-------------+-----------------+-----------------------------------------+-----------------------------------------+---------------+--------------+---------------+--------------+---------+-------------+-----------+

可参考文档,资料,引用等:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003977779
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003980318
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003980533 (重命名索引)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions