R/RocksetDriver.R

#' @include RocksetConnection.R ApiClient.R

#' @export
#' @import DBI
setClass('RocksetDriver',
         contains='DBIDriver'
)

#' @rdname RocksetDriver-class
#' @export
setMethod('show',
          'RocksetDriver',
          function(object) {
            cat('<RocksetDriver>\n')
          }
)

#' @rdname RocksetDriver-class
#' @export
setMethod('dbUnloadDriver',
          'RocksetDriver',
          function(drv, ...) {
            return(TRUE)
          }
)

#' @export RocksetDriver-class
setMethod("dbGetInfo",
          "RocksetDriver",
          function(dbObj) {
            return()
          }
)

#' @param drv A driver object generated by \code{\link{Rockset}}
#' @param host The Rockset host to connect to
#' @param apikey The Rockset apiKey to use for authorization
#' @return [dbConnect] A \code{\linkS4class{RocksetConnection}} object
#' @export
#' @rdname Rockset
#' @examples
#' \dontrun{
#'   conn <- dbConnect(Rockset(), host = 'https://api.rs2.usw2.rockset.com',
#'   apikey = 'PFUF....')
#' }
setMethod('dbConnect',
          'RocksetDriver',
          function(
            drv,
            host = 'https://api.rs2.usw2.rockset.com',
            apikey
          ) {
            stopifnot(is.character(`apikey`), length(`apikey`) == 1)
            
            apiclient <- ApiClient$new()
            apiclient$initialize(basePath=host, apikey=apikey)
            
            conn <- new('RocksetConnection',
                        apiclient=apiclient
            )
            return(conn)
          }
)
rockset/RRockset documentation built on June 20, 2019, 2:51 p.m.