R/params.R

# roxygen2::roxygenise()

use_log = TRUE
use_JDBC = TRUE
as.data.table.output = TRUE
clear.resulset = TRUE

numericTypes <- c("tinyint", "int",
                  "integer", "numeric")
categoricalTypes <- c("text", "varchar", "varchar(255)", "datetime", "date", 
                      "logical", "factor", "character")

setVar <- function (var, value) {
  strValue = paste(capture.output(dump("value", file="")), collapse = "")
  if (substring(strValue, 1, 9)=="value <- ") {
    strValue = substring(strValue, 10)
  } else if (substring(strValue, 1, 8)=="value<- ") {
    strValue = substring(strValue, 9)
  } else if (substring(strValue, 1, 8)=="value <-") {
    strValue = substring(strValue, 9)
  } else if (substring(strValue, 1, 7)=="value<-") {
    strValue = substring(strValue, 8)
  } else if (substring(strValue, 1, 8)=="value = ") {
    strValue = substring(strValue, 9)
  } else if (substring(strValue, 1, 7)=="value= ") {
    strValue = substring(strValue, 8)
  } else if (substring(strValue, 1, 7)=="value =") {
    strValue = substring(strValue, 8)
  } else if (substring(strValue, 1, 6)=="value=") {
    strValue = substring(strValue, 7)
  }
  unlockBinding(var, env = asNamespace('mysqltools'))
  eval(parse(text=paste0(var," <- ",strValue)), envir = asNamespace('mysqltools'))
  lockBinding(var, env = asNamespace('mysqltools'))
}

#' @title ms.setParam.AsDataTableOutput
#' @export
ms.setParam.AsDataTableOutput <- function (bool) {
  setVar("as.data.table.output", bool)
}

#' @title ms.setParam.ClearResulset
#' @export
ms.setParam.ClearResulset <- function (bool) {
  setVar("clear.resulset", bool)
}

#' @title ms.setParam.JDBC
#' @export
ms.setParam.JDBC <- function (bool) {
  setVar("use_JDBC", bool)
}

#' @title ms.setParam.Log
#' @export
ms.setParam.Log <- function (bool) {
  setVar("use_log", bool)
}
rocalabern/mysqltools documentation built on May 27, 2019, 12:13 p.m.