Commit 74566d84 authored by unknown's avatar unknown
Browse files

Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-5.0

into  devsrv-b.mysql.com:/users/msvensson/mysql-5.0

parents 9b69052c ef7ec424
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -116,3 +116,17 @@ execute st_1676 using @arg0, @arg1, @arg2;
cola	colb	cold
aaaa	yyyy	R
drop table t1, t2;
create table t1 (a int primary key);
insert into t1 values (1);
explain select * from t1 where 3 in (select (1+1) union select 1);
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
1	PRIMARY	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Impossible WHERE noticed after reading const tables
2	DEPENDENT SUBQUERY	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
3	DEPENDENT UNION	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
NULL	UNION RESULT	<union2,3>	ALL	NULL	NULL	NULL	NULL	NULL	
select * from t1 where 3 in (select (1+1) union select 1);
a
prepare st_18492 from 'select * from t1 where 3 in (select (1+1) union select 1)';
execute st_18492;
a
drop table t1;
+1 −1
Original line number Diff line number Diff line
@@ -744,7 +744,7 @@ id select_type table type possible_keys key key_len ref rows Extra
3	DEPENDENT UNION	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
NULL	UNION RESULT	<union2,3>	ALL	NULL	NULL	NULL	NULL	NULL	
Warnings:
Note	1003	select `test`.`t2`.`id` AS `id` from `test`.`t2` where <in_optimizer>(`test`.`t2`.`id`,<exists>(select 1 AS `Not_used` having (<cache>(`test`.`t2`.`id`) = <null_helper>(1)) union select 1 AS `Not_used` having (<cache>(`test`.`t2`.`id`) = <null_helper>(3))))
Note	1003	select `test`.`t2`.`id` AS `id` from `test`.`t2` where <in_optimizer>(`test`.`t2`.`id`,<exists>(select 1 AS `1` having (<cache>(`test`.`t2`.`id`) = <ref_null_helper>(1)) union select 3 AS `3` having (<cache>(`test`.`t2`.`id`) = <ref_null_helper>(3))))
SELECT * FROM t2 WHERE id IN (SELECT 5 UNION SELECT 3);
id
SELECT * FROM t2 WHERE id IN (SELECT 5 UNION SELECT 2);
+14 −0
Original line number Diff line number Diff line
@@ -130,3 +130,17 @@ drop table t1, t2;
# end of bug#1676

# End of 4.1 tests

# bug#18492: mysqld reports ER_ILLEGAL_REFERENCE in --ps-protocol

create table t1 (a int primary key);
insert into t1 values (1);

explain select * from t1 where 3 in (select (1+1) union select 1);

select * from t1 where 3 in (select (1+1) union select 1);

prepare st_18492 from 'select * from t1 where 3 in (select (1+1) union select 1)';
execute st_18492;

drop table t1;
+0 −8
Original line number Diff line number Diff line
@@ -5151,14 +5151,6 @@ bool Item_direct_view_ref::eq(const Item *item, bool binary_cmp) const
  return FALSE;
}

void Item_null_helper::print(String *str)
{
  str->append(STRING_WITH_LEN("<null_helper>("));
  store->print(str);
  str->append(')');
}


bool Item_default_value::eq(const Item *item, bool binary_cmp) const
{
  return item->type() == DEFAULT_VALUE_ITEM && 
+0 −15
Original line number Diff line number Diff line
@@ -1849,21 +1849,6 @@ class Item_ref_null_helper: public Item_ref
  }
};

class Item_null_helper :public Item_ref_null_helper
{
  Item *store;
public:
  Item_null_helper(Name_resolution_context *context_arg,
                   Item_in_subselect* master, Item *item,
		   const char *table_name_arg, const char *field_name_arg)
    :Item_ref_null_helper(context_arg, master, (store= 0, &store),
                          table_name_arg, field_name_arg),
     store(item)
    { ref= &store; }
  void print(String *str);
};


/*
  The following class is used to optimize comparing of date and bigint columns
  We need to save the original item ('ref') to be able to call
Loading