Commit 50159020 authored by unknown's avatar unknown
Browse files

fixed bug with type of user variables (bug #551)


mysql-test/r/user_var.result:
  added tests for user variables comparing (bug #551)
mysql-test/t/user_var.test:
  added tests for user variables comparing (bug #551)
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
parent 2090bc6e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -35,5 +35,6 @@ serg@build.mysql2.com
serg@serg.mysql.com
serg@sergbook.mysql.com
sinisa@rhols221.adsl.netsonic.fi
vva@eagle.mysql.r18.ru
walrus@mysql.com
zak@balfor.local
+8 −0
Original line number Diff line number Diff line
@@ -14,3 +14,11 @@ table type possible_keys key key_len ref rows Extra
t1	index	NULL	i	4	NULL	3	where used; Using index
table	type	possible_keys	key	key_len	ref	rows	Extra
t1	ref	i	i	4	const	1	where used
@a:=10	@b:=1	@a > @b	@a < @b
10	1	1	0
@a:="10"	@b:="1"	@a > @b	@a < @b
10	1	1	0
@a:=10	@b:=2	@a > @b	@a < @b
10	2	1	0
@a:="10"	@b:="2"	@a > @b	@a < @b
10	2	0	1
+6 −0
Original line number Diff line number Diff line
@@ -17,3 +17,9 @@ explain select * from t1 where @vv1:=@vv1+1 and i=@vv1;
explain select @vv1:=i from t1 where i=@vv1;
explain select * from t1 where i=@vv1;
drop table t1,t2;

# Check types of variables
select @a:=10,   @b:=1,   @a > @b, @a < @b;
select @a:="10", @b:="1", @a > @b, @a < @b;
select @a:=10,   @b:=2,   @a > @b, @a < @b;
select @a:="10", @b:="2", @a > @b, @a < @b;
+1 −0
Original line number Diff line number Diff line
@@ -1676,6 +1676,7 @@ bool Item_func_set_user_var::fix_fields(THD *thd,TABLE_LIST *tables)
  if (Item_func::fix_fields(thd,tables) ||
      !(entry= get_variable(&thd->user_vars, name, 1)))
    return 1;
  entry->type= cached_result_type;
  entry->update_query_id=thd->query_id;
  return 0;
}