mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
WL#3915 : (NDB) master's cols > slave
Corrective patch to fix test failures in pushbuild and add assertions to help debug rpl_extraColmaster test failures. mysql-test/extra/rpl_tests/rpl_row_tabledefs.test: WL#3915 : (NDB) master's cols > slave Change test to omit the port numbers in the result file. mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: WL#3915 : (NDB) master's cols > slave Corrected result file. mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: WL#3915 : (NDB) master's cols > slave Corrected result file. sql/rpl_utility.cc: WL#3915 : (NDB) master's cols > slave Added assertions to assist in debugging.
This commit is contained in:
@ -48,8 +48,12 @@ uint32 table_def::calc_field_size(uint col, uchar *master_data)
|
||||
else
|
||||
{
|
||||
length= m_field_metadata[col] & 0x00ff;
|
||||
DBUG_ASSERT(length > 0);
|
||||
if (length > 255)
|
||||
{
|
||||
DBUG_ASSERT(uint2korr(master_data) > 0);
|
||||
length= uint2korr(master_data) + 2;
|
||||
}
|
||||
else
|
||||
length= (uint) *master_data + 1;
|
||||
}
|
||||
@ -93,13 +97,17 @@ uint32 table_def::calc_field_size(uint col, uchar *master_data)
|
||||
{
|
||||
uint from_len= (m_field_metadata[col] >> 8U) & 0x00ff;
|
||||
uint from_bit_len= m_field_metadata[col] & 0x00ff;
|
||||
DBUG_ASSERT(from_len >= 0 && from_bit_len >= 0 && from_bit_len <= 7);
|
||||
length= from_len + ((from_bit_len > 0) ? 1 : 0);
|
||||
break;
|
||||
}
|
||||
case MYSQL_TYPE_VARCHAR:
|
||||
{
|
||||
length= m_field_metadata[col] > 255 ? 2 : 1; // c&p of Field_varstring::data_length()
|
||||
DBUG_ASSERT(uint2korr(master_data) > 0);
|
||||
length+= length == 1 ? (uint32) *master_data : uint2korr(master_data);
|
||||
break;
|
||||
}
|
||||
case MYSQL_TYPE_TINY_BLOB:
|
||||
case MYSQL_TYPE_MEDIUM_BLOB:
|
||||
case MYSQL_TYPE_LONG_BLOB:
|
||||
@ -113,6 +121,7 @@ uint32 table_def::calc_field_size(uint col, uchar *master_data)
|
||||
default:
|
||||
length= -1;
|
||||
}
|
||||
DBUG_ASSERT(length >= 0);
|
||||
return length;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user