Commit 54074472 authored by pekka@mysql.com's avatar pekka@mysql.com

ndb - fix event created by ndb_restore bug#17045 (not really)

parent 93db514d
......@@ -14,7 +14,7 @@ ndb_autodiscover : Needs to be fixed w.r.t binlog
ndb_autodiscover2 : Needs to be fixed w.r.t binlog
ndb_binlog_basic : Results are not deterministic, Tomas will fix
ndb_binlog_ddl_multi : Bug#17038 [PATCH PENDING]
ndb_dd_backuprestore : Bug#17045 NdbDictionaryImpl::fix_blob_events causes core
ndb_dd_backuprestore : Need to fix result
ndb_load : Bug#17233
partition_03ndb : Bug#16385
ps_7ndb : dbug assert in RBR mode when executing test suite
......
......@@ -350,10 +350,8 @@ NdbEventOperationImpl::getBlobHandle(const NdbColumnImpl *tAttrInfo, int n)
// to hide blob op it is linked under main op, not under m_ndb
NdbEventOperation* tmp =
m_ndb->theEventBuffer->createEventOperation(bename, m_error);
if (tmp == NULL) {
m_error.code = m_ndb->theEventBuffer->m_error.code;
if (tmp == NULL)
DBUG_RETURN(NULL);
}
tBlobOp = &tmp->m_impl;
// pointer to main table op
......
......@@ -748,10 +748,17 @@ BackupRestore::table(const TableS & table){
my_event.addTableEvent(NdbDictionary::Event::TE_ALL);
// add all columns to the event
bool has_blobs = false;
for(int a= 0; a < tab->getNoOfColumns(); a++)
{
my_event.addEventColumn(a);
NdbDictionary::Column::Type t = tab->getColumn(a)->getType();
if (t == NdbDictionary::Column::Blob ||
t == NdbDictionary::Column::Text)
has_blobs = true;
}
if (has_blobs)
my_event.mergeEvents(true);
while ( dict->createEvent(my_event) ) // Add event to database
{
......
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