Commit 74b01ca3 authored by bell@sanja.is.com.ua's avatar bell@sanja.is.com.ua

type of parameter assignment for parameters from variables added (BUG#4280)

parent f6ea88e8
...@@ -137,3 +137,17 @@ execute stmt1; ...@@ -137,3 +137,17 @@ execute stmt1;
FOUND_ROWS() FOUND_ROWS()
0 0
deallocate prepare stmt1; deallocate prepare stmt1;
drop table t1;
set @arg00=1;
prepare stmt1 from ' create table t1 (m int) as select 1 as m ' ;
execute stmt1 ;
select m from t1;
m
1
drop table t1;
prepare stmt1 from ' create table t1 (m int) as select ? as m ' ;
execute stmt1 using @arg00;
select m from t1;
m
1
drop table t1;
...@@ -140,3 +140,17 @@ execute stmt1; ...@@ -140,3 +140,17 @@ execute stmt1;
# Expect 0 # Expect 0
execute stmt1; execute stmt1;
deallocate prepare stmt1; deallocate prepare stmt1;
drop table t1;
#
# parameters from variables (for field creation)
#
set @arg00=1;
prepare stmt1 from ' create table t1 (m int) as select 1 as m ' ;
execute stmt1 ;
select m from t1;
drop table t1;
prepare stmt1 from ' create table t1 (m int) as select ? as m ' ;
execute stmt1 using @arg00;
select m from t1;
drop table t1;
...@@ -759,9 +759,13 @@ bool Item_param::set_from_user_var(THD *thd, const user_var_entry *entry) ...@@ -759,9 +759,13 @@ bool Item_param::set_from_user_var(THD *thd, const user_var_entry *entry)
switch (entry->type) { switch (entry->type) {
case REAL_RESULT: case REAL_RESULT:
set_double(*(double*)entry->value); set_double(*(double*)entry->value);
item_type= Item::REAL_ITEM;
item_result_type= REAL_RESULT;
break; break;
case INT_RESULT: case INT_RESULT:
set_int(*(longlong*)entry->value, 21); set_int(*(longlong*)entry->value, 21);
item_type= Item::INT_ITEM;
item_result_type= INT_RESULT;
break; break;
case STRING_RESULT: case STRING_RESULT:
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment