sqlCheckPackageManagementVersion <- function()

in R/R/sqlPackage.R [803:834]


sqlCheckPackageManagementVersion <- function(connectionString)
{
    versionClass <- NA
    force(connectionString)

    if(is.null(connectionString) || nchar(connectionString) == 0)
    {
        stop("Invalid connectionString is null or empty")
    }

    version <- sqlPackageManagementVersion(connectionString)

    if (is.null(version) || is.na(version) || length(version) == 0)
    {
        stop("Invalid SQL version is null or empty", call. = FALSE)
    }

    if( ( (version[["serverType"]]=="azure" && version[["major"]] >= 12 ) ||
          (version[["serverType"]]=="box" && version[["major"]] >= 15 )))
    {
        # server supports external library with DDLs
        #
        versionClass <- "ExtLib"
    }
    else
    {
        stop(sprintf("The package management feature is not enabled for the current user or not supported on SQL Server version %s",
                     paste(utils::tail(version, -1), collapse='.')), call. = FALSE)
    }

    return(versionClass)
}