diff options
author | unknown <joreland@mysql.com> | 2004-06-24 11:48:12 +0200 |
---|---|---|
committer | unknown <joreland@mysql.com> | 2004-06-24 11:48:12 +0200 |
commit | b6b406f2db83feea5e8ff500b98f71fd183ebc9a (patch) | |
tree | 8e55c8e73a1d059ba7a9d7c9afe3e11fb35ce3a4 | |
parent | 147922dc14b239d3c643e567d5273f31e30e76ce (diff) | |
parent | 0eef1ae3f313b17be944f8464f44e10d1b6c4585 (diff) | |
download | mariadb-git-b6b406f2db83feea5e8ff500b98f71fd183ebc9a.tar.gz |
Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1
-rw-r--r-- | ndb/src/kernel/SimBlockList.cpp | 41 | ||||
-rw-r--r-- | ndb/src/ndbapi/Ndb.cpp | 44 | ||||
-rw-r--r-- | ndb/src/ndbapi/Ndbinit.cpp | 28 |
3 files changed, 49 insertions, 64 deletions
diff --git a/ndb/src/kernel/SimBlockList.cpp b/ndb/src/kernel/SimBlockList.cpp index c41b17e1919..75a52ae0c4b 100644 --- a/ndb/src/kernel/SimBlockList.cpp +++ b/ndb/src/kernel/SimBlockList.cpp @@ -34,6 +34,9 @@ #include <Dbtux.hpp> #include <NdbEnv.h> +#ifndef VM_TRACE +#define NEW_BLOCK(B) new B +#else enum SIMBLOCKLIST_DUMMY { A_VALUE = 0 }; static @@ -60,13 +63,13 @@ void * operator new (size_t sz, SIMBLOCKLIST_DUMMY dummy){ return tmp; } +#define NEW_BLOCK(B) new(A_VALUE) B +#endif void SimBlockList::load(const Configuration & conf){ noOfBlocks = 16; theList = new SimulatedBlock * [noOfBlocks]; - for(int i = 0; i<noOfBlocks; i++) - theList[i] = 0; Dbdict* dbdict = 0; Dbdih* dbdih = 0; @@ -75,28 +78,28 @@ SimBlockList::load(const Configuration & conf){ Uint32 dl; const ndb_mgm_configuration_iterator * p = conf.getOwnConfigIterator(); if(p && !ndb_mgm_get_int_parameter(p, CFG_DB_DISCLESS, &dl) && dl){ - fs = new (A_VALUE) VoidFs(conf); + fs = NEW_BLOCK(VoidFs)(conf); } else { - fs = new (A_VALUE) Ndbfs(conf); + fs = NEW_BLOCK(Ndbfs)(conf); } } - theList[0] = new (A_VALUE) Dbacc(conf); - theList[1] = new (A_VALUE) Cmvmi(conf); + theList[0] = NEW_BLOCK(Dbacc)(conf); + theList[1] = NEW_BLOCK(Cmvmi)(conf); theList[2] = fs; - theList[3] = dbdict = new (A_VALUE) Dbdict(conf); - theList[4] = dbdih = new (A_VALUE) Dbdih(conf); - theList[5] = new (A_VALUE) Dblqh(conf); - theList[6] = new (A_VALUE) Dbtc(conf); - theList[7] = new (A_VALUE) Dbtup(conf); - theList[8] = new (A_VALUE) Ndbcntr(conf); - theList[9] = new (A_VALUE) Qmgr(conf); - theList[10] = new (A_VALUE) Trix(conf); - theList[11] = new (A_VALUE) Backup(conf); - theList[12] = new (A_VALUE) DbUtil(conf); - theList[13] = new (A_VALUE) Suma(conf); - theList[14] = new (A_VALUE) Grep(conf); - theList[15] = new (A_VALUE) Dbtux(conf); + theList[3] = dbdict = NEW_BLOCK(Dbdict)(conf); + theList[4] = dbdih = NEW_BLOCK(Dbdih)(conf); + theList[5] = NEW_BLOCK(Dblqh)(conf); + theList[6] = NEW_BLOCK(Dbtc)(conf); + theList[7] = NEW_BLOCK(Dbtup)(conf); + theList[8] = NEW_BLOCK(Ndbcntr)(conf); + theList[9] = NEW_BLOCK(Qmgr)(conf); + theList[10] = NEW_BLOCK(Trix)(conf); + theList[11] = NEW_BLOCK(Backup)(conf); + theList[12] = NEW_BLOCK(DbUtil)(conf); + theList[13] = NEW_BLOCK(Suma)(conf); + theList[14] = NEW_BLOCK(Grep)(conf); + theList[15] = NEW_BLOCK(Dbtux)(conf); // Metadata common part shared by block instances ptrMetaDataCommon = new MetaData::Common(*dbdict, *dbdih); diff --git a/ndb/src/ndbapi/Ndb.cpp b/ndb/src/ndbapi/Ndb.cpp index 3be78bbf2f8..fe7260c4693 100644 --- a/ndb/src/ndbapi/Ndb.cpp +++ b/ndb/src/ndbapi/Ndb.cpp @@ -38,10 +38,6 @@ Name: Ndb.cpp #include <NdbEnv.h> #include <BaseString.hpp> -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif - /**************************************************************************** void connect(); @@ -1028,18 +1024,14 @@ const char * Ndb::getCatalogName() const void Ndb::setCatalogName(const char * a_catalog_name) { if (a_catalog_name) { - strncpy(theDataBase, a_catalog_name, NDB_MAX_DATABASE_NAME_SIZE); - // Prepare prefix for faster operations - uint db_len = MIN(strlen(theDataBase), NDB_MAX_DATABASE_NAME_SIZE - 1); - uint schema_len = - MIN(strlen(theDataBaseSchema), NDB_MAX_SCHEMA_NAME_SIZE - 1); - strncpy(prefixName, theDataBase, NDB_MAX_DATABASE_NAME_SIZE - 1); - prefixName[db_len] = table_name_separator; - strncpy(prefixName+db_len+1, theDataBaseSchema, - NDB_MAX_SCHEMA_NAME_SIZE - 1); - prefixName[db_len+schema_len+1] = table_name_separator; - prefixName[db_len+schema_len+2] = '\0'; - prefixEnd = prefixName + db_len+schema_len + 2; + snprintf(theDataBase, sizeof(theDataBase), "%s", + a_catalog_name ? 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 : + sizeof(prefixName) - 1); } } @@ -1051,18 +1043,14 @@ const char * Ndb::getSchemaName() const void Ndb::setSchemaName(const char * a_schema_name) { if (a_schema_name) { - strncpy(theDataBaseSchema, a_schema_name, NDB_MAX_SCHEMA_NAME_SIZE); - // Prepare prefix for faster operations - uint db_len = MIN(strlen(theDataBase), NDB_MAX_DATABASE_NAME_SIZE - 1); - uint schema_len = - MIN(strlen(theDataBaseSchema), NDB_MAX_SCHEMA_NAME_SIZE - 1); - strncpy(prefixName, theDataBase, NDB_MAX_DATABASE_NAME_SIZE - 1); - prefixName[db_len] = table_name_separator; - strncpy(prefixName+db_len+1, theDataBaseSchema, - NDB_MAX_SCHEMA_NAME_SIZE - 1); - prefixName[db_len+schema_len+1] = table_name_separator; - prefixName[db_len+schema_len+2] = '\0'; - prefixEnd = prefixName + db_len+schema_len + 2; + snprintf(theDataBaseSchema, sizeof(theDataBase), "%s", + a_schema_name ? 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 : + sizeof(prefixName) - 1); } } diff --git a/ndb/src/ndbapi/Ndbinit.cpp b/ndb/src/ndbapi/Ndbinit.cpp index 03baff4aefd..f451ba885d4 100644 --- a/ndb/src/ndbapi/Ndbinit.cpp +++ b/ndb/src/ndbapi/Ndbinit.cpp @@ -56,7 +56,7 @@ Ndb(const char* aDataBase); Parameters: aDataBase : Name of the database. Remark: Connect to the database. ***************************************************************************/ -Ndb::Ndb( const char* aDataBase , const char* aDataBaseSchema) : +Ndb::Ndb( const char* aDataBase , const char* aSchema) : theNdbObjectIdMap(0), thePreparedTransactionsArray(NULL), theSentTransactionsArray(NULL), @@ -121,22 +121,16 @@ Ndb::Ndb( const char* aDataBase , const char* aDataBaseSchema) : theLastTupleId[i] = 0; }//for - if (aDataBase) - strncpy(theDataBase, aDataBase, NDB_MAX_DATABASE_NAME_SIZE); - else - memset(theDataBase, 0, sizeof(theDataBase)); - strncpy(theDataBaseSchema, aDataBaseSchema, NDB_MAX_SCHEMA_NAME_SIZE); - // Prepare prefix for faster operations - uint db_len = MIN(strlen(theDataBase), NDB_MAX_DATABASE_NAME_SIZE - 1); - uint schema_len = - MIN(strlen(theDataBaseSchema), NDB_MAX_SCHEMA_NAME_SIZE - 1); - strncpy(prefixName, theDataBase, NDB_MAX_DATABASE_NAME_SIZE - 1); - prefixName[db_len] = table_name_separator; - strncpy(prefixName+db_len+1, theDataBaseSchema, - NDB_MAX_SCHEMA_NAME_SIZE - 1); - prefixName[db_len+schema_len+1] = table_name_separator; - prefixName[db_len+schema_len+2] = '\0'; - prefixEnd = prefixName + db_len+schema_len + 2; + snprintf(theDataBase, sizeof(theDataBase), "%s", + aDataBase ? aDataBase : ""); + snprintf(theDataBaseSchema, sizeof(theDataBaseSchema), "%s", + aSchema ? aSchema : ""); + + int len = snprintf(prefixName, sizeof(prefixName), "%s%c%s%c", + theDataBase, table_name_separator, + theDataBaseSchema, table_name_separator); + prefixEnd = prefixName + (len < sizeof(prefixName) ? len : + sizeof(prefixName) - 1); NdbMutex_Lock(&createNdbMutex); |