Commit be9742d4 authored by mskold@mysql.com's avatar mskold@mysql.com

Merge mskold@build.mysql.com:/home/bk/mysql-4.1

into mysql.com:/usr/local/home/marty/MySQL/test/mysql-4.1
parents 89b29aa1 9311c81a
...@@ -95,7 +95,7 @@ private: ...@@ -95,7 +95,7 @@ private:
BaseString _localConfigFileName; BaseString _localConfigFileName;
struct LocalConfig _localConfig; struct LocalConfig _localConfig;
int _ownNodeId; Uint32 _ownNodeId;
BaseString m_connectString; BaseString m_connectString;
......
...@@ -67,7 +67,7 @@ printSCANTABCONF(FILE * output, const Uint32 * theData, Uint32 len, Uint16 recei ...@@ -67,7 +67,7 @@ printSCANTABCONF(FILE * output, const Uint32 * theData, Uint32 len, Uint16 recei
fprintf(output, " Operation(s) [api tc rows len]:\n"); fprintf(output, " Operation(s) [api tc rows len]:\n");
ScanTabConf::OpData * op = (ScanTabConf::OpData*) ScanTabConf::OpData * op = (ScanTabConf::OpData*)
(theData + ScanTabConf::SignalLength); (theData + ScanTabConf::SignalLength);
for(int i = 0; i<op_count; i++){ for(size_t i = 0; i<op_count; i++){
if(op->info != ScanTabConf::EndOfData) if(op->info != ScanTabConf::EndOfData)
fprintf(output, " [0x%x 0x%x %d %d]", fprintf(output, " [0x%x 0x%x %d %d]",
op->apiPtrI, op->tcPtrI, op->apiPtrI, op->tcPtrI,
......
...@@ -94,7 +94,7 @@ ConfigRetriever::do_connect(int exit_on_connect_failure){ ...@@ -94,7 +94,7 @@ ConfigRetriever::do_connect(int exit_on_connect_failure){
while(retry < retry_max){ while(retry < retry_max){
Uint32 type = CR_ERROR; Uint32 type = CR_ERROR;
BaseString tmp; BaseString tmp;
for (int i = 0; i<_localConfig.ids.size(); i++){ for (unsigned int i = 0; i<_localConfig.ids.size(); i++){
MgmtSrvrId * m = &_localConfig.ids[i]; MgmtSrvrId * m = &_localConfig.ids[i];
switch(m->type){ switch(m->type){
case MgmId_TCP: case MgmId_TCP:
...@@ -139,7 +139,7 @@ ConfigRetriever::getConfig() { ...@@ -139,7 +139,7 @@ ConfigRetriever::getConfig() {
if(m_handle != 0){ if(m_handle != 0){
p = getConfig(m_handle); p = getConfig(m_handle);
} else { } else {
for (int i = 0; i<_localConfig.ids.size(); i++){ for (unsigned int i = 0; i<_localConfig.ids.size(); i++){
MgmtSrvrId * m = &_localConfig.ids[i]; MgmtSrvrId * m = &_localConfig.ids[i];
switch(m->type){ switch(m->type){
case MgmId_File: case MgmId_File:
......
...@@ -241,7 +241,7 @@ bool LocalConfig::readFile(const char * filename, bool &fopenError) ...@@ -241,7 +241,7 @@ bool LocalConfig::readFile(const char * filename, bool &fopenError)
return false; return false;
} }
int sz = 1024; unsigned int sz = 1024;
char* theString = (char*)NdbMem_Allocate(sz); char* theString = (char*)NdbMem_Allocate(sz);
theString[0] = 0; theString[0] = 0;
......
...@@ -1145,7 +1145,7 @@ void Ndb::setCatalogName(const char * a_catalog_name) ...@@ -1145,7 +1145,7 @@ void Ndb::setCatalogName(const char * a_catalog_name)
int len = snprintf(prefixName, sizeof(prefixName), "%s%c%s%c", int len = snprintf(prefixName, sizeof(prefixName), "%s%c%s%c",
theDataBase, table_name_separator, theDataBase, table_name_separator,
theDataBaseSchema, table_name_separator); theDataBaseSchema, table_name_separator);
prefixEnd = prefixName + (len < sizeof(prefixName) ? len : prefixEnd = prefixName + (len < (int) sizeof(prefixName) ? len :
sizeof(prefixName) - 1); sizeof(prefixName) - 1);
} }
} }
...@@ -1164,7 +1164,7 @@ void Ndb::setSchemaName(const char * a_schema_name) ...@@ -1164,7 +1164,7 @@ void Ndb::setSchemaName(const char * a_schema_name)
int len = snprintf(prefixName, sizeof(prefixName), "%s%c%s%c", int len = snprintf(prefixName, sizeof(prefixName), "%s%c%s%c",
theDataBase, table_name_separator, theDataBase, table_name_separator,
theDataBaseSchema, table_name_separator); theDataBaseSchema, table_name_separator);
prefixEnd = prefixName + (len < sizeof(prefixName) ? len : prefixEnd = prefixName + (len < (int) sizeof(prefixName) ? len :
sizeof(prefixName) - 1); sizeof(prefixName) - 1);
} }
} }
......
...@@ -229,7 +229,8 @@ NdbDictionary::Table::Table(const char * name) ...@@ -229,7 +229,8 @@ NdbDictionary::Table::Table(const char * name)
} }
NdbDictionary::Table::Table(const NdbDictionary::Table & org) NdbDictionary::Table::Table(const NdbDictionary::Table & org)
: m_impl(* new NdbTableImpl(* this)) : NdbDictionary::Object(),
m_impl(* new NdbTableImpl(* this))
{ {
m_impl.assign(org.m_impl); m_impl.assign(org.m_impl);
} }
......
...@@ -383,7 +383,7 @@ void ...@@ -383,7 +383,7 @@ void
NdbTableImpl::buildColumnHash(){ NdbTableImpl::buildColumnHash(){
const Uint32 size = m_columns.size(); const Uint32 size = m_columns.size();
size_t i; int i;
for(i = 31; i >= 0; i--){ for(i = 31; i >= 0; i--){
if(((1 << i) & size) != 0){ if(((1 << i) & size) != 0){
m_columnHashMask = (1 << (i + 1)) - 1; m_columnHashMask = (1 << (i + 1)) - 1;
...@@ -393,7 +393,7 @@ NdbTableImpl::buildColumnHash(){ ...@@ -393,7 +393,7 @@ NdbTableImpl::buildColumnHash(){
Vector<Uint32> hashValues; Vector<Uint32> hashValues;
Vector<Vector<Uint32> > chains; chains.fill(size, hashValues); Vector<Vector<Uint32> > chains; chains.fill(size, hashValues);
for(i = 0; i<size; i++){ for(i = 0; i< (int) size; i++){
Uint32 hv = Hash(m_columns[i]->getName()) & 0xFFFE; Uint32 hv = Hash(m_columns[i]->getName()) & 0xFFFE;
Uint32 bucket = hv & m_columnHashMask; Uint32 bucket = hv & m_columnHashMask;
bucket = (bucket < size ? bucket : bucket - size); bucket = (bucket < size ? bucket : bucket - size);
...@@ -407,7 +407,7 @@ NdbTableImpl::buildColumnHash(){ ...@@ -407,7 +407,7 @@ NdbTableImpl::buildColumnHash(){
m_columnHash.fill((unsigned)size-1, tmp); // Default no chaining m_columnHash.fill((unsigned)size-1, tmp); // Default no chaining
Uint32 pos = 0; // In overflow vector Uint32 pos = 0; // In overflow vector
for(i = 0; i<size; i++){ for(i = 0; i< (int) size; i++){
Uint32 sz = chains[i].size(); Uint32 sz = chains[i].size();
if(sz == 1){ if(sz == 1){
Uint32 col = chains[i][0]; Uint32 col = chains[i][0];
...@@ -1421,7 +1421,7 @@ NdbDictInterface::createOrAlterTable(Ndb & ndb, ...@@ -1421,7 +1421,7 @@ NdbDictInterface::createOrAlterTable(Ndb & ndb,
internalName); internalName);
bool haveAutoIncrement = false; bool haveAutoIncrement = false;
Uint64 autoIncrementValue; Uint64 autoIncrementValue = 0;
for(i = 0; i<sz; i++){ for(i = 0; i<sz; i++){
const NdbColumnImpl * col = impl.m_columns[i]; const NdbColumnImpl * col = impl.m_columns[i];
if(col == 0) if(col == 0)
......
...@@ -392,7 +392,8 @@ Ndb::handleReceivedSignal(NdbApiSignal* aSignal, LinearSectionPtr ptr[3]) ...@@ -392,7 +392,8 @@ Ndb::handleReceivedSignal(NdbApiSignal* aSignal, LinearSectionPtr ptr[3])
break; break;
case NdbReceiver::NDB_SCANRECEIVER: case NdbReceiver::NDB_SCANRECEIVER:
tCon->theScanningOp->receiver_delivered(tRec); tCon->theScanningOp->receiver_delivered(tRec);
theWaiter.m_state = (tWaitState == WAIT_SCAN ? NO_WAIT : tWaitState); theWaiter.m_state = (((WaitSignalType) tWaitState) == WAIT_SCAN ?
(Uint32) NO_WAIT : tWaitState);
break; break;
default: default:
goto InvalidSignal; goto InvalidSignal;
...@@ -764,7 +765,8 @@ Ndb::handleReceivedSignal(NdbApiSignal* aSignal, LinearSectionPtr ptr[3]) ...@@ -764,7 +765,8 @@ Ndb::handleReceivedSignal(NdbApiSignal* aSignal, LinearSectionPtr ptr[3])
switch(com){ switch(com){
case 1: case 1:
tCon->theScanningOp->receiver_delivered(tRec); tCon->theScanningOp->receiver_delivered(tRec);
theWaiter.m_state = (tWaitState == WAIT_SCAN ? NO_WAIT : tWaitState); theWaiter.m_state = (((WaitSignalType) tWaitState) == WAIT_SCAN ?
(Uint32) NO_WAIT : tWaitState);
break; break;
case 0: case 0:
break; break;
...@@ -888,8 +890,8 @@ Ndb::completedTransaction(NdbConnection* aCon) ...@@ -888,8 +890,8 @@ Ndb::completedTransaction(NdbConnection* aCon)
return; return;
}//if }//if
} else { } else {
ndbout << "theNoOfSentTransactions = " << theNoOfSentTransactions; ndbout << "theNoOfSentTransactions = " << (int) theNoOfSentTransactions;
ndbout << " theListState = " << aCon->theListState; ndbout << " theListState = " << (int) aCon->theListState;
ndbout << " theTransArrayIndex = " << aCon->theTransArrayIndex; ndbout << " theTransArrayIndex = " << aCon->theTransArrayIndex;
ndbout << endl << flush; ndbout << endl << flush;
#ifdef VM_TRACE #ifdef VM_TRACE
...@@ -940,7 +942,7 @@ Ndb::pollCompleted(NdbConnection** aCopyArray) ...@@ -940,7 +942,7 @@ Ndb::pollCompleted(NdbConnection** aCopyArray)
aCopyArray[i] = theCompletedTransactionsArray[i]; aCopyArray[i] = theCompletedTransactionsArray[i];
if (aCopyArray[i]->theListState != NdbConnection::InCompletedList) { if (aCopyArray[i]->theListState != NdbConnection::InCompletedList) {
ndbout << "pollCompleted error "; ndbout << "pollCompleted error ";
ndbout << aCopyArray[i]->theListState << endl; ndbout << (int) aCopyArray[i]->theListState << endl;
abort(); abort();
}//if }//if
theCompletedTransactionsArray[i] = NULL; theCompletedTransactionsArray[i] = NULL;
......
...@@ -163,7 +163,7 @@ void Ndb::setup(Ndb_cluster_connection *ndb_cluster_connection, ...@@ -163,7 +163,7 @@ void Ndb::setup(Ndb_cluster_connection *ndb_cluster_connection,
int len = snprintf(prefixName, sizeof(prefixName), "%s%c%s%c", int len = snprintf(prefixName, sizeof(prefixName), "%s%c%s%c",
theDataBase, table_name_separator, theDataBase, table_name_separator,
theDataBaseSchema, table_name_separator); theDataBaseSchema, table_name_separator);
prefixEnd = prefixName + (len < sizeof(prefixName) ? len : prefixEnd = prefixName + (len < (int) sizeof(prefixName) ? len :
sizeof(prefixName) - 1); sizeof(prefixName) - 1);
NdbMutex_Lock(&createNdbMutex); NdbMutex_Lock(&createNdbMutex);
......
...@@ -2085,8 +2085,8 @@ int ha_ndbcluster::index_end() ...@@ -2085,8 +2085,8 @@ int ha_ndbcluster::index_end()
int ha_ndbcluster::index_read(byte *buf, int ha_ndbcluster::index_read(byte *buf,
const byte *key, uint key_len, const byte *key, uint key_len,
enum ha_rkey_function find_flag) enum ha_rkey_function find_flag)
{ {
DBUG_ENTER("index_read"); DBUG_ENTER("index_read");
DBUG_PRINT("enter", ("active_index: %u, key_len: %u, find_flag: %d", DBUG_PRINT("enter", ("active_index: %u, key_len: %u, find_flag: %d",
...@@ -2096,7 +2096,7 @@ int ha_ndbcluster::index_read(byte *buf, ...@@ -2096,7 +2096,7 @@ int ha_ndbcluster::index_read(byte *buf,
start_key.key= key; start_key.key= key;
start_key.length= key_len; start_key.length= key_len;
start_key.flag= find_flag; start_key.flag= find_flag;
DBUG_RETURN(read_range_first(&start_key, NULL, false, true)); DBUG_RETURN(read_range_first_to_buf(&start_key, NULL, false, true, buf));
} }
...@@ -2163,10 +2163,25 @@ int ha_ndbcluster::read_range_first(const key_range *start_key, ...@@ -2163,10 +2163,25 @@ int ha_ndbcluster::read_range_first(const key_range *start_key,
const key_range *end_key, const key_range *end_key,
bool eq_range, bool sorted) bool eq_range, bool sorted)
{ {
KEY* key_info;
int error= 1;
byte* buf= table->record[0]; byte* buf= table->record[0];
DBUG_ENTER("ha_ndbcluster::read_range_first"); DBUG_ENTER("ha_ndbcluster::read_range_first");
DBUG_RETURN(read_range_first_to_buf(start_key,
end_key,
eq_range,
sorted,
buf));
}
inline
int ha_ndbcluster::read_range_first_to_buf(const key_range *start_key,
const key_range *end_key,
bool eq_range, bool sorted,
byte* buf)
{
KEY* key_info;
int error= 1;
DBUG_ENTER("ha_ndbcluster::read_range_first_to_buf");
DBUG_PRINT("info", ("eq_range: %d, sorted: %d", eq_range, sorted)); DBUG_PRINT("info", ("eq_range: %d, sorted: %d", eq_range, sorted));
if (m_active_cursor) if (m_active_cursor)
......
...@@ -107,6 +107,10 @@ class ha_ndbcluster: public handler ...@@ -107,6 +107,10 @@ class ha_ndbcluster: public handler
int read_range_first(const key_range *start_key, int read_range_first(const key_range *start_key,
const key_range *end_key, const key_range *end_key,
bool eq_range, bool sorted); bool eq_range, bool sorted);
int read_range_first_to_buf(const key_range *start_key,
const key_range *end_key,
bool eq_range, bool sorted,
byte* buf);
int read_range_next(); int read_range_next();
bool get_error_message(int error, String *buf); bool get_error_message(int error, String *buf);
......
...@@ -1434,9 +1434,9 @@ int handler::read_range_first(const key_range *start_key, ...@@ -1434,9 +1434,9 @@ int handler::read_range_first(const key_range *start_key,
start_key->length, start_key->length,
start_key->flag); start_key->flag);
if (result) if (result)
DBUG_RETURN((result == HA_ERR_KEY_NOT_FOUND || DBUG_RETURN((result == HA_ERR_KEY_NOT_FOUND)
result == HA_ERR_END_OF_FILE) ? HA_ERR_END_OF_FILE : ? HA_ERR_END_OF_FILE
result); : result);
DBUG_RETURN (compare_key(end_range) <= 0 ? 0 : HA_ERR_END_OF_FILE); DBUG_RETURN (compare_key(end_range) <= 0 ? 0 : HA_ERR_END_OF_FILE);
} }
......
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