Bug #21122 SHOW CREATE TABLE: directory output only sometimes
Submitted: 18 Jul 2006 18:06 Modified: 30 Jan 2007 3:33
Reporter: Joerg Bruehe Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.1.12 OS:All Unix, but tar.gz only
Assigned to: Magnus Blåudd CPU Architecture:Any

[18 Jul 2006 18:06] Joerg Bruehe
Description:
Release build of 4.1.21

When a tar.gz package has been built and gets tested, test "myisam" fails:
The "show create table" output contains "data directory" information which is not present in the ".result" file.

This failure does *not* occur on Windows and in the RPM builds,
also, I could not repeat it on my home machine using "BUILD/compile-*"

-------------------------------------------------------
*** r/myisam.result
--- r/myisam.reject
***************
*** 773,784
  Table Create Table
  t1    CREATE TEMPORARY TABLE `t1` (
    `a` int(11) default NULL
! ) ENGINE=MyISAM DEFAULT CHARSET=latin1
  show create table t1;
  Table Create Table
  t1    CREATE TEMPORARY TABLE `t1` (
    `a` int(11) default NULL
! ) ENGINE=MyISAM DEFAULT CHARSET=latin1
  create table t1 (a int) engine=myisam select 42 a;
  select * from t1;
  a
--- 773,784
  Table Create Table
  t1    CREATE TEMPORARY TABLE `t1` (
    `a` int(11) default NULL
! ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/PATH/mysql-test/var/tmp/'
  show create table t1;
  Table Create Table
  t1    CREATE TEMPORARY TABLE `t1` (
    `a` int(11) default NULL
! ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/PATH/mysql-test/var/tmp/'
  create table t1 (a int) engine=myisam select 42 a;
  select * from t1;
  a
-------------------------------------------------------

How to repeat:
Detected in a "tar.gz" release build only.
[15 Jan 2007 15:24] Sergey Vojtovich
Hi,

I was able to repeat this problem with valgrind build. And it really makes sense. See mysqld.cc:
  {"symbolic-links", 's', "Enable symbolic link support.",
   (gptr*) &my_use_symdir, (gptr*) &my_use_symdir, 0, GET_BOOL, NO_ARG,
   IF_PURIFY(0,1), 0, 0, 0, 0, 0},

In other words symbolic links are disabled by default in valgrind build.

The fix is rather simple - move a test case causing this problem into symlink.test.
[17 Jan 2007 11:22] 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/18245

ChangeSet@1.2593, 2007-01-17 12:22:00+01:00, msvensson@pilot.mysql.com +4 -0
  Bug#21122 SHOW CREATE TABLE: directory output only sometimes
  Bug #25000  	myisam.test fails on 'pb-valgrind-*' Valgrind
   - Move tests that need symlink to symlink.test
[17 Jan 2007 18:09] Magnus Blåudd
Pushed to 4.1-engines and 5.0-engines
[25 Jan 2007 8:40] Sergey Vojtovich
Pushed into trees currently marked as 5.0.36 and 5.1.15.
[30 Jan 2007 3:33] Paul DuBois
Test suite change only. No changelog entry needed.