mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
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:
parent
ae23a601ae
commit
aa25db82b8
1 changed files with 12 additions and 0 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue