ZooFlow: Include more databasewithfallback calls in zooflow
This commit is contained in:
@@ -63,28 +63,52 @@ Public Class DatabaseWithFallback
|
||||
})
|
||||
End Function
|
||||
|
||||
Public Async Function GetDatatableECMAsync(pSQL As String, Optional pConnectionId As Integer = 0) As Task(Of DataTable)
|
||||
Return Await Task.Run(Function() GetDatatableECM(pSQL, pConnectionId))
|
||||
End Function
|
||||
|
||||
Public Function GetDatatableIDB(pSQL As String, Optional pConnectionId As Integer = 0) As DataTable
|
||||
Return GetDatatable(New GetDatatableOptions(pSQL, Constants.DatabaseType.IDB) With {
|
||||
.ConnectionId = pConnectionId
|
||||
})
|
||||
End Function
|
||||
|
||||
Public Async Function GetDatatableIDBAsync(pSQL As String, Optional pConnectionId As Integer = 0) As Task(Of DataTable)
|
||||
Return Await Task.Run(Function() GetDatatableIDB(pSQL, pConnectionId))
|
||||
End Function
|
||||
|
||||
Public Function GetScalarValueECM(pSQL As String, Optional pConnectionId As Integer = 0) As Object
|
||||
Return GetScalarValue(pSQL, Constants.DatabaseType.ECM, pForceFallback:=False, pConnectionId)
|
||||
End Function
|
||||
|
||||
Public Async Function GetScalarValueECMAsync(pSQL As String, Optional pConnectionId As Integer = 0) As Task(Of Object)
|
||||
Return Await Task.Run(Function() GetScalarValueECM(pSQL, pConnectionId))
|
||||
End Function
|
||||
|
||||
Public Function GetScalarValueIDB(pSQL As String, Optional pConnectionId As Integer = 0) As Object
|
||||
Return GetScalarValue(pSQL, Constants.DatabaseType.IDB, pForceFallback:=False, pConnectionId)
|
||||
End Function
|
||||
|
||||
Public Async Function GetScalarValueIDBAsync(pSQL As String, Optional pConnectionId As Integer = 0) As Task(Of Object)
|
||||
Return Await Task.Run(Function() GetScalarValueIDB(pSQL, pConnectionId))
|
||||
End Function
|
||||
|
||||
Public Function ExecuteNonQueryECM(pSQL As String, Optional pConnectionId As Integer = 0) As Boolean
|
||||
Return ExecuteNonQuery(pSQL, Constants.DatabaseType.ECM, pForceFallback:=False, pConnectionId)
|
||||
End Function
|
||||
|
||||
Public Async Function ExecuteNonQueryECMAsync(pSQL As String, Optional pConnectionId As Integer = 0) As Task(Of Boolean)
|
||||
Return Await Task.Run(Function() ExecuteNonQueryECM(pSQL, pConnectionId))
|
||||
End Function
|
||||
|
||||
Public Function ExecuteNonQueryIDB(pSQL As String, Optional pConnectionId As Integer = 0) As Boolean
|
||||
Return ExecuteNonQuery(pSQL, Constants.DatabaseType.IDB, pForceFallback:=False, pConnectionId)
|
||||
End Function
|
||||
|
||||
Public Async Function ExecuteNonQueryIDBAsync(pSQL As String, Optional pConnectionId As Integer = 0) As Task(Of Boolean)
|
||||
Return Await Task.Run(Function() ExecuteNonQueryIDB(pSQL, pConnectionId))
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Returns a Datatable by trying to fetch a cached version from the service, then querying the database through the service and querying the database directly as fallback.
|
||||
''' </summary>
|
||||
@@ -94,6 +118,10 @@ Public Class DatabaseWithFallback
|
||||
Return GetDatatable(pDataTableName, pOptions.FallbackSQL, pOptions.FallbackType, pOptions.FilterExpression, pOptions.SortByColumn, pOptions.ForceFallback, pOptions.ConnectionId)
|
||||
End Function
|
||||
|
||||
Public Function GetDatatable(pSQL As String, pConnectionId As Integer) As DataTable
|
||||
Return GetDatatable("FORCE_FALLBACK", pSQL, Constants.DatabaseType.ECM, pSortByColumn:=Nothing, pForceFallback:=False, pConnectionId:=pConnectionId)
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Returns a datatable directly from the database.
|
||||
''' </summary>
|
||||
@@ -166,11 +194,8 @@ Public Class DatabaseWithFallback
|
||||
''' <param name="pDatabaseType">Named Database to use for the fallback SQL Command</param>
|
||||
''' <param name="pForceFallback">Force the fallback, skipping the service completely</param>
|
||||
''' <param name="pConnectionId">Connection Id to use, references TBDD_CONNECTION</param>
|
||||
Public Function GetScalarValue(pSQL As String, pDatabaseType As Constants.DatabaseType, Optional pForceFallback As Boolean = False, Optional pConnectionId As Integer = 0) As DataTable
|
||||
Public Function GetScalarValue(pSQL As String, pDatabaseType As Constants.DatabaseType, Optional pForceFallback As Boolean = False, Optional pConnectionId As Integer = 0) As Object
|
||||
Try
|
||||
Dim oResult As DataTable = Nothing
|
||||
Dim oTableResult As TableResult = Nothing
|
||||
|
||||
' If there is no client, we assume there is no service (configured)
|
||||
If _Client Is Nothing Then
|
||||
Return GetScalarValueFromDatabase(pSQL, pDatabaseType, pConnectionId)
|
||||
@@ -313,7 +338,7 @@ Public Class DatabaseWithFallback
|
||||
Catch ex As Exception
|
||||
_Logger.Warn("GetScalarValueFromService failed. Falling back to direct database access.")
|
||||
_Logger.Error(ex)
|
||||
Return GetDatatableFromDatabase(pSQLCommand, DatabaseType, pConnectionId)
|
||||
Return GetScalarValueFromDatabase(pSQLCommand, DatabaseType, pConnectionId)
|
||||
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Reference in New Issue
Block a user