diff options
author | unknown <monty@mysql.com> | 2004-03-06 10:43:35 +0200 |
---|---|---|
committer | unknown <monty@mysql.com> | 2004-03-06 10:43:35 +0200 |
commit | aa20bd9e8c44fbc14396fa418983b8c515b4e8ad (patch) | |
tree | 1cf950921cf3e82b17e59b8516f0db0627a429a2 /mysql-test | |
parent | 0b751edc57385e125415a3d0aa8f37ad772e7178 (diff) | |
download | mariadb-git-aa20bd9e8c44fbc14396fa418983b8c515b4e8ad.tar.gz |
Ensure that one can't from the command line set a variable too small. (Bug #2710)
Allow one to force lower_case_table_names to 0, even if the file system is case insensitive. This fixes some issues on Mac OS X (Bug #2994)
Added variables "lower_case_file_system", "version_compile_os" and "license"
mysql-test/t/lowercase_table3-master.opt:
Rename: mysql-test/t/lowercase_table2-master.opt -> mysql-test/t/lowercase_table3-master.opt
mysys/my_getopt.c:
Ensure that one can't from the command line set a variable too small (could happen when sub_size was set)
sql/mysql_priv.h:
Added lower_case_file_system
sql/mysqld.cc:
Allow one to force lower_case_table_names to 0, even if the file system is case insensitive
sql/set_var.cc:
Added variable "lower_case_file_system"
Added variable "version_compile_os"
Added variable "license"
sql/set_var.h:
Added support for read only strings
sql/sql_select.cc:
Make join optimizer killable
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/lowercase0.require | 3 | ||||
-rw-r--r-- | mysql-test/r/lowercase_table3.result | 10 | ||||
-rw-r--r-- | mysql-test/r/true.require | 2 | ||||
-rw-r--r-- | mysql-test/t/lowercase_table3-master.opt (renamed from mysql-test/t/lowercase_table2-master.opt) | 0 | ||||
-rw-r--r-- | mysql-test/t/lowercase_table3.test | 37 |
5 files changed, 52 insertions, 0 deletions
diff --git a/mysql-test/r/lowercase0.require b/mysql-test/r/lowercase0.require new file mode 100644 index 00000000000..a63906557f8 --- /dev/null +++ b/mysql-test/r/lowercase0.require @@ -0,0 +1,3 @@ +Variable_name Value +lower_case_file_system ON +lower_case_table_names 0 diff --git a/mysql-test/r/lowercase_table3.result b/mysql-test/r/lowercase_table3.result new file mode 100644 index 00000000000..0676c42e12b --- /dev/null +++ b/mysql-test/r/lowercase_table3.result @@ -0,0 +1,10 @@ +DROP TABLE IF EXISTS t1,T1; +CREATE TABLE t1 (a int); +SELECT * from T1; +a +drop table t1; +flush tables; +CREATE TABLE t1 (a int) type=INNODB; +SELECT * from T1; +Table 'test.T1' doesn't exist +drop table t1; diff --git a/mysql-test/r/true.require b/mysql-test/r/true.require new file mode 100644 index 00000000000..09aae1ed1d0 --- /dev/null +++ b/mysql-test/r/true.require @@ -0,0 +1,2 @@ +TRUE +1 diff --git a/mysql-test/t/lowercase_table2-master.opt b/mysql-test/t/lowercase_table3-master.opt index 9b27aef9bf8..9b27aef9bf8 100644 --- a/mysql-test/t/lowercase_table2-master.opt +++ b/mysql-test/t/lowercase_table3-master.opt diff --git a/mysql-test/t/lowercase_table3.test b/mysql-test/t/lowercase_table3.test new file mode 100644 index 00000000000..83ffaaad2d1 --- /dev/null +++ b/mysql-test/t/lowercase_table3.test @@ -0,0 +1,37 @@ +# +# Test of force of lower-case-table-names=0 +# (User has case insensitive file system and want's to preserve case of +# table names) +# + +--source include/have_innodb.inc +--require r/lowercase0.require +disable_query_log; +show variables like "lower_case_%"; +--require r/true.require +select @@version_compile_os NOT IN ("NT","WIN2000","Win95/Win98","XP") as "TRUE"; +enable_query_log; + +--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 t1 (a int) type=INNODB; +--error 1146 +SELECT * from T1; +drop table t1; |