mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Merge mysql.com:/home/ram/work/mysql-5.0-maint
into mysql.com:/home/ram/work/b28509/b28509.5.0
This commit is contained in:
@@ -1683,4 +1683,13 @@ execute stmt;
|
||||
ERROR 42S22: Unknown column 'y.value' in 'field list'
|
||||
deallocate prepare stmt;
|
||||
drop tables t1;
|
||||
prepare stmt from "create table t1 select ?";
|
||||
set @a=1.0;
|
||||
execute stmt using @a;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`?` decimal(2,1) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
End of 5.0 tests.
|
||||
|
@@ -1791,5 +1791,13 @@ execute stmt;
|
||||
deallocate prepare stmt;
|
||||
drop tables t1;
|
||||
|
||||
#
|
||||
# Bug #28509: strange behaviour: passing a decimal value to PS
|
||||
#
|
||||
prepare stmt from "create table t1 select ?";
|
||||
set @a=1.0;
|
||||
execute stmt using @a;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
|
@@ -2507,16 +2507,14 @@ bool Item_param::set_from_user_var(THD *thd, const user_var_entry *entry)
|
||||
if (entry && entry->value)
|
||||
{
|
||||
item_result_type= entry->type;
|
||||
switch (entry->type) {
|
||||
switch (item_result_type) {
|
||||
case REAL_RESULT:
|
||||
set_double(*(double*)entry->value);
|
||||
item_type= Item::REAL_ITEM;
|
||||
item_result_type= REAL_RESULT;
|
||||
break;
|
||||
case INT_RESULT:
|
||||
set_int(*(longlong*)entry->value, MY_INT64_NUM_DECIMAL_DIGITS);
|
||||
item_type= Item::INT_ITEM;
|
||||
item_result_type= INT_RESULT;
|
||||
break;
|
||||
case STRING_RESULT:
|
||||
{
|
||||
@@ -2538,7 +2536,6 @@ bool Item_param::set_from_user_var(THD *thd, const user_var_entry *entry)
|
||||
charset of connection, so we have to set it later.
|
||||
*/
|
||||
item_type= Item::STRING_ITEM;
|
||||
item_result_type= STRING_RESULT;
|
||||
|
||||
if (set_str((const char *)entry->value, entry->length))
|
||||
DBUG_RETURN(1);
|
||||
@@ -2552,6 +2549,7 @@ bool Item_param::set_from_user_var(THD *thd, const user_var_entry *entry)
|
||||
decimals= ent_value->frac;
|
||||
max_length= my_decimal_precision_to_length(ent_value->precision(),
|
||||
decimals, unsigned_flag);
|
||||
item_type= Item::DECIMAL_ITEM;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
Reference in New Issue
Block a user