#At file:///home/os136802/mysql/develop/repo/falcon-bug37281-sparc/ based on revid:svoj@stripped
2955 Olav Sandstaa 2009-01-12
Fix for Bug#37281 Time stamps in Falcon on big-endian machine give wrong results
The server expects timestamps to be returned on little-endian format while Falcon
returned these on big-endian format on big-endian machines. Change to use a call-back
to server code for storing timestamps when returning the results. The server code
handles the conversion from big-endian to little-endian.
modified:
storage/falcon/ha_falcon.cpp
per-file messages:
storage/falcon/ha_falcon.cpp
When returning timestamps to the server: use server code for storing these on the correct
endian format instead of handling this in Falcon code.
=== modified file 'storage/falcon/ha_falcon.cpp'
=== modified file 'storage/falcon/ha_falcon.cpp'
--- a/storage/falcon/ha_falcon.cpp 2008-12-19 10:47:17 +0000
+++ b/storage/falcon/ha_falcon.cpp 2009-01-12 12:32:01 +0000
@@ -3091,7 +3091,7 @@
case MYSQL_TYPE_TIMESTAMP:
{
int value = (int) (dataStream->value.integer64 / 1000);
- longstore(field->ptr, value);
+ ((Field_timestamp*)field)->store_timestamp(value);
}
break;