summaryrefslogtreecommitdiff
path: root/ndb/tools
diff options
context:
space:
mode:
authorunknown <pekka@mysql.com>2006-05-25 13:08:50 +0200
committerunknown <pekka@mysql.com>2006-05-25 13:08:50 +0200
commit69c80350dc78aa43ceffbc623b70b0e7f21fe108 (patch)
treeba6be91421f65c423e40770810ce6ec97a09678f /ndb/tools
parentf63e1728f7b9f69dec5f73f3cc7620dbf9d28739 (diff)
parent4e6efa1023034ba288d3c5f72f3545e0bfbdd53c (diff)
downloadmariadb-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.cpp9
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;
}