1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

Fixed some byte order bugs with prepared statements on machines with high-byte-first. (Bug #4173)

Fixed problem with NULL and derived tables (Bug #4097)
Cleanup of new pushed code
This commit is contained in:
monty@mysql.com
2004-06-18 03:02:29 +03:00
parent 2f76413e5a
commit fd0153304d
15 changed files with 96 additions and 65 deletions

View File

@ -3001,6 +3001,7 @@ static uint read_binary_date(MYSQL_TIME *tm, uchar **pos)
return length;
}
/* Convert Numeric to buffer types */
static void send_data_long(MYSQL_BIND *param, MYSQL_FIELD *field,
longlong value)
@ -3015,26 +3016,26 @@ static void send_data_long(MYSQL_BIND *param, MYSQL_FIELD *field,
*param->buffer= (uchar) value;
break;
case MYSQL_TYPE_SHORT:
int2store(buffer, value);
shortstore(buffer, value);
break;
case MYSQL_TYPE_LONG:
int4store(buffer, value);
longstore(buffer, value);
break;
case MYSQL_TYPE_LONGLONG:
int8store(buffer, value);
longlongstore(buffer, value);
break;
case MYSQL_TYPE_FLOAT:
{
float data= (field_is_unsigned ? (float) ulonglong2double(value) :
(float) value);
float4store(buffer, data);
floatstore(buffer, data);
break;
}
case MYSQL_TYPE_DOUBLE:
{
double data= (field_is_unsigned ? ulonglong2double(value) :
(double) value);
float8store(buffer, data);
doublestore(buffer, data);
break;
}
default:
@ -3070,24 +3071,26 @@ static void send_data_double(MYSQL_BIND *param, double value)
*buffer= (uchar)value;
break;
case MYSQL_TYPE_SHORT:
int2store(buffer, (short)value);
shortstore(buffer, (short)value);
break;
case MYSQL_TYPE_LONG:
int4store(buffer, (long)value);
longstore(buffer, (long)value);
break;
case MYSQL_TYPE_LONGLONG:
int8store(buffer, (longlong)value);
{
longlong val= (longlong) value;
longlongstore(buffer, val);
break;
}
case MYSQL_TYPE_FLOAT:
{
float data= (float)value;
float4store(buffer, data);
float data= (float) value;
floatstore(buffer, data);
break;
}
case MYSQL_TYPE_DOUBLE:
{
double data= (double)value;
float8store(buffer, data);
doublestore(buffer, value);
break;
}
default: