Commit e85e5739 authored by unknown's avatar unknown
Browse files

Merge with 4.0 to get latest bug fixes


configure.in:
  Auto merged
mysql-test/r/merge.result:
  Auto merged
mysql-test/t/merge.test:
  Auto merged
scripts/mysqld_safe.sh:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/share/czech/errmsg.txt:
  Auto merged
sql/share/danish/errmsg.txt:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/share/dutch/errmsg.txt:
  Auto merged
sql/share/english/errmsg.txt:
  Auto merged
sql/share/estonian/errmsg.txt:
  Auto merged
sql/share/french/errmsg.txt:
  Auto merged
sql/share/greek/errmsg.txt:
  Auto merged
sql/share/hungarian/errmsg.txt:
  Auto merged
sql/share/italian/errmsg.txt:
  Auto merged
sql/share/japanese/errmsg.txt:
  Auto merged
sql/share/korean/errmsg.txt:
  Auto merged
sql/share/norwegian-ny/errmsg.txt:
  Auto merged
sql/share/norwegian/errmsg.txt:
  Auto merged
sql/share/polish/errmsg.txt:
  Auto merged
sql/share/romanian/errmsg.txt:
  Auto merged
sql/share/slovak/errmsg.txt:
  Auto merged
sql/share/spanish/errmsg.txt:
  Auto merged
sql/share/swedish/errmsg.txt:
  Auto merged
sql/share/ukrainian/errmsg.txt:
  Auto merged
mysql-test/r/union.result:
  Merge with 4.0
mysql-test/t/union.test:
  Merge with 4.0
sql/ha_innodb.cc:
  Merge with 4.0
sql/share/german/errmsg.txt:
  Merge with 4.0
sql/share/portuguese/errmsg.txt:
  Merge with 4.0
sql/share/russian/errmsg.txt:
  Merge with 4.0
sql/sql_parse.cc:
  Merge with 4.0
sql/sql_union.cc:
  Merge with 4.0 (Keep 4.1 code)
parents a6d00f2e 0d34c635
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -642,3 +642,12 @@ x y
1	3
1	2
drop table t1,t2,t3;
create table t1 (a int);
create table t2 (a int);
insert into t1 values (0);
insert into t2 values (1);
create table t3 engine=merge union=(t1, t2) select * from t1;
INSERT TABLE 't1' isn't allowed in FROM table list
create table t3 engine=merge union=(t1, t2) select * from t2;
INSERT TABLE 't2' isn't allowed in FROM table list
drop table t1, t2;
+8 −0
Original line number Diff line number Diff line
@@ -431,11 +431,19 @@ create table t1 select a from t1 union select a from t2;
ERROR HY000: You can't specify target table 't1' for update in FROM clause
select a from t1 union select a from t2 order by t2.a;
ERROR 42S02: Unknown table 't2' in order clause
drop table t1;
drop table t1,t2;
select length(version()) > 1 as `*` UNION select 2;
*
1
2
create table t1 (a int);
insert into t1 values (0), (3), (1), (2);
explain (select * from t1) union (select * from t1) order by a;
table	type	possible_keys	key	key_len	ref	rows	Extra
t1	ALL	NULL	NULL	NULL	NULL	4	
t1	ALL	NULL	NULL	NULL	NULL	4	
drop table t1;
CREATE TABLE t1 (  id int(3) unsigned default '0') ENGINE=MyISAM;
INSERT INTO t1 (id) VALUES("1");
CREATE TABLE t2 ( id int(3) unsigned default '0',  id_master int(5) default '0',  text1 varchar(5) default NULL,  text2 varchar(5) default NULL) ENGINE=MyISAM;
+14 −0
Original line number Diff line number Diff line
@@ -271,3 +271,17 @@ select * from t3 where x = 1 and y < 5 order by y;
# Bug is that followng query returns empty set while it must be same as above
select * from t3 where x = 1 and y < 5 order by y desc;
drop table t1,t2,t3;

#
# Bug#5232: CREATE TABLE ... SELECT
#

create table t1 (a int);
create table t2 (a int);
insert into t1 values (0);
insert into t2 values (1);
--error 1093
create table t3 engine=merge union=(t1, t2) select * from t1;
--error 1093
create table t3 engine=merge union=(t1, t2) select * from t2;
drop table t1, t2;
+9 −0
Original line number Diff line number Diff line
@@ -256,6 +256,7 @@ drop temporary table t1;
create table t1 select a from t1 union select a from t2;
--error 1109
select a from t1 union select a from t2 order by t2.a;
drop table t1;   # Drop temporary table
drop table t1,t2;

#
@@ -264,6 +265,14 @@ drop table t1,t2;

select length(version()) > 1 as `*` UNION select 2;

#
# Bug #4980: problem with explain
#

create table t1 (a int);
insert into t1 values (0), (3), (1), (2);
explain (select * from t1) union (select * from t1) order by a;
drop table t1;
#
# Test for another bug with UNION and LEFT JOIN
#
+15 −2
Original line number Diff line number Diff line
@@ -311,6 +311,7 @@ do
  fi
  if test ! -f $pid_file		# This is removed if normal shutdown
  then
    echo "STOPPING server from pid file $pid_file"
    break
  fi

@@ -321,12 +322,24 @@ do
    # but should work for the rest of the servers.
    # The only thing is ps x => redhat 5 gives warnings when using ps -x.
    # kill -9 is used or the process won't react on the kill.
    if test -n "$mysql_tcp_port"
    then
      numofproces=`ps xa | grep -v "grep" | grep $ledir/$MYSQLD| grep -c "port=$mysql_tcp_port"`
    else
      numofproces=`ps xa | grep -v "grep" | grep -c $ledir/$MYSQLD`
    fi

    echo -e "\nNumber of processes running now: $numofproces" | tee -a $err_log
    I=1
    while test "$I" -le "$numofproces"
    do 
      PROC=`ps xa | grep $ledir/$MYSQLD | grep -v "grep" | sed -n '$p'` 
      if test -n "$mysql_tcp_port"
      then
        PROC=`ps xa | grep "$ledir/$MYSQLD\>" | grep -v "grep" | grep "port=$mysql_tcp_port" | sed -n '$p'` 
      else
        PROC=`ps xa | grep "$ledir/$MYSQLD\>" | grep -v "grep" | sed -n '$p'` 
      fi

	for T in $PROC
	do
	  break
Loading