Skip to content

lower_case_table_names=1 causes error #1036

Closed
@ghost

Description

-- 修改my.cnf: lower_case_table_names=1
select @@lower_case_table_names;

create schema if not exists a1036;
use a1036;

drop table if exists AAA;
create table AAA (id int primary key auto_increment);
alter table AAA add column val int;
-- alter table 复制报错: table does not exist in sqle.context

现状

  • 当lower_case_table_names=1时, dtle通过修改ast并重写sql (使用tidb parser), 使库表名小
    写化, 然后送至sqleContext计算表结构.

问题

  • sqleContext处理alter table时, 引用了原表(未经小写化)的语句, 而非仅使用ast

修复

  • 重写sql后, 重新生成ast

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions