Skip to content

on condition lower_case_table_names =1, error caused by schema_name case sensitive #771

@yexiaoli88

Description

@yexiaoli88
  • dble version:5.6.29-dble-9.9.9.9-0b5816d-20181016014338
  • preconditions :
    no
  • configs:

schema.xml

<schema name="DBTEST">
            <table name="Test_Table" dataNode="dn1,dn2,dn3,dn4" rule="hash-four" />
 </schema>
<schema dataNode="dn5" name="mytest" sqlMaxLimit="100">
	<table dataNode="dn1,dn2,dn3,dn4" name="test" type="global" />
</schema>

server.xml

  <user name="root">
        <property name="password">111111</property>
        <property name="manager">true</property>
      </user>
      <user name="test">
        <property name="password">111111</property>
        <property name="schemas">mytest, DbTest</property>
      </user>

  • steps:
    step1. vim my.cnf on backend msyql ,set lower_case_table_names = 1 ,restart ,mysql
    step2: restart dble
    step 3: query in dble
mysql> show databases;
+----------+
| DATABASE |
+----------+
| dbtest   |
| mytest   |

mysql> use mytest;

mysql> select t1.id from dbtest.Test_Table t1,test t2 where t1.id=t2.id and t1.id = 1;
Empty set (0.01 sec)

mysql> select t1.id from DbTest.Test_Table t1,test t2 where t1.id=t2.id and t1.id = 1;
ERROR 1146 (42S02): Table `DbTest`.`Test_Table` doesn't exist

mysql> explain select t1.id from DbTest.Test_Table t1,test t2 where t1.id=t2.id and t1.id = 1;
ERROR 1146 (HY000): Table `DbTest`.`Test_Table` doesn't exist
  • expect result:
    1. schema name should case insensitive
  • real result:
    1. schema name should case sensitive
  • supplements:
    1. autotest position:
      features/cfg_test/lower_case_table_names.ffeature

/label ~BUG

Metadata

Metadata

Assignees

Labels

resolveproblem has been fixed by developerverifiedissue's resolve was verified by tester

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions