Description:
The test case "innodb" fails in embedded mode when run in a location with a long path. Observed in Pushbuild on Solaris 10, but likely present on other platforms as well.
--- /export/home/pb2/test/sourcebuilder-build-271-1215816421.7/mysql-5.1.28-solaris10-i386-test/mysql-test/r/innodb.result Fri Jul 11 22:42:26 2008
+++ /export/home/pb2/test/sourcebuilder-build-271-1215816421.7/mysql-5.1.28-solaris10-i386-test/mysql-test/r/innodb.reject Sat Jul 12 06:11:22 2008
@@ -2664,7 +2664,7 @@
create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=latin1;
create table t3(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=utf8;
rename table t3 to t1;
-ERROR HY000: Error on rename of './test/t3' to './test/t1' (errno: 150)
+ERROR HY000: Error on rename of './test/t3' to './test
set foreign_key_checks=1;
drop table t2,t3;
create table t1(a int primary key) row_format=redundant engine=innodb;
@@ -3134,7 +3134,7 @@
INSERT INTO t2 VALUES (1);
ALTER TABLE t2 ADD FOREIGN KEY (a) REFERENCES t1 (a) ON DELETE SET NULL;
ALTER TABLE t2 MODIFY a INT NOT NULL;
-ERROR HY000: Error on rename of '#sql-temporary' to './test/t2' (errno: 150)
+ERROR HY000: Error on rename of '#sql-temporary' to './master-
DELETE FROM t1;
DROP TABLE t2,t1;
CREATE TABLE t1 (a VARCHAR(5) COLLATE utf8_unicode_ci PRIMARY KEY)
How to repeat:
Build current 5.1 on Solaris 10 with Sun Studio 12:
$ ASFLAGS=-g
$ LDFLAGS=-g
$ CFLAGS='-g -Xa -xstrconst -mt -D_FORTEC_'
$ CXXFLAGS='-g -noex -mt -D_FORTEC_'
$ export CFLAGS
$ export CXXFLAGS
$ export ASFLAGS
$ export LDFLAGS
$ ./configure --enable-thread-safe-client --enable-local-infile --with-pic --with-client-ldflags=-static --with-mysqld-ldflags=-static --with-zlib-dir=bundled --without-ndb-debug --with-big-tables --with-ssl --with-readline --with-embedded-server --with-archive-storage-engine --with-blackhole-storage-engine --with-csv-storage-engine --with-example-storage-engine --with-federated-storage-engine --with-partition --with-extra-charsets=all --with-innodb --with-ndbcluster
$ make
$ scripts/make_binary_distribution
Create a location with a long path name:
$ cd /export/home # or some other place where you can write
$ mkdir `perl -e 'print "x"x100'`
$ cd xxxxx*
$ mv /path/to/bin/distribution .
Run the test case:
$ cd mysql-*
$ cd mysql-test
$ perl mysql-test-run.pl --embedded innodb