OpenTenBase / OpenTenBase/TXSQL

conversion from myisam to innodb failed when create partition table

未关闭
#64 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
C++
星标
338
派生
235
PR 合并指标
30 天内没有已合并 PR

描述

Problem:

when myisam_conversion_innodb and tencent_myisam_conversion_innodb are
opened in instance, user execute following statement will fail.

CREATE TABLE trb9 (id INT, name VARCHAR(50), purchased DATE) ENGINE=MYISAM
PARTITION BY RANGE( YEAR(purchased) ) (
PARTITION p0 VALUES LESS THAN (1990) ENGINE=MYISAM,
PARTITION p1 VALUES LESS THAN (1995) ENGINE=MYISAM,
PARTITION p2 VALUES LESS THAN (2000) ENGINE=MYISAM,
PARTITION p3 VALUES LESS THAN (2005) ENGINE=MYISAM
);

the reason for this problem is that myisam_conversion_innodb only
convert the table engine to innodb but the partition engine still be
myisam so table engine and partition engine are different.

Solution:

Convert partition engine to innodb if it is myisam.

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先定位 myisam_conversion_innodb 和 tencent_myisam_conversion_innodb,然后跟踪分区 CREATE TABLE 语句如何处理表和分区的引擎。启用这些设置后重现所提供的 SQL。完成标准是:将带有 MYISAM 分区的 MYISAM 表进行转换,使表和每个分区都使用 InnoDB,且不会失败。

由索引模型根据 Issue 内容生成。

评估

技术栈
cpp
领域
databases
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
冷清
描述清晰度
描述清楚
新手友好度
68/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。