mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 14:54:20 +01:00
295fc5834a
Problem was that ha_partition had HA_FILE_BASED flag set (since it uses a .par file), but after open it uses the first partitions flags, which results in different case handling for create and for open. Solution was to change the underlying partition name so it was consistent. (Only happens when lower_case_table_names = 2, i.e. Mac OS X and storage engines without HA_FILE_BASED, like InnoDB and Memory.) (Recommit after adding rename of check_lowercase_names to get_canonical_filename, and moved it from handler.h to mysql_priv.h) NOTE: if a mixed case name for a partitioned table was created when lower_case_table_name = 2 it should be renamed or dropped before using the updated version (See bug#37402 for more info)
36 lines
817 B
Text
36 lines
817 B
Text
#
|
|
# Test of force of lower-case-table-names=0
|
|
# (User has case insensitive file system and wants to preserve case of
|
|
# table names)
|
|
#
|
|
|
|
--source include/have_innodb.inc
|
|
--source include/have_lowercase0.inc
|
|
--source include/have_case_insensitive_file_system.inc
|
|
--source include/not_windows.inc
|
|
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t1,T1;
|
|
--enable_warnings
|
|
|
|
#
|
|
# This is actually an error, but ok as the user has forced this
|
|
# by using --lower-case-table-names=0
|
|
|
|
CREATE TABLE t1 (a int);
|
|
SELECT * from T1;
|
|
drop table t1;
|
|
flush tables;
|
|
|
|
#
|
|
# InnoDB should in this case be case sensitive
|
|
# Note that this is not true on windows as no this OS, InnoDB is always
|
|
# storing things in lower case.
|
|
#
|
|
|
|
CREATE TABLE bug29839 (a int) ENGINE=INNODB;
|
|
--error 1146
|
|
SELECT * from BUG29839;
|
|
drop table bug29839;
|
|
|
|
# End of 4.1 tests
|