Improve:sql handle time.
This commit is contained in:
		
							parent
							
								
									a9f698bf8b
								
							
						
					
					
						commit
						ce3e00d4d7
					
				| 
						 | 
				
			
			@ -41,6 +41,7 @@ enum class FileStatus
 | 
			
		|||
};
 | 
			
		||||
constexpr unsigned long UNDEFINE_SERIAL_NUMBER = -1;
 | 
			
		||||
constexpr unsigned long UNDEFINE_FILE_SIZE = 0;
 | 
			
		||||
constexpr unsigned long UNDEFINE_FILE_DURATION = 0;
 | 
			
		||||
constexpr time_t UNDEFINE_CREATE_TIME = -1;
 | 
			
		||||
typedef struct sync_file_info
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -120,24 +120,61 @@ bool SqliteHandle::SyncFile(const SyncFileInfo &info)
 | 
			
		|||
        LogError("Serial number is undefine.\n");
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    if (UpdateCreateTime(mDb, info.mSerialNumber, info.mCreateTime_s) == false) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    if (UpdateFileName(mDb, info.mSerialNumber, info.mFileName) == false) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    if (UpdateFileSize(mDb, info.mSerialNumber, info.mFileSize) == false) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    if (UpdateFileStatus(mDb, info.mSerialNumber, info.mStatus) == false) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    if (UpdateFileType(mDb, info.mSerialNumber, info.mType) == false) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    if (UpdateFileDuration(mDb, info.mSerialNumber, info.mFileDuration) == false) {
 | 
			
		||||
    std::stringstream sqlStream;
 | 
			
		||||
    std::string comma = " ";
 | 
			
		||||
    sqlStream << "UPDATE " FILES_TABLE " SET ";
 | 
			
		||||
    if (UNDEFINE_CREATE_TIME != info.mCreateTime_s) {
 | 
			
		||||
        sqlStream << comma << CREATE_TIME " = '" << info.mCreateTime_s << "'";
 | 
			
		||||
        comma = ", ";
 | 
			
		||||
    }
 | 
			
		||||
    if (info.mFileName.empty() == false) {
 | 
			
		||||
        sqlStream << comma << FILE_PATH " = '" << info.mFileName << "'";
 | 
			
		||||
        comma = ", ";
 | 
			
		||||
    }
 | 
			
		||||
    if (UNDEFINE_FILE_SIZE != info.mFileSize) {
 | 
			
		||||
        sqlStream << comma << FILE_SIZE " = '" << info.mFileSize << "'";
 | 
			
		||||
        comma = ", ";
 | 
			
		||||
    }
 | 
			
		||||
    if (FileStatus::END != info.mStatus) {
 | 
			
		||||
        sqlStream << comma << FILE_STATUS " = '" << ConvertFileStatusToString(info.mStatus) << "'";
 | 
			
		||||
        comma = ", ";
 | 
			
		||||
    }
 | 
			
		||||
    if (FileCreateType::END != info.mType) {
 | 
			
		||||
        sqlStream << comma << FILE_TYPE " = '" << ConvertFileTypeToString(info.mType) << "'";
 | 
			
		||||
        comma = ", ";
 | 
			
		||||
    }
 | 
			
		||||
    if (UNDEFINE_FILE_DURATION != info.mFileDuration) {
 | 
			
		||||
        sqlStream << comma << FILE_DURATION " = '" << info.mFileDuration << "'";
 | 
			
		||||
        comma = ", ";
 | 
			
		||||
    }
 | 
			
		||||
    sqlStream << " WHERE " TABLE_KEY " = " << info.mSerialNumber << ";";
 | 
			
		||||
    LogInfo("Sql: %s\n", sqlStream.str().c_str());
 | 
			
		||||
    char *errMsg = nullptr;
 | 
			
		||||
    int rc = SQLITE_UNDEFINE;
 | 
			
		||||
    rc = sqlite3_exec(mDb, sqlStream.str().c_str(), nullptr, nullptr, &errMsg);
 | 
			
		||||
    if (SQLITE_OK != rc) {
 | 
			
		||||
        LogError("SQL error: %s\n", errMsg);
 | 
			
		||||
        sqlite3_free(errMsg);
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    // if (UpdateCreateTime(mDb, info.mSerialNumber, info.mCreateTime_s) == false) {
 | 
			
		||||
    //     return false;
 | 
			
		||||
    // }
 | 
			
		||||
    // if (UpdateFileName(mDb, info.mSerialNumber, info.mFileName) == false) {
 | 
			
		||||
    //     return false;
 | 
			
		||||
    // }
 | 
			
		||||
    // if (UpdateFileSize(mDb, info.mSerialNumber, info.mFileSize) == false) {
 | 
			
		||||
    //     return false;
 | 
			
		||||
    // }
 | 
			
		||||
    // if (UpdateFileStatus(mDb, info.mSerialNumber, info.mStatus) == false) {
 | 
			
		||||
    //     return false;
 | 
			
		||||
    // }
 | 
			
		||||
    // if (UpdateFileType(mDb, info.mSerialNumber, info.mType) == false) {
 | 
			
		||||
    //     return false;
 | 
			
		||||
    // }
 | 
			
		||||
    // if (UpdateFileDuration(mDb, info.mSerialNumber, info.mFileDuration) == false) {
 | 
			
		||||
    //     return false;
 | 
			
		||||
    // }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
bool SqliteHandle::SearchFiles(const std::vector<FileCreateType> &types, std::vector<SyncFileInfo> &info)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user