Skip to content

Commit 4e03ff0

Browse files
author
Arun Kuruvila
committed
Merge branch 'mysql-5.5' into mysql-5.6
2 parents a7b8805 + f4ff086 commit 4e03ff0

32 files changed

+102
-72
lines changed

mysql-test/r/lowercase_fs_on.result

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#
2+
# Bug#20198490 : LOWER_CASE_TABLE_NAMES=0 ON WINDOWS LEADS TO PROBLEMS
3+
#

mysql-test/r/lowercase_table3.result

-11
This file was deleted.

mysql-test/suite/innodb/t/innodb_bug60229-master.opt

-1
This file was deleted.

mysql-test/suite/innodb/t/innodb_bug60229.test

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
# Bug #13083023 - 60229: BROKEN COMPATIBILITY: ERROR WHILE CREATE TABLE
33
# WITH FOREIGN KEY CONSTRAINT.
44

5+
#Server variable option 'lower_case_table_names' sets '0' as default value
6+
#in case sensitive filesystem. Using 'lower_case_table_names=0' in case of
7+
#insensitive filsystem is not allowed.
8+
-- source include/have_case_sensitive_file_system.inc
59
-- source include/have_innodb.inc
610

711
CREATE TABLE PERSON (

mysql-test/suite/jp/t/jp_enum_sjis-master.opt

-1
This file was deleted.

mysql-test/suite/jp/t/jp_enum_sjis.test

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
#Server variable option 'lower_case_table_names' sets '0' as default value
2+
#in case sensitive filesystem. Using 'lower_case_table_names=0' in case of
3+
#insensitive filsystem is not allowed.
4+
-- source include/have_case_sensitive_file_system.inc
15
--source include/have_sjis.inc
26
--source include/have_innodb.inc
37
--character_set sjis

mysql-test/suite/jp/t/jp_enum_ucs2-master.opt

-1
This file was deleted.

mysql-test/suite/jp/t/jp_enum_ucs2.test

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
#Server variable option 'lower_case_table_names' sets '0' as default value
2+
#in case sensitive filesystem. Using 'lower_case_table_names=0' in case of
3+
#insensitive filsystem is not allowed.
4+
-- source include/have_case_sensitive_file_system.inc
15
--source include/have_ucs2.inc
26
--source include/have_innodb.inc
37

mysql-test/suite/jp/t/jp_enum_ujis-master.opt

-1
This file was deleted.

mysql-test/suite/jp/t/jp_enum_ujis.test

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
#Server variable option 'lower_case_table_names' sets '0' as default value
2+
#in case sensitive filesystem. Using 'lower_case_table_names=0' in case of
3+
#insensitive filsystem is not allowed.
4+
-- source include/have_case_sensitive_file_system.inc
15
--source include/have_ujis.inc
26
--source include/have_innodb.inc
37

mysql-test/suite/jp/t/jp_enum_utf8-master.opt

-1
This file was deleted.

mysql-test/suite/jp/t/jp_enum_utf8.test

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
#Server variable option 'lower_case_table_names' sets '0' as default value
2+
#in case sensitive filesystem. Using 'lower_case_table_names=0' in case of
3+
#insensitive filsystem is not allowed.
4+
-- source include/have_case_sensitive_file_system.inc
15
--source include/have_utf8.inc
26
--source include/have_innodb.inc
37
--disable_warnings

mysql-test/suite/ndb_binlog/t/ndb_binlog_restore-master.opt

-2
This file was deleted.

mysql-test/suite/ndb_binlog/t/ndb_binlog_restore.test

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
#Server variable option 'lower_case_table_names' sets '0' as default value
2+
#in case sensitive filesystem. Using 'lower_case_table_names=0' in case of
3+
#insensitive filsystem is not allowed.
4+
-- source include/have_case_sensitive_file_system.inc
15
-- source include/have_ndb.inc
26
-- source include/have_binlog_format_mixed_or_row.inc
37

Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
--replicate-do-db=MYDB --replicate-do-table=mydb.T1 --replicate-do-table=mydb.t2 --lower_case_table_names=0
1+
--replicate-do-db=MYDB --replicate-do-table=mydb.T1 --replicate-do-table=mydb.t2

mysql-test/suite/rpl/t/rpl_do_db_filter.test

+4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
# sensitive when setting lower_case_table_name = 0
66
#
77

8+
#Server variable option 'lower_case_table_names' sets '0' as default value
9+
#in case sensitive filesystem. Using 'lower_case_table_names=0' in case of
10+
#insensitive filsystem is not allowed.
11+
-- source include/have_case_sensitive_file_system.inc
812
-- source include/not_gtid_enabled.inc
913
-- source include/master-slave.inc
1014
-- source include/have_binlog_format_statement.inc

mysql-test/suite/rpl/t/rpl_do_table_filter_sensitive-master.opt

-1
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
--replicate-do-db=mydb --replicate-do-table=mydb.Ţ1 --replicate-do-table=mydb.t2 --lower_case_table_names=0
1+
--replicate-do-db=mydb --replicate-do-table=mydb.Ţ1 --replicate-do-table=mydb.t2

mysql-test/suite/rpl/t/rpl_do_table_filter_sensitive.test

+5
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,10 @@
55
# sensitive and accent sensitive when setting
66
# lower_case_table_name == 0
77
#
8+
9+
#Server variable option 'lower_case_table_names' sets '0' as default value
10+
#in case sensitive filesystem. Using 'lower_case_table_names=0' in case of
11+
#insensitive filsystem is not allowed.
12+
-- source include/have_case_sensitive_file_system.inc
813
--source include/not_gtid_enabled.inc
914
--source extra/rpl_tests/rpl_do_table_filter_sensitive.inc

mysql-test/suite/rpl/t/rpl_gtid_do_table_filter_sensitive-master.opt

-1
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
--replicate-do-db=mydb --replicate-do-table=mydb.Ţ1 --replicate-do-table=mydb.t2 --lower_case_table_names=0
1+
--replicate-do-db=mydb --replicate-do-table=mydb.Ţ1 --replicate-do-table=mydb.t2

mysql-test/suite/rpl/t/rpl_gtid_do_table_filter_sensitive.test

+5
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,10 @@
55
# sensitive and accent sensitive when setting
66
# lower_case_table_name == 0
77
#
8+
9+
#Server variable option 'lower_case_table_names' sets '0' as default value
10+
#in case sensitive filesystem. Using 'lower_case_table_names=0' in case of
11+
#insensitive filsystem is not allowed.
12+
-- source include/have_case_sensitive_file_system.inc
813
--source include/have_gtid.inc
914
--source extra/rpl_tests/rpl_do_table_filter_sensitive.inc

mysql-test/suite/rpl/t/rpl_gtid_ignore_table_filter_sensitive-master.opt

-1
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
--replicate-do-db=mydb --replicate-wild-ignore-table=my%.Ţ1 --replicate-ignore-table=mydb.t2 --replicate-ignore-table=mydb.t3 --lower_case_table_names=0
1+
--replicate-do-db=mydb --replicate-wild-ignore-table=my%.Ţ1 --replicate-ignore-table=mydb.t2 --replicate-ignore-table=mydb.t3

mysql-test/suite/rpl/t/rpl_gtid_ignore_table_filter_sensitive.test

+5
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44
# the setting of lower_case_table_name to be case sensitive
55
# and accent sensitive when setting lower_case_table_name=0
66
#
7+
8+
#Server variable option 'lower_case_table_names' sets '0' as default value
9+
#in case sensitive filesystem. Using 'lower_case_table_names=0' in case of
10+
#insensitive filsystem is not allowed.
11+
-- source include/have_case_sensitive_file_system.inc
712
--source include/have_gtid.inc
813
--source extra/rpl_tests/rpl_ignore_table_filter_sensitive.inc
914

mysql-test/suite/rpl/t/rpl_ignore_table_filter_sensitive-master.opt

-1
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
--replicate-do-db=mydb --replicate-wild-ignore-table=my%.Ţ1 --replicate-ignore-table=mydb.t2 --replicate-ignore-table=mydb.t3 --lower_case_table_names=0
1+
--replicate-do-db=mydb --replicate-wild-ignore-table=my%.Ţ1 --replicate-ignore-table=mydb.t2 --replicate-ignore-table=mydb.t3

mysql-test/suite/rpl/t/rpl_ignore_table_filter_sensitive.test

+5
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,10 @@
44
# the setting of lower_case_table_name to be case sensitive
55
# and accent sensitive when setting lower_case_table_name=0
66
#
7+
8+
#Server variable option 'lower_case_table_names' sets '0' as default value
9+
#in case sensitive filesystem. Using 'lower_case_table_names=0' in case of
10+
#insensitive filsystem is not allowed.
11+
-- source include/have_case_sensitive_file_system.in
712
--source include/not_gtid_enabled.inc
813
--source extra/rpl_tests/rpl_ignore_table_filter_sensitive.inc

mysql-test/t/lowercase_fs_on.test

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#
2+
# Specific tests for case-insensitive file systems
3+
# i.e. lower_case_filesystem=ON
4+
#
5+
-- source include/have_case_insensitive_file_system.inc
6+
# Embedded server does not support restarting.
7+
--source include/not_embedded.inc
8+
9+
--echo #
10+
--echo # Bug#20198490 : LOWER_CASE_TABLE_NAMES=0 ON WINDOWS LEADS TO PROBLEMS
11+
--echo #
12+
13+
let SEARCH_FILE= $MYSQLTEST_VARDIR/log/my_restart.err;
14+
15+
--error 0,1
16+
--remove_file $SEARCH_FILE
17+
18+
#Shutdown the server
19+
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
20+
--shutdown_server
21+
--source include/wait_until_disconnected.inc
22+
23+
#Start the server with --lower_case_table_names=0 in Windows.
24+
--enable_reconnect
25+
--error 1
26+
--exec $MYSQLD_CMD --lower_case_table_names=0 > $SEARCH_FILE 2>&1
27+
28+
#Search for the error messege in the server error log.
29+
let SEARCH_PATTERN= \[ERROR\] The server option \'lower_case_table_names\' is configured to use case sensitive table names but the data directory is on a case-insensitive file system which is an unsupported combination\. Please consider either using a case sensitive file system for your data directory or switching to a case-insensitive table name mode\.;
30+
--source include/search_pattern_in_file.inc
31+
32+
#Restart the server
33+
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
34+
--source include/wait_until_connected_again.inc
35+
36+
#Cleanup
37+
--error 0,1
38+
--remove_file $SEARCH_FILE

mysql-test/t/lowercase_table3-master.opt

-1
This file was deleted.

mysql-test/t/lowercase_table3.test

-37
This file was deleted.

sql/mysqld.cc

+8-7
Original file line numberDiff line numberDiff line change
@@ -4123,13 +4123,14 @@ int init_common_variables()
41234123
{
41244124
if (lower_case_table_names_used)
41254125
{
4126-
if (log_warnings)
4127-
sql_print_warning("\
4128-
You have forced lower_case_table_names to 0 through a command-line \
4129-
option, even though your file system '%s' is case insensitive. This means \
4130-
that you can corrupt a MyISAM table by accessing it with different cases. \
4131-
You should consider changing lower_case_table_names to 1 or 2",
4132-
mysql_real_data_home);
4126+
sql_print_error("The server option 'lower_case_table_names' is "
4127+
"configured to use case sensitive table names but the "
4128+
"data directory is on a case-insensitive file system "
4129+
"which is an unsupported combination. Please consider "
4130+
"either using a case sensitive file system for your data "
4131+
"directory or switching to a case-insensitive table name "
4132+
"mode.");
4133+
return 1;
41334134
}
41344135
else
41354136
{

0 commit comments

Comments
 (0)