00001 #ifndef PSFA_DB_WRITE_DRIVER_MYSQL_HPP
00002 #define PSFA_DB_WRITE_DRIVER_MYSQL_HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "psfa/DbWriteDriver.hpp"
00021 #include "psfa/DbDriverMySqlHelper.hpp"
00022 #include "psfa/IndexData.hpp"
00023
00024
00025 namespace psfa
00026 {
00035 class DbWriteDriverMySql : public DbWriteDriver
00036 {
00037 public:
00038 DbWriteDriverMySql();
00039
00040 virtual ~DbWriteDriverMySql();
00041
00042 virtual void
00043 initPsfa();
00044
00045 virtual void
00046 delPool( const std::string poolName );
00047
00048 virtual int
00049 index( const std::string poolName,
00050 CheckData& check );
00051
00052 virtual void
00053 check( CheckData& check );
00054
00055 virtual bool
00056 existPool( const std::string poolName );
00057
00058 virtual bool
00059 success();
00060
00061 private:
00069 int
00070 insertPool( const std::string poolName );
00071
00080 void
00081 insertKontext( const std::string pool, const int poolId );
00082
00091 void
00092 insertSearch( const std::string pool, const int poolId );
00093
00101 void
00102 insertFiles( const int poolId,
00103 const std::vector< std::string >& files,
00104 const std::string path );
00105
00112 void
00113 removeFiles( const int poolId,
00114 const std::vector< std::string >& files );
00115
00132 bool
00133 insertFileRows( const int fileId,
00134 const std::string path,
00135 const std::string fileName );
00136
00146 int
00147 insertUnit( const std::string unit,
00148 const int poolId,
00149 const int fileId );
00150
00157 void
00158 insertEntries( const int poolId,
00159 const std::vector< IndexData_SP >& index );
00160
00161 bool success_;
00163 DbDriverMySqlHelper myHelper_;
00164 };
00165 }
00166 #endif