Loading sql/ha_ndbcluster.cc +27 −7 Original line number Diff line number Diff line Loading @@ -4147,20 +4147,30 @@ int ha_ndbcluster::delete_table(const char *name) int ha_ndbcluster::drop_table() { THD *thd= current_thd; Ndb *ndb= get_ndb(); NdbDictionary::Dictionary *dict= ndb->getDictionary(); DBUG_ENTER("drop_table"); DBUG_PRINT("enter", ("Deleting %s", m_tabname)); if (dict->dropTable(m_tabname)) while (dict->dropTable(m_tabname)) { const NdbError err= dict->getNdbError(); if (err.code == 709) ; // 709: No such table existed else switch (err.status) { case NdbError::TemporaryError: if (!thd->killed) continue; // retry indefinitly break; default: break; } if (err.code != 709) // 709: No such table existed ERR_RETURN(dict->getNdbError()); break; } release_metadata(); DBUG_RETURN(0); } Loading Loading @@ -4564,14 +4574,24 @@ int ndbcluster_drop_database(const char *path) List_iterator_fast<char> it(drop_list); while ((tabname=it++)) { if (dict->dropTable(tabname)) while (dict->dropTable(tabname)) { const NdbError err= dict->getNdbError(); if (err.code != 709) switch (err.status) { case NdbError::TemporaryError: if (!thd->killed) continue; // retry indefinitly break; default: break; } if (err.code != 709) // 709: No such table existed { ERR_PRINT(err); ret= ndb_to_mysql_error(&err); } break; } } DBUG_RETURN(ret); Loading Loading
sql/ha_ndbcluster.cc +27 −7 Original line number Diff line number Diff line Loading @@ -4147,20 +4147,30 @@ int ha_ndbcluster::delete_table(const char *name) int ha_ndbcluster::drop_table() { THD *thd= current_thd; Ndb *ndb= get_ndb(); NdbDictionary::Dictionary *dict= ndb->getDictionary(); DBUG_ENTER("drop_table"); DBUG_PRINT("enter", ("Deleting %s", m_tabname)); if (dict->dropTable(m_tabname)) while (dict->dropTable(m_tabname)) { const NdbError err= dict->getNdbError(); if (err.code == 709) ; // 709: No such table existed else switch (err.status) { case NdbError::TemporaryError: if (!thd->killed) continue; // retry indefinitly break; default: break; } if (err.code != 709) // 709: No such table existed ERR_RETURN(dict->getNdbError()); break; } release_metadata(); DBUG_RETURN(0); } Loading Loading @@ -4564,14 +4574,24 @@ int ndbcluster_drop_database(const char *path) List_iterator_fast<char> it(drop_list); while ((tabname=it++)) { if (dict->dropTable(tabname)) while (dict->dropTable(tabname)) { const NdbError err= dict->getNdbError(); if (err.code != 709) switch (err.status) { case NdbError::TemporaryError: if (!thd->killed) continue; // retry indefinitly break; default: break; } if (err.code != 709) // 709: No such table existed { ERR_PRINT(err); ret= ndb_to_mysql_error(&err); } break; } } DBUG_RETURN(ret); Loading