diff options
author | unknown <pekka@mysql.com> | 2006-05-25 13:08:50 +0200 |
---|---|---|
committer | unknown <pekka@mysql.com> | 2006-05-25 13:08:50 +0200 |
commit | 69c80350dc78aa43ceffbc623b70b0e7f21fe108 (patch) | |
tree | ba6be91421f65c423e40770810ce6ec97a09678f /ndb/tools | |
parent | f63e1728f7b9f69dec5f73f3cc7620dbf9d28739 (diff) | |
parent | 4e6efa1023034ba288d3c5f72f3545e0bfbdd53c (diff) | |
download | mariadb-git-69c80350dc78aa43ceffbc623b70b0e7f21fe108.tar.gz |
Merge mysql.com:/space/pekka/ndb/version/my50
into mysql.com:/space/pekka/ndb/version/my50-bug14509
ndb/src/ndbapi/DictCache.cpp:
Auto merged
ndb/src/ndbapi/DictCache.hpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
Diffstat (limited to 'ndb/tools')
-rw-r--r-- | ndb/tools/restore/consumer_restore.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ndb/tools/restore/consumer_restore.cpp b/ndb/tools/restore/consumer_restore.cpp index 038d57daf97..d62ca3f610a 100644 --- a/ndb/tools/restore/consumer_restore.cpp +++ b/ndb/tools/restore/consumer_restore.cpp @@ -148,9 +148,12 @@ BackupRestore::finalize_table(const TableS & table){ if (table.have_auto_inc()) { Uint64 max_val= table.get_max_auto_val(); - Uint64 auto_val= m_ndb->readAutoIncrementValue(get_table(table.m_dictTable)); - if (max_val+1 > auto_val || auto_val == ~(Uint64)0) - ret= m_ndb->setAutoIncrementValue(get_table(table.m_dictTable), max_val+1, false); + Uint64 auto_val; + int r= m_ndb->readAutoIncrementValue(get_table(table.m_dictTable), auto_val); + if (r == -1 && m_ndb->getNdbError().code != 626) + ret= false; + else if (r == -1 || max_val+1 > auto_val) + ret= m_ndb->setAutoIncrementValue(get_table(table.m_dictTable), max_val+1, false) != -1; } return ret; } |