[Experimental]

Runs a query and returns it as a duckplyr frame.

read_sql_duckdb(
  sql,
  ...,
  prudence = c("thrifty", "lavish", "stingy"),
  con = NULL
)

Arguments

sql

The SQL to run.

...

These dots are for future extensions and must be empty.

prudence

Memory protection, controls if DuckDB may convert intermediate results in DuckDB-managed memory to data frames in R memory.

  • "thrifty": up to a maximum size of 1 million cells,

  • "lavish": regardless of size,

  • "stingy": never.

The default is "thrifty" for the ingestion functions, and may be different for other functions. See vignette("prudence") for more information.

con

The connection, defaults to the default connection.

Details

Using data frames from the calling environment is not supported yet, see https://github.com/duckdb/duckdb-r/issues/645 for details.

See also

Examples

read_sql_duckdb("FROM duckdb_settings()")
#> # A duckplyr data frame: 5 variables
#>    name                                       value description input_type scope
#>    <chr>                                      <chr> <chr>       <chr>      <chr>
#>  1 access_mode                                auto… Access mod… VARCHAR    GLOB…
#>  2 allocator_background_threads               false Whether to… BOOLEAN    GLOB…
#>  3 allocator_bulk_deallocation_flush_thresho… 512.… If a bulk … VARCHAR    GLOB…
#>  4 allocator_flush_threshold                  128.… Peak alloc… VARCHAR    GLOB…
#>  5 allow_community_extensions                 true  Allow to l… BOOLEAN    GLOB…
#>  6 allow_extensions_metadata_mismatch         false Allow to l… BOOLEAN    GLOB…
#>  7 allow_persistent_secrets                   true  Allow the … BOOLEAN    GLOB…
#>  8 allow_unredacted_secrets                   false Allow prin… BOOLEAN    GLOB…
#>  9 allow_unsigned_extensions                  false Allow to l… BOOLEAN    GLOB…
#> 10 allowed_directories                        []    List of di… VARCHAR[]  GLOB…
#> # ℹ more rows