Commit cb7aa5ab authored by unknown's avatar unknown

Merge perch.ndb.mysql.com:/home/jonas/src/51-ndb

into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new

parents b65db0cb d5923377
......@@ -765,25 +765,28 @@ static int ndbcluster_create_schema_table(THD *thd)
void ndbcluster_setup_binlog_table_shares(THD *thd)
{
int done_find_all_files= 0;
if (!apply_status_share &&
ndbcluster_check_apply_status_share() == 0)
if (!schema_share &&
ndbcluster_check_schema_share() == 0)
{
if (!done_find_all_files)
{
ndbcluster_find_all_files(thd);
done_find_all_files= 1;
}
ndbcluster_create_apply_status_table(thd);
ndbcluster_create_schema_table(thd);
// always make sure we create the 'schema' first
if (!schema_share)
return;
}
if (!schema_share &&
ndbcluster_check_schema_share() == 0)
if (!apply_status_share &&
ndbcluster_check_apply_status_share() == 0)
{
if (!done_find_all_files)
{
ndbcluster_find_all_files(thd);
done_find_all_files= 1;
}
ndbcluster_create_schema_table(thd);
ndbcluster_create_apply_status_table(thd);
}
}
......
......@@ -312,15 +312,16 @@ inline
void
DLFifoListImpl<P,T,U>::release()
{
Ptr<T> p;
while(head.firstItem != RNIL)
Ptr<T> ptr;
Uint32 curr = head.firstItem;
while(curr != RNIL)
{
p.i = head.firstItem;
p.p = thePool.getPtr(head.firstItem);
T * t = p.p;
head.firstItem = t->U::nextList;
release(p);
thePool.getPtr(ptr, curr);
curr = ptr.p->U::nextList;
thePool.release(ptr);
}
head.firstItem = RNIL;
head.lastItem = RNIL;
}
template <typename P, typename T, typename U>
......
......@@ -332,13 +332,15 @@ void
DLListImpl<P,T,U>::release()
{
Ptr<T> ptr;
while((ptr.i = head.firstItem) != RNIL)
Uint32 curr = head.firstItem;
while(curr != RNIL)
{
thePool.getPtr(ptr);
head.firstItem = ptr.p->U::nextList;
thePool.getPtr(ptr, curr);
curr = ptr.p->U::nextList;
thePool.release(ptr);
}
}
head.firstItem = RNIL;
}
template <typename P, typename T, typename U>
inline
......
......@@ -302,13 +302,15 @@ void
SLListImpl<P, T, U>::release()
{
Ptr<T> ptr;
while((ptr.i = head.firstItem) != RNIL)
Uint32 curr = head.firstItem;
while(curr != RNIL)
{
thePool.getPtr(ptr);
head.firstItem = ptr.p->U::nextList;
thePool.getPtr(ptr, curr);
curr = ptr.p->U::nextList;
thePool.release(ptr);
}
}
head.firstItem = RNIL;
}
template <typename P, typename T, typename U>
inline
......
......@@ -1303,7 +1303,7 @@ NdbDictionaryImpl::fetchGlobalTableImpl(const BaseString& internalTableName)
int ret = getBlobTables(*impl);
if (ret != 0) {
delete impl;
return 0;
impl = 0;
}
}
......
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