Commit a6e2c98d authored by joreland@mysql.com's avatar joreland@mysql.com

Compile fixes for ccc (& cxx) on linux/alpha

Mainly explicit template instantiations
parent 51b94746
...@@ -258,5 +258,7 @@ SignalDataPrintFunctions[] = { ...@@ -258,5 +258,7 @@ SignalDataPrintFunctions[] = {
const unsigned short NO_OF_PRINT_FUNCTIONS = sizeof(SignalDataPrintFunctions)/sizeof(NameFunctionPair); const unsigned short NO_OF_PRINT_FUNCTIONS = sizeof(SignalDataPrintFunctions)/sizeof(NameFunctionPair);
template class Bitmask<1>;
template class Bitmask<2>;
template class Bitmask<4>;
...@@ -305,3 +305,6 @@ sessionThread_C(void* _sc){ ...@@ -305,3 +305,6 @@ sessionThread_C(void* _sc){
NdbThread_Exit(0); NdbThread_Exit(0);
return 0; return 0;
} }
template class MutexVector<SocketServer::ServiceInstance>;
template class MutexVector<SocketServer::SessionInstance>;
...@@ -213,3 +213,6 @@ Backup::~Backup() ...@@ -213,3 +213,6 @@ Backup::~Backup()
BLOCK_FUNCTIONS(Backup); BLOCK_FUNCTIONS(Backup);
template class ArrayPool<Backup::Page32>;
template class ArrayPool<Backup::Attribute>;
template class ArrayPool<Backup::Fragment>;
...@@ -2581,3 +2581,5 @@ DbUtil::execUTIL_DESTORY_LOCK_REQ(Signal* signal){ ...@@ -2581,3 +2581,5 @@ DbUtil::execUTIL_DESTORY_LOCK_REQ(Signal* signal){
sendSignal(req.senderRef, GSN_UTIL_DESTROY_LOCK_REF, signal, sendSignal(req.senderRef, GSN_UTIL_DESTROY_LOCK_REF, signal,
UtilDestroyLockRef::SignalLength, JBB); UtilDestroyLockRef::SignalLength, JBB);
} }
template class ArrayPool<DbUtil::Page32>;
...@@ -1010,3 +1010,6 @@ Ndbfs::execDUMP_STATE_ORD(Signal* signal) ...@@ -1010,3 +1010,6 @@ Ndbfs::execDUMP_STATE_ORD(Signal* signal)
BLOCK_FUNCTIONS(Ndbfs); BLOCK_FUNCTIONS(Ndbfs);
template class Vector<AsyncFile*>;
template class Vector<OpenFiles::OpenFileItem>;
template class MemoryChannel<Request>;
...@@ -153,6 +153,7 @@ public: ...@@ -153,6 +153,7 @@ public:
* (Run operator NdbOut<< on every element) * (Run operator NdbOut<< on every element)
*/ */
void print(NdbOut & out){ void print(NdbOut & out){
#ifdef VM_TRACE
out << "FirstFree = " << firstFree << endl; out << "FirstFree = " << firstFree << endl;
for(Uint32 i = 0; i<size; i++){ for(Uint32 i = 0; i<size; i++){
#ifdef ARRAY_GUARD #ifdef ARRAY_GUARD
...@@ -164,6 +165,7 @@ public: ...@@ -164,6 +165,7 @@ public:
out << i << ": " << theArray[i] << " "; out << i << ": " << theArray[i] << " ";
} }
out << endl; out << endl;
#endif
} }
#ifdef DEBUG #ifdef DEBUG
......
...@@ -558,3 +558,4 @@ SimpleCpcClient::ParserDummy::ParserDummy(NDB_SOCKET_TYPE sock) ...@@ -558,3 +558,4 @@ SimpleCpcClient::ParserDummy::ParserDummy(NDB_SOCKET_TYPE sock)
: SocketServer::Session(sock) { : SocketServer::Session(sock) {
} }
template class Vector<SimpleCpcClient::Process>;
...@@ -2818,5 +2818,4 @@ template class Vector<Uint32>; ...@@ -2818,5 +2818,4 @@ template class Vector<Uint32>;
template class Vector<Vector<Uint32> >; template class Vector<Vector<Uint32> >;
template class Vector<NdbTableImpl*>; template class Vector<NdbTableImpl*>;
template class Vector<NdbColumnImpl*>; template class Vector<NdbColumnImpl*>;
template class Bitmask<4>;
...@@ -26,7 +26,7 @@ class NDBT_Attribute : public NdbDictionary::Column { ...@@ -26,7 +26,7 @@ class NDBT_Attribute : public NdbDictionary::Column {
friend class NdbOut& operator <<(class NdbOut&, const NDBT_Attribute &); friend class NdbOut& operator <<(class NdbOut&, const NDBT_Attribute &);
public: public:
NDBT_Attribute(const char* _name, NDBT_Attribute(const char* _name,
Column::Type _type, NdbDictionary::Column::Type _type,
int _length = 1, int _length = 1,
bool _pk = false, bool _pk = false,
bool _nullable = false): bool _nullable = false):
......
...@@ -110,6 +110,7 @@ public: ...@@ -110,6 +110,7 @@ public:
NDBT_Step(NDBT_TestCase* ptest, NDBT_Step(NDBT_TestCase* ptest,
const char* pname, const char* pname,
NDBT_TESTFUNC* pfunc); NDBT_TESTFUNC* pfunc);
virtual ~NDBT_Step() {}
int execute(NDBT_Context*); int execute(NDBT_Context*);
virtual int setUp() = 0; virtual int setUp() = 0;
virtual void tearDown() = 0; virtual void tearDown() = 0;
...@@ -132,8 +133,9 @@ public: ...@@ -132,8 +133,9 @@ public:
NDBT_NdbApiStep(NDBT_TestCase* ptest, NDBT_NdbApiStep(NDBT_TestCase* ptest,
const char* pname, const char* pname,
NDBT_TESTFUNC* pfunc); NDBT_TESTFUNC* pfunc);
int setUp(); virtual ~NDBT_NdbApiStep() {}
void tearDown(); virtual int setUp();
virtual void tearDown();
Ndb* getNdb(); Ndb* getNdb();
protected: protected:
...@@ -145,6 +147,7 @@ public: ...@@ -145,6 +147,7 @@ public:
NDBT_ParallelStep(NDBT_TestCase* ptest, NDBT_ParallelStep(NDBT_TestCase* ptest,
const char* pname, const char* pname,
NDBT_TESTFUNC* pfunc); NDBT_TESTFUNC* pfunc);
virtual ~NDBT_ParallelStep() {}
}; };
class NDBT_Verifier : public NDBT_NdbApiStep { class NDBT_Verifier : public NDBT_NdbApiStep {
...@@ -152,6 +155,7 @@ public: ...@@ -152,6 +155,7 @@ public:
NDBT_Verifier(NDBT_TestCase* ptest, NDBT_Verifier(NDBT_TestCase* ptest,
const char* name, const char* name,
NDBT_TESTFUNC* func); NDBT_TESTFUNC* func);
virtual ~NDBT_Verifier() {}
}; };
class NDBT_Initializer : public NDBT_NdbApiStep { class NDBT_Initializer : public NDBT_NdbApiStep {
...@@ -159,6 +163,7 @@ public: ...@@ -159,6 +163,7 @@ public:
NDBT_Initializer(NDBT_TestCase* ptest, NDBT_Initializer(NDBT_TestCase* ptest,
const char* name, const char* name,
NDBT_TESTFUNC* func); NDBT_TESTFUNC* func);
virtual ~NDBT_Initializer() {}
}; };
class NDBT_Finalizer : public NDBT_NdbApiStep { class NDBT_Finalizer : public NDBT_NdbApiStep {
...@@ -166,6 +171,7 @@ public: ...@@ -166,6 +171,7 @@ public:
NDBT_Finalizer(NDBT_TestCase* ptest, NDBT_Finalizer(NDBT_TestCase* ptest,
const char* name, const char* name,
NDBT_TESTFUNC* func); NDBT_TESTFUNC* func);
virtual ~NDBT_Finalizer() {}
}; };
...@@ -174,7 +180,8 @@ public: ...@@ -174,7 +180,8 @@ public:
NDBT_TestCase(NDBT_TestSuite* psuite, NDBT_TestCase(NDBT_TestSuite* psuite,
const char* name, const char* name,
const char* comment); const char* comment);
virtual ~NDBT_TestCase(){}; virtual ~NDBT_TestCase(){}
// This is the default executor of a test case // This is the default executor of a test case
// When a test case is executed it will need to be suplied with a number of // When a test case is executed it will need to be suplied with a number of
// different parameters and settings, these are passed to the test in the // different parameters and settings, these are passed to the test in the
......
...@@ -970,3 +970,5 @@ setup_hosts(atrt_config& config){ ...@@ -970,3 +970,5 @@ setup_hosts(atrt_config& config){
} }
return true; return true;
} }
template class Vector<const ParserRow<SimpleCpcClient::ParserDummy>*>;
...@@ -791,3 +791,5 @@ HugoOperations::indexUpdateRecord(Ndb*, ...@@ -791,3 +791,5 @@ HugoOperations::indexUpdateRecord(Ndb*,
} }
return NDBT_OK; return NDBT_OK;
} }
template class Vector<HugoOperations::ScanTmp>;
...@@ -2415,4 +2415,4 @@ HugoTransactions::indexUpdateRecords(Ndb* pNdb, ...@@ -2415,4 +2415,4 @@ HugoTransactions::indexUpdateRecords(Ndb* pNdb,
return NDBT_OK; return NDBT_OK;
} }
template class Vector<NDBT_ResultRow*>;
...@@ -1117,6 +1117,12 @@ void NDBT_Step::print(){ ...@@ -1117,6 +1117,12 @@ void NDBT_Step::print(){
} }
template class Vector<NDBT_TestCase*>;
template class Vector<NDBT_TestCaseResult*>;
template class Vector<NDBT_Step*>;
template class Vector<NdbThread*>;
template class Vector<NDBT_Verifier*>;
template class Vector<NDBT_Initializer*>;
template class Vector<NDBT_Finalizer*>;
template class Vector<const NdbDictionary::Table*>;
template class Vector<int>;
...@@ -672,3 +672,5 @@ NdbRestarter::getConfig(){ ...@@ -672,3 +672,5 @@ NdbRestarter::getConfig(){
m_config = ndb_mgm_get_configuration(handle, 0); m_config = ndb_mgm_get_configuration(handle, 0);
return m_config; return m_config;
} }
template class Vector<ndb_mgm_node_state>;
...@@ -347,3 +347,4 @@ Operate::evaluate(SimpleCpcClient* c, const SimpleCpcClient::Process & pp){ ...@@ -347,3 +347,4 @@ Operate::evaluate(SimpleCpcClient* c, const SimpleCpcClient::Process & pp){
return true; return true;
} }
template class Vector<const ParserRow<SimpleCpcClient::ParserDummy>*>;
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