Commit 10b76d41 authored by unknown's avatar unknown
Browse files

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.
parent 297f80ed
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -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;
}