diff options
author | unknown <mattiasj@witty.> | 2008-01-04 12:06:20 +0100 |
---|---|---|
committer | unknown <mattiasj@witty.> | 2008-01-04 12:06:20 +0100 |
commit | e0ef5c6d9f1dbeeb503294bca3d3095062991a2a (patch) | |
tree | dad0aaa9db2d58c8456adf51fde3754234319ea0 /sql/partition_info.cc | |
parent | 190cc349eb171987638087df60faa2cad314ee10 (diff) | |
download | mariadb-git-e0ef5c6d9f1dbeeb503294bca3d3095062991a2a.tar.gz |
Bug#30459 Partitioning across disks failing on Windows
Problem was that there are no support for symlinked files on Windows for
mysqld. So we fail when trying to create them.
Solution: Ignore the DATA/INDEX DIRECTORY clause for partitions and push
a warning. (Just like a MyISAM table)
mysql-test/r/partition.result:
Bug#30459 Partitioning across disks failing on Windows
Moved symlink specific tests to partition_symlink
result file
mysql-test/r/partition_symlink.result:
Bug#30459 Partitioning across disks failing on Windows
Moved symlink specific tests from partition.test
result file
mysql-test/r/partition_windows.result:
Bug#30459 Partitioning across disks failing on Windows
result file
mysql-test/t/partition.test:
Bug#30459 Partitioning across disks failing on Windows
Moved symlink specific tests to partition_symlink
test file
mysql-test/t/partition_symlink.test:
Bug#30459 Partitioning across disks failing on Windows
Moved symlink specific tests from partition.test
test file
mysql-test/t/partition_windows.test:
Bug#30459 Partitioning across disks failing on Windows
test file
Diffstat (limited to 'sql/partition_info.cc')
-rw-r--r-- | sql/partition_info.cc | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sql/partition_info.cc b/sql/partition_info.cc index 3b580422da1..16433497efd 100644 --- a/sql/partition_info.cc +++ b/sql/partition_info.cc @@ -794,8 +794,18 @@ bool partition_info::check_partition_info(THD *thd, handlerton **eng_type, partition_element *part_elem= part_it++; if (part_elem->engine_type == NULL) part_elem->engine_type= default_engine_type; - if (thd->variables.sql_mode & MODE_NO_DIR_IN_CREATE) - part_elem->data_file_name= part_elem->index_file_name= 0; +#ifdef HAVE_READLINK + if (!my_use_symdir || (thd->variables.sql_mode & MODE_NO_DIR_IN_CREATE)) +#endif + { + if (part_elem->data_file_name) + push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, 0, + "DATA DIRECTORY option ignored"); + if (part_elem->index_file_name) + push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, 0, + "INDEX DIRECTORY option ignored"); + part_elem->data_file_name= part_elem->index_file_name= NULL; + } if (!is_sub_partitioned()) { if (check_table_name(part_elem->partition_name, |