summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <pekka@mysql.com>2006-02-21 02:27:23 +0100
committerunknown <pekka@mysql.com>2006-02-21 02:27:23 +0100
commit449cc2400b2a2ceab479c2e30aad21e1b800eebc (patch)
treeb9aa936e29987fdc6c09631491453ddc7359bfef
parentde83767bd022fecc59ab6705f7bd240a015a729c (diff)
downloadmariadb-git-449cc2400b2a2ceab479c2e30aad21e1b800eebc.tar.gz
ndb - fix event created by ndb_restore bug#17045 (not really)
mysql-test/t/disabled.def: leave ndb_dd_backuprestore disabled until *.result corrected storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp: error code was clobbered storage/ndb/tools/restore/consumer_restore.cpp: surprise - ndb_restore creates events
-rw-r--r--mysql-test/t/disabled.def2
-rw-r--r--storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp4
-rw-r--r--storage/ndb/tools/restore/consumer_restore.cpp7
3 files changed, 9 insertions, 4 deletions
diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def
index dabc0efce77..c09a7361b3d 100644
--- a/mysql-test/t/disabled.def
+++ b/mysql-test/t/disabled.def
@@ -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
diff --git a/storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp b/storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp
index 411c151410d..5b2bc99dd18 100644
--- a/storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp
+++ b/storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp
@@ -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
diff --git a/storage/ndb/tools/restore/consumer_restore.cpp b/storage/ndb/tools/restore/consumer_restore.cpp
index e4d8f98363a..3b39a1373a0 100644
--- a/storage/ndb/tools/restore/consumer_restore.cpp
+++ b/storage/ndb/tools/restore/consumer_restore.cpp
@@ -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
{