Fix TestFileChecksumExists to check for deleted files
This commit is contained in:
parent
0f63847d78
commit
0bf0f21f66
@ -80,14 +80,20 @@ Namespace IDB
|
|||||||
|
|
||||||
Dim oChecksumSQL = $"SELECT IDB_OBJ_ID FROM TBIDB_FILE_OBJECT WHERE FILE_HASH = '{pChecksum}'"
|
Dim oChecksumSQL = $"SELECT IDB_OBJ_ID FROM TBIDB_FILE_OBJECT WHERE FILE_HASH = '{pChecksum}'"
|
||||||
Dim oExistingObjectId As Long = Database.GetScalarValue(oChecksumSQL)
|
Dim oExistingObjectId As Long = Database.GetScalarValue(oChecksumSQL)
|
||||||
|
Dim oChecksumExists = (oExistingObjectId > 0)
|
||||||
|
|
||||||
If oExistingObjectId > 0 Then
|
If oChecksumExists AndAlso TestFileDeleted(oExistingObjectId) Then
|
||||||
Logger.Info("Returning with ObjectId [{0}] because Checksum [{1}] already exists.", oExistingObjectId, pChecksum)
|
Logger.Info("Checksum exists on Object [{0}] but the Object was deleted", oExistingObjectId)
|
||||||
Return oExistingObjectId
|
Return 0
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Logger.Debug("Checksum does not exist.")
|
If Not oChecksumExists Then
|
||||||
Return 0
|
Logger.Debug("Checksum does not exist.")
|
||||||
|
Return 0
|
||||||
|
End If
|
||||||
|
|
||||||
|
Logger.Info("Returning with ObjectId [{0}] because Checksum [{1}] already exists.", oExistingObjectId, pChecksum)
|
||||||
|
Return oExistingObjectId
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Logger.Error(ex)
|
Logger.Error(ex)
|
||||||
@ -96,6 +102,20 @@ Namespace IDB
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Function TestFileDeleted(pObjectId As Long) As Boolean
|
||||||
|
Try
|
||||||
|
Logger.Debug("Checking if Object [{0}] has been deleted", pObjectId)
|
||||||
|
|
||||||
|
Dim oObjectSQL = $"SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = {pObjectId} AND DELETED = 1"
|
||||||
|
Dim oDeletedObjectId As Long = Database.GetScalarValue(oObjectSQL)
|
||||||
|
|
||||||
|
Return (oDeletedObjectId > 0)
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
Return False
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
Public Function NewObjectId(pKindType As String, pBusinessEntity As String, pWho As String) As Long
|
Public Function NewObjectId(pKindType As String, pBusinessEntity As String, pWho As String) As Long
|
||||||
Try
|
Try
|
||||||
Dim oNewObjectIdSQL = $"DECLARE @NEW_IDB_OBJ_ID BIGINT
|
Dim oNewObjectIdSQL = $"DECLARE @NEW_IDB_OBJ_ID BIGINT
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user