Nothing
test_that("rs_list_object_types", {
skip_if_not(TEST_RE2)
con <- dbConnect(duckdb())
on.exit(dbDisconnect(con, shutdown = TRUE))
object_types <- rs_list_object_types(con)
expect_true(length(object_types) == 1)
dbExecute(con, "CREATE VIEW foo as SELECT 42")
object_types <- rs_list_object_types(con)
expect_true(length(object_types$schema$contains) == 2)
})
test_that("rs_list_objects", {
skip_if_not(TEST_RE2)
con <- dbConnect(duckdb())
on.exit(dbDisconnect(con, shutdown = TRUE))
objects <- rs_list_objects(con)
expect_equal(nrow(objects), 0)
dbExecute(con, "CREATE TABLE a (j integer)")
dbExecute(con, "CREATE VIEW b as SELECT 42")
expect_equal(rs_list_objects(con), data.frame(name = c("a", "b"), type = c("table", "view"), stringsAsFactors = FALSE))
dbExecute(con, "CREATE schema fuu ;")
dbExecute(con, "CREATE TABLE fuu.x (j integer)")
expect_equal(rs_list_objects(con, schema = "fuu"), data.frame(name = c("x"), type = c("table"), stringsAsFactors = FALSE))
})
test_that("rs_list_columns", {
skip_if_not(TEST_RE2)
con <- dbConnect(duckdb())
on.exit(dbDisconnect(con, shutdown = TRUE))
objects <- rs_list_objects(con)
expect_equal(nrow(objects), 0)
dbExecute(con, "CREATE TABLE t (a integer, b string, c timestamp)")
cmp <- data.frame(name = c("a", "b", "c"), field.type = c("INTEGER", "VARCHAR", "TIMESTAMP"), stringsAsFactors = FALSE)
expect_equal(rs_list_columns(con, "t"), cmp)
expect_equal(rs_list_columns(con, "t", schema = "main"), cmp)
dbExecute(con, "CREATE schema fuu ;")
dbExecute(con, "CREATE TABLE fuu.t (x integer, y string, z timestamp)")
cmp <- data.frame(name = c("x", "y", "z"), field.type = c("INTEGER", "VARCHAR", "TIMESTAMP"), stringsAsFactors = FALSE)
expect_equal(rs_list_columns(con, "t", schema = "fuu"), cmp)
})
test_that("rs_viewer", {
skip_if_not(TEST_RE2)
con <- dbConnect(duckdb())
on.exit(dbDisconnect(con, shutdown = TRUE))
dbWriteTable(con, "mtcars", mtcars)
row.names(mtcars) <- seq(1, nrow(mtcars))
expect_equal(head(mtcars, 5), rs_preview(con, 5, table = "mtcars"))
})
test_that("rs_actions", {
con <- dbConnect(duckdb())
on.exit(dbDisconnect(con, shutdown = TRUE))
rs_actions(con)
expect_true(TRUE)
})
test_that("mock observer hooray", {
skip_if_not(TEST_RE2)
called_connection_opened <- FALSE
called_connection_closed <- FALSE
called_connection_updated <- FALSE
mock <- list(connectionOpened = function(host, ...) {
called_connection_opened <<- TRUE
}, connectionClosed = function(...) {
called_connection_closed <<- TRUE
}, connectionUpdated = function(...) {
called_connection_updated <<- TRUE
})
options(connectionObserver = mock, duckdb.force_rstudio_connection_pane = TRUE)
con <- dbConnect(duckdb())
expect_true(called_connection_opened)
dbWriteTable(con, "mtcars", mtcars)
expect_true(called_connection_updated)
called_connection_updated <- FALSE
dbRemoveTable(con, "mtcars")
expect_true(called_connection_updated)
dbDisconnect(con, shutdown = TRUE)
expect_true(called_connection_closed)
options(connectionObserver = NULL, duckdb.force_rstudio_connection_pane = FALSE)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.