Loading mysql-test/r/user_var.result +8 −0 Original line number Diff line number Diff line Loading @@ -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 mysql-test/t/user_var.test +6 −0 Original line number Diff line number Diff line Loading @@ -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; sql/item_func.cc +1 −0 Original line number Diff line number Diff line Loading @@ -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; } Loading Loading
mysql-test/r/user_var.result +8 −0 Original line number Diff line number Diff line Loading @@ -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
mysql-test/t/user_var.test +6 −0 Original line number Diff line number Diff line Loading @@ -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;
sql/item_func.cc +1 −0 Original line number Diff line number Diff line Loading @@ -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; } Loading