mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
Merge mskold@build.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-4.1
This commit is contained in:
commit
9311c81a55
12 changed files with 48 additions and 26 deletions
|
@ -95,7 +95,7 @@ private:
|
|||
|
||||
BaseString _localConfigFileName;
|
||||
struct LocalConfig _localConfig;
|
||||
int _ownNodeId;
|
||||
Uint32 _ownNodeId;
|
||||
|
||||
BaseString m_connectString;
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ printSCANTABCONF(FILE * output, const Uint32 * theData, Uint32 len, Uint16 recei
|
|||
fprintf(output, " Operation(s) [api tc rows len]:\n");
|
||||
ScanTabConf::OpData * op = (ScanTabConf::OpData*)
|
||||
(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)
|
||||
fprintf(output, " [0x%x 0x%x %d %d]",
|
||||
op->apiPtrI, op->tcPtrI,
|
||||
|
|
|
@ -94,7 +94,7 @@ ConfigRetriever::do_connect(int exit_on_connect_failure){
|
|||
while(retry < retry_max){
|
||||
Uint32 type = CR_ERROR;
|
||||
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];
|
||||
switch(m->type){
|
||||
case MgmId_TCP:
|
||||
|
@ -139,7 +139,7 @@ ConfigRetriever::getConfig() {
|
|||
if(m_handle != 0){
|
||||
p = getConfig(m_handle);
|
||||
} 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];
|
||||
switch(m->type){
|
||||
case MgmId_File:
|
||||
|
|
|
@ -241,7 +241,7 @@ bool LocalConfig::readFile(const char * filename, bool &fopenError)
|
|||
return false;
|
||||
}
|
||||
|
||||
int sz = 1024;
|
||||
unsigned int sz = 1024;
|
||||
char* theString = (char*)NdbMem_Allocate(sz);
|
||||
theString[0] = 0;
|
||||
|
||||
|
|
|
@ -1145,7 +1145,7 @@ void Ndb::setCatalogName(const char * a_catalog_name)
|
|||
int len = snprintf(prefixName, sizeof(prefixName), "%s%c%s%c",
|
||||
theDataBase, table_name_separator,
|
||||
theDataBaseSchema, table_name_separator);
|
||||
prefixEnd = prefixName + (len < sizeof(prefixName) ? len :
|
||||
prefixEnd = prefixName + (len < (int) sizeof(prefixName) ? len :
|
||||
sizeof(prefixName) - 1);
|
||||
}
|
||||
}
|
||||
|
@ -1164,7 +1164,7 @@ void Ndb::setSchemaName(const char * a_schema_name)
|
|||
int len = snprintf(prefixName, sizeof(prefixName), "%s%c%s%c",
|
||||
theDataBase, table_name_separator,
|
||||
theDataBaseSchema, table_name_separator);
|
||||
prefixEnd = prefixName + (len < sizeof(prefixName) ? len :
|
||||
prefixEnd = prefixName + (len < (int) sizeof(prefixName) ? len :
|
||||
sizeof(prefixName) - 1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -229,7 +229,8 @@ NdbDictionary::Table::Table(const char * name)
|
|||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
|
|
@ -383,7 +383,7 @@ void
|
|||
NdbTableImpl::buildColumnHash(){
|
||||
const Uint32 size = m_columns.size();
|
||||
|
||||
size_t i;
|
||||
int i;
|
||||
for(i = 31; i >= 0; i--){
|
||||
if(((1 << i) & size) != 0){
|
||||
m_columnHashMask = (1 << (i + 1)) - 1;
|
||||
|
@ -393,7 +393,7 @@ NdbTableImpl::buildColumnHash(){
|
|||
|
||||
Vector<Uint32> 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 bucket = hv & m_columnHashMask;
|
||||
bucket = (bucket < size ? bucket : bucket - size);
|
||||
|
@ -407,7 +407,7 @@ NdbTableImpl::buildColumnHash(){
|
|||
m_columnHash.fill((unsigned)size-1, tmp); // Default no chaining
|
||||
|
||||
Uint32 pos = 0; // In overflow vector
|
||||
for(i = 0; i<size; i++){
|
||||
for(i = 0; i< (int) size; i++){
|
||||
Uint32 sz = chains[i].size();
|
||||
if(sz == 1){
|
||||
Uint32 col = chains[i][0];
|
||||
|
@ -1421,7 +1421,7 @@ NdbDictInterface::createOrAlterTable(Ndb & ndb,
|
|||
internalName);
|
||||
|
||||
bool haveAutoIncrement = false;
|
||||
Uint64 autoIncrementValue;
|
||||
Uint64 autoIncrementValue = 0;
|
||||
for(i = 0; i<sz; i++){
|
||||
const NdbColumnImpl * col = impl.m_columns[i];
|
||||
if(col == 0)
|
||||
|
|
|
@ -392,7 +392,8 @@ Ndb::handleReceivedSignal(NdbApiSignal* aSignal, LinearSectionPtr ptr[3])
|
|||
break;
|
||||
case NdbReceiver::NDB_SCANRECEIVER:
|
||||
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;
|
||||
default:
|
||||
goto InvalidSignal;
|
||||
|
@ -764,7 +765,8 @@ Ndb::handleReceivedSignal(NdbApiSignal* aSignal, LinearSectionPtr ptr[3])
|
|||
switch(com){
|
||||
case 1:
|
||||
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;
|
||||
case 0:
|
||||
break;
|
||||
|
@ -888,8 +890,8 @@ Ndb::completedTransaction(NdbConnection* aCon)
|
|||
return;
|
||||
}//if
|
||||
} else {
|
||||
ndbout << "theNoOfSentTransactions = " << theNoOfSentTransactions;
|
||||
ndbout << " theListState = " << aCon->theListState;
|
||||
ndbout << "theNoOfSentTransactions = " << (int) theNoOfSentTransactions;
|
||||
ndbout << " theListState = " << (int) aCon->theListState;
|
||||
ndbout << " theTransArrayIndex = " << aCon->theTransArrayIndex;
|
||||
ndbout << endl << flush;
|
||||
#ifdef VM_TRACE
|
||||
|
@ -940,7 +942,7 @@ Ndb::pollCompleted(NdbConnection** aCopyArray)
|
|||
aCopyArray[i] = theCompletedTransactionsArray[i];
|
||||
if (aCopyArray[i]->theListState != NdbConnection::InCompletedList) {
|
||||
ndbout << "pollCompleted error ";
|
||||
ndbout << aCopyArray[i]->theListState << endl;
|
||||
ndbout << (int) aCopyArray[i]->theListState << endl;
|
||||
abort();
|
||||
}//if
|
||||
theCompletedTransactionsArray[i] = NULL;
|
||||
|
|
|
@ -163,7 +163,7 @@ void Ndb::setup(Ndb_cluster_connection *ndb_cluster_connection,
|
|||
int len = snprintf(prefixName, sizeof(prefixName), "%s%c%s%c",
|
||||
theDataBase, table_name_separator,
|
||||
theDataBaseSchema, table_name_separator);
|
||||
prefixEnd = prefixName + (len < sizeof(prefixName) ? len :
|
||||
prefixEnd = prefixName + (len < (int) sizeof(prefixName) ? len :
|
||||
sizeof(prefixName) - 1);
|
||||
|
||||
NdbMutex_Lock(&createNdbMutex);
|
||||
|
|
|
@ -2085,8 +2085,8 @@ int ha_ndbcluster::index_end()
|
|||
|
||||
|
||||
int ha_ndbcluster::index_read(byte *buf,
|
||||
const byte *key, uint key_len,
|
||||
enum ha_rkey_function find_flag)
|
||||
const byte *key, uint key_len,
|
||||
enum ha_rkey_function find_flag)
|
||||
{
|
||||
DBUG_ENTER("index_read");
|
||||
DBUG_PRINT("enter", ("active_index: %u, key_len: %u, find_flag: %d",
|
||||
|
@ -2096,7 +2096,7 @@ int ha_ndbcluster::index_read(byte *buf,
|
|||
start_key.key= key;
|
||||
start_key.length= key_len;
|
||||
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,
|
|||
const key_range *end_key,
|
||||
bool eq_range, bool sorted)
|
||||
{
|
||||
KEY* key_info;
|
||||
int error= 1;
|
||||
byte* buf= table->record[0];
|
||||
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));
|
||||
|
||||
if (m_active_cursor)
|
||||
|
|
|
@ -107,6 +107,10 @@ class ha_ndbcluster: public handler
|
|||
int read_range_first(const key_range *start_key,
|
||||
const key_range *end_key,
|
||||
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();
|
||||
|
||||
bool get_error_message(int error, String *buf);
|
||||
|
|
|
@ -1434,9 +1434,9 @@ int handler::read_range_first(const key_range *start_key,
|
|||
start_key->length,
|
||||
start_key->flag);
|
||||
if (result)
|
||||
DBUG_RETURN((result == HA_ERR_KEY_NOT_FOUND ||
|
||||
result == HA_ERR_END_OF_FILE) ? HA_ERR_END_OF_FILE :
|
||||
result);
|
||||
DBUG_RETURN((result == HA_ERR_KEY_NOT_FOUND)
|
||||
? HA_ERR_END_OF_FILE
|
||||
: result);
|
||||
|
||||
DBUG_RETURN (compare_key(end_range) <= 0 ? 0 : HA_ERR_END_OF_FILE);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue