Bug #17498 | failed to put data file in custom directory use "data directory" option | ||
---|---|---|---|
Submitted: | 16 Feb 2006 23:57 | Modified: | 3 Feb 2007 2:11 |
Reporter: | Yaqin Yan | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: MyISAM storage engine | Severity: | S3 (Non-critical) |
Version: | 5.0.18-nt | OS: | Windows (Windows) |
Assigned to: | Kristofer Pettersson | CPU Architecture: | Any |
[16 Feb 2006 23:57]
Yaqin Yan
[6 Mar 2006 12:35]
Valeriy Kravchuk
Thank you for a problem report. It is a Windows-specific bug, really: mysql> CREATE TABLE td1 ( `ID` int(6) ) data directory 'c:/tmp/' engine=MyISAM; Query OK, 0 rows affected (0.05 sec) mysql> show variables like 'have_sym%'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | have_symlink | YES | +---------------+-------+ 1 row in set (0.01 sec) mysql> select version(); +-----------+ | version() | +-----------+ | 5.0.18-nt | +-----------+ 1 row in set (0.02 sec) But td1.MYD and td1.MYI files are created in the default data dir. While the manual says clearly (http://dev.mysql.com/doc/refman/5.0/en/symbolic-links-to-tables.html): "You should not symlink tables on systems that do not have a fully operational realpath() call. (Linux and Solaris support realpath()). You can check whether your system supports symbolic links by issuing a SHOW VARIABLES LIKE 'have_symlink' statement. Symlinks are fully supported only for MyISAM tables. For files used by tables for other storage engines, you may get strange problems if you try to use symbolic links. The handling of symbolic links for MyISAM tables works as follows: - In the data directory, you always have the table format (.frm) file, the data (.MYD) file, and the index (.MYI) file. The data file and index file can be moved elsewhere and replaced in the data directory by symlinks. The format file cannot. - You can symlink the data file and the index file independently to different directories. - You can instruct a running MySQL server to perform the symlinking by using the DATA DIRECTORY and INDEX DIRECTORY options to CREATE TABLE."
[8 Nov 2006 10:16]
Sergey Vojtovich
Hi! The procedure for setting up the link on windows is different. This is documented at: http://dev.mysql.com/doc/refman/5.0/en/windows-symbolic-links.html. Though I agree that we should report a warning in this case.
[14 Dec 2006 12:24]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/16943 ChangeSet@1.2615, 2006-12-14 13:23:31+01:00, thek@kpdesk.mysql.com +4 -0 Bug#17498 failed to put data file in custom directory use "data directory" option - When this bug was corrected it changed the behavior for data/index directory in the myisam test case. - This patch moves the OS depending tests to a non-windows test file.
[14 Dec 2006 12:46]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/16947 ChangeSet@1.2353, 2006-12-14 13:45:17+01:00, thek@kpdesk.mysql.com +2 -0 Bug#17498 failed to put data file in custom directory use "data directory" option Merged 4.1->5.0. Updated myisam.test
[15 Dec 2006 6:56]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/17025 ChangeSet@1.2592, 2006-12-15 07:56:01+01:00, thek@kpdesk.mysql.com +1 -0 Bug#17498 failed to put data file in custom directory use "data directory" option - Result file was not properly committed. - Update result file to match the new test case.
[31 Jan 2007 19:09]
Chad MILLER
Available in 4.1.23, 5.0.36, 5.1.15-beta.
[3 Feb 2007 2:11]
Paul DuBois
Noted in 4.1.23, 5.0.36, 5.1.15 changelogs. No warning was issued for use of the DATA DIRECTORY or INDEX DIRECTORY table options on a platform that does not support them.