@@ -113,24 +113,29 @@ BOOL CDatabase_File::Database_File_Destory()
113113 类型:数据结构指针
114114 可空:N
115115 意思:要插入的数据信息
116+ 参数.二:bRewrite
117+ In/Out:In
118+ 类型:逻辑型
119+ 可空:N
120+ 意思:是否覆写数据
116121返回值
117122 类型:逻辑型
118123 意思:是否成功
119124备注:这个结构所有值都必须填充
120125*********************************************************************/
121- BOOL CDatabase_File::Database_File_FileInsert (XSTORAGECORE_DBFILE *pSt_DBFile )
126+ BOOL CDatabase_File::Database_File_FileInsert (XSTORAGECORE_DBFILE *pSt_DBManage, BOOL bRewrite /* = FALSE */ )
122127{
123128 Database_IsErrorOccur = FALSE ;
124129
125- if (NULL == pSt_DBFile )
130+ if (NULL == pSt_DBManage )
126131 {
127132 Database_IsErrorOccur = TRUE ;
128133 Database_dwErrorCode = ERROR_XENGINE_XSTROGE_CORE_DB_INSERTFILE_PARAMENT;
129134 return FALSE ;
130135 }
131136 int nListCount = 0 ;
132137 XSTORAGECORE_DBFILE **ppSt_ListFile;
133- if (Database_File_FileQuery (&ppSt_ListFile, &nListCount, NULL , NULL , NULL , NULL , pSt_DBFile ->st_ProtocolFile .tszFileHash ))
138+ if (Database_File_FileQuery (&ppSt_ListFile, &nListCount, NULL , NULL , NULL , NULL , NULL , pSt_DBManage ->st_ProtocolFile .tszFileHash ))
134139 {
135140 BaseLib_OperatorMemory_Free ((void ***)&ppSt_ListFile, nListCount);
136141 return TRUE ;
@@ -140,8 +145,11 @@ BOOL CDatabase_File::Database_File_FileInsert(XSTORAGECORE_DBFILE *pSt_DBFile)
140145 TCHAR tszSQLStatement[2048 ];
141146 memset (tszSQLStatement, ' \0 ' , sizeof (tszSQLStatement));
142147
143- Database_Help_Insert (tszSQLStatement, pSt_DBFile);
144-
148+ if (bRewrite)
149+ {
150+ Database_File_FileDelete (pSt_DBManage->tszBuckKey , pSt_DBManage->st_ProtocolFile .tszFilePath , pSt_DBManage->st_ProtocolFile .tszFileName );
151+ }
152+ Database_Help_Insert (tszSQLStatement, pSt_DBManage);
145153 if (!DataBase_MySQL_Execute (xhDBSQL, tszSQLStatement))
146154 {
147155 Database_IsErrorOccur = TRUE ;
@@ -158,11 +166,16 @@ BOOL CDatabase_File::Database_File_FileInsert(XSTORAGECORE_DBFILE *pSt_DBFile)
158166 类型:常量字符指针
159167 可空:Y
160168 意思:所属BUCK名称
161- 参数.二:lpszFile
169+ 参数.二:lpszFilePath
162170 In/Out:In
163171 类型:常量字符指针
164172 可空:Y
165- 意思:要删除的文件全路径
173+ 意思:要删除的文件路径
174+ 参数.三:lpszFileName
175+ In/Out:In
176+ 类型:常量字符指针
177+ 可空:Y
178+ 意思:要删除的文件名称
166179 参数.三:lpszHash
167180 In/Out:In
168181 类型:常量字符指针
@@ -173,19 +186,19 @@ BOOL CDatabase_File::Database_File_FileInsert(XSTORAGECORE_DBFILE *pSt_DBFile)
173186 意思:是否成功
174187备注:参数不能全为空,不会删除文件
175188*********************************************************************/
176- BOOL CDatabase_File::Database_File_FileDelete (LPCTSTR lpszBuckKey /* = NULL */ , LPCTSTR lpszFile /* = NULL */ , LPCTSTR lpszHash /* = NULL */ )
189+ BOOL CDatabase_File::Database_File_FileDelete (LPCTSTR lpszBuckKey /* = NULL */ , LPCTSTR lpszFilePath /* = NULL */ , LPCTSTR lpszFileName /* = NULL */ , LPCTSTR lpszHash /* = NULL */ )
177190{
178191 Database_IsErrorOccur = FALSE ;
179192
180- if ((NULL == lpszFile ) && (NULL == lpszHash))
193+ if ((NULL == lpszFileName ) && (NULL == lpszHash))
181194 {
182195 Database_IsErrorOccur = TRUE ;
183196 Database_dwErrorCode = ERROR_XENGINE_XSTROGE_CORE_DB_DELETEFILE_PARAMENT;
184197 return FALSE ;
185198 }
186199 int nListCount = 0 ;
187200 XSTORAGECORE_DBFILE **ppSt_ListFile;
188- if (!Database_File_FileQuery (&ppSt_ListFile, &nListCount, NULL , NULL , lpszBuckKey, lpszFile , lpszHash))
201+ if (!Database_File_FileQuery (&ppSt_ListFile, &nListCount, NULL , NULL , lpszBuckKey, lpszFilePath, lpszFileName , lpszHash))
189202 {
190203 return FALSE ;
191204 }
@@ -194,7 +207,7 @@ BOOL CDatabase_File::Database_File_FileDelete(LPCTSTR lpszBuckKey /* = NULL */,
194207 {
195208 TCHAR tszSQLStatement[1024 ];
196209 memset (tszSQLStatement, ' \0 ' , sizeof (tszSQLStatement));
197- Database_Help_Delete (tszSQLStatement, ppSt_ListFile[i]->tszTableName , lpszBuckKey, lpszFile , lpszHash);
210+ Database_Help_Delete (tszSQLStatement, ppSt_ListFile[i]->tszTableName , lpszBuckKey, lpszFilePath, lpszFileName , lpszHash);
198211
199212 if (!DataBase_MySQL_Execute (xhDBSQL, tszSQLStatement))
200213 {
@@ -234,17 +247,22 @@ BOOL CDatabase_File::Database_File_FileDelete(LPCTSTR lpszBuckKey /* = NULL */,
234247 类型:常量字符指针
235248 可空:Y
236249 意思:查询的BUCK名
237- 参数.六:lpszFile
250+ 参数.六:lpszFilePath
251+ In/Out:In
252+ 类型:常量字符指针
253+ 可空:Y
254+ 意思:要查询的路径
255+ 参数.七:lpszFileName
238256 In/Out:In
239257 类型:常量字符指针
240258 可空:Y
241259 意思:要查询的名称
242- 参数.七 :lpszHash
260+ 参数.八 :lpszHash
243261 In/Out:In
244262 类型:常量字符指针
245263 可空:Y
246264 意思:要查询的文件HASH
247- 参数.八 :lpszTableName
265+ 参数.九 :lpszTableName
248266 In/Out:In
249267 类型:常量字符指针
250268 可空:Y
@@ -254,11 +272,11 @@ BOOL CDatabase_File::Database_File_FileDelete(LPCTSTR lpszBuckKey /* = NULL */,
254272 意思:是否成功
255273备注:返回假可能没有查找到,这条记录不存在.参数lpszFile和lpszHash不能全为空
256274*********************************************************************/
257- BOOL CDatabase_File::Database_File_FileQuery (XSTORAGECORE_DBFILE*** pppSt_ListFile, int * pInt_ListCount, LPCTSTR lpszTimeStart /* = NULL */ , LPCTSTR lpszTimeEnd /* = NULL */ , LPCTSTR lpszBuckKey /* = NULL */ , LPCTSTR lpszFile /* = NULL */ , LPCTSTR lpszHash /* = NULL */ , LPCTSTR lpszTableName /* = NULL */ )
275+ BOOL CDatabase_File::Database_File_FileQuery (XSTORAGECORE_DBFILE*** pppSt_ListFile, int * pInt_ListCount, LPCTSTR lpszTimeStart /* = NULL */ , LPCTSTR lpszTimeEnd /* = NULL */ , LPCTSTR lpszBuckKey /* = NULL */ , LPCTSTR lpszFilePath /* = NULL */ , LPCTSTR lpszFileName /* = NULL */ , LPCTSTR lpszHash /* = NULL */ , LPCTSTR lpszTableName /* = NULL */ )
258276{
259277 Database_IsErrorOccur = FALSE ;
260278
261- if ((NULL == lpszHash) && (NULL == lpszFile ))
279+ if ((NULL == lpszHash) && (NULL == lpszFileName ))
262280 {
263281 Database_IsErrorOccur = TRUE ;
264282 Database_dwErrorCode = ERROR_XENGINE_XSTROGE_CORE_DB_QUERYFILE_PARAMENT;
@@ -310,7 +328,7 @@ BOOL CDatabase_File::Database_File_FileQuery(XSTORAGECORE_DBFILE*** pppSt_ListFi
310328 XNETHANDLE xhResult;
311329 memset (tszSQLStatement, ' \0 ' , sizeof (tszSQLStatement));
312330
313- Database_Help_Query (tszSQLStatement, pptszResult[0 ], lpszBuckKey, NULL , lpszFile , lpszHash, NULL , lpszTimeStart, lpszTimeEnd);
331+ Database_Help_Query (tszSQLStatement, pptszResult[0 ], lpszBuckKey, lpszFilePath, lpszFileName , lpszHash, NULL , lpszTimeStart, lpszTimeEnd);
314332 // 查询文件
315333 if (DataBase_MySQL_ExecuteQuery (xhDBSQL, &xhResult, tszSQLStatement, &dwLineResult, &dwFieldResult))
316334 {
@@ -361,7 +379,7 @@ BOOL CDatabase_File::Database_File_FileQuery(XSTORAGECORE_DBFILE*** pppSt_ListFi
361379 }
362380 else
363381 {
364- Database_Help_Query (tszSQLStatement, lpszTableName, lpszBuckKey, NULL , lpszFile , lpszHash, NULL , lpszTimeStart, lpszTimeEnd);
382+ Database_Help_Query (tszSQLStatement, lpszTableName, lpszBuckKey, lpszFilePath, lpszFileName , lpszHash, NULL , lpszTimeStart, lpszTimeEnd);
365383 // 查询文件
366384 if (DataBase_MySQL_ExecuteQuery (xhDBSQL, &xhTable, tszSQLStatement, &nllLine, &nllRow))
367385 {
@@ -562,7 +580,7 @@ BOOL CDatabase_File::Database_File_TimeDel()
562580 // 删除文件
563581 int nListCount = 0 ;
564582 XSTORAGECORE_DBFILE **ppSt_ListFile;
565- Database_File_FileQuery (&ppSt_ListFile, &nListCount, NULL , NULL , NULL , NULL , NULL , pptszResult[0 ]);
583+ Database_File_FileQuery (&ppSt_ListFile, &nListCount, NULL , NULL , NULL , NULL , NULL , NULL , pptszResult[0 ]);
566584 for (int i = 0 ; i < nListCount; i++)
567585 {
568586 // 删除文件
0 commit comments