diff options
author | unknown <mskold@mysql.com> | 2005-11-24 16:21:07 +0100 |
---|---|---|
committer | unknown <mskold@mysql.com> | 2005-11-24 16:21:07 +0100 |
commit | 102c0281fa1a746d6d473fbb22237a5dac1b82ba (patch) | |
tree | 080f53a3d6f7c0b0982435006574b52d84d516f7 /sql/ha_ndbcluster.cc | |
parent | 1dfaaba874c5f02222e149466743abb0c268c5d3 (diff) | |
download | mariadb-git-102c0281fa1a746d6d473fbb22237a5dac1b82ba.tar.gz |
Moved check of wrong schema version earlier
Diffstat (limited to 'sql/ha_ndbcluster.cc')
-rw-r--r-- | sql/ha_ndbcluster.cc | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 6760208488f..e06559dc593 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -3285,12 +3285,7 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type) DBUG_PRINT("info", ("Table schema version: %d", tab->getObjectVersion())); } - if (m_table != (void *)tab) - { - m_table= (void *)tab; - m_table_version = tab->getObjectVersion(); - } - else if (m_table_version < tab->getObjectVersion()) + if (m_table_version < tab->getObjectVersion()) { /* The table has been altered, caller has to retry @@ -3298,6 +3293,13 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type) NdbError err= ndb->getNdbError(NDB_INVALID_SCHEMA_OBJECT); 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; } no_uncommitted_rows_init(thd); |