sqlQueryExternalLibrarySetupErrors <- function()

in R/R/sqlPackage.R [1942:1984]


sqlQueryExternalLibrarySetupErrors <- function(hodbc, externalLibraryIds, queryUser)
{
    query <- paste0(
        " DECLARE @currentUser NVARCHAR(128);",
        " DECLARE @principalId INT;"
    )

    query <- paste0(query, " SELECT @currentUser = ", queryUser, ";")

    query <- paste0(query,
                    " SELECT @principalId = USER_ID(@currentUser);",
                    " IF OBJECT_ID(N'sys.external_library_setup_errors') IS NOT NULL (",
                    " SELECT external_library_id, error_code, error_timestamp, error_message",
                    " FROM sys.external_library_setup_errors",
                    " WHERE external_library_id in (",
                    paste(externalLibraryIds[, "external_library_id"], collapse = ","),
                    ")",
                    " AND db_id=DB_ID()",
                    " AND principal_id=@principalId",
                    " ) ELSE (SELECT 'OBJECT_NOT_FOUND' AS OBJECT_NOT_FOUND);"
    )

    sqlResult <- execute(hodbc, query)

    if (is.data.frame(sqlResult))
    {
        if(colnames(sqlResult)[[1]]=="OBJECT_NOT_FOUND")
        {
            sqlResult <- NULL
        }
        else
        {
            sqlResult <- merge(sqlResult, externalLibraryIds)
            rownames(sqlResult) <- sqlResult[, "name"]
        }
    }
    else if(!is.null(sqlResult))
    {
        sqlResult <- NULL
    }

    return(sqlResult)
}