Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-new

into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-new
This commit is contained in:
unknown 2006-01-13 11:52:58 +01:00
commit 4a114543d5
5 changed files with 46 additions and 9 deletions

View file

@ -216,3 +216,9 @@ show warnings;
Level Code Message Level Code Message
Error 1296 Got error 743 'Unsupported character set in table or index' from NDB Error 1296 Got error 743 'Unsupported character set in table or index' from NDB
Error 1005 Can't create table 'test.t1' (errno: 140) Error 1005 Can't create table 'test.t1' (errno: 140)
create table t1 (
pk1 int primary key,
b bit(32) not null
) engine=ndbcluster;
insert into t1 values (1,1);
drop table t1;

View file

@ -113,3 +113,12 @@ create table t1 (
key(b) key(b)
) engine=ndbcluster; ) engine=ndbcluster;
show warnings; show warnings;
# bug#16125
create table t1 (
pk1 int primary key,
b bit(32) not null
) engine=ndbcluster;
insert into t1 values (1,1);
drop table t1;

View file

@ -918,7 +918,7 @@ inline void
BitmaskImpl::getField(unsigned size, const Uint32 src[], BitmaskImpl::getField(unsigned size, const Uint32 src[],
unsigned pos, unsigned len, Uint32 dst[]) unsigned pos, unsigned len, Uint32 dst[])
{ {
assert(pos + len < (size << 5)); assert(pos + len <= (size << 5));
src += (pos >> 5); src += (pos >> 5);
Uint32 offset = pos & 31; Uint32 offset = pos & 31;
@ -937,7 +937,7 @@ inline void
BitmaskImpl::setField(unsigned size, Uint32 dst[], BitmaskImpl::setField(unsigned size, Uint32 dst[],
unsigned pos, unsigned len, const Uint32 src[]) unsigned pos, unsigned len, const Uint32 src[])
{ {
assert(pos + len < (size << 5)); assert(pos + len <= (size << 5));
dst += (pos >> 5); dst += (pos >> 5);
Uint32 offset = pos & 31; Uint32 offset = pos & 31;

View file

@ -1859,6 +1859,16 @@ MgmtSrvr::alloc_node_id(NodeId * nodeId,
m_connect_address[id_found].s_addr= 0; m_connect_address[id_found].s_addr= 0;
} }
m_reserved_nodes.set(id_found); m_reserved_nodes.set(id_found);
if (theFacade && id_found != theFacade->ownId())
{
/**
* Make sure we're ready to accept connections from this node
*/
theFacade->lock_mutex();
theFacade->doConnect(id_found);
theFacade->unlock_mutex();
}
char tmp_str[128]; char tmp_str[128];
m_reserved_nodes.getText(tmp_str); m_reserved_nodes.getText(tmp_str);
g_eventLogger.info("Mgmt server state: nodeid %d reserved for ip %s, m_reserved_nodes %s.", g_eventLogger.info("Mgmt server state: nodeid %d reserved for ip %s, m_reserved_nodes %s.",

View file

@ -254,12 +254,6 @@ testcase(Ndb_cluster_connection&cc, int flag)
ndbout << "tab=" << tab << " cols=" << attrcnt ndbout << "tab=" << tab << " cols=" << attrcnt
<< " size max=" << smax << " tot=" << stot << endl; << " size max=" << smax << " tot=" << stot << endl;
ndb = new Ndb(&cc, "TEST_DB");
if (ndb->init() != 0)
return ndberror("init");
if (ndb->waitUntilReady(30) < 0)
return ndberror("waitUntilReady");
if ((tcon = NdbSchemaCon::startSchemaTrans(ndb)) == 0) if ((tcon = NdbSchemaCon::startSchemaTrans(ndb)) == 0)
return ndberror("startSchemaTransaction"); return ndberror("startSchemaTransaction");
if ((top = tcon->getNdbSchemaOp()) == 0) if ((top = tcon->getNdbSchemaOp()) == 0)
@ -541,7 +535,6 @@ testcase(Ndb_cluster_connection&cc, int flag)
return ndberror("key %d not found", k); return ndberror("key %d not found", k);
ndbout << "scanned " << key << endl; ndbout << "scanned " << key << endl;
ndb = 0;
ndbout << "done" << endl; ndbout << "done" << endl;
return 0; return 0;
} }
@ -605,6 +598,7 @@ NDB_COMMAND(testDataBuffers, "testDataBuffers", "testDataBuffers", "testDataBuff
return NDBT_ProgramExit(NDBT_WRONGARGS); return NDBT_ProgramExit(NDBT_WRONGARGS);
} }
} }
unsigned ok = true; unsigned ok = true;
Ndb_cluster_connection con; Ndb_cluster_connection con;
@ -613,6 +607,20 @@ NDB_COMMAND(testDataBuffers, "testDataBuffers", "testDataBuffers", "testDataBuff
return NDBT_ProgramExit(NDBT_FAILED); return NDBT_ProgramExit(NDBT_FAILED);
} }
ndb = new Ndb(&con, "TEST_DB");
if (ndb->init() != 0)
{
ndberror("init");
ok = false;
goto out;
}
if (ndb->waitUntilReady(30) < 0)
{
ndberror("waitUntilReady");
ok = false;
goto out;
}
for (i = 1; 0 == loopcnt || i <= loopcnt; i++) { for (i = 1; 0 == loopcnt || i <= loopcnt; i++) {
ndbout << "=== loop " << i << " ===" << endl; ndbout << "=== loop " << i << " ===" << endl;
for (int flag = 0; flag < (1<<testbits); flag++) { for (int flag = 0; flag < (1<<testbits); flag++) {
@ -621,9 +629,13 @@ NDB_COMMAND(testDataBuffers, "testDataBuffers", "testDataBuffers", "testDataBuff
if (! kontinue) if (! kontinue)
goto out; goto out;
} }
NdbDictionary::Dictionary * dict = ndb->getDictionary();
dict->dropTable(tab);
} }
} }
out: out:
delete ndb;
return NDBT_ProgramExit(ok ? NDBT_OK : NDBT_FAILED); return NDBT_ProgramExit(ok ? NDBT_OK : NDBT_FAILED);
} }