diff --git a/BUILD/check-cpu b/BUILD/check-cpu
index 7619224314b505bd117e9e6297f270ca3c49de1d..0283c669fb2530ebd86f76cbb72a7c272f490888 100755
--- a/BUILD/check-cpu
+++ b/BUILD/check-cpu
@@ -72,6 +72,7 @@ case "$cpu_family--$model_name" in
     ;;
   *ppc)
     cpu_flag="powerpc";
+    no_march=1;
     ;;
   *)
     cpu_flag="";
@@ -106,6 +107,9 @@ case "$cc_ver--$cc_verno" in
       cpu_flag="$cpu_flag_old"
     fi
     check_cpu_cflags="-mcpu=$cpu_flag -march=$cpu_flag"
+    if test -n "$no_march"; then
+      check_cpu_cflags="-mcpu=$cpu_flag"
+    fi
     ;;
   *)
     check_cpu_cflags=""
diff --git a/client/client_priv.h b/client/client_priv.h
index d656e54a2b888c6e7b95966cca241034e22821cb..a2f652af2737af9a5f4e058f4b69346bc934e4d8 100644
--- a/client/client_priv.h
+++ b/client/client_priv.h
@@ -49,5 +49,5 @@ enum options_client
 #ifdef HAVE_NDBCLUSTER_DB
   OPT_NDBCLUSTER, OPT_NDB_CONNECTSTRING,
 #endif
-  OPT_IGNORE_TABLE,OPT_INSERT_IGNORE,OPT_SHOW_WARNINGS
+  ,OPT_IGNORE_TABLE,OPT_INSERT_IGNORE,OPT_DROP_DATABASE,OPT_DROP_DATABASE
 };
diff --git a/client/mysqldump.c b/client/mysqldump.c
index 953e690f083c78f55c8137dc2d890a0ce6718a91..907b6233590798c4f1f9560f75439e071d04668d 100644
--- a/client/mysqldump.c
+++ b/client/mysqldump.c
@@ -85,7 +85,7 @@ static my_bool  verbose=0,tFlag=0,dFlag=0,quick= 1, extended_insert= 1,
 		opt_delete_master_logs=0, tty_password=0,
 		opt_single_transaction=0, opt_comments= 0, opt_compact= 0,
 		opt_hex_blob=0, opt_order_by_primary=0, opt_ignore=0,
-                opt_complete_insert= 0;
+                opt_complete_insert= 0, opt_drop_database= 0;
 static ulong opt_max_allowed_packet, opt_net_buffer_length;
 static MYSQL mysql_connection,*sock=0;
 static my_bool insert_pat_inited=0;
@@ -161,6 +161,9 @@ static struct my_option my_long_options[] =
    "Dump all the databases. This will be same as --databases with all databases selected.",
    (gptr*) &opt_alldbs, (gptr*) &opt_alldbs, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
    0, 0},
+  {"add-drop-database", OPT_DROP_DATABASE, "Add a 'DROP DATABASE' before each create.",
+   (gptr*) &opt_drop_database, (gptr*) &opt_drop_database, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0,
+   0},
   {"add-drop-table", OPT_DROP, "Add a 'drop table' before each create.",
    (gptr*) &opt_drop, (gptr*) &opt_drop, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0,
    0},
@@ -1144,9 +1147,9 @@ static uint get_table_structure(char *table, char *db)
   else
     dynstr_set(&insert_pat, "");
 
-  insert_option= (opt_delayed && opt_ignore) ? " DELAYED IGNORE " : 
-    opt_delayed ? " DELAYED " :
-    opt_ignore ? " IGNORE " : "";
+  insert_option= ((opt_delayed && opt_ignore) ? " DELAYED IGNORE " : 
+                  opt_delayed ? " DELAYED " :
+                  opt_ignore ? " IGNORE " : "");
 
   if (verbose)
     fprintf(stderr, "-- Retrieving table structure for table %s...\n", table);
@@ -2116,12 +2119,20 @@ static int init_dumping(char *database)
         if (mysql_query(sock, qbuf) || !(dbinfo = mysql_store_result(sock)))
         {
           /* Old server version, dump generic CREATE DATABASE */
+          if (opt_drop_database)
+            fprintf(md_result_file,
+                    "\n/*!40000 DROP DATABASE IF EXISTS %s;*/\n",
+                    qdatabase);
 	  fprintf(md_result_file,
 		  "\nCREATE DATABASE /*!32312 IF NOT EXISTS*/ %s;\n",
 		  qdatabase);
 	}
 	else
         {
+          if (opt_drop_database)
+            fprintf(md_result_file,
+                    "\n/*!40000 DROP DATABASE IF EXISTS %s*/;\n",
+                    qdatabase);
 	  row = mysql_fetch_row(dbinfo);
 	  if (row[1])
 	  {
diff --git a/include/my_global.h b/include/my_global.h
index 75a99133e33852dfd5f6c98623f028ed9dab1d25..98a47a621ca5174a48cdb0c884b398d4366c2967 100644
--- a/include/my_global.h
+++ b/include/my_global.h
@@ -310,12 +310,14 @@ C_MODE_END
 #endif
 #if defined(__ia64__)
 #define new my_arg_new
+#define need_to_restore_new 1
 #endif
 C_MODE_START
 #include <asm/atomic.h>
 C_MODE_END
-#if defined(__ia64__)
+#ifdef need_to_restore_new /* probably safer than #ifdef new */
 #undef new
+#undef need_to_restore_new
 #endif
 #endif
 #include <errno.h>				/* Recommended by debian */
diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result
index 35d0df0c8886a684db59c51f8a0d7abb50d973be..f73c9b223fd4536be2e90e8425095620c07f2b0f 100644
--- a/mysql-test/r/mysqldump.result
+++ b/mysql-test/r/mysqldump.result
@@ -1384,3 +1384,41 @@ UNLOCK TABLES;
 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
 
 drop table t1;
+CREATE TABLE t1 (a int);
+INSERT INTO t1 VALUES (1),(2),(3);
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+/*!40000 DROP DATABASE IF EXISTS `test`*/;
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `test`;
+DROP TABLE IF EXISTS `t1`;
+CREATE TABLE `t1` (
+  `a` int(11) default NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+
+/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
+LOCK TABLES `t1` WRITE;
+INSERT INTO `t1` VALUES (1),(2),(3);
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+DROP TABLE t1;
diff --git a/mysql-test/r/reserved_win_names.require b/mysql-test/r/reserved_win_names.require
deleted file mode 100644
index 7f803aca4829152860abf38cf939343d3f0d0b1d..0000000000000000000000000000000000000000
--- a/mysql-test/r/reserved_win_names.require
+++ /dev/null
@@ -1,2 +0,0 @@
-Variable_name	Value
-lower_case_table_names 1	
diff --git a/mysql-test/r/reserved_win_names.result b/mysql-test/r/reserved_win_names.result
deleted file mode 100644
index eaa0f71513f178e3fa329320982e8030fcead77a..0000000000000000000000000000000000000000
--- a/mysql-test/r/reserved_win_names.result
+++ /dev/null
@@ -1,7 +0,0 @@
-use COM1;
-ERROR 42000: Unknown database 'com1'
-use LPT1;
-ERROR 42000: Unknown database 'lpt1'
-use PRN;
-ERROR 42000: Unknown database 'prn'
-
diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result
index 8932d2c78ae5b2af9c82cbe799faa717aa0ea8d5..6e19fa09d1b5911c46d623c4df7276b7d4bb4927 100644
--- a/mysql-test/r/select.result
+++ b/mysql-test/r/select.result
@@ -2676,3 +2676,9 @@ AND FK_firma_id = 2;
 COUNT(*)
 0
 drop table t1;
+CREATE TABLE t1 (b BIGINT(20) UNSIGNED NOT NULL, PRIMARY KEY (b));
+INSERT INTO t1 VALUES (0x8000000000000000);
+SELECT b FROM t1 WHERE b=0x8000000000000000;
+b
+9223372036854775808
+DROP TABLE t1;
diff --git a/mysql-test/r/union.result b/mysql-test/r/union.result
index aae3c414c5c5fc660d636cc4bde5e5e627107b6e..22417136f67ce33bcf6a60864b4edb37120184e6 100644
--- a/mysql-test/r/union.result
+++ b/mysql-test/r/union.result
@@ -1201,27 +1201,27 @@ concat('value is: ', @val)
 value is: 6
 some text
 CREATE TABLE t1 (
-a ENUM('ä','ö','ü') character set utf8 not null default 'ü',
+a ENUM('ä','ö','ü') character set utf8 not null default 'ü',
 b ENUM("one", "two") character set utf8,
 c ENUM("one", "two")
 );
 show create table t1;
 Table	Create Table
 t1	CREATE TABLE `t1` (
-  `a` enum('ä','ö','ü') character set utf8 NOT NULL default 'ü',
+  `a` enum('ä','ö','ü') character set utf8 NOT NULL default 'ü',
   `b` enum('one','two') character set utf8 default NULL,
   `c` enum('one','two') default NULL
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
-insert into t1 values ('ä', 'one', 'one'), ('ö', 'two', 'one'), ('ü', NULL, NULL);
+insert into t1 values ('ä', 'one', 'one'), ('ö', 'two', 'one'), ('ü', NULL, NULL);
 create table t2 select NULL union select a from t1;
 show columns from t2;
 Field	Type	Null	Key	Default	Extra
-NULL	enum('ä','ö','ü')	YES		NULL	
+NULL	enum('ä','ö','ü')	YES		NULL	
 drop table t2;
 create table t2 select a from t1 union select NULL;
 show columns from t2;
 Field	Type	Null	Key	Default	Extra
-a	enum('ä','ö','ü')	YES		NULL	
+a	enum('ä','ö','ü')	YES		NULL	
 drop table t2;
 create table t2 select a from t1 union select a from t1;
 show columns from t2;
@@ -1252,3 +1252,22 @@ t2	CREATE TABLE `t2` (
   `a` varchar(12) default NULL
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
 drop table t1,t2;
+create table t1 ( id int not null auto_increment, primary key (id), col1 int);
+insert into t1 (col1) values (2),(3),(4),(5),(6);
+select 99 union all select id from t1 order by 1;
+99
+1
+2
+3
+4
+5
+99
+select id from t1 union all select 99 order by 1;
+id
+1
+2
+3
+4
+5
+99
+drop table t1;
diff --git a/mysql-test/t/mysqldump.test b/mysql-test/t/mysqldump.test
index 4af62fe3b0186ec74a0115defdadbda9e3af2c5e..7a39fbdf5f6ff7fc151f260c949e532554255bfd 100644
--- a/mysql-test/t/mysqldump.test
+++ b/mysql-test/t/mysqldump.test
@@ -554,3 +554,12 @@ create table t1 (
 insert into t1 (F_8d3bba7425e7c98c50f52ca1b52d3735) values (1);
 --exec $MYSQL_DUMP --skip-comments -c test
 drop table t1;
+
+#
+# Test for --add-drop-database
+#
+
+CREATE TABLE t1 (a int);
+INSERT INTO t1 VALUES (1),(2),(3);
+--exec $MYSQL_DUMP --add-drop-database --skip-comments --databases test
+DROP TABLE t1;
diff --git a/mysql-test/t/reserved_win_names.test b/mysql-test/t/reserved_win_names.test
deleted file mode 100644
index d9b23935ddf8cb2922cdcaf22e69f5e1d3a0ff51..0000000000000000000000000000000000000000
--- a/mysql-test/t/reserved_win_names.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-# Test of reserved Windows names
-#
---require r/reserved_win_names.require
-
---error 1049
-use COM1;
---error 1049
-use LPT1;
---error 1049
-use PRN;
-
diff --git a/mysql-test/t/select.test b/mysql-test/t/select.test
index 84ac8a67b04117127f7fd6395134d9298dbb98ef..3877e67de411f5f1180266dac3d37cfc6749d837 100644
--- a/mysql-test/t/select.test
+++ b/mysql-test/t/select.test
@@ -9,8 +9,7 @@
 --disable_warnings
 drop table if exists t1,t2,t3,t4;
 # The following may be left from older tests
-drop table if exists t1_1,t1_2,t9_1,t9_2,t1aa,t2aa;
-drop view if exists v1;
+drop table if exists t1_1,t1_2,t9_1,t9_2;
 --enable_warnings
 
 CREATE TABLE t1 (
@@ -1765,9 +1764,9 @@ DO benchmark(100,1+1),1,1;
 # Bug #6449: do default;
 #
 
---error ER_PARSE_ERROR
+--error 1064
 do default;
---error ER_BAD_FIELD_ERROR
+--error 1054
 do foobar;
 
 #
@@ -1793,10 +1792,7 @@ CREATE TABLE t1 (gvid int(10) unsigned default NULL,  hmid int(10) unsigned defa
 INSERT INTO t1 VALUES (200001,2,1,1,100,1,1,1,0,0,0,1,0,1,20020425060057,'\\\\ARKIVIO-TESTPDC\\E$',''),(200002,2,2,1,101,1,1,1,0,0,0,1,0,1,20020425060057,'\\\\ARKIVIO-TESTPDC\\C$',''),(200003,1,3,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,1,20020425060427,'c:',NULL);
 CREATE TABLE t2 (  hmid int(10) unsigned default NULL,  volid int(10) unsigned default NULL,  sampletid smallint(5) unsigned default NULL,  sampletime datetime default NULL,  samplevalue bigint(20) unsigned default NULL,  KEY idx1 (hmid,volid,sampletid,sampletime)) ENGINE=MyISAM;
 INSERT INTO t2 VALUES (1,3,10,'2002-06-01 08:00:00',35),(1,3,1010,'2002-06-01 12:00:01',35);
-# Disable PS becasue we get more warnings from PS than from normal execution
---disable_ps_protocol
 SELECT a.gvid, (SUM(CASE b.sampletid WHEN 140 THEN b.samplevalue ELSE 0 END)) as the_success,(SUM(CASE b.sampletid WHEN 141 THEN b.samplevalue ELSE 0 END)) as the_fail,(SUM(CASE b.sampletid WHEN 142 THEN b.samplevalue ELSE 0 END)) as the_size,(SUM(CASE b.sampletid WHEN 143 THEN b.samplevalue ELSE 0 END)) as the_time FROM t1 a, t2 b WHERE a.hmid = b.hmid AND a.volid = b.volid AND b.sampletime >= 'wrong-date-value' AND b.sampletime < 'wrong-date-value' AND b.sampletid IN (140, 141, 142, 143) GROUP BY a.gvid;
---enable_ps_protocol
 # Testing the same select with NULL's instead of invalid datetime values
 SELECT a.gvid, (SUM(CASE b.sampletid WHEN 140 THEN b.samplevalue ELSE 0 END)) as the_success,(SUM(CASE b.sampletid WHEN 141 THEN b.samplevalue ELSE 0 END)) as the_fail,(SUM(CASE b.sampletid WHEN 142 THEN b.samplevalue ELSE 0 END)) as the_size,(SUM(CASE b.sampletid WHEN 143 THEN b.samplevalue ELSE 0 END)) as the_time FROM t1 a, t2 b WHERE a.hmid = b.hmid AND a.volid = b.volid AND b.sampletime >= NULL AND b.sampletime < NULL AND b.sampletid IN (140, 141, 142, 143) GROUP BY a.gvid;
 DROP TABLE t1,t2;
@@ -1939,196 +1935,6 @@ EXPLAIN SELECT i FROM t1 WHERE i=1;
 
 DROP TABLE t1;
 
-#
-# Test case for bug 7520: a wrong cost of the index for a BLOB field
-#
-
-CREATE TABLE t1 ( a BLOB, INDEX (a(20)) );
-CREATE TABLE t2 ( a BLOB, INDEX (a(20)) );
-
-INSERT INTO t1 VALUES ('one'),('two'),('three'),('four'),('five');
-INSERT INTO t2 VALUES ('one'),('two'),('three'),('four'),('five');
-
-EXPLAIN SELECT * FROM t1 LEFT JOIN t2 USE INDEX (a) ON t1.a=t2.a;
-EXPLAIN SELECT * FROM t1 LEFT JOIN t2 FORCE INDEX (a) ON t1.a=t2.a;
-
-DROP TABLE t1, t2;
-
-
-#
-# Test case for bug 7098: substitution of a constant for a string field 
-#
-
-CREATE TABLE t1 ( city char(30) );
-INSERT INTO t1 VALUES ('London');
-INSERT INTO t1 VALUES ('Paris');
-
-SELECT * FROM t1 WHERE city='London';
-SELECT * FROM t1 WHERE city='london';
-EXPLAIN SELECT * FROM t1 WHERE city='London' AND city='london';
-SELECT * FROM t1 WHERE city='London' AND city='london';
-EXPLAIN SELECT * FROM t1 WHERE city LIKE '%london%' AND city='London';
-SELECT * FROM t1 WHERE city LIKE '%london%' AND city='London';
-
-DROP TABLE t1;
-
-#
-# Bug#7425 inconsistent sort order on unsigned columns result of substraction
-#
-
-create table t1 (a int(11) unsigned, b int(11) unsigned);
-insert into t1 values (1,0), (1,1), (1,2);
-select a-b  from t1 order by 1;
-select a-b , (a-b < 0)  from t1 order by 1;
-select a-b as d, (a-b >= 0), b from t1 group by b having d >= 0;
-select cast((a - b) as unsigned) from t1 order by 1;
-drop table t1;
-
-
-#
-# Bug#8733 server accepts malformed query (multiply mentioned distinct)
-#
-create table t1 (a int(11));
-select all all * from t1;
-select distinct distinct * from t1;
---error 1221
-select all distinct * from t1;
---error 1221
-select distinct all * from t1;
-drop table t1;
-
-#
-# Test for bug #6474
-#
-
-CREATE TABLE t1 ( 
-K2C4 varchar(4) character set latin1 collate latin1_bin NOT NULL default '', 
-K4N4 varchar(4) character set latin1 collate latin1_bin NOT NULL default '0000', 
-F2I4 int(11) NOT NULL default '0' 
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
-INSERT INTO t1 VALUES 
-('W%RT', '0100',  1), 
-('W-RT', '0100', 1), 
-('WART', '0100', 1), 
-('WART', '0200', 1), 
-('WERT', '0100', 2), 
-('WORT','0200', 2), 
-('WT', '0100', 2), 
-('W_RT', '0100', 2), 
-('WaRT', '0100', 3), 
-('WART', '0300', 3), 
-('WRT' , '0400', 3), 
-('WURM', '0500', 3), 
-('W%T', '0600', 4), 
-('WA%T', '0700', 4), 
-('WA_T', '0800', 4);
-
-SELECT K2C4, K4N4, F2I4 FROM t1
-  WHERE  K2C4 = 'WART' AND 
-        (F2I4 = 2 AND K2C4 = 'WART' OR (F2I4 = 2 OR K4N4 = '0200'));
-
-SELECT K2C4, K4N4, F2I4 FROM t1
-  WHERE  K2C4 = 'WART' AND (K2C4 = 'WART' OR K4N4 = '0200');
-
-DROP TABLE t1;
-
-#
-# Test case for bug 7520: a wrong cost of the index for a BLOB field
-#
-
-CREATE TABLE t1 ( a BLOB, INDEX (a(20)) );
-CREATE TABLE t2 ( a BLOB, INDEX (a(20)) );
-
-INSERT INTO t1 VALUES ('one'),('two'),('three'),('four'),('five');
-INSERT INTO t2 VALUES ('one'),('two'),('three'),('four'),('five');
-
-EXPLAIN SELECT * FROM t1 LEFT JOIN t2 USE INDEX (a) ON t1.a=t2.a;
-EXPLAIN SELECT * FROM t1 LEFT JOIN t2 FORCE INDEX (a) ON t1.a=t2.a;
-
-DROP TABLE t1, t2;
-
-
-#
-# Test case for bug 7098: substitution of a constant for a string field 
-#
-
-CREATE TABLE t1 ( city char(30) );
-INSERT INTO t1 VALUES ('London');
-INSERT INTO t1 VALUES ('Paris');
-
-SELECT * FROM t1 WHERE city='London';
-SELECT * FROM t1 WHERE city='london';
-EXPLAIN SELECT * FROM t1 WHERE city='London' AND city='london';
-SELECT * FROM t1 WHERE city='London' AND city='london';
-EXPLAIN SELECT * FROM t1 WHERE city LIKE '%london%' AND city='London';
-SELECT * FROM t1 WHERE city LIKE '%london%' AND city='London';
-
-DROP TABLE t1;
-
-#
-# Bug#7425 inconsistent sort order on unsigned columns result of substraction
-#
-
-create table t1 (a int(11) unsigned, b int(11) unsigned);
-insert into t1 values (1,0), (1,1), (1,2);
-select a-b  from t1 order by 1;
-select a-b , (a-b < 0)  from t1 order by 1;
-select a-b as d, (a-b >= 0), b from t1 group by b having d >= 0;
-select cast((a - b) as unsigned) from t1 order by 1;
-drop table t1;
-
-#
-# Bug#8670
-#
-create table t1 (a int, b int);
-create table t2 like t1;
-select t1.a from (t1 inner join t2 on t1.a=t2.a) where t2.a=1;
-select t1.a from ((t1 inner join t2 on t1.a=t2.a)) where t2.a=1;
-select x.a, y.a, z.a from ( (t1 x inner join t2 y on x.a=y.a) inner join t2 z on y.a=z.a) WHERE x.a=1;
-drop table t1,t2;
-
-#
-# Bug#9820
-#
-
-create table t1 (s1 varchar(5));
-insert into t1 values ('Wall');
-select min(s1) from t1 group by s1 with rollup;
-drop table t1;
-
-#
-# Bug#9799
-#
-
-create table t1 (s1 int) engine=myisam;
-insert into t1 values (0);
-select avg(distinct s1) from t1 group by s1 with rollup;
-drop table t1;
-
-#
-# Bug#9800
-#
-
-create table t1 (s1 int);
-insert into t1 values (null),(1);
-select distinct avg(s1) as x from t1 group by s1 with rollup;
-drop table t1;
-
-
-#
-# Bug#8733 server accepts malformed query (multiply mentioned distinct)
-#
-create table t1 (a int(11));
-select all all * from t1;
-select distinct distinct * from t1;
---error 1221
-select all distinct * from t1;
---error 1221
-select distinct all * from t1;
-drop table t1;
-
-
 #
 # Test case for bug 7520: a wrong cost of the index for a BLOB field
 #
@@ -2246,3 +2052,11 @@ AND FK_firma_id = 2;
 
 drop table t1;
 
+#
+# Test for Bug#8009, SELECT failed on bigint unsigned when using HEX
+#
+
+CREATE TABLE t1 (b BIGINT(20) UNSIGNED NOT NULL, PRIMARY KEY (b));
+INSERT INTO t1 VALUES (0x8000000000000000);
+SELECT b FROM t1 WHERE b=0x8000000000000000;
+DROP TABLE t1;
diff --git a/mysql-test/t/union.test b/mysql-test/t/union.test
index 239a7aaad4b90d55fa4ba54825d337d3bd3beaa8..42cdf54544a320ac17d4ad147896fa88c4b2aee3 100644
--- a/mysql-test/t/union.test
+++ b/mysql-test/t/union.test
@@ -740,12 +740,12 @@ select concat('value is: ', @val) union select 'some text';
 # Enum merging test
 #
 CREATE TABLE t1 (
-  a ENUM('ä','ö','ü') character set utf8 not null default 'ü',
+  a ENUM('ä','ö','ü') character set utf8 not null default 'ü',
   b ENUM("one", "two") character set utf8,
   c ENUM("one", "two")
 );
 show create table t1;
-insert into t1 values ('ä', 'one', 'one'), ('ö', 'two', 'one'), ('ü', NULL, NULL);
+insert into t1 values ('ä', 'one', 'one'), ('ö', 'two', 'one'), ('ü', NULL, NULL);
 create table t2 select NULL union select a from t1;
 show columns from t2;
 drop table t2;
@@ -772,3 +772,14 @@ select row_format from information_schema.TABLES where table_schema="test" and t
 alter table t2 ROW_FORMAT=fixed;
 show create table t2;
 drop table t1,t2;
+
+
+#
+# Bug #10032 Bug in parsing UNION with ORDER BY when one node does not use FROM
+#
+
+create table t1 ( id int not null auto_increment, primary key (id), col1 int);
+insert into t1 (col1) values (2),(3),(4),(5),(6);
+select 99 union all select id from t1 order by 1;
+select id from t1 union all select 99 order by 1;
+drop table t1;
diff --git a/ndb/src/common/util/File.cpp b/ndb/src/common/util/File.cpp
index 937b8c0fa5952777a564ed62676e7f6e240a27cd..e514ad8e1224eceb9f163636fee8e0690503fc44 100644
--- a/ndb/src/common/util/File.cpp
+++ b/ndb/src/common/util/File.cpp
@@ -28,29 +28,9 @@
 bool 
 File_class::exists(const char* aFileName)
 {
-  bool rc = true;
-#ifdef USE_MY_STAT_STRUCT
-  struct my_stat stmp;
-#else
-  struct stat stmp;
-#endif
-  if (my_stat(aFileName, &stmp, MYF(0)) != 0)
-  {
-    rc = false;
-  }
-  
-  /*
-  File f;
-  if (!f.open(aFileName, "r"))  
-  {
-    rc = (errno == ENOENT ? false : true);
-  }
-  else  
-  {
-    f.close();
-  }
-  */
-  return rc;
+  MY_STAT stmp;
+
+  return (my_stat(aFileName, &stmp, MYF(0))!=NULL);
 }
 
 long
diff --git a/sql/item.cc b/sql/item.cc
index 69b1b78a961078fab30cb83055628ff037bd7279..ae09b789451390d426b2a9d72a4bb318673c064f 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -3684,6 +3684,7 @@ Item_hex_string::Item_hex_string(const char *str, uint str_length)
   *ptr=0;					// Keep purify happy
   collation.set(&my_charset_bin, DERIVATION_COERCIBLE);
   fixed= 1;
+  unsigned_flag= 1;
 }
 
 longlong Item_hex_string::val_int()
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 99b0f43db2d9db415ea29b6ef7cf5610d68d99cd..e01b9cfe9cac17db0f15b9476edf5af808f51d52 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -3968,7 +3968,7 @@ select_part2:
 	select_into select_lock_type;
 
 select_into:
-	opt_limit_clause {}
+	opt_order_clause opt_limit_clause {}
         | into
 	| select_from
 	| into select_from
diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh
index 5e7499c5e5ce7083ac5e0dc21f54bb4990667714..dd25862004a7b1c6ddb94000c27e449a186e9748 100644
--- a/support-files/mysql.spec.sh
+++ b/support-files/mysql.spec.sh
@@ -16,8 +16,8 @@
 Name: MySQL
 Summary:	MySQL: a very fast and reliable SQL database server
 Group:		Applications/Databases
-Summary(pt_BR): MySQL: Um servidor SQL rápido e confiável.
-Group(pt_BR):	Aplicações/Banco_de_Dados
+Summary(pt_BR): MySQL: Um servidor SQL rápido e confiável.
+Group(pt_BR):	Aplicações/Banco_de_Dados
 Version:	@MYSQL_NO_DASH_VERSION@
 Release:	%{release}
 License:	GPL
@@ -57,8 +57,8 @@ documentation and the manual for more information.
 Release: %{release}
 Summary:	MySQL: a very fast and reliable SQL database server
 Group:		Applications/Databases
-Summary(pt_BR): MySQL: Um servidor SQL rápido e confiável.
-Group(pt_BR):	Aplicações/Banco_de_Dados
+Summary(pt_BR): MySQL: Um servidor SQL rápido e confiável.
+Group(pt_BR):	Aplicações/Banco_de_Dados
 Requires: fileutils sh-utils
 Provides:	msqlormysql mysql-server mysql MySQL
 Obsoletes:	MySQL mysql mysql-server
@@ -92,7 +92,7 @@ Release: %{release}
 Summary: MySQL - Client
 Group: Applications/Databases
 Summary(pt_BR): MySQL - Cliente
-Group(pt_BR): Aplicações/Banco_de_Dados
+Group(pt_BR): Aplicações/Banco_de_Dados
 Obsoletes: mysql-client
 Provides: mysql-client
 
@@ -102,7 +102,7 @@ This package contains the standard MySQL clients and administration tools.
 %{see_base}
 
 %description client -l pt_BR
-Este pacote contém os clientes padrão para o MySQL.
+Este pacote contém os clientes padrão para o MySQL.
 
 %package ndb-storage
 Release: %{release}
@@ -156,8 +156,8 @@ Release: %{release}
 Requires: %{name}-client perl-DBI perl
 Summary: MySQL - Benchmarks and test system
 Group: Applications/Databases
-Summary(pt_BR): MySQL - Medições de desempenho
-Group(pt_BR): Aplicações/Banco_de_Dados
+Summary(pt_BR): MySQL - Medições de desempenho
+Group(pt_BR): Aplicações/Banco_de_Dados
 Provides: mysql-bench
 Obsoletes: mysql-bench
 
@@ -167,14 +167,14 @@ This package contains MySQL benchmark scripts and data.
 %{see_base}
 
 %description bench -l pt_BR
-Este pacote contém medições de desempenho de scripts e dados do MySQL.
+Este pacote contém medições de desempenho de scripts e dados do MySQL.
 
 %package devel
 Release: %{release}
 Summary: MySQL - Development header files and libraries
 Group: Applications/Databases
-Summary(pt_BR): MySQL - Medições de desempenho
-Group(pt_BR): Aplicações/Banco_de_Dados
+Summary(pt_BR): MySQL - Medições de desempenho
+Group(pt_BR): Aplicações/Banco_de_Dados
 Provides: mysql-devel
 Obsoletes: mysql-devel
 
@@ -185,8 +185,8 @@ necessary to develop MySQL client applications.
 %{see_base}
 
 %description devel -l pt_BR
-Este pacote contém os arquivos de cabeçalho (header files) e bibliotecas 
-necessárias para desenvolver aplicações clientes do MySQL. 
+Este pacote contém os arquivos de cabeçalho (header files) e bibliotecas 
+necessárias para desenvolver aplicações clientes do MySQL. 
 
 %package shared
 Release: %{release}
@@ -226,8 +226,8 @@ Release: %{release}
 Requires: %{name}-devel
 Summary: MySQL - embedded library
 Group: Applications/Databases
-Summary(pt_BR): MySQL - Medições de desempenho
-Group(pt_BR): Aplicações/Banco_de_Dados
+Summary(pt_BR): MySQL - Medições de desempenho
+Group(pt_BR): Aplicações/Banco_de_Dados
 Obsoletes: mysql-embedded
 
 %description embedded
@@ -364,6 +364,9 @@ fi
 (cd libmysql/.libs; tar cf $RBR/shared-libs.tar *.so*)
 (cd libmysql_r/.libs; tar rf $RBR/shared-libs.tar *.so*)
 
+# Now clean up
+make clean
+
 #
 # Only link statically on our i386 build host (which has a specially
 # patched static glibc installed) - ia64 and x86_64 run glibc-2.3 (unpatched)
@@ -686,6 +689,10 @@ fi
 # itself - note that they must be ordered by date (important when
 # merging BK trees)
 %changelog 
+* Wed May 25 2005 Joerg Bruehe <joerg@mysql.com>
+
+- Added a "make clean" between separate calls to "BuildMySQL".
+
 * Wed Apr 20 2005 Lenz Grimmer <lenz@mysql.com>
 
 - Enabled the "blackhole" storage engine for the Max RPM