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