Commit 70d447c1 authored by mskold@mysql.com's avatar mskold@mysql.com

Moved check of wrong schema version earlier

parent efdef780
...@@ -3285,12 +3285,7 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type) ...@@ -3285,12 +3285,7 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type)
DBUG_PRINT("info", ("Table schema version: %d", DBUG_PRINT("info", ("Table schema version: %d",
tab->getObjectVersion())); tab->getObjectVersion()));
} }
if (m_table != (void *)tab) if (m_table_version < tab->getObjectVersion())
{
m_table= (void *)tab;
m_table_version = tab->getObjectVersion();
}
else if (m_table_version < tab->getObjectVersion())
{ {
/* /*
The table has been altered, caller has to retry The table has been altered, caller has to retry
...@@ -3298,6 +3293,13 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type) ...@@ -3298,6 +3293,13 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type)
NdbError err= ndb->getNdbError(NDB_INVALID_SCHEMA_OBJECT); NdbError err= ndb->getNdbError(NDB_INVALID_SCHEMA_OBJECT);
DBUG_RETURN(ndb_to_mysql_error(&err)); DBUG_RETURN(ndb_to_mysql_error(&err));
} }
if (m_table != (void *)tab)
{
m_table= (void *)tab;
m_table_version = tab->getObjectVersion();
if (!(my_errno= build_index_list(ndb, table, ILBP_OPEN)))
DBUG_RETURN(my_errno);
}
m_table_info= tab_info; m_table_info= tab_info;
} }
no_uncommitted_rows_init(thd); no_uncommitted_rows_init(thd);
......
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