Skip to content

[Experimental]

Runs a query and returns it as a duckplyr frame.

Usage

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_flus… 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_mismat… 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