Nothing
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.
context("tbl.src_presto")
test_that("dplyr::tbl works", {
parts <- setup_live_dplyr_connection()
iris_presto <- dplyr::tbl(parts[["db"]], parts[["iris_table_name"]])
iris_presto_materialized <- dplyr::collect(iris_presto, n = Inf)
expect_that(
nrow(iris_presto_materialized),
equals(nrow(iris_df))
)
iris_from_sql <- dplyr::tbl(
parts[["db"]],
dplyr::sql(paste("SELECT * FROM", parts[["iris_table_name"]]))
)
expect_equal(
dplyr::arrange(
iris_presto_materialized,
sepal.width,
sepal.length,
petal.width,
petal.length,
species
),
dplyr::arrange(
dplyr::collect(iris_from_sql, n = Inf),
sepal.width,
sepal.length,
petal.width,
petal.length,
species
),
)
})
test_that("cross-schema tbl works", {
conn <- setup_live_connection()
tbl_iris <- dplyr::tbl(conn, "iris")
tbl_iris2 <- dplyr::tbl(conn, dbplyr::in_schema("testing", "iris"))
expect_equal_data_frame(
dplyr::collect(tbl_iris),
dplyr::collect(tbl_iris2)
)
})
test_that("bigint parameter works", {
parts <- setup_live_dplyr_connection(bigint = "integer64")
iris_presto <- dplyr::tbl(parts[["db"]], parts[["iris_table_name"]])
iris_presto_with_bigint <- dplyr::mutate(
iris_presto,
bigint = sql("cast(1152921504606846976 as bigint)")
)
iris_presto_materialized <- dplyr::collect(iris_presto_with_bigint, n = Inf)
expect_s3_class(iris_presto_materialized$bigint, "integer64")
parts <- setup_live_dplyr_connection(bigint = "character")
iris_presto <- dplyr::tbl(parts[["db"]], parts[["iris_table_name"]])
iris_presto_with_bigint <- dplyr::mutate(
iris_presto,
bigint = sql("cast(1152921504606846976 as bigint)")
)
iris_presto_materialized <- dplyr::collect(iris_presto_with_bigint, n = Inf)
expect_type(iris_presto_materialized$bigint, "character")
parts <- setup_live_dplyr_connection(bigint = "numeric")
iris_presto <- dplyr::tbl(parts[["db"]], parts[["iris_table_name"]])
iris_presto_with_bigint <- dplyr::mutate(
iris_presto,
bigint = sql("cast(1152921504606846976 as bigint)")
)
expect_warning(
iris_presto_materialized <- dplyr::collect(iris_presto_with_bigint, n = Inf),
"integer precision lost while converting to double"
)
expect_type(iris_presto_materialized$bigint, "double")
})
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.