Commit 556f5003 authored by unknown's avatar unknown

Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl

into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl

parents bcee4501 a04dff19
...@@ -250,13 +250,14 @@ unpack_row(RELAY_LOG_INFO const *rli, ...@@ -250,13 +250,14 @@ unpack_row(RELAY_LOG_INFO const *rli,
We only unpack the field if it was non-null. We only unpack the field if it was non-null.
Use the master's size information if available else call Use the master's size information if available else call
normal unpack operation. normal unpack operation.
*/ */
#if 0 #if 0
bool save= table->s->db_low_byte_first; bool save= table->s->db_low_byte_first;
table->s->db_low_byte_first= TRUE; table->s->db_low_byte_first= TRUE;
#endif #endif
if (tabledef && tabledef->field_metadata(i)) uint16 const metadata= tabledef->field_metadata(i);
pack_ptr= f->unpack(f->ptr, pack_ptr, tabledef->field_metadata(i)); if (tabledef && metadata)
pack_ptr= f->unpack(f->ptr, pack_ptr, metadata);
else else
pack_ptr= f->unpack(f->ptr, pack_ptr); pack_ptr= f->unpack(f->ptr, pack_ptr);
#if 0 #if 0
......
...@@ -97,7 +97,7 @@ uint32 table_def::calc_field_size(uint col, uchar *master_data) ...@@ -97,7 +97,7 @@ uint32 table_def::calc_field_size(uint col, uchar *master_data)
{ {
uint from_len= (m_field_metadata[col] >> 8U) & 0x00ff; uint from_len= (m_field_metadata[col] >> 8U) & 0x00ff;
uint from_bit_len= m_field_metadata[col] & 0x00ff; uint from_bit_len= m_field_metadata[col] & 0x00ff;
DBUG_ASSERT(from_bit_len >= 0 && from_bit_len <= 7); DBUG_ASSERT(from_bit_len <= 7);
length= from_len + ((from_bit_len > 0) ? 1 : 0); length= from_len + ((from_bit_len > 0) ? 1 : 0);
break; break;
} }
......
...@@ -65,10 +65,14 @@ public: ...@@ -65,10 +65,14 @@ public:
m_field_metadata(0), m_null_bits(0), m_memory(NULL) m_field_metadata(0), m_null_bits(0), m_memory(NULL)
{ {
m_memory= (uchar *)my_multi_malloc(MYF(MY_WME), m_memory= (uchar *)my_multi_malloc(MYF(MY_WME),
&m_type, size, &m_type, size,
&m_field_metadata, size * sizeof(short), &m_field_metadata,
&m_null_bits, (m_size + 7) / 8, size * sizeof(uint16),
NULL); &m_null_bits, (size + 7) / 8,
NULL);
bzero(m_field_metadata, size * sizeof(uint16));
if (m_type) if (m_type)
memcpy(m_type, types, size); memcpy(m_type, types, size);
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment