diff options
author | Arun Kuruvila <arun.kuruvila@oracle.com> | 2015-08-21 08:35:42 +0530 |
---|---|---|
committer | Arun Kuruvila <arun.kuruvila@oracle.com> | 2015-08-21 08:35:42 +0530 |
commit | f4ff086abea975222572fcfd232bf296018f5d85 (patch) | |
tree | 2fc9d1949180e4a335b651859aa3b0b43b8a4e98 /sql/sql_handler.h | |
parent | 75f43c5f6a5332894cf2d90ab2c04cc62c5ad18b (diff) | |
download | mariadb-git-f4ff086abea975222572fcfd232bf296018f5d85.tar.gz |
Bug#20198490 : LOWER_CASE_TABLE_NAMES=0 ON WINDOWS LEADS TO
PROBLEMS
Description:- Server variable "--lower_case_tables_names"
when set to "0" on windows platform which does not support
case sensitive file operations leads to problems. A warning
message is printed in the error log while starting the
server with "--lower_case_tables_names=0". Also according to
the documentation, seting "lower_case_tables_names" to "0"
on a case-insensitive filesystem might lead to index
corruption.
Analysis:- The problem reported in the bug is:-
Creating an INNODB table 'a' and executing a query, "INSERT
INTO a SELECT a FROM A;" on a server started with
"--lower_case_tables_names=0" and running on a
case-insensitive filesystem leads innodb to flat spin.
Optimizer thinks that "a" and "A" are two different tables
as the variable "lower_case_table_names" is set to "0". As a
result, optimizer comes up with a plan which does not need a
temporary table. If the same table is used in select and
insert, a temporary table is needed. This incorrect
optimizer plan leads to infinite insertions.
Fix:- If the server is started with
"--lower_case_tables_names" set to 0 on a case-insensitive
filesystem, an 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.", is printed in the server error log and the server
exits.
Diffstat (limited to 'sql/sql_handler.h')
0 files changed, 0 insertions, 0 deletions