Below is the list of changes that have just been committed into a local
5.1 repository of istruewing. When istruewing does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2006-08-03 08:12:56+02:00, ingo@stripped +4 -0
Bug#18775 - Temporary table from alter table visible to other threads
New test cases. Names with umlauts don't compare well on Windows.
mysql-test/r/alter_table.result@stripped, 2006-08-03 08:12:53+02:00, ingo@stripped +30 -25
Bug#18775 - Temporary table from alter table visible to other threads
New test results
mysql-test/r/backup.result@stripped, 2006-08-03 08:12:53+02:00, ingo@stripped +10 -10
Bug#18775 - Temporary table from alter table visible to other threads
New test results
mysql-test/t/alter_table.test@stripped, 2006-08-03 08:12:53+02:00, ingo@stripped +15 -24
Bug#18775 - Temporary table from alter table visible to other threads
New test case. Names with umlauts don't compare well on Windows.
mysql-test/t/backup.test@stripped, 2006-08-03 08:12:53+02:00, ingo@stripped +8 -8
Bug#18775 - Temporary table from alter table visible to other threads
New test case. Names with umlauts don't compare well on Windows.
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: ingo
# Host: chilla.local
# Root: /home/mydev/mysql-5.1-bug18775
--- 1.65/mysql-test/r/alter_table.result 2006-08-03 08:13:02 +02:00
+++ 1.66/mysql-test/r/alter_table.result 2006-08-03 08:13:02 +02:00
@@ -657,43 +657,45 @@ SELECT * FROM t1;
v b
abc 5
DROP TABLE t1;
-DROP DATABASE IF EXISTS mysqltest;
-CREATE DATABASE mysqltest;
-use mysqltest;
-ERROR 42S01: Table 't1_blЭten' already exists
-ERROR 42S01: Table 'tt1_blЭten' already exists
+DROP TABLE IF EXISTS `t+1`, `t+2`;
+CREATE TABLE `t+1` (c1 INT);
+ALTER TABLE `t+1` RENAME `t+2`;
+CREATE TABLE `t+1` (c1 INT);
+ALTER TABLE `t+1` RENAME `t+2`;
+ERROR 42S01: Table 't+2' already exists
+DROP TABLE `t+1`, `t+2`;
+CREATE TEMPORARY TABLE `tt+1` (c1 INT);
+ALTER TABLE `tt+1` RENAME `tt+2`;
+CREATE TEMPORARY TABLE `tt+1` (c1 INT);
+ALTER TABLE `tt+1` RENAME `tt+2`;
+ERROR 42S01: Table 'tt+2' already exists
+SHOW CREATE TABLE `tt+1`;
Table Create Table
+tt+1 CREATE TEMPORARY TABLE `tt+1` (
`c1` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SHOW CREATE TABLE `tt+2`;
+Table Create Table
+tt+2 CREATE TEMPORARY TABLE `tt+2` (
+ `c1` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE `tt+1`, `tt+2`;
CREATE TABLE `#sql1` (c1 INT);
CREATE TABLE `@0023sql2` (c1 INT);
SHOW TABLES;
-Tables_in_mysqltest
+Tables_in_test
#sql1
@0023sql2
RENAME TABLE `#sql1` TO `@0023sql1`;
RENAME TABLE `@0023sql2` TO `#sql2`;
SHOW TABLES;
-Tables_in_mysqltest
+Tables_in_test
#sql2
@0023sql1
ALTER TABLE `@0023sql1` RENAME `#sql-1`;
ALTER TABLE `#sql2` RENAME `@0023sql-2`;
SHOW TABLES;
-Tables_in_mysqltest
+Tables_in_test
#sql-1
@0023sql-2
INSERT INTO `#sql-1` VALUES (1);
@@ -702,18 +704,21 @@ DROP TABLE `#sql-1`, `@0023sql-2`;
CREATE TEMPORARY TABLE `#sql1` (c1 INT);
CREATE TEMPORARY TABLE `@0023sql2` (c1 INT);
SHOW TABLES;
-Tables_in_mysqltest
+Tables_in_test
ALTER TABLE `#sql1` RENAME `@0023sql1`;
ALTER TABLE `@0023sql2` RENAME `#sql2`;
SHOW TABLES;
-Tables_in_mysqltest
+Tables_in_test
INSERT INTO `#sql2` VALUES (1);
INSERT INTO `@0023sql1` VALUES (2);
+SHOW CREATE TABLE `#sql2`;
+Table Create Table
+#sql2 CREATE TEMPORARY TABLE `#sql2` (
+ `c1` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW CREATE TABLE `@0023sql1`;
Table Create Table
@0023sql1 CREATE TEMPORARY TABLE `@0023sql1` (
`c1` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE `#sql2`, `@0023sql1`;
-use test;
-DROP DATABASE mysqltest;
--- 1.50/mysql-test/t/alter_table.test 2006-08-03 08:13:02 +02:00
+++ 1.51/mysql-test/t/alter_table.test 2006-08-03 08:13:02 +02:00
@@ -488,32 +488,26 @@ DROP TABLE t1;
#
# Bug#18775 - Temporary table from alter table visible to other threads
#
-# Use a special database to avoid name clashes with user tables.
+# Check if special characters work and duplicates are detected.
--disable_warnings
-DROP DATABASE IF EXISTS mysqltest;
+DROP TABLE IF EXISTS `t+1`, `t+2`;
--enable_warnings
-CREATE DATABASE mysqltest;
-use mysqltest;
-#
-# Check if non-ASCII alphabetic characters work and duplicates are detected.
---disable_warnings
---enable_warnings
+CREATE TABLE `t+1` (c1 INT);
+ALTER TABLE `t+1` RENAME `t+2`;
+CREATE TABLE `t+1` (c1 INT);
--error ER_TABLE_EXISTS_ERROR
+ALTER TABLE `t+1` RENAME `t+2`;
+DROP TABLE `t+1`, `t+2`;
#
# Same for temporary tables though these names do not become file names.
+CREATE TEMPORARY TABLE `tt+1` (c1 INT);
+ALTER TABLE `tt+1` RENAME `tt+2`;
+CREATE TEMPORARY TABLE `tt+1` (c1 INT);
--error ER_TABLE_EXISTS_ERROR
+ALTER TABLE `tt+1` RENAME `tt+2`;
+SHOW CREATE TABLE `tt+1`;
+SHOW CREATE TABLE `tt+2`;
+DROP TABLE `tt+1`, `tt+2`;
#
# Check if special characters as in tmp_file_prefix work.
CREATE TABLE `#sql1` (c1 INT);
@@ -538,10 +532,7 @@ ALTER TABLE `@0023sql2` RENAME `#sql2`;
SHOW TABLES;
INSERT INTO `#sql2` VALUES (1);
INSERT INTO `@0023sql1` VALUES (2);
+SHOW CREATE TABLE `#sql2`;
SHOW CREATE TABLE `@0023sql1`;
DROP TABLE `#sql2`, `@0023sql1`;
-#
-# Cleanup
-use test;
-DROP DATABASE mysqltest;
--- 1.18/mysql-test/r/backup.result 2006-08-03 08:13:02 +02:00
+++ 1.19/mysql-test/r/backup.result 2006-08-03 08:13:02 +02:00
@@ -101,23 +101,23 @@ test.t5 backup status OK
Warnings:
Warning 1541 The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
drop table t5;
+DROP TABLE IF EXISTS `t+1`;
+CREATE TABLE `t+1` (c1 INT);
+INSERT INTO `t+1` VALUES (1), (2), (3);
+BACKUP TABLE `t+1` TO '../tmp';
Table Op Msg_type Msg_text
+test.t+1 backup status OK
Warnings:
Warning 1541 The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
+DROP TABLE `t+1`;
+RESTORE TABLE `t+1` FROM '../tmp';
Table Op Msg_type Msg_text
+test.t+1 restore status OK
Warnings:
Warning 1541 The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
+SELECT * FROM `t+1`;
c1
1
2
3
+DROP TABLE `t+1`;
--- 1.21/mysql-test/t/backup.test 2006-08-03 08:13:02 +02:00
+++ 1.22/mysql-test/t/backup.test 2006-08-03 08:13:02 +02:00
@@ -65,15 +65,15 @@ drop table t5;
#
# Backup did not encode table names.
--disable_warnings
+DROP TABLE IF EXISTS `t+1`;
--enable_warnings
+CREATE TABLE `t+1` (c1 INT);
+INSERT INTO `t+1` VALUES (1), (2), (3);
+BACKUP TABLE `t+1` TO '../tmp';
+DROP TABLE `t+1`;
#
# Same for restore.
+RESTORE TABLE `t+1` FROM '../tmp';
+SELECT * FROM `t+1`;
+DROP TABLE `t+1`;
| Thread |
|---|
| • bk commit into 5.1 tree (ingo:1.2278) BUG#18775 | ingo | 3 Aug |