mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
Jim's fix for the #10443.
Fix handling of floats and doubles when using prepared statements API in the embedded server. sql/sql_prepare.cc: Jim's fix for the #10443. Within the embedded server, there's no need to use float4get() and float8get() for setting parameters, since they are never stored.
This commit is contained in:
@@ -306,24 +306,28 @@ static void set_param_int64(Item_param *param, uchar **pos, ulong len)
|
||||
|
||||
static void set_param_float(Item_param *param, uchar **pos, ulong len)
|
||||
{
|
||||
float data;
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
if (len < 4)
|
||||
return;
|
||||
#endif
|
||||
float data;
|
||||
float4get(data,*pos);
|
||||
#else
|
||||
data= *(float*) *pos;
|
||||
#endif
|
||||
param->set_double((double) data);
|
||||
*pos+= 4;
|
||||
}
|
||||
|
||||
static void set_param_double(Item_param *param, uchar **pos, ulong len)
|
||||
{
|
||||
double data;
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
if (len < 8)
|
||||
return;
|
||||
#endif
|
||||
double data;
|
||||
float8get(data,*pos);
|
||||
#else
|
||||
data= *(double*) *pos;
|
||||
#endif
|
||||
param->set_double((double) data);
|
||||
*pos+= 8;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user