mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug#37402: Mysql cant read partitioned table with capital letter in the name
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) mysql-test/include/have_case_insensitive_file_system.inc: Bug#37402: Mysql cant read partitioned table with capital letter in the name Added include file. mysql-test/include/have_lowercase0.inc: Bug#37402: Mysql cant read partitioned table with capital letter in the name moved case insensitive file system to a new file, leaving only lower_case_table_names. mysql-test/include/have_lowercase2.inc: Bug#37402: Mysql cant read partitioned table with capital letter in the name Added include file. mysql-test/lib/mtr_report.pl: Bug#37402: Mysql cant read partitioned table with capital letter in the name Removed a duplicate row and suppressed warning about setting lower_case_table_names to 2 on case sensitive file systems. mysql-test/r/case_insensitive_file_system.require: Bug#37402: Mysql cant read partitioned table with capital letter in the name Added requirement file. mysql-test/r/lowercase0.require: Bug#37402: Mysql cant read partitioned table with capital letter in the name moved case insensitive file system to a new file, leaving only lower_case_table_names. mysql-test/suite/parts/inc/partition_mgm.inc: Bug#37402: Mysql cant read partitioned table with capital letter in the name New include file for testing partitioning management functions for different settings of lower_case_table_names. mysql-test/suite/parts/r/partition_mgm_lc0_archive.result: Bug#37402: Mysql cant read partitioned table with capital letter in the name New result file. mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result: Bug#37402: Mysql cant read partitioned table with capital letter in the name New result file. mysql-test/suite/parts/r/partition_mgm_lc0_memory.result: Bug#37402: Mysql cant read partitioned table with capital letter in the name New result file. mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result: Bug#37402: Mysql cant read partitioned table with capital letter in the name New result file. mysql-test/suite/parts/r/partition_mgm_lc0_ndb.result: Bug#37402: Mysql cant read partitioned table with capital letter in the name New result file. mysql-test/suite/parts/r/partition_mgm_lc1_archive.result: Bug#37402: Mysql cant read partitioned table with capital letter in the name New result file. mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result: Bug#37402: Mysql cant read partitioned table with capital letter in the name New result file. mysql-test/suite/parts/r/partition_mgm_lc1_memory.result: Bug#37402: Mysql cant read partitioned table with capital letter in the name New result file. mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result: Bug#37402: Mysql cant read partitioned table with capital letter in the name New result file. mysql-test/suite/parts/r/partition_mgm_lc1_ndb.result: Bug#37402: Mysql cant read partitioned table with capital letter in the name New result file. mysql-test/suite/parts/r/partition_mgm_lc2_archive.result: Bug#37402: Mysql cant read partitioned table with capital letter in the name New result file. mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result: Bug#37402: Mysql cant read partitioned table with capital letter in the name New result file. mysql-test/suite/parts/r/partition_mgm_lc2_memory.result: Bug#37402: Mysql cant read partitioned table with capital letter in the name New result file. mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result: Bug#37402: Mysql cant read partitioned table with capital letter in the name New result file. mysql-test/suite/parts/r/partition_mgm_lc2_ndb.result: Bug#37402: Mysql cant read partitioned table with capital letter in the name New result file. mysql-test/suite/parts/t/partition_mgm_lc0_archive.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name New test file. mysql-test/suite/parts/t/partition_mgm_lc0_innodb.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name New test file. mysql-test/suite/parts/t/partition_mgm_lc0_memory.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name New test file. mysql-test/suite/parts/t/partition_mgm_lc0_myisam.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name New test file. mysql-test/suite/parts/t/partition_mgm_lc0_ndb.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name New test file. mysql-test/suite/parts/t/partition_mgm_lc1_archive-master.opt: Bug#37402: Mysql cant read partitioned table with capital letter in the name New opt file. mysql-test/suite/parts/t/partition_mgm_lc1_archive.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name New test file. mysql-test/suite/parts/t/partition_mgm_lc1_innodb-master.opt: Bug#37402: Mysql cant read partitioned table with capital letter in the name New opt file. mysql-test/suite/parts/t/partition_mgm_lc1_innodb.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name New test file. mysql-test/suite/parts/t/partition_mgm_lc1_memory-master.opt: Bug#37402: Mysql cant read partitioned table with capital letter in the name New opt file. mysql-test/suite/parts/t/partition_mgm_lc1_memory.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name New test file. mysql-test/suite/parts/t/partition_mgm_lc1_myisam-master.opt: Bug#37402: Mysql cant read partitioned table with capital letter in the name New opt file. mysql-test/suite/parts/t/partition_mgm_lc1_myisam.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name New test file. mysql-test/suite/parts/t/partition_mgm_lc1_ndb-master.opt: Bug#37402: Mysql cant read partitioned table with capital letter in the name New opt file. mysql-test/suite/parts/t/partition_mgm_lc1_ndb.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name New test file. mysql-test/suite/parts/t/partition_mgm_lc2_archive-master.opt: Bug#37402: Mysql cant read partitioned table with capital letter in the name New opt file. mysql-test/suite/parts/t/partition_mgm_lc2_archive.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name New test file. mysql-test/suite/parts/t/partition_mgm_lc2_innodb-master.opt: Bug#37402: Mysql cant read partitioned table with capital letter in the name New opt file. mysql-test/suite/parts/t/partition_mgm_lc2_innodb.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name New test file. mysql-test/suite/parts/t/partition_mgm_lc2_memory-master.opt: Bug#37402: Mysql cant read partitioned table with capital letter in the name New opt file. mysql-test/suite/parts/t/partition_mgm_lc2_memory.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name New test file. mysql-test/suite/parts/t/partition_mgm_lc2_myisam-master.opt: Bug#37402: Mysql cant read partitioned table with capital letter in the name New opt file. mysql-test/suite/parts/t/partition_mgm_lc2_myisam.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name New test file. mysql-test/suite/parts/t/partition_mgm_lc2_ndb-master.opt: Bug#37402: Mysql cant read partitioned table with capital letter in the name New opt file. mysql-test/suite/parts/t/partition_mgm_lc2_ndb.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name New test file. mysql-test/t/lowercase_table3.test: Bug#37402: Mysql cant read partitioned table with capital letter in the name Moved case sensitive file system to a specific inc-file instead of included in lowercase0.inc sql/ha_partition.cc: Bug#37402: Mysql cant read partitioned table with capital letter in the name Problem was that ha_partition had HA_FILE_BASED set (since it uses a .par file), but after open it uses the first partitions table_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) sql/handler.cc: Bug#37402: Mysql cant read partitioned table with capital letter in the name Renamed check_lowercase_names to get_canonical_filename, and exported it so that ha_partition.cc can use the function. sql/mysql_priv.h: Bug#37402: Mysql cant read partitioned table with capital letter in the name Renamed check_lowercase_names to get_canonical_filename, and exported it so that ha_partition.cc can use the function.
This commit is contained in:
@ -327,7 +327,6 @@ sub mtr_report_stats ($) {
|
||||
/Sort aborted/ or
|
||||
/Time-out in NDB/ or
|
||||
/One can only use the --user.*root/ or
|
||||
/Setting lower_case_table_names=2/ or
|
||||
/Table:.* on (delete|rename)/ or
|
||||
/You have an error in your SQL syntax/ or
|
||||
/deprecated/ or
|
||||
@ -402,7 +401,15 @@ sub mtr_report_stats ($) {
|
||||
)) or
|
||||
|
||||
# Test case for Bug#31590 produces the following error:
|
||||
/Out of sort memory; increase server sort buffer size/
|
||||
/Out of sort memory; increase server sort buffer size/ or
|
||||
|
||||
# lowercase_table3 using case sensitive option on
|
||||
# case insensitive filesystem (InnoDB error).
|
||||
/Cannot find or open table test\/BUG29839 from/ or
|
||||
|
||||
# When trying to set lower_case_table_names = 2
|
||||
# on a case sensitive file system. Bug#37402.
|
||||
/lower_case_table_names was set to 2, even though your the file system '.*' is case sensitive. Now setting lower_case_table_names to 0 to avoid future problems./
|
||||
)
|
||||
{
|
||||
next; # Skip these lines
|
||||
|
Reference in New Issue
Block a user