rxRemovePackages: Remove Packages from Compute Context
Description
Removes installed packages from a compute context.
Usage
rxRemovePackages(pkgs, lib, dependencies = TRUE, checkReferences = TRUE,
verbose = getOption("verbose"), scope = "private", owner = '', computeContext = rxGetOption("computeContext"))
Arguments
pkgs
a character
vector of names of the packages to be removed.
lib
a character
vector identifying library path from where the package needs to be removed. This argument is not supported in RxInSqlServer compute context. Only valid for a local compute context.
dependencies
logical. Applicable only for RxInSqlServer compute context. If TRUE
, does dependency resolution of the packages being removed and removes the dependent packages also if the dependent packages aren't referenced by other packages outside the dependency closure.
checkReferences
logical. Applicable only for RxInSqlServer compute context. If TRUE
, verifies there are no references to the dependent packages by other packages outside the dependency closure.
verbose
logical. If TRUE
, "progress report" is given during removal of given packages.
scope
character. Applicable only for RxInSqlServer compute context. Should be either "shared"
or "private"
. "shared"
removes the packages from a per-database shared location on SQL Server which in turn could have been used (referred) by multiple different users. "private"
removes the packages from a per-database, per-user private location on SQL Server which is only accessible to the single user.
owner
character. Applicable only for RxInSqlServer compute context. This is generally empty ''
value. Should be either empty ''
or a valid SQL database user account name. Only users in 'db_owner'
role for a database can specify this value to remove packages on behalf of other users.
computeContext
an RxComputeContext or equivalent character string or NULL
. If set to the default of NULL
, the currently active compute context is used. Supported compute contexts are RxInSqlServer, RxLocalSeq.
Details
This is a simple wrapper for remove.packages.
For RxInSqlServer compute context, the user specified as part of connection string is used for removing the packages if owner
argument is empty. The user calling this function needs to be granted permissions by database owner by making them member of either 'rpkgs-shared'
or 'rpkgs-private'
database role. Users in 'rpkgs-shared'
role can remove packages from "shared"
location and their own "private"
location. Users in 'rpkgs-private'
role can only remove packages from their own "private"
location.
Value
Invisible NULL
See Also
rxPackage,
remove.packages,
rxFindPackage,
rxInstalledPackages,
rxInstallPackages,
rxSyncPackages,
rxSqlLibPaths,
require
Examples
## Not run:
#
# create SQL compute context
#
sqlcc <- RxInSqlServer(connectionString =
"Driver=SQL Server;Server=myServer;Database=TestDB;Trusted_Connection=True;")
pkgs <- c("dplyr")
#
# Remove a package and its dependencies after checking references from private scope
#
rxRemovePackages(pkgs = pkgs, verbose = TRUE, scope = "private", computeContext = sqlcc)
#
# Remove a package and its dependencies after checking references from shared scope
#
rxRemovePackages(pkgs = pkgs, verbose = TRUE, scope = "shared", computeContext = sqlcc)
#
# Forcefully remove a package and its dependencies without checking references from
# private scope
#
rxRemovePackages(pkgs = pkgs, checkReferences = FALSE, verbose = TRUE,
scope = "private", computeContext = sqlcc)
#
# Force fully remove a package without its dependencies and without
# any references checking from shared scope private scope
#
rxRemovePackages(pkgs = pkgs, dependencies = FALSE, checkReferences = FALSE,
verbose = TRUE, scope = "shared", computeContext = sqlcc)
#
# Remove a package and its dependencies from private scope for user1
#
rxRemovePackages(pkgs = pkgs, verbose = TRUE, scope = "private", owner = "user1", computeContext = sqlcc)
#
# Remove a package and its dependencies from shared scope for user1
#
rxRemovePackages(pkgs = pkgs, verbose = TRUE, scope = "shared", owner = "user1", computeContext = sqlcc)
## End(Not run)