Commit 89fc7fdb authored by unknown's avatar unknown
Browse files

Merge may.pils.ru:/home/svoj/devel/mysql/BUG18036/mysql-5.0

into  may.pils.ru:/home/svoj/devel/mysql/BUG18036/mysql-5.1


configure.in:
  Auto merged
include/my_global.h:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
mysql-test/t/myisam.test:
  Manual merge.
parents d556631b 3ec84b1a
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -747,6 +747,14 @@ select count(id1) from t1 where id2 = 10;
count(id1)
5
drop table t1;
CREATE TABLE t1(a CHAR(9), b VARCHAR(7)) ENGINE=MyISAM;
INSERT INTO t1(a) VALUES('xxxxxxxxx'),('xxxxxxxxx');
UPDATE t1 AS ta1,t1 AS ta2 SET ta1.b='aaaaaa',ta2.b='bbbbbb';
SELECT * FROM t1;
a	b
xxxxxxxxx	bbbbbb
xxxxxxxxx	bbbbbb
DROP TABLE t1;
set storage_engine=MyISAM;
drop table if exists t1,t2,t3;
--- Testing varchar ---
+9 −1
Original line number Diff line number Diff line
@@ -697,6 +697,15 @@ select count(*) from t1 where id2 = 10;
select count(id1) from t1 where id2 = 10;
drop table t1;

#
# BUG#18036 - update of table joined to self reports table as crashed
#
CREATE TABLE t1(a CHAR(9), b VARCHAR(7)) ENGINE=MyISAM;
INSERT INTO t1(a) VALUES('xxxxxxxxx'),('xxxxxxxxx');
UPDATE t1 AS ta1,t1 AS ta2 SET ta1.b='aaaaaa',ta2.b='bbbbbb';
SELECT * FROM t1;
DROP TABLE t1;

# End of 4.1 tests

#
@@ -869,4 +878,3 @@ drop table t1;
create table t1 (a int not null, key key_block_size=1024 (a));
--error 1064
create table t1 (a int not null, key `a` key_block_size=1024 (a));
+7 −2
Original line number Diff line number Diff line
@@ -985,6 +985,11 @@ bool mysql_multi_update_prepare(THD *thd)
      }
    }
  }
  /*
    Set exclude_from_table_unique_test value back to FALSE. It is needed for
    further check in multi_update::prepare whether to use record cache.
  */
  lex->select_lex.exclude_from_table_unique_test= FALSE;
 
  if (thd->fill_derived_tables() &&
      mysql_handle_derived(lex, &mysql_derived_filling))
@@ -1164,7 +1169,7 @@ int multi_update::prepare(List<Item> &not_used_values,
  for (table_ref= leaves;  table_ref; table_ref= table_ref->next_leaf)
  {
    TABLE *table=table_ref->table;
    if (!(tables_to_update & table->map) &&
    if ((tables_to_update & table->map) &&
        unique_table(thd, table_ref, update_tables))
      table->no_cache= 1;			// Disable row cache
  }