summaryrefslogtreecommitdiff
path: root/sql/log_event.h
diff options
context:
space:
mode:
authorAndrei Elkin <aelkin@mysql.com>2009-10-01 20:22:44 +0300
committerAndrei Elkin <aelkin@mysql.com>2009-10-01 20:22:44 +0300
commit737910fb11e0fe8d2628bf8091c3a7b0de194db2 (patch)
tree4fc7c06ce588219a390c0beaf37745e0903d2546 /sql/log_event.h
parentd91aa57c38e9baf0bbf31a596e79bea2504e50bb (diff)
parenta367c88c9eef26242756efa4026962c71c5429a9 (diff)
downloadmariadb-git-737910fb11e0fe8d2628bf8091c3a7b0de194db2.tar.gz
merge from 5.1-rpl+2 repo to a local branch with HB and bug@27808 fixes
Diffstat (limited to 'sql/log_event.h')
-rw-r--r--sql/log_event.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/log_event.h b/sql/log_event.h
index b481ae59502..de171145acd 100644
--- a/sql/log_event.h
+++ b/sql/log_event.h
@@ -3562,12 +3562,16 @@ protected:
int write_row(const Relay_log_info *const, const bool);
// Unpack the current row into m_table->record[0]
- int unpack_current_row(const Relay_log_info *const rli)
+ int unpack_current_row(const Relay_log_info *const rli,
+ const bool abort_on_warning= TRUE)
{
DBUG_ASSERT(m_table);
+
+ bool first_row= (m_curr_row == m_rows_buf);
ASSERT_OR_RETURN_ERROR(m_curr_row < m_rows_end, HA_ERR_CORRUPT_EVENT);
int const result= ::unpack_row(rli, m_table, m_width, m_curr_row, &m_cols,
- &m_curr_row_end, &m_master_reclength);
+ &m_curr_row_end, &m_master_reclength,
+ abort_on_warning, first_row);
if (m_curr_row_end > m_rows_end)
my_error(ER_SLAVE_CORRUPT_EVENT, MYF(0));
ASSERT_OR_RETURN_ERROR(m_curr_row_end <= m_rows_end, HA_ERR_CORRUPT_EVENT);