Nothing
test_that("can import and read a large object", {
con <- postgresDefault()
on.exit(dbDisconnect(con))
test_file_path <- paste0(test_path(), '/data/large_object.txt')
dbWithTransaction(con, {
oid <- postgresImportLargeObject(con, test_file_path)
})
expect_gt(oid, 0)
lo_data <- unlist(dbGetQuery(con, "select lo_get($1) as lo_data", params = list(oid))$lo_data[1])
large_object_txt <- as.raw(c(0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73)) # the string 'postgres'
expect_equal(lo_data, large_object_txt)
})
test_that("importing to an existing oid throws error", {
con <- postgresDefault()
on.exit(dbDisconnect(con))
test_file_path <- paste0(test_path(), '/data/large_object.txt')
oid <- 1234
dbWithTransaction(con, {
oid <- postgresImportLargeObject(con, test_file_path, oid)
})
expect_error(
dbWithTransaction(con, {
oid <- postgresImportLargeObject(con, test_file_path, oid)
})
)
dbExecute(con, "select lo_unlink($1) as lo_data", params = list(oid))
})
test_that("import from a non-existing path throws error", {
con <- postgresDefault()
on.exit(dbDisconnect(con))
test_file_path <- paste0(test_path(), '/data/large_object_that_does_not_exist.txt')
expect_error(
dbWithTransaction(con, {
oid <- postgresImportLargeObject(con, test_file_path)
})
)
})
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.