summaryrefslogtreecommitdiff
path: root/sql/sp_rcontext.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sp_rcontext.cc')
-rw-r--r--sql/sp_rcontext.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/sql/sp_rcontext.cc b/sql/sp_rcontext.cc
index 609882b84c6..0c6c8c5aa70 100644
--- a/sql/sp_rcontext.cc
+++ b/sql/sp_rcontext.cc
@@ -249,14 +249,20 @@ sp_cursor::fetch(THD *thd, List<struct sp_pvar> *vars)
it= new Item_int(s);
break;
case REAL_RESULT:
- it= new Item_real(s, strlen(s));
+ it= new Item_float(s, strlen(s));
break;
- default:
+ case DECIMAL_RESULT:
+ it= new Item_decimal(s, strlen(s), thd->db_charset);
+ break;
+ case STRING_RESULT:
{
uint len= strlen(s);
it= new Item_string(thd->strmake(s, len), len, thd->db_charset);
break;
}
+ case ROW_RESULT:
+ default:
+ DBUG_ASSERT(0);
}
thd->spcont->set_item(pv->offset, it);
}