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
commit6d1ad124289be8bc5a05077db7a0c88bb27f1a8e (patch)
tree4fc7c06ce588219a390c0beaf37745e0903d2546 /sql/log_event.h
parentf68119a74541479ec38164be788dbc7ace664564 (diff)
parent266d53b5d24a18ef1e8b696feee6fc8953bbec44 (diff)
downloadmariadb-git-6d1ad124289be8bc5a05077db7a0c88bb27f1a8e.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);