BUG#30024 Restore of backup from different endian can work for datetime

storage/ndb/tools/restore/Restore.cpp:
  Convert datetime datatype to native endian
This commit is contained in:
unknown 2007-07-30 09:01:11 +00:00
parent ae23a601ae
commit aa25db82b8

View file

@ -664,6 +664,18 @@ RestoreDataIterator::getNextTuple(int & res)
*/
const Uint32 arraySize = sz / (attr_desc->size / 8);
assert(arraySize <= attr_desc->arraySize);
//convert datetime type
if(!m_hostByteOrder
&& attr_desc->m_column->getType() == NdbDictionary::Column::Datetime)
{
char* p = (char*)&attr_data->u_int64_value[0];
Uint64 x;
memcpy(&x, p, sizeof(Uint64));
x = Twiddle64(x);
memcpy(p, &x, sizeof(Uint64));
}
if(!Twiddle(attr_desc, attr_data, attr_desc->arraySize))
{
res = -1;