R/mssql.R

Defines functions mssql_name `read_dataset.Microsoft SQL Server` `write_dataset.Microsoft SQL Server` `remove_dataset.Microsoft SQL Server` `exists_dataset.Microsoft SQL Server` `list_fields.Microsoft SQL Server`

mssql_name <- function(x, name, schema) {
  name <- DBI::dbQuoteIdentifier(x, DBI::Id(schema = schema, name = name))
  dbplyr::ident_q(name)
}

#' @export
`read_dataset.Microsoft SQL Server` <- function(x, name, schema = NULL, ...) {
  name <- mssql_name(x, name, schema)
  read_dataset.DBIConnection(x, name, ...)
}

#' @export
`write_dataset.Microsoft SQL Server` <- function(x, name, data, schema = NULL, ..., temporary = FALSE) {
  if (temporary) {
    if (!is.null(schema)) {
      warning("Ignoring schema for temporary table.", call. = FALSE)
      schema <- NULL
    }
  } else {
    name <- mssql_name(x, name, schema)
  }
  write_dataset.DBIConnection(x, name, data, ..., temporary = temporary)
}

#' @export
`remove_dataset.Microsoft SQL Server` <- function(x, name, schema = NULL, ...) {
  if (!is.null(schema)) {
    name <- DBI::Id(schema = schema, table = name)
  }
  remove_dataset.DBIConnection(x, name, ...)
}

#' @export
`exists_dataset.Microsoft SQL Server` <- function(x, name, schema = NULL, ..., schema_name = schema) {
  exists_dataset.DBIConnection(x, name, schema_name = schema_name, ...)
}

#' @export
`list_fields.Microsoft SQL Server` <- function(x, name, schema = NULL, ..., schema_name = schema) {
  list_fields.DBIConnection(x, name, schema_name = schema_name, ...)
}
shunsambongi/dsi documentation built on Dec. 5, 2019, 12:53 a.m.