summaryrefslogtreecommitdiff
path: root/libmysql
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2004-06-18 03:02:29 +0300
committerunknown <monty@mysql.com>2004-06-18 03:02:29 +0300
commit7d52eabb39d1733f4f10cac0f8f4d0555346ed9a (patch)
treebbef0bb6fad673089610709f1981fd9f249b7833 /libmysql
parent400648ebd0757caf9ef1831aa8de01570f5fb8fe (diff)
downloadmariadb-git-7d52eabb39d1733f4f10cac0f8f4d0555346ed9a.tar.gz
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 BitKeeper/etc/ignore: added mysql-test/ndb/ndbcluster client/mysqltest.c: simple cleanup innobase/os/os0file.c: fix for netware libmysql/libmysql.c: Fixed some byte order bugs with prepared statements on machines with high-byte-first. (Bug #4173) myisam/ft_boolean_search.c: Comment cleanup myisam/mi_check.c: Removed not needed check (check is done in check_index()) myisam/mi_unique.c: crc must be of type ha_checksum. myisam/myisamchk.c: Portability fix. mysql-test/mysql-test-run.sh: Simple cleanup mysql-test/r/subselect.result: Test problem with NULL and derived tables (Bug #4097) mysql-test/t/subselect.test: Test problem with NULL and derived tables (Bug #4097) sql/mysqld.cc: Remove not used defines sql/sql_select.cc: Fixed problem with NULL and derived tables (Bug #4097) Indentation fixes sql/sql_string.cc: Code cleanup sql/sql_yacc.yy: Allow one to use DROP PREPARE ...
Diffstat (limited to 'libmysql')
-rw-r--r--libmysql/libmysql.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index eb8368977e9..4cb6111af32 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -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: