00001
00002
00003 #ifndef DATABASEMAINTENANCE_H
00004 #define DATABASEMAINTENANCE_H
00005
00006
00007
00008
00009
00010
00011
00012
00014
00015 #include <iosfwd>
00016 #include <list>
00017 #include <string>
00018
00019 #include "DatabaseMaintenance/DbmFileLocater.h"
00020 #include "JobControl/JobCModule.h"
00021
00022 class DbiCascader;
00023 class DbiDBProxy;
00024 class DbiValRecSet;
00025 class DbmLogFile;
00026 class DbmNameFilter;
00027
00028 class DbmModule : public JobCModule
00029 {
00030 public:
00031
00032 friend class DbmValidate;
00033
00034 DbmModule();
00035 ~DbmModule();
00036
00037
00038 virtual void HandleCommand(JobCommand *command);
00039 virtual void Help();
00040
00041 private:
00042
00043 Bool_t ApplySQLFixup(UInt_t dbNo,
00044 ifstream& in,
00045 DbmLogFile& logFile,
00046 Bool_t enabled);
00047 Bool_t BuildValRecSet(const std::string& tableName,UInt_t dbNo);
00048 Bool_t CheckMemory(JobCommand *cmd=0);
00049 void ClearCache();
00050 Bool_t ExportTables(JobCommand *cmd);
00051 Bool_t ExportTable(const std::string& tableName,
00052 ofstream* out,
00053 DbmLogFile& logFile,
00054 std::list<int>seqnos);
00055 const DbiDBProxy& GetDBProxy(const std::string& tableName) const;
00056 Bool_t GlobaliseSeqNo(JobCommand *cmd);
00057 Bool_t GlobaliseSeqNo(const std::string& tableName);
00058 Bool_t Import(JobCommand *cmd);
00059 Bool_t LogEntry(JobCommand *cmd);
00060 void ListTables(const DbmNameFilter& nameFilter,
00061 UInt_t dbNo,
00062 std::list<string>& tableNames) const;
00063 Bool_t Query(JobCommand *cmd);
00064 void Quit() const;
00065 void SetLogLevel(JobCommand *cmd) const;
00066 void SetTimer(JobCommand *cmd) const;
00067
00068
00069
00070
00071
00072 DbmModule& operator=(const DbmModule&);
00073
00074
00075
00076 DbiCascader& fCascader;
00077 DbiValRecSet* fValRecSet;
00078 DbmFileLocater fFileLocater;
00079
00080 ClassDef(DbmModule,0)
00081
00082 };
00083
00084 #endif
00085