diff --git a/pkgdown.yml b/pkgdown.yml index 439d6dbb8..eb9e8a348 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -2,7 +2,7 @@ pandoc: 3.1.11 pkgdown: 2.1.0.9000 pkgdown_sha: 6ecf7666c05a728e6fea07301a07c33a6ffed784 articles: {} -last_built: 2024-08-16T20:46Z +last_built: 2024-08-17T09:03Z urls: reference: https://r.duckdb.org/reference article: https://r.duckdb.org/articles diff --git a/reference/backend-duckdb.html b/reference/backend-duckdb.html index 3b1fb7adb..c1ca37912 100644 --- a/reference/backend-duckdb.html +++ b/reference/backend-duckdb.html @@ -5,23 +5,29 @@ tbl_file() is an experimental variant of dplyr::tbl() to directly access files on disk. It is safer than dplyr::tbl() because there is no risk of misinterpreting the request, and paths with special characters are supported. -tbl_query() is an experimental variant of dplyr::tbl() +tbl_function() is an experimental variant of dplyr::tbl() to create a lazy table from a table-generating function, useful for reading nonstandard CSV files or other data sources. It is safer than dplyr::tbl() because there is no risk of misinterpreting the query. -Use dplyr::tbl(src, dplyr::sql("SELECT ... FROM ...")) for custom SQL queries. -See https://duckdb.org/docs/data/overview for details on data importing functions."> +See https://duckdb.org/docs/data/overview for details on data importing functions. +As an alternative, use dplyr::tbl(src, dplyr::sql("SELECT ... FROM ...")) for custom SQL queries. +tbl_query() is deprecated in favor of tbl_function(). +Use simulate_duckdb() with lazy_frame() +to see simulated SQL without opening a DuckDB connection."> Skip to contents @@ -61,34 +67,33 @@

tbl_file() is an experimental variant of dplyr::tbl() to directly access files on disk. It is safer than dplyr::tbl() because there is no risk of misinterpreting the request, and paths with special characters are supported.

-

tbl_query() is an experimental variant of dplyr::tbl() +

tbl_function() is an experimental variant of dplyr::tbl() to create a lazy table from a table-generating function, useful for reading nonstandard CSV files or other data sources. It is safer than dplyr::tbl() because there is no risk of misinterpreting the query. -Use dplyr::tbl(src, dplyr::sql("SELECT ... FROM ...")) for custom SQL queries. See https://duckdb.org/docs/data/overview for details on data importing functions.

+

As an alternative, use dplyr::tbl(src, dplyr::sql("SELECT ... FROM ...")) for custom SQL queries.

+

tbl_query() is deprecated in favor of tbl_function().

+

Use simulate_duckdb() with lazy_frame() +to see simulated SQL without opening a DuckDB connection.

Usage

-
simulate_duckdb(...)
+    
tbl_file(src, path, ..., cache = FALSE)
 
-translate_duckdb(...)
+tbl_function(src, query, ..., cache = FALSE)
 
-tbl_file(src, path, ..., cache = FALSE)
+tbl_query(src, query, ...)
 
-tbl_query(src, query, ..., cache = FALSE)
+simulate_duckdb(...)

Arguments

-
...
-

Any parameters to be forwarded

- - -
src
+
src

A duckdb connection object

@@ -96,6 +101,10 @@

Arguments... +

Any parameters to be forwarded

+ +
cache

Enable object cache for Parquet files

@@ -111,12 +120,22 @@

Exampleslibrary(dplyr, warn.conflicts = FALSE) con <- DBI::dbConnect(duckdb(), path = ":memory:") -dbiris <- copy_to(con, iris, overwrite = TRUE) +db <- copy_to(con, data.frame(a = 1:3, b = letters[2:4])) + +db %>% + filter(a > 1) %>% + select(b) + +path <- tempfile(fileext = ".csv") +write.csv(data.frame(a = 1:3, b = letters[2:4])) + +db_csv <- tbl_file(con, path) +db_csv %>% + summarize(sum_a = sum(a)) -dbiris %>% - select(Petal.Length, Petal.Width) %>% - filter(Petal.Length > 1.5) %>% - head(5) +db_csv_fun <- tbl_function(con, paste0("read_csv_auto('", path, "')")) +db_csv %>% + count() DBI::dbDisconnect(con, shutdown = TRUE) } diff --git a/reference/index.html b/reference/index.html index cbb2af7c6..240a9ed53 100644 --- a/reference/index.html +++ b/reference/index.html @@ -100,7 +100,7 @@

Interfacessimulate_duckdb() translate_duckdb() tbl_file() tbl_query() + tbl_file() tbl_function() tbl_query() simulate_duckdb()
DuckDB SQL backend for dbplyr
diff --git a/reference/translate_duckdb.html b/reference/tbl_function.html similarity index 100% rename from reference/translate_duckdb.html rename to reference/tbl_function.html diff --git a/search.json b/search.json index bfb9230e3..41f7956e5 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":[]},{"path":"https://r.duckdb.org/RELEASE.html","id":"preflight-checks","dir":"","previous_headings":"","what":"Preflight Checks","title":"R Package Release Process","text":"Check GitHub actions reports revision want release. Github Actions R Workflow output “R CMD check” section. errors/warnigns show stoppers need addressed. NOTEs package size ” Note CRAN Maintainers” fine, NOTEs likely indicate problems. Also, look CRAN package checks. NOTEs WARNINGs anything red needs addressed. , NOTE package size fine.","code":""},{"path":"https://r.duckdb.org/RELEASE.html","id":"reverse-dependency-checks","dir":"","previous_headings":"","what":"Reverse Dependency Checks","title":"R Package Release Process","text":"Next run reverse dependency check, checking packages CRAN depend DuckDB still work, issues lead issues CRAN updates. policy contact package authors “well beforehand”. things fail check, contact package authors.","code":"remotes::install_github(\"r-lib/revdepcheck\") # once revdepcheck::revdep_check(num_workers = 8, env=c(`MAKEVARS`=\"-j8\"))"},{"path":"https://r.duckdb.org/RELEASE.html","id":"source-package","dir":"","previous_headings":"","what":"Source Package","title":"R Package Release Process","text":"R package automatically pick DuckDB version git tag. Make sure file DESCRIPTION master branch Version entry want create. ’s important package builds created main branch duckdb/duckdb repository (fork) otherwise git revision ids used install extensions wrong. can get R source tarball either build artifacts (r-package-source) GitHub release CI finishes (duckdb_[version].tar.gz). Next check package using WinBuilder, upload source tarball https://win-builder.r-project.org/upload.aspx, using R-devel. get email point. , warnings/notes besides ones mentioned bad.","code":""},{"path":"https://r.duckdb.org/RELEASE.html","id":"upload","dir":"","previous_headings":"","what":"Upload","title":"R Package Release Process","text":"Finally, upload package CRAN : https://cran.r-project.org/submit.html maintainer (currently Hannes) confirm upload, various automatic checks triggered.","code":""},{"path":"https://r.duckdb.org/RELEASE.html","id":"post-release","dir":"","previous_headings":"","what":"Post-release","title":"R Package Release Process","text":"convention, development versions fourth component .9000. successful release, edit DESCRIPTION include , e.g., change 0.8.1 0.8.1.9000.","code":""},{"path":"https://r.duckdb.org/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Hannes Mühleisen. Author. Mark Raasveldt. Author. Kirill Müller. Maintainer. Stichting DuckDB Foundation. Copyright holder. Apache Software Foundation. Copyright holder. PostgreSQL Global Development Group. Copyright holder. Regents University California. Copyright holder. Cameron Desrochers. Copyright holder. Victor Zverovich. Copyright holder. RAD Game Tools. Copyright holder. Valve Software. Copyright holder. Rich Geldreich. Copyright holder. Tenacious Software LLC. Copyright holder. RE2 Authors. Copyright holder. Google Inc.. Copyright holder. Facebook Inc.. Copyright holder. Steven G. Johnson. Copyright holder. Jiahao Chen. Copyright holder. Tony Kelman. Copyright holder. Jonas Fonseca. Copyright holder. Lukas Fittl. Copyright holder. Salvatore Sanfilippo. Copyright holder. Art.sy, Inc.. Copyright holder. Oran Agra. Copyright holder. Redis Labs, Inc.. Copyright holder. Melissa O'Neill. Copyright holder. PCG Project contributors. Copyright holder.","code":""},{"path":"https://r.duckdb.org/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Mühleisen H, Raasveldt M (2024). duckdb: DBI Package DuckDB Database Management System. R package version 1.0.0.9000, https://github.com/duckdb/duckdb-r, https://r.duckdb.org/.","code":"@Manual{, title = {duckdb: DBI Package for the DuckDB Database Management System}, author = {Hannes Mühleisen and Mark Raasveldt}, year = {2024}, note = {R package version 1.0.0.9000, https://github.com/duckdb/duckdb-r}, url = {https://r.duckdb.org/}, }"},{"path":[]},{"path":"https://r.duckdb.org/index.html","id":"installation-from-cran","dir":"","previous_headings":"","what":"Installation from CRAN","title":"DBI Package for the DuckDB Database Management System","text":"","code":"install.packages(\"duckdb\")"},{"path":"https://r.duckdb.org/index.html","id":"installation-from-r-universe","dir":"","previous_headings":"","what":"Installation from r-universe","title":"DBI Package for the DuckDB Database Management System","text":"","code":"install.packages(\"duckdb\", repos = c(\"https://duckdb.r-universe.dev\", \"https://cloud.r-project.org\"))"},{"path":"https://r.duckdb.org/index.html","id":"installation-from-github","dir":"","previous_headings":"","what":"Installation from GitHub","title":"DBI Package for the DuckDB Database Management System","text":"","code":"# install.packages(\"pak\", repos = sprintf(\"https://r-lib.github.io/p/pak/stable/%s/%s/%s\", .Platform$pkgType, R.Version()$os, R.Version()$arch)) pak::pak(\"duckdb/duckdb-r\")"},{"path":"https://r.duckdb.org/index.html","id":"user-guide","dir":"","previous_headings":"","what":"User Guide","title":"DBI Package for the DuckDB Database Management System","text":"See R API DuckDB documentation.","code":""},{"path":"https://r.duckdb.org/index.html","id":"building","dir":"","previous_headings":"","what":"Building","title":"DBI Package for the DuckDB Database Management System","text":"build bleeding edge duckdb-r, can clone repository run wish test new duckdb functionality duckdb-r, make sure clones duckdb-r duckdb share parent directory. run following commands helps duckdb directory duckdb-r directory clean. encounter linker errors, merge duckdb-r duckdb respective main branches.","code":"~duckdb-r: R CMD INSTALL . ~ (cd duckdb && git checkout {{desired_branch}}) ~ (cd ducdkb-r && ./vendor-one.sh) ~ (cd duckdb-r && R CMD INSTALL .)"},{"path":"https://r.duckdb.org/index.html","id":"dependencies","dir":"","previous_headings":"","what":"Dependencies","title":"DBI Package for the DuckDB Database Management System","text":"build R package, first need install dependencies:","code":"# install.packages(\"pak\", repos = sprintf(\"https://r-lib.github.io/p/pak/stable/%s/%s/%s\", .Platform$pkgType, R.Version()$os, R.Version()$arch)) pak::pak()"},{"path":"https://r.duckdb.org/index.html","id":"developing-with-extensions","dir":"","previous_headings":"Dependencies","what":"Developing with Extensions","title":"DBI Package for the DuckDB Database Management System","text":"wish build add extensions R package first need build duckdb extension_static_build flag. following commands allow add httpfs extension DuckDB R build. See extension ReadMe information extensions R, run: information using extensions, see documentation extensions. instructions building , see extension README.","code":"cd duckdb/ EXTENSION_STATIC_BUILD=1 make library(duckdb) con <- DBI::dbConnect(duckdb(config=list('allow_unsigned_extensions'='true'))) dbExecute(con, \"LOAD '{{path_to_duckdb}}/build/release/extension/httpfs/httpfs.duckdb_extension'\")"},{"path":"https://r.duckdb.org/index.html","id":"contributors","dir":"","previous_headings":"","what":"Contributors","title":"DBI Package for the DuckDB Database Management System","text":"Thanks contributors repository, contributed code still hosted main duckdb/duckdb repository: Mark Raasveldt, Pedro Holanda, Tom Ebergen, Reijo Sund, Nicolas Bennett, Patrik Schratz, Tishj, Laurens Kuiper, Sam Ansmink, Andy Teucher, Hadley Wickham, Jonathan Keane, Lindsay Wray, Richard Wesley, Elliana May, Edwin de Jonge, Dewey Dunnington, Carlo Piovesan, Andre Beckedorf, Tania Bogatsch, Pedro Ferreira, Maximilian Girlich, James Lamb, James Atkins, usurai, Ubuntu, Noam Ross, Michael Antonov, Jeroen Ooms, Jamie Lentin, Jacob, Chilarai.","code":""},{"path":"https://r.duckdb.org/reference/backend-duckdb.html","id":null,"dir":"Reference","previous_headings":"","what":"DuckDB SQL backend for dbplyr — backend-duckdb","title":"DuckDB SQL backend for dbplyr — backend-duckdb","text":"SQL backend dbplyr tailored take account DuckDB's possibilities. mainly follows backend PostgreSQL, contains mapped functions. tbl_file() experimental variant dplyr::tbl() directly access files disk. safer dplyr::tbl() risk misinterpreting request, paths special characters supported. tbl_query() experimental variant dplyr::tbl() create lazy table table-generating function, useful reading nonstandard CSV files data sources. safer dplyr::tbl() risk misinterpreting query. Use dplyr::tbl(src, dplyr::sql(\"SELECT ... ...\")) custom SQL queries. See https://duckdb.org/docs/data/overview details data importing functions.","code":""},{"path":"https://r.duckdb.org/reference/backend-duckdb.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"DuckDB SQL backend for dbplyr — backend-duckdb","text":"","code":"simulate_duckdb(...) translate_duckdb(...) tbl_file(src, path, ..., cache = FALSE) tbl_query(src, query, ..., cache = FALSE)"},{"path":"https://r.duckdb.org/reference/backend-duckdb.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"DuckDB SQL backend for dbplyr — backend-duckdb","text":"... parameters forwarded src duckdb connection object path Path existing Parquet, CSV JSON file cache Enable object cache Parquet files query SQL code, omitting clause","code":""},{"path":"https://r.duckdb.org/reference/backend-duckdb.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"DuckDB SQL backend for dbplyr — backend-duckdb","text":"","code":"if (FALSE) { # duckdb:::TEST_RE2 && rlang::is_installed(\"dbplyr\") library(dplyr, warn.conflicts = FALSE) con <- DBI::dbConnect(duckdb(), path = \":memory:\") dbiris <- copy_to(con, iris, overwrite = TRUE) dbiris %>% select(Petal.Length, Petal.Width) %>% filter(Petal.Length > 1.5) %>% head(5) DBI::dbDisconnect(con, shutdown = TRUE) }"},{"path":"https://r.duckdb.org/reference/deprecated.html","id":null,"dir":"Reference","previous_headings":"","what":"Deprecated functions — read_csv_duckdb","title":"Deprecated functions — read_csv_duckdb","text":"read_csv_duckdb() superseded duckdb_read_csv(). order arguments changed.","code":""},{"path":"https://r.duckdb.org/reference/deprecated.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Deprecated functions — read_csv_duckdb","text":"","code":"read_csv_duckdb(conn, files, tablename, ...)"},{"path":"https://r.duckdb.org/reference/duckdb-package.html","id":null,"dir":"Reference","previous_headings":"","what":"duckdb: DBI Package for the DuckDB Database Management System — duckdb-package","title":"duckdb: DBI Package for the DuckDB Database Management System — duckdb-package","text":"DuckDB project embedded analytical data management system support Structured Query Language (SQL). package includes DuckDB R Database Interface (DBI) connector.","code":""},{"path":[]},{"path":"https://r.duckdb.org/reference/duckdb-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"duckdb: DBI Package for the DuckDB Database Management System — duckdb-package","text":"Maintainer: Kirill Müller kirill@cynkra.com (ORCID) Authors: Hannes Mühleisen hannes@cwi.nl (ORCID) Mark Raasveldt mark.raasveldt@cwi.nl (ORCID) contributors: Stichting DuckDB Foundation [copyright holder] Apache Software Foundation [copyright holder] PostgreSQL Global Development Group [copyright holder] Regents University California [copyright holder] Cameron Desrochers [copyright holder] Victor Zverovich [copyright holder] RAD Game Tools [copyright holder] Valve Software [copyright holder] Rich Geldreich [copyright holder] Tenacious Software LLC [copyright holder] RE2 Authors [copyright holder] Google Inc. [copyright holder] Facebook Inc. [copyright holder] Steven G. Johnson [copyright holder] Jiahao Chen [copyright holder] Tony Kelman [copyright holder] Jonas Fonseca [copyright holder] Lukas Fittl [copyright holder] Salvatore Sanfilippo [copyright holder] Art.sy, Inc. [copyright holder] Oran Agra [copyright holder] Redis Labs, Inc. [copyright holder] Melissa O'Neill [copyright holder] PCG Project contributors [copyright holder]","code":""},{"path":"https://r.duckdb.org/reference/duckdb.html","id":null,"dir":"Reference","previous_headings":"","what":"Connect to a DuckDB database instance — duckdb","title":"Connect to a DuckDB database instance — duckdb","text":"duckdb() creates reuses database instance. duckdb_shutdown() shuts database instance. Return adbcdrivermanager::adbc_driver() use Arrow Database Connectivity via adbcdrivermanager package. dbConnect() connects database instance. dbDisconnect() closes DuckDB database connection. associated DuckDB database instance shut automatically, longer necessary set shutdown = TRUE call duckdb_shutdown().","code":""},{"path":"https://r.duckdb.org/reference/duckdb.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Connect to a DuckDB database instance — duckdb","text":"","code":"duckdb( dbdir = DBDIR_MEMORY, read_only = FALSE, bigint = \"numeric\", config = list() ) duckdb_shutdown(drv) duckdb_adbc() # S4 method for class 'duckdb_driver' dbConnect( drv, dbdir = DBDIR_MEMORY, ..., debug = getOption(\"duckdb.debug\", FALSE), read_only = FALSE, timezone_out = \"UTC\", tz_out_convert = c(\"with\", \"force\"), config = list(), bigint = \"numeric\" ) # S4 method for class 'duckdb_connection' dbDisconnect(conn, ..., shutdown = TRUE)"},{"path":"https://r.duckdb.org/reference/duckdb.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Connect to a DuckDB database instance — duckdb","text":"dbdir Location database files. path existing directory file system. default (\"\"), data kept RAM. read_only Set TRUE read-operation. file-based databases, applied database file opened first time. Subsequent connections (via drv object drv object pointing path) silently ignore flag. bigint 64-bit integers returned. two options: \"numeric\" \"integer64\". \"numeric\" selected, bigint integers treated double/numeric. \"integer64\" selected, bigint integers set bit64 encoding. config Named list DuckDB configuration flags, see https://duckdb.org/docs/configuration/overview#configuration-reference possible options. flags applied database object instantiated. Subsequent connections silently ignore flags. drv Object returned duckdb() ... Ignored debug Print additional debug information queries timezone_out time zone returned R, defaults \"UTC\", currently timezone supported duckdb. want display datetime values local timezone, set Sys.timezone() \"\". tz_out_convert convert timestamp columns timezone specified timezone_out. two options: \"\", \"force\". \"\" chosen, timestamp returned appear specified time zone. \"force\" chosen, timestamp clock time timestamp database, new time zone. conn duckdb_connection object shutdown Unused. database instance shut automatically.","code":""},{"path":"https://r.duckdb.org/reference/duckdb.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Connect to a DuckDB database instance — duckdb","text":"duckdb() returns object class duckdb_driver. dbDisconnect() duckdb_shutdown() called side effect. object class \"adbc_driver\" dbConnect() returns object class duckdb_connection.","code":""},{"path":"https://r.duckdb.org/reference/duckdb.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Connect to a DuckDB database instance — duckdb","text":"","code":"library(adbcdrivermanager) with_adbc(db <- adbc_database_init(duckdb_adbc()), { as.data.frame(read_adbc(db, \"SELECT 1 as one;\")) }) #> one #> 1 1 drv <- duckdb() con <- dbConnect(drv) dbGetQuery(con, \"SELECT 'Hello, world!'\") #> 'Hello, world!' #> 1 Hello, world! dbDisconnect(con) duckdb_shutdown(drv) # Shorter: con <- dbConnect(duckdb()) dbGetQuery(con, \"SELECT 'Hello, world!'\") #> 'Hello, world!' #> 1 Hello, world! dbDisconnect(con, shutdown = TRUE)"},{"path":"https://r.duckdb.org/reference/duckdb_connection-class.html","id":null,"dir":"Reference","previous_headings":"","what":"DuckDB connection class — duckdb_connection-class","title":"DuckDB connection class — duckdb_connection-class","text":"Implements DBI::DBIConnection.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_connection-class.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"DuckDB connection class — duckdb_connection-class","text":"","code":"# S4 method for class 'duckdb_connection' dbAppendTable(conn, name, value, ..., row.names = NULL) # S4 method for class 'duckdb_connection' dbBegin(conn, ...) # S4 method for class 'duckdb_connection' dbCommit(conn, ...) # S4 method for class 'duckdb_connection' dbDataType(dbObj, obj, ...) # S4 method for class 'duckdb_connection,ANY' dbExistsTable(conn, name, ...) # S4 method for class 'duckdb_connection' dbGetInfo(dbObj, ...) # S4 method for class 'duckdb_connection' dbIsValid(dbObj, ...) # S4 method for class 'duckdb_connection,character' dbListFields(conn, name, ...) # S4 method for class 'duckdb_connection' dbListTables(conn, ...) # S4 method for class 'duckdb_connection,ANY' dbQuoteIdentifier(conn, x, ...) # S4 method for class 'duckdb_connection' dbQuoteLiteral(conn, x, ...) # S4 method for class 'duckdb_connection,character' dbRemoveTable(conn, name, ..., fail_if_missing = TRUE) # S4 method for class 'duckdb_connection' dbRollback(conn, ...) # S4 method for class 'duckdb_connection,character' dbSendQuery(conn, statement, params = NULL, ..., arrow = FALSE) # S4 method for class 'duckdb_connection,character,data.frame' dbWriteTable( conn, name, value, ..., row.names = FALSE, overwrite = FALSE, append = FALSE, field.types = NULL, temporary = FALSE ) # S4 method for class 'duckdb_connection' show(object)"},{"path":"https://r.duckdb.org/reference/duckdb_connection-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"DuckDB connection class — duckdb_connection-class","text":"conn duckdb_connection object returned DBI::dbConnect() name table name, passed dbQuoteIdentifier(). Options : character string unquoted DBMS table name, e.g. \"table_name\", call Id() components fully qualified table name, e.g. Id(schema = \"my_schema\", table = \"table_name\") call SQL() quoted fully qualified table name given verbatim, e.g. SQL('\"my_schema\".\"table_name\"') value data.frame (coercible data.frame). ... parameters passed methods. row.names Whether row.names data.frame preserved dbObj object inheriting class duckdb_connection. obj R object whose SQL type want determine. statement character string containing SQL. params dbBind(), list values, named unnamed, data frame, one element/column per query parameter. dbBindArrow(), values nanoarrow stream, one column per query parameter. arrow Whether query returned Arrow Table overwrite table given name already exists, overwritten? append table given name already exists, just try append passed data field.types Override auto-generated SQL types temporary created table temporary? object R object","code":""},{"path":"https://r.duckdb.org/reference/duckdb_driver-class.html","id":null,"dir":"Reference","previous_headings":"","what":"DuckDB driver class — duckdb_driver-class","title":"DuckDB driver class — duckdb_driver-class","text":"Implements DBI::DBIDriver.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_driver-class.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"DuckDB driver class — duckdb_driver-class","text":"","code":"# S4 method for class 'duckdb_driver' dbDataType(dbObj, obj, ...) # S4 method for class 'duckdb_driver' dbGetInfo(dbObj, ...) # S4 method for class 'duckdb_driver' dbIsValid(dbObj, ...) # S4 method for class 'duckdb_driver' show(object)"},{"path":"https://r.duckdb.org/reference/duckdb_driver-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"DuckDB driver class — duckdb_driver-class","text":"dbObj object inheriting class duckdb_driver. ... arguments methods. object R object","code":""},{"path":"https://r.duckdb.org/reference/duckdb_explain-class.html","id":null,"dir":"Reference","previous_headings":"","what":"DuckDB EXPLAIN query tree — duckdb_explain-class","title":"DuckDB EXPLAIN query tree — duckdb_explain-class","text":"DuckDB EXPLAIN query tree","code":""},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the Substrait plan for a SQL query Transforms a SQL query into a raw vector containing the serialized Substrait query blob — duckdb_get_substrait","title":"Get the Substrait plan for a SQL query Transforms a SQL query into a raw vector containing the serialized Substrait query blob — duckdb_get_substrait","text":"Get Substrait plan SQL query Transforms SQL query raw vector containing serialized Substrait query blob","code":""},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the Substrait plan for a SQL query Transforms a SQL query into a raw vector containing the serialized Substrait query blob — duckdb_get_substrait","text":"","code":"duckdb_get_substrait(conn, query, enable_optimizer = TRUE)"},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the Substrait plan for a SQL query Transforms a SQL query into a raw vector containing the serialized Substrait query blob — duckdb_get_substrait","text":"conn DuckDB connection, created dbConnect(). query query string SQL enable_optimizer Optional parameter enable/disable query-optimizer. default optimizer enabled.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the Substrait plan for a SQL query Transforms a SQL query into a raw vector containing the serialized Substrait query blob — duckdb_get_substrait","text":"raw vector containing substrait protobuf blob","code":""},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait_json.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the Substrait plan for a SQL query in the JSON format Transforms a SQL query into a vector containing the serialized Substrait query JSON — duckdb_get_substrait_json","title":"Get the Substrait plan for a SQL query in the JSON format Transforms a SQL query into a vector containing the serialized Substrait query JSON — duckdb_get_substrait_json","text":"Get Substrait plan SQL query JSON format Transforms SQL query vector containing serialized Substrait query JSON","code":""},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait_json.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the Substrait plan for a SQL query in the JSON format Transforms a SQL query into a vector containing the serialized Substrait query JSON — duckdb_get_substrait_json","text":"","code":"duckdb_get_substrait_json(conn, query, enable_optimizer = TRUE)"},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait_json.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the Substrait plan for a SQL query in the JSON format Transforms a SQL query into a vector containing the serialized Substrait query JSON — duckdb_get_substrait_json","text":"conn DuckDB connection, created dbConnect(). query query string SQL enable_optimizer Optional parameter enable/disable query-optimizer. default optimizer enabled.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait_json.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the Substrait plan for a SQL query in the JSON format Transforms a SQL query into a vector containing the serialized Substrait query JSON — duckdb_get_substrait_json","text":"vector containing substrait protobuf JSON","code":""},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait.html","id":null,"dir":"Reference","previous_headings":"","what":"Query DuckDB using Substrait Method for interpreting a Substrait BLOB plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait","title":"Query DuckDB using Substrait Method for interpreting a Substrait BLOB plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait","text":"Query DuckDB using Substrait Method interpreting Substrait BLOB plan DuckDB Query Plan interprets executes query.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Query DuckDB using Substrait Method for interpreting a Substrait BLOB plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait","text":"","code":"duckdb_prepare_substrait(conn, query, arrow = FALSE)"},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Query DuckDB using Substrait Method for interpreting a Substrait BLOB plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait","text":"conn DuckDB connection, created dbConnect(). query Protobuf-encoded Substrait Query Plan. Qack! arrow Whether result Arrow format","code":""},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Query DuckDB using Substrait Method for interpreting a Substrait BLOB plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait","text":"DuckDB Query Result","code":""},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait_json.html","id":null,"dir":"Reference","previous_headings":"","what":"Query DuckDB using Substrait Method for interpreting a Substrait JSON plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait_json","title":"Query DuckDB using Substrait Method for interpreting a Substrait JSON plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait_json","text":"Query DuckDB using Substrait Method interpreting Substrait JSON plan DuckDB Query Plan interprets executes query.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait_json.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Query DuckDB using Substrait Method for interpreting a Substrait JSON plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait_json","text":"","code":"duckdb_prepare_substrait_json(conn, json, arrow = FALSE)"},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait_json.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Query DuckDB using Substrait Method for interpreting a Substrait JSON plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait_json","text":"conn DuckDB connection, created dbConnect(). json Json Query Plan. Qack! arrow Whether result Arrow format","code":""},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait_json.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Query DuckDB using Substrait Method for interpreting a Substrait JSON plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait_json","text":"DuckDB Query Result","code":""},{"path":"https://r.duckdb.org/reference/duckdb_read_csv.html","id":null,"dir":"Reference","previous_headings":"","what":"Reads a CSV file into DuckDB — duckdb_read_csv","title":"Reads a CSV file into DuckDB — duckdb_read_csv","text":"Directly reads CSV file DuckDB, tries detect create correct schema . usually much faster reading data R writing DuckDB.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_read_csv.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Reads a CSV file into DuckDB — duckdb_read_csv","text":"","code":"duckdb_read_csv( conn, name, files, header = TRUE, na.strings = \"\", nrow.check = 500, delim = \",\", quote = \"\\\"\", col.names = NULL, lower.case.names = FALSE, sep = delim, transaction = TRUE, ... )"},{"path":"https://r.duckdb.org/reference/duckdb_read_csv.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Reads a CSV file into DuckDB — duckdb_read_csv","text":"conn DuckDB connection, created dbConnect(). name name virtual table registered unregistered files One CSV file names, structure though header Whether CSV files separate header first line na.strings strings CSV files considered NULL nrow.check many rows read CSV file figure data types delim field separator used quote quote character used columns CSV file col.names Override detected generated column names lower.case.names Transform column names lower case sep Alias delim compatibility transaction transaction used entire operation ... Passed read.csv()","code":""},{"path":"https://r.duckdb.org/reference/duckdb_read_csv.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Reads a CSV file into DuckDB — duckdb_read_csv","text":"number rows resulted table, invisibly.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_read_csv.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Reads a CSV file into DuckDB — duckdb_read_csv","text":"","code":"if (FALSE) { # duckdb:::TEST_RE2 con <- dbConnect(duckdb()) data <- data.frame(a = 1:3, b = letters[1:3]) path <- tempfile(fileext = \".csv\") write.csv(data, path, row.names = FALSE) duckdb_read_csv(con, \"data\", path) dbReadTable(con, \"data\") dbDisconnect(con) }"},{"path":"https://r.duckdb.org/reference/duckdb_register.html","id":null,"dir":"Reference","previous_headings":"","what":"Register a data frame as a virtual table — duckdb_register","title":"Register a data frame as a virtual table — duckdb_register","text":"duckdb_register() registers data frame virtual table (view) DuckDB connection. data copied.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_register.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Register a data frame as a virtual table — duckdb_register","text":"","code":"duckdb_register(conn, name, df, overwrite = FALSE, experimental = FALSE) duckdb_unregister(conn, name)"},{"path":"https://r.duckdb.org/reference/duckdb_register.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Register a data frame as a virtual table — duckdb_register","text":"conn DuckDB connection, created dbConnect(). name name virtual table registered unregistered df data.frame data virtual table overwrite existing registration overwritten? experimental Enable experimental optimizations","code":""},{"path":"https://r.duckdb.org/reference/duckdb_register.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Register a data frame as a virtual table — duckdb_register","text":"functions called side effect.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_register.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Register a data frame as a virtual table — duckdb_register","text":"duckdb_unregister() unregisters previously registered data frame.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_register.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Register a data frame as a virtual table — duckdb_register","text":"","code":"con <- dbConnect(duckdb()) data <- data.frame(a = 1:3, b = letters[1:3]) duckdb_register(con, \"data\", data) dbReadTable(con, \"data\") #> a b #> 1 1 a #> 2 2 b #> 3 3 c duckdb_unregister(con, \"data\") dbDisconnect(con)"},{"path":"https://r.duckdb.org/reference/duckdb_register_arrow.html","id":null,"dir":"Reference","previous_headings":"","what":"Register an Arrow data source as a virtual table — duckdb_register_arrow","title":"Register an Arrow data source as a virtual table — duckdb_register_arrow","text":"duckdb_register_arrow() registers Arrow data source virtual table (view) DuckDB connection. data copied.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_register_arrow.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Register an Arrow data source as a virtual table — duckdb_register_arrow","text":"","code":"duckdb_register_arrow(conn, name, arrow_scannable, use_async = NULL) duckdb_unregister_arrow(conn, name) duckdb_list_arrow(conn)"},{"path":"https://r.duckdb.org/reference/duckdb_register_arrow.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Register an Arrow data source as a virtual table — duckdb_register_arrow","text":"conn DuckDB connection, created dbConnect(). name name virtual table registered unregistered arrow_scannable scannable Arrow-object use_async Switched asynchronous scanner. (deprecated)","code":""},{"path":"https://r.duckdb.org/reference/duckdb_register_arrow.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Register an Arrow data source as a virtual table — duckdb_register_arrow","text":"functions called side effect.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_register_arrow.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Register an Arrow data source as a virtual table — duckdb_register_arrow","text":"duckdb_unregister_arrow() unregisters previously registered data frame.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_result-class.html","id":null,"dir":"Reference","previous_headings":"","what":"DuckDB Result Set — duckdb_result-class","title":"DuckDB Result Set — duckdb_result-class","text":"Methods accessing result sets queries DuckDB connections. Implements DBI::DBIResult.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_result-class.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"DuckDB Result Set — duckdb_result-class","text":"","code":"duckdb_fetch_arrow(res, chunk_size = 1e+06) duckdb_fetch_record_batch(res, chunk_size = 1e+06) # S4 method for class 'duckdb_result' dbBind(res, params, ...) # S4 method for class 'duckdb_result' dbClearResult(res, ...) # S4 method for class 'duckdb_result' dbColumnInfo(res, ...) # S4 method for class 'duckdb_result' dbFetch(res, n = -1, ...) # S4 method for class 'duckdb_result' dbGetInfo(dbObj, ...) # S4 method for class 'duckdb_result' dbGetRowCount(res, ...) # S4 method for class 'duckdb_result' dbGetRowsAffected(res, ...) # S4 method for class 'duckdb_result' dbGetStatement(res, ...) # S4 method for class 'duckdb_result' dbHasCompleted(res, ...) # S4 method for class 'duckdb_result' dbIsValid(dbObj, ...) # S4 method for class 'duckdb_result' show(object)"},{"path":"https://r.duckdb.org/reference/duckdb_result-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"DuckDB Result Set — duckdb_result-class","text":"res Query result converted Record Batch Reader chunk_size chunk size params dbBind(), list values, named unnamed, data frame, one element/column per query parameter. dbBindArrow(), values nanoarrow stream, one column per query parameter. ... arguments passed methods. n maximum number records retrieve per fetch. Use n = -1 n = Inf retrieve pending records. implementations may recognize special values. dbObj object inheriting class duckdb_result. object R object","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-100-2","dir":"Changelog","previous_headings":"","what":"duckdb 1.0.0-2","title":"duckdb 1.0.0-2","text":"CRAN release: 2024-07-19","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"features-1-0-0-2","dir":"Changelog","previous_headings":"","what":"Features","title":"duckdb 1.0.0-2","text":"Reduce package installation size macOS (#185).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-100-1","dir":"Changelog","previous_headings":"","what":"duckdb 1.0.0-1","title":"duckdb 1.0.0-1","text":"CRAN release: 2024-07-09","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"bug-fixes-1-0-0-1","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"duckdb 1.0.0-1","text":"Upgrade vendored cpp11 0.4.7 fix compilation R-devel. Support dplyr::tbl(conn, (...)).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-100","dir":"Changelog","previous_headings":"","what":"duckdb 1.0.0","title":"duckdb 1.0.0","text":"CRAN release: 2024-06-13","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"bug-fixes-1-0-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"duckdb 1.0.0","text":"Update duckdb v1.0.0, see https://github.com/duckdb/duckdb/releases/tag/v1.0.0 details.","code":""},{"path":[]},{"path":"https://r.duckdb.org/news/index.html","id":"features-0-10-3","dir":"Changelog","previous_headings":"","what":"Features","title":"duckdb 0.10.3","text":"Update duckdb v0.10.3, see https://github.com/duckdb/duckdb/releases/tag/v0.10.3 details. Support fetching MAP type (#61, #165). Add dbplyr translations clock::date_count_between() (@edward-burn, #163, #166). round() duckdb translation uses ROUND_EVEN() instead ROUND() (@lschneiderbauer, #146, #157). New sort argument rel_order() (@toppyy, #168). Add dbplyr translations clock::add_days(), clock::add_years(), clock::get_day(), clock::get_month(), clock::get_year() (@edward-burn, #153).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"bug-fixes-0-10-3","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"duckdb 0.10.3","text":"Correct usage win_current_group() instead win_current_order() SQL translation (@lschneiderbauer, #173, #175).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-0102","dir":"Changelog","previous_headings":"","what":"duckdb 0.10.2","title":"duckdb 0.10.2","text":"CRAN release: 2024-05-01","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"features-0-10-2","dir":"Changelog","previous_headings":"","what":"Features","title":"duckdb 0.10.2","text":"Update duckdb v0.10.2, see https://github.com/duckdb/duckdb/releases/tag/v0.10.2 details. \"difftime\" class now mapped INTERVAL data type (#151). Use latest tests DBItest (#148). Implement n_distinct() multiple arguments using duckdb structs (@lschneiderbauer, #110, #122). Include rfuns extension (hannes/duckdb-rfuns#78, #144). Map NA SQLNULL (#143).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"bug-fixes-0-10-2","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"duckdb 0.10.2","text":"rel_sql(rel, \"{{sql}}\") works even read-database (@Tmonster, #138). Avoid R CMD check warning regarding SETLENGTH() SET_TRUELENGTH() (#145).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-0101","dir":"Changelog","previous_headings":"","what":"duckdb 0.10.1","title":"duckdb 0.10.1","text":"CRAN release: 2024-04-02","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"features-0-10-1","dir":"Changelog","previous_headings":"","what":"Features","title":"duckdb 0.10.1","text":"Update duckdb v0.10.1, see https://github.com/duckdb/duckdb/releases/tag/v0.10.1 details. Fix shutdown semantics driver object created duckdb(). database file closed (available opened another session) last connection uses file calls dbDisconnect() . shutdown argument dbDisconnect() duckdb_shutdown() functions longer necessary. Two database connections R session can access file concurrently read-write mode (#124).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"bug-fixes-0-10-1","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"duckdb 0.10.1","text":"Don’t run tests invoke re2 default (#121, #127). Fix compilation R 4.0 R 4.1, regression introduced v0.10.0. Using librstrtmgr.UCRT build rtools40 (#130).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"internal-0-10-1","dir":"Changelog","previous_headings":"","what":"Internal","title":"duckdb 0.10.1","text":"C++ core now vendored commit commit, every five minutes. Vendoring stops R CMD check fails previously unreleased tag reached. New maintainer: Kirill Müller.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"continuous-integration-0-10-1","dir":"Changelog","previous_headings":"","what":"Continuous integration","title":"duckdb 0.10.1","text":"Add rhub2 workflow.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-0100","dir":"Changelog","previous_headings":"","what":"duckdb 0.10.0","title":"duckdb 0.10.0","text":"CRAN release: 2024-03-13","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"bug-fixes-0-10-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"duckdb 0.10.0","text":"dplyr::tbl() works Parquet CSV file passed instead table name (#38, #91). DBI::dbQuoteIdentifier() correctly quotes identifiers start digit (#67, #92). Align argument order dbWriteTable() DBI specs (@eitsupi, #43, #49).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"features-0-10-0","dir":"Changelog","previous_headings":"","what":"Features","title":"duckdb 0.10.0","text":"New tbl_file() tbl_query() explicitly access tables queries dbplyr lazy tables (#96). cache argument tbl() new functions must named. Initial ALTREP support LIST logical type (@romainfrancois, #77). Update core duckdb v0.10.0 (#90). New private rel_to_parquet() write relation parquet (@Tmonster, #46).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"chore-0-10-0","dir":"Changelog","previous_headings":"","what":"Chore","title":"duckdb 0.10.0","text":"Change directory location extensions secrets v.0.10.0 release (@Tmonster, #73). Remove last instance default_connection() (#50).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"documentation-0-10-0","dir":"Changelog","previous_headings":"","what":"Documentation","title":"duckdb 0.10.0","text":"Add list contributors (#2, #94). Use pkgdown BS5 (@maelle, #31, #70) DuckDB logo (#76, @romainfrancois). Link R documentation page. Include NEWS.md CRAN (#48, @olivroy).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"testing-0-10-0","dir":"Changelog","previous_headings":"","what":"Testing","title":"duckdb 0.10.0","text":"Add csv reading test duckdb_read_csv(na.strings = ) (@Tmonster, #10). Fix snapshot tests. Tweak tests compatibility v0.10.0 (#84).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-092-1","dir":"Changelog","previous_headings":"","what":"duckdb 0.9.2-1","title":"duckdb 0.9.2-1","text":"CRAN release: 2023-11-28 Fix compiler warning R-devel (#45).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-092","dir":"Changelog","previous_headings":"","what":"duckdb 0.9.2","title":"duckdb 0.9.2","text":"CRAN release: 2023-11-17 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.9.2. Add dbplyr translation prod() (#40, @m-muecke).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-091-1","dir":"Changelog","previous_headings":"","what":"duckdb 0.9.1-1","title":"duckdb 0.9.1-1","text":"CRAN release: 2023-10-30 Fix LTO checks CRAN.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-091","dir":"Changelog","previous_headings":"","what":"duckdb 0.9.1","title":"duckdb 0.9.1","text":"CRAN release: 2023-10-13 See blog post https://duckdb.org/2023/09/26/announcing-duckdb-090.html. See release notes https://github.com/duckdb/duckdb/releases/tag/v0.9.1. Move sources https://github.com/duckdb/duckdb-r (@krlmlr). Add ADBC integration adbcdrivermanager package (duckdb/duckdb#8172, @paleolimbot). Full support lists structs R (duckdb/duckdb#8503, @krlmlr).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-081-3","dir":"Changelog","previous_headings":"","what":"duckdb 0.8.1-3","title":"duckdb 0.8.1-3","text":"CRAN release: 2023-09-01 Internal changes support duckplyr package.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-081-2","dir":"Changelog","previous_headings":"","what":"duckdb 0.8.1-2","title":"duckdb 0.8.1-2","text":"CRAN release: 2023-08-25 Compatibility dbplyr. Internal changes support duckplyr package.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-081-1","dir":"Changelog","previous_headings":"","what":"duckdb 0.8.1-1","title":"duckdb 0.8.1-1","text":"CRAN release: 2023-07-17 Fix CRAN checks.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-081","dir":"Changelog","previous_headings":"","what":"duckdb 0.8.1","title":"duckdb 0.8.1","text":"CRAN release: 2023-06-16 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.8.1.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-080","dir":"Changelog","previous_headings":"","what":"duckdb 0.8.0","title":"duckdb 0.8.0","text":"CRAN release: 2023-05-23 See blog post https://duckdb.org/2023/05/17/announcing-duckdb-080.html.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-071-1","dir":"Changelog","previous_headings":"","what":"duckdb 0.7.1-1","title":"duckdb 0.7.1-1","text":"CRAN release: 2023-03-01 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.7.1.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-070","dir":"Changelog","previous_headings":"","what":"duckdb 0.7.0","title":"duckdb 0.7.0","text":"CRAN release: 2023-02-14 See blog post https://duckdb.org/2023/02/13/announcing-duckdb-070.html.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-062","dir":"Changelog","previous_headings":"","what":"duckdb 0.6.2","title":"duckdb 0.6.2","text":"CRAN release: 2023-01-16 New duckdb_prepare_substrait_json().","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-061","dir":"Changelog","previous_headings":"","what":"duckdb 0.6.1","title":"duckdb 0.6.1","text":"CRAN release: 2022-12-08 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.6.1.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-060","dir":"Changelog","previous_headings":"","what":"duckdb 0.6.0","title":"duckdb 0.6.0","text":"CRAN release: 2022-11-25 See blog post https://duckdb.org/2022/11/14/announcing-duckdb-060.html.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-051","dir":"Changelog","previous_headings":"","what":"duckdb 0.5.1","title":"duckdb 0.5.1","text":"CRAN release: 2022-09-20 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.5.1.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-050","dir":"Changelog","previous_headings":"","what":"duckdb 0.5.0","title":"duckdb 0.5.0","text":"CRAN release: 2022-09-05 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.5.0.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-040","dir":"Changelog","previous_headings":"","what":"duckdb 0.4.0","title":"duckdb 0.4.0","text":"CRAN release: 2022-06-21 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.4.0.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-034-1","dir":"Changelog","previous_headings":"","what":"duckdb 0.3.4-1","title":"duckdb 0.3.4-1","text":"CRAN release: 2022-06-13 Minor changes CRAN compatibility.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-034","dir":"Changelog","previous_headings":"","what":"duckdb 0.3.4","title":"duckdb 0.3.4","text":"CRAN release: 2022-06-05 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.3.4.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-033","dir":"Changelog","previous_headings":"","what":"duckdb 0.3.3","title":"duckdb 0.3.3","text":"See release notes https://github.com/duckdb/duckdb/releases/tag/v0.3.3.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-032","dir":"Changelog","previous_headings":"","what":"duckdb 0.3.2","title":"duckdb 0.3.2","text":"CRAN release: 2022-02-07 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.3.2.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-031","dir":"Changelog","previous_headings":"","what":"duckdb 0.3.1","title":"duckdb 0.3.1","text":"CRAN release: 2021-11-16 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.3.1.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-030","dir":"Changelog","previous_headings":"","what":"duckdb 0.3.0","title":"duckdb 0.3.0","text":"CRAN release: 2021-10-08 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.3.0. See release notes https://github.com/duckdb/duckdb/releases/tag/v0.2.9.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-028","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.8","title":"duckdb 0.2.8","text":"CRAN release: 2021-08-02 preview release DuckDB named “Ceruttii” long-extinct relative present-day Harleqin Duck (Histrionicus Ceruttii). Binary builds listed . Feedback welcome. Note: , release introduces backwards-incompatible change -disk storage format. suggest use EXPORT DATABASE command old version followed IMPORT DATABASE new version migrate data. See documentation details.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"sql-0-2-8","dir":"Changelog","previous_headings":"","what":"SQL","title":"duckdb 0.2.8","text":"#2064: RANGE/GENERATE_SERIES timestamp + interval #1905: Add PARQUET_METADATA PARQUET_SCHEMA functions #2059, #1995, #2020 & #1960: Window RANGE framing, NTH_VALUE improvements","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"apis-0-2-8","dir":"Changelog","previous_headings":"","what":"APIs","title":"duckdb 0.2.8","text":"Many Arrow integration improvements Many ODBC driver improvements #1815: Initial version: SQLite UDF API #2001: Support DBConfig C API","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"engine-0-2-8","dir":"Changelog","previous_headings":"","what":"Engine","title":"duckdb 0.2.8","text":"#1975, #1876 & #2009: Unified row layout sorting, aggregate & joins #1930 & #1904: List Storage #2050: CSV Reader/Casting Framework Refactor & add support TRY_CAST #1950: Add Constant Segment Compression Storage #1957: Add pipe/stream file system","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-027","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.7","title":"duckdb 0.2.7","text":"CRAN release: 2021-06-14 preview release DuckDB named “Mollissima” Common Eider (Somateria mollissima). Binary builds listed . Feedback welcome. Note: release introduces backwards-incompatible change -disk storage format. suggest use EXPORT DATABASE command old version followed IMPORT DATABASE new version migrate data. See documentation details. Major changes: SQL - #1847: Unify catalog access functions, provide views common PostgreSQL catalog functions - #1822: Python/JSON-Style Struct & List Syntax - #1862: #1584 Implementing NEXTAFTER float double - #1860: FIRST implementation nested types - #1858: UNNEST table function & array syntax parser - #1761: Issue #1746: Moving QUANTILE APIs #1852, #1840, #1831, #1819 #1779: Improvements Arrow Integration #1843: First iteration ODBC driver #1832: Add visualizer extension #1803: Converting Nested Types native python #1773: Add support key/value style configuration, expose Python API Engine - #1808: Row-Group Based Storage - #1842: Add (Persistent) Struct Storage Support - #1859: Read write atomically offsets - #1851: Internal Type Rework - #1845: Nested join payloads - #1813: Aggregate Row Layout - #1836: Join Row Layout - #1804: Use Allocator class buffer manager add test custom allocator usage","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-026","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.6","title":"duckdb 0.2.6","text":"CRAN release: 2021-05-09 preview release DuckDB named “Jamaicensis” blue-billed Ruddy Duck (Oxyura jamaicensis). Binary builds listed . Feedback welcome. Note: release introduces backwards-incompatible change -disk storage format. suggest use EXPORT DATABASE command old version followed IMPORT DATABASE new version migrate data. See documentation details. Also note: Due changes internal storage (#1530), databases created release wil require somewhat disk space. transient working hard finalise -disk storage format. Major changes: Engine - #1666: External merge sort, #1580: Parallel scan ordered result #1561: Rework physical ORDER - #1520 & #1574: Window function computation parallelism - #1540: Add table functions take subquery parameter - #1533: Using vectors, instead column chunks lists - #1530: Store null values separate main data Validity Segment SQL - #1568: Positional Reference Operator #1 etc. - #1671: QUANTILE variants #1685: Temporal quantiles - #1695: New Timestamp Types TIMESTAMP_NS, TIMESTAMP_MS TIMESTAMP_NS - #1647: Add support UTC offset timestamp parsing regular timestamp conversion - #1659: Add support USING keyword DELETE statement - #1638, #1663, #1621 & #1484: Many changes arount ARRAY syntax - #1610: Add support CURRVAL - #1544: Add SKIP option READ_CSV COPY APIs - #1525: Add loadable extensions support - #1711: Parallel Arrow Scans - #1569: Map-style UDFs Python API - #1534: Extensible Replacement Scans & Automatic Pandas Scans #1487: Automatically use parquet CSV scan using table name ends .parquet .csv - #1649: Add QueryRelation object can used convert query directly relation object, #1665: Adding from_query python api - #1550: Shell: Add support Ctrl + arrow keys linenoise, make Ctrl+C terminate current query instead process - #1514: Using ALTREP speed string column transfer R - #1502: R: implementation Rstudio connection-contract tab","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-025","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.5","title":"duckdb 0.2.5","text":"CRAN release: 2021-03-16 preview release DuckDB named “Falcata” Falcated Duck (Mareca falcata). Binary builds listed . Feedback welcome. Note: release introduces backwards-incompatible change -disk storage format. suggest use EXPORT DATABASE command old version followed IMPORT DATABASE new version migrate data. See documentation details. Major Changes: Engine - #1356: Incremental Checkpointing - #1422: Optimize Top N Implementation SQL - #1406, #1372, #1387: Many, many new aggregate functions - #1460: QUANTILE aggregate variant takes list quantiles & #1346: Approximate Quantiles - #1461: JACCARD, #1441 LEVENSHTEIN & HAMMING distance scalar function - #1370: FACTORIAL scalar function ! postfix operator - #1363: () DISTINCT - #1385: LIST_EXTRACT get single element list - #1361: Aliases clause (fixes issue #1358) - #1355: Limit clause non constant values APIs: - #1430 & #1424: DuckDB WASM builds - #1419: Exporting appender api C - #1408: Add blob support C API - #1432, #1459 & #1456: Progress Bar - #1440: Detailed profiler.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-024","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.4","title":"duckdb 0.2.4","text":"CRAN release: 2021-02-02 preview release DuckDB named “Jubata” Australian Wood Duck (Chenonetta jubata). Binary builds listed . Feedback welcome. Note: release introduces backwards-incompatible change -disk storage format. suggest use EXPORT DATABASE command old version followed IMPORT DATABASE new version migrate data. See documentation details. Major changes: SQL - #1231: Full Text Search extension - #1309: Filter Clause Aggregates - #1195: SAMPLE Operator - #1244: SHOW select queries - #1301: CHR ASCII functions & #1252: Add GAMMA LGAMMA functions Engine - #1211: (Mostly) Lock-Free Buffer Manager - #1325: Unsigned Integer Types Support - #1229: Filter Pull Optimizer - #1296: Optimizer removes redundant DELIM_GET DELIM_JOIN operators - #1219: DATE, TIME TIMESTAMP rework: move epoch format & microsecond support Clients - #1287 #1275: Improving JDBC compatibility - #1260: Rework client API prepared statements, improve DuckDB -> Pandas conversion - #1230: Add support parallel scanning pandas data frames - #1256: JNI appender - #1209: Write shell history file added allow crash recovery, fix crash .importing file invalid - #1204: Add support blobs R API #1202: Add blob support python api Parquet - #1314: Refactor nested types support Parquet Reader","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-023","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.3","title":"duckdb 0.2.3","text":"CRAN release: 2020-12-12 preview release DuckDB named “Serrator” Red-breasted merganser (Mergus serrator). Binary builds listed . Feedback welcome. Note: release introduces backwards-incompatible change -disk storage format. suggest use EXPORT DATABASE command old version followed IMPORT DATABASE new version migrate data. See documentation details. Major changes: SQL: - #1179: Interval Cleanup & Extended INTERVAL Syntax - #1147: Add exact MEDIAN QUANTILE functions - #1129: Support scalar functions CREATE FUNCTION - #1137: Add support () ILIKE, optimize certain types LIKE expressions Engine - #1160: Perfect Aggregate Hash Tables - #1133: Statistics Rework & Statistics Propagation - #1144: Common Aggregate Optimizer, #1143: CSE Optimizer #1135: Optimizing expressions grouping keys - #1138: Use predication filters - #1071: Removing string null termination requirement Clients - #1112: Add DuckDB node.js API - #1168: Add support Pandas category types - #1181: Extend DuckDB::LibraryVersion() output dev version format 0.2.3-devXXX & #1176: Python binding: Add module attributes introspecting DuckDB version Parquet Reader: - #1183: Filter pushdown Parquet reader - #1167: Exporting Parquet statistics DuckDB - #1162: Add support compression codec Parquet writer & #1163: Add ZSTD Compression Code add ZSTD codec option Parquet export - #1103: Add object cache Parquet metadata cache","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-022","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.2","title":"duckdb 0.2.2","text":"CRAN release: 2020-11-03 preview release DuckDB. Starting release, releases get named well. Names chosen species ducks (course). start “Clypeata”. Note: release introduces backwards-incompatible change -disk storage format. suggest use EXPORT DATABASE command old version followed IMPORT DATABASE new version migrate data. See documentation details. Binary builds listed . Feedback welcome. Major changes: SQL - #1057: Add PRAGMA enabling/disabling optimizer & extend output query graph - #1048: Allow CTEs subqueries (including CTEs ) #987: Allow CTEs CREATE VIEW statements - #1046: Prettify Explain/Query Profiler output - #1037: Support clauses UPDATE statements - #1006: STRING_SPLIT STRING_SPLIT_REGEX SQL functions - #1000: Implement MD5 function - #936: Add GLOB support Parquet & CSV readers - #899: Table functions information_schema_schemata() information_schema_tables() #903: Add table function information_schema_columns() Engine - #984: Parallel grouped aggregations #1045: performance fixes aggregate hash table - #1008: Index Join - #991: Local Storage Rework: Per-morsel version info flush intermediate chunks base tables - #906: Parallel scanning single Parquet files #982: ZSTD Support Parquet library - #883: Unify Table Scans Table Functions - #873: TPC-H Extension - #884: Remove NFC-normalization requirement data add COLLATE NFC Client - #1001: Dynamic Syntax Highlighting Shell - #933: Upgrade shell.c 3330000 - #918: Add support Python datetime types bindings - #950: Support dates times output arrow - #893: Support Arrow NULL columns","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-021","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.1","title":"duckdb 0.2.1","text":"CRAN release: 2020-09-10 preview release DuckDB. Binary builds listed . Feedback welcome. Major changes: Engine - #770: Enable Inter-Pipeline Parallelism - #835: Type system updates #779: INTERVAL Type, #858: Fixed-precision DECIMAL types & #819: HUGEINT type - #790: Parquet write support API - #866: Initial Arrow support - #809: Aggregate UDF support #843: Generic CreateAggregateFunction() & #752: CreateVectorizedFunction() using template parameters SQL - #824: strftime strptime - #858: EXPORT DATABASE IMPORT DATABASE - #832: read_csv(_auto) improvements: optional parameters, configurable sample size, line number info","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-020","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.0","title":"duckdb 0.2.0","text":"preview release DuckDB. Binary builds listed . Feedback welcome. SQL: - #730: FULL OUTER JOIN Support - #732: Support NULLS FIRST/NULLS LAST - #698: Add implementation LEAST/GREATEST functions - #772: Implement TRIM function add optional second parameter RTRIM/LTRIM/TRIM - #771: Extended Regex Options Clients: - Python: #720: Making Pandas optional add support PyPy - C++: #712: C++ UDF API","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-019","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.9","title":"duckdb 0.1.9","text":"preview release DuckDB. Binary listed . Feedback welcome. Major changes: New website woo-ho! Engine - #653: Parquet reader integration SQL - #685: Case insensitive binding column names - #662: add EPOCH_MS function test cases Clients - #681: JDBC Read-mode #677 duplicate()` method allow multiple connections database","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-018","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.8","title":"duckdb 0.1.8","text":"preview release DuckDB. Feedback welcome. SQL - SQL functions IFNULL #644 - SQL string functions LEFT #620 RIGHT #631 - #641: BLOB type support - #640: LIKE escape support Clients - #627: Insertion support Python relation API","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-017","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.7","title":"duckdb 0.1.7","text":"sixth preview release DuckDB. Feedback welcome. Binary builds available well. SQL - Add / remove columns, change default values & column type #612 - Collation support - CSV sniffer READ_CSV_AUTO dialect, data type header detection #582 - SHOW & DESCRIBE Tables #501 - String function CONTAINS #488 - String functions LPAD / RPAD, LTRIM / RTRIM, REPEAT, REPLACE & UNICODE #597 - Bit functions BIT_LENGTH, BIT_COUNT, BIT_AND, BIT_OR, BIT_XOR & BIT_AGG #608 Engine - LIKE optimization rules #559 - Adaptive filters table scans #574 - ICU Extension extended Collations & Extension Support #594 - Extended zone map support scans #551 - Disallow NaN/INF system #541 - Use UTF Grapheme Cluster Breakers Reverse Shell #570 Clients - Relation API C++ #509 Python #598 - Java (TM) JDBC (R) Client DuckDB #492 #520 #550","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-016","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.6","title":"duckdb 0.1.6","text":"fifth preview release DuckDB. Feedback welcome. Binary builds can found : http://download.duckdb.org/alias/v0.1.6/ SQL - #455 Table renames ALTER TABLE tbl RENAME tbl2 - #457 Nested list type can created using LIST aggregation unpacked new UNNEST operator - #463 INSTR string function, #477 PREFIX string function, #480 SUFFIX string function Engine - #442 Optimized casting performance strings - #444 Variable return types table-producing functions - #453 Rework aggregate function interface - #474 Selection vector rework - #478 UTF8 NFC normalization incoming strings - #482 Skipping table segments scan based min/max indices Python client - #451 date / datetime support - #467 description field cursor - #473 Adding read_only flag connect - #481 Rewrite Python API using pybind11 R client - #468 Support prepared statements R client - #479 Adding automatic CSV table function read_csv_duckdb - #483 Direct scan operator R data.frame objects","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-015","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.5","title":"duckdb 0.1.5","text":"fourth preview release DuckDB. Feedback welcome. Note: v0.1.4 version skipped Python packaging issue. Binary builds can found : http://download.duckdb.org/rev/59f8907b5d89268c158ae1774d77d6314a5c075f/ Major changes: - #409 Vector Overhaul - #423 Remove individual vector cardinalities - #418 DATE_TRUNC SQL function - #424 REVERSE SQL function - #416 Support SELECT table.* table - #414 STRUCT types query execution - #431 Changed internal string representation - #433 Rename internal type index_t idx_t - #439 Support temporary structures read-mode - #440 Builds Solaris & OpenBSD Note: release contains bug Python API leads crashes fetching strings NumPy/Pandas #447","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-013","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.3","title":"duckdb 0.1.3","text":"third preview release DuckDB. Feedback welcome. Binary builds can found : http://download.duckdb.org/rev/59f8907b5d89268c158ae1774d77d6314a5c075f/ Major changes: * #388 Major updates shell * #390 Unused Column & Column Lifetime Optimizers * #402 String compound keys indices/primary keys * #406 Adaptive reordering filter expressions","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-012","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.2","title":"duckdb 0.1.2","text":"third preview release DuckDB. Feedback welcome. Binary builds can found : http://download.duckdb.org/rev/6fcb5ef8e91dcb3c9b2c4ca86dab3b1037446b24/","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-011","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.1","title":"duckdb 0.1.1","text":"second preview release DuckDB. Feedback welcome. Binary builds can found : http://download.duckdb.org/rev/2e51e9bae7699853420851d3d2237f232fc2a9a8/","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-010","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.0","title":"duckdb 0.1.0","text":"first preview release DuckDB. Feedback welcome. Binary builds can found : http://download.duckdb.org/rev/c1cbc9d0b5f98a425bfb7edb5e6c59b5d10550e4/","code":""}] +[{"path":[]},{"path":"https://r.duckdb.org/RELEASE.html","id":"preflight-checks","dir":"","previous_headings":"","what":"Preflight Checks","title":"R Package Release Process","text":"Check GitHub actions reports revision want release. Github Actions R Workflow output “R CMD check” section. errors/warnigns show stoppers need addressed. NOTEs package size ” Note CRAN Maintainers” fine, NOTEs likely indicate problems. Also, look CRAN package checks. NOTEs WARNINGs anything red needs addressed. , NOTE package size fine.","code":""},{"path":"https://r.duckdb.org/RELEASE.html","id":"reverse-dependency-checks","dir":"","previous_headings":"","what":"Reverse Dependency Checks","title":"R Package Release Process","text":"Next run reverse dependency check, checking packages CRAN depend DuckDB still work, issues lead issues CRAN updates. policy contact package authors “well beforehand”. things fail check, contact package authors.","code":"remotes::install_github(\"r-lib/revdepcheck\") # once revdepcheck::revdep_check(num_workers = 8, env=c(`MAKEVARS`=\"-j8\"))"},{"path":"https://r.duckdb.org/RELEASE.html","id":"source-package","dir":"","previous_headings":"","what":"Source Package","title":"R Package Release Process","text":"R package automatically pick DuckDB version git tag. Make sure file DESCRIPTION master branch Version entry want create. ’s important package builds created main branch duckdb/duckdb repository (fork) otherwise git revision ids used install extensions wrong. can get R source tarball either build artifacts (r-package-source) GitHub release CI finishes (duckdb_[version].tar.gz). Next check package using WinBuilder, upload source tarball https://win-builder.r-project.org/upload.aspx, using R-devel. get email point. , warnings/notes besides ones mentioned bad.","code":""},{"path":"https://r.duckdb.org/RELEASE.html","id":"upload","dir":"","previous_headings":"","what":"Upload","title":"R Package Release Process","text":"Finally, upload package CRAN : https://cran.r-project.org/submit.html maintainer (currently Hannes) confirm upload, various automatic checks triggered.","code":""},{"path":"https://r.duckdb.org/RELEASE.html","id":"post-release","dir":"","previous_headings":"","what":"Post-release","title":"R Package Release Process","text":"convention, development versions fourth component .9000. successful release, edit DESCRIPTION include , e.g., change 0.8.1 0.8.1.9000.","code":""},{"path":"https://r.duckdb.org/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Hannes Mühleisen. Author. Mark Raasveldt. Author. Kirill Müller. Maintainer. Stichting DuckDB Foundation. Copyright holder. Apache Software Foundation. Copyright holder. PostgreSQL Global Development Group. Copyright holder. Regents University California. Copyright holder. Cameron Desrochers. Copyright holder. Victor Zverovich. Copyright holder. RAD Game Tools. Copyright holder. Valve Software. Copyright holder. Rich Geldreich. Copyright holder. Tenacious Software LLC. Copyright holder. RE2 Authors. Copyright holder. Google Inc.. Copyright holder. Facebook Inc.. Copyright holder. Steven G. Johnson. Copyright holder. Jiahao Chen. Copyright holder. Tony Kelman. Copyright holder. Jonas Fonseca. Copyright holder. Lukas Fittl. Copyright holder. Salvatore Sanfilippo. Copyright holder. Art.sy, Inc.. Copyright holder. Oran Agra. Copyright holder. Redis Labs, Inc.. Copyright holder. Melissa O'Neill. Copyright holder. PCG Project contributors. Copyright holder.","code":""},{"path":"https://r.duckdb.org/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Mühleisen H, Raasveldt M (2024). duckdb: DBI Package DuckDB Database Management System. R package version 1.0.0.9000, https://github.com/duckdb/duckdb-r, https://r.duckdb.org/.","code":"@Manual{, title = {duckdb: DBI Package for the DuckDB Database Management System}, author = {Hannes Mühleisen and Mark Raasveldt}, year = {2024}, note = {R package version 1.0.0.9000, https://github.com/duckdb/duckdb-r}, url = {https://r.duckdb.org/}, }"},{"path":[]},{"path":"https://r.duckdb.org/index.html","id":"installation-from-cran","dir":"","previous_headings":"","what":"Installation from CRAN","title":"DBI Package for the DuckDB Database Management System","text":"","code":"install.packages(\"duckdb\")"},{"path":"https://r.duckdb.org/index.html","id":"installation-from-r-universe","dir":"","previous_headings":"","what":"Installation from r-universe","title":"DBI Package for the DuckDB Database Management System","text":"","code":"install.packages(\"duckdb\", repos = c(\"https://duckdb.r-universe.dev\", \"https://cloud.r-project.org\"))"},{"path":"https://r.duckdb.org/index.html","id":"installation-from-github","dir":"","previous_headings":"","what":"Installation from GitHub","title":"DBI Package for the DuckDB Database Management System","text":"","code":"# install.packages(\"pak\", repos = sprintf(\"https://r-lib.github.io/p/pak/stable/%s/%s/%s\", .Platform$pkgType, R.Version()$os, R.Version()$arch)) pak::pak(\"duckdb/duckdb-r\")"},{"path":"https://r.duckdb.org/index.html","id":"user-guide","dir":"","previous_headings":"","what":"User Guide","title":"DBI Package for the DuckDB Database Management System","text":"See R API DuckDB documentation.","code":""},{"path":"https://r.duckdb.org/index.html","id":"building","dir":"","previous_headings":"","what":"Building","title":"DBI Package for the DuckDB Database Management System","text":"build bleeding edge duckdb-r, can clone repository run wish test new duckdb functionality duckdb-r, make sure clones duckdb-r duckdb share parent directory. run following commands helps duckdb directory duckdb-r directory clean. encounter linker errors, merge duckdb-r duckdb respective main branches.","code":"~duckdb-r: R CMD INSTALL . ~ (cd duckdb && git checkout {{desired_branch}}) ~ (cd ducdkb-r && ./vendor-one.sh) ~ (cd duckdb-r && R CMD INSTALL .)"},{"path":"https://r.duckdb.org/index.html","id":"dependencies","dir":"","previous_headings":"","what":"Dependencies","title":"DBI Package for the DuckDB Database Management System","text":"build R package, first need install dependencies:","code":"# install.packages(\"pak\", repos = sprintf(\"https://r-lib.github.io/p/pak/stable/%s/%s/%s\", .Platform$pkgType, R.Version()$os, R.Version()$arch)) pak::pak()"},{"path":"https://r.duckdb.org/index.html","id":"developing-with-extensions","dir":"","previous_headings":"Dependencies","what":"Developing with Extensions","title":"DBI Package for the DuckDB Database Management System","text":"wish build add extensions R package first need build duckdb extension_static_build flag. following commands allow add httpfs extension DuckDB R build. See extension ReadMe information extensions R, run: information using extensions, see documentation extensions. instructions building , see extension README.","code":"cd duckdb/ EXTENSION_STATIC_BUILD=1 make library(duckdb) con <- DBI::dbConnect(duckdb(config=list('allow_unsigned_extensions'='true'))) dbExecute(con, \"LOAD '{{path_to_duckdb}}/build/release/extension/httpfs/httpfs.duckdb_extension'\")"},{"path":"https://r.duckdb.org/index.html","id":"contributors","dir":"","previous_headings":"","what":"Contributors","title":"DBI Package for the DuckDB Database Management System","text":"Thanks contributors repository, contributed code still hosted main duckdb/duckdb repository: Mark Raasveldt, Pedro Holanda, Tom Ebergen, Reijo Sund, Nicolas Bennett, Patrik Schratz, Tishj, Laurens Kuiper, Sam Ansmink, Andy Teucher, Hadley Wickham, Jonathan Keane, Lindsay Wray, Richard Wesley, Elliana May, Edwin de Jonge, Dewey Dunnington, Carlo Piovesan, Andre Beckedorf, Tania Bogatsch, Pedro Ferreira, Maximilian Girlich, James Lamb, James Atkins, usurai, Ubuntu, Noam Ross, Michael Antonov, Jeroen Ooms, Jamie Lentin, Jacob, Chilarai.","code":""},{"path":"https://r.duckdb.org/reference/backend-duckdb.html","id":null,"dir":"Reference","previous_headings":"","what":"DuckDB SQL backend for dbplyr — backend-duckdb","title":"DuckDB SQL backend for dbplyr — backend-duckdb","text":"SQL backend dbplyr tailored take account DuckDB's possibilities. mainly follows backend PostgreSQL, contains mapped functions. tbl_file() experimental variant dplyr::tbl() directly access files disk. safer dplyr::tbl() risk misinterpreting request, paths special characters supported. tbl_function() experimental variant dplyr::tbl() create lazy table table-generating function, useful reading nonstandard CSV files data sources. safer dplyr::tbl() risk misinterpreting query. See https://duckdb.org/docs/data/overview details data importing functions. alternative, use dplyr::tbl(src, dplyr::sql(\"SELECT ... ...\")) custom SQL queries. tbl_query() deprecated favor tbl_function(). Use simulate_duckdb() lazy_frame() see simulated SQL without opening DuckDB connection.","code":""},{"path":"https://r.duckdb.org/reference/backend-duckdb.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"DuckDB SQL backend for dbplyr — backend-duckdb","text":"","code":"tbl_file(src, path, ..., cache = FALSE) tbl_function(src, query, ..., cache = FALSE) tbl_query(src, query, ...) simulate_duckdb(...)"},{"path":"https://r.duckdb.org/reference/backend-duckdb.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"DuckDB SQL backend for dbplyr — backend-duckdb","text":"src duckdb connection object path Path existing Parquet, CSV JSON file ... parameters forwarded cache Enable object cache Parquet files query SQL code, omitting clause","code":""},{"path":"https://r.duckdb.org/reference/backend-duckdb.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"DuckDB SQL backend for dbplyr — backend-duckdb","text":"","code":"if (FALSE) { # duckdb:::TEST_RE2 && rlang::is_installed(\"dbplyr\") library(dplyr, warn.conflicts = FALSE) con <- DBI::dbConnect(duckdb(), path = \":memory:\") db <- copy_to(con, data.frame(a = 1:3, b = letters[2:4])) db %>% filter(a > 1) %>% select(b) path <- tempfile(fileext = \".csv\") write.csv(data.frame(a = 1:3, b = letters[2:4])) db_csv <- tbl_file(con, path) db_csv %>% summarize(sum_a = sum(a)) db_csv_fun <- tbl_function(con, paste0(\"read_csv_auto('\", path, \"')\")) db_csv %>% count() DBI::dbDisconnect(con, shutdown = TRUE) }"},{"path":"https://r.duckdb.org/reference/deprecated.html","id":null,"dir":"Reference","previous_headings":"","what":"Deprecated functions — read_csv_duckdb","title":"Deprecated functions — read_csv_duckdb","text":"read_csv_duckdb() superseded duckdb_read_csv(). order arguments changed.","code":""},{"path":"https://r.duckdb.org/reference/deprecated.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Deprecated functions — read_csv_duckdb","text":"","code":"read_csv_duckdb(conn, files, tablename, ...)"},{"path":"https://r.duckdb.org/reference/duckdb-package.html","id":null,"dir":"Reference","previous_headings":"","what":"duckdb: DBI Package for the DuckDB Database Management System — duckdb-package","title":"duckdb: DBI Package for the DuckDB Database Management System — duckdb-package","text":"DuckDB project embedded analytical data management system support Structured Query Language (SQL). package includes DuckDB R Database Interface (DBI) connector.","code":""},{"path":[]},{"path":"https://r.duckdb.org/reference/duckdb-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"duckdb: DBI Package for the DuckDB Database Management System — duckdb-package","text":"Maintainer: Kirill Müller kirill@cynkra.com (ORCID) Authors: Hannes Mühleisen hannes@cwi.nl (ORCID) Mark Raasveldt mark.raasveldt@cwi.nl (ORCID) contributors: Stichting DuckDB Foundation [copyright holder] Apache Software Foundation [copyright holder] PostgreSQL Global Development Group [copyright holder] Regents University California [copyright holder] Cameron Desrochers [copyright holder] Victor Zverovich [copyright holder] RAD Game Tools [copyright holder] Valve Software [copyright holder] Rich Geldreich [copyright holder] Tenacious Software LLC [copyright holder] RE2 Authors [copyright holder] Google Inc. [copyright holder] Facebook Inc. [copyright holder] Steven G. Johnson [copyright holder] Jiahao Chen [copyright holder] Tony Kelman [copyright holder] Jonas Fonseca [copyright holder] Lukas Fittl [copyright holder] Salvatore Sanfilippo [copyright holder] Art.sy, Inc. [copyright holder] Oran Agra [copyright holder] Redis Labs, Inc. [copyright holder] Melissa O'Neill [copyright holder] PCG Project contributors [copyright holder]","code":""},{"path":"https://r.duckdb.org/reference/duckdb.html","id":null,"dir":"Reference","previous_headings":"","what":"Connect to a DuckDB database instance — duckdb","title":"Connect to a DuckDB database instance — duckdb","text":"duckdb() creates reuses database instance. duckdb_shutdown() shuts database instance. Return adbcdrivermanager::adbc_driver() use Arrow Database Connectivity via adbcdrivermanager package. dbConnect() connects database instance. dbDisconnect() closes DuckDB database connection. associated DuckDB database instance shut automatically, longer necessary set shutdown = TRUE call duckdb_shutdown().","code":""},{"path":"https://r.duckdb.org/reference/duckdb.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Connect to a DuckDB database instance — duckdb","text":"","code":"duckdb( dbdir = DBDIR_MEMORY, read_only = FALSE, bigint = \"numeric\", config = list() ) duckdb_shutdown(drv) duckdb_adbc() # S4 method for class 'duckdb_driver' dbConnect( drv, dbdir = DBDIR_MEMORY, ..., debug = getOption(\"duckdb.debug\", FALSE), read_only = FALSE, timezone_out = \"UTC\", tz_out_convert = c(\"with\", \"force\"), config = list(), bigint = \"numeric\" ) # S4 method for class 'duckdb_connection' dbDisconnect(conn, ..., shutdown = TRUE)"},{"path":"https://r.duckdb.org/reference/duckdb.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Connect to a DuckDB database instance — duckdb","text":"dbdir Location database files. path existing directory file system. default (\"\"), data kept RAM. read_only Set TRUE read-operation. file-based databases, applied database file opened first time. Subsequent connections (via drv object drv object pointing path) silently ignore flag. bigint 64-bit integers returned. two options: \"numeric\" \"integer64\". \"numeric\" selected, bigint integers treated double/numeric. \"integer64\" selected, bigint integers set bit64 encoding. config Named list DuckDB configuration flags, see https://duckdb.org/docs/configuration/overview#configuration-reference possible options. flags applied database object instantiated. Subsequent connections silently ignore flags. drv Object returned duckdb() ... Ignored debug Print additional debug information queries timezone_out time zone returned R, defaults \"UTC\", currently timezone supported duckdb. want display datetime values local timezone, set Sys.timezone() \"\". tz_out_convert convert timestamp columns timezone specified timezone_out. two options: \"\", \"force\". \"\" chosen, timestamp returned appear specified time zone. \"force\" chosen, timestamp clock time timestamp database, new time zone. conn duckdb_connection object shutdown Unused. database instance shut automatically.","code":""},{"path":"https://r.duckdb.org/reference/duckdb.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Connect to a DuckDB database instance — duckdb","text":"duckdb() returns object class duckdb_driver. dbDisconnect() duckdb_shutdown() called side effect. object class \"adbc_driver\" dbConnect() returns object class duckdb_connection.","code":""},{"path":"https://r.duckdb.org/reference/duckdb.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Connect to a DuckDB database instance — duckdb","text":"","code":"library(adbcdrivermanager) with_adbc(db <- adbc_database_init(duckdb_adbc()), { as.data.frame(read_adbc(db, \"SELECT 1 as one;\")) }) #> one #> 1 1 drv <- duckdb() con <- dbConnect(drv) dbGetQuery(con, \"SELECT 'Hello, world!'\") #> 'Hello, world!' #> 1 Hello, world! dbDisconnect(con) duckdb_shutdown(drv) # Shorter: con <- dbConnect(duckdb()) dbGetQuery(con, \"SELECT 'Hello, world!'\") #> 'Hello, world!' #> 1 Hello, world! dbDisconnect(con, shutdown = TRUE)"},{"path":"https://r.duckdb.org/reference/duckdb_connection-class.html","id":null,"dir":"Reference","previous_headings":"","what":"DuckDB connection class — duckdb_connection-class","title":"DuckDB connection class — duckdb_connection-class","text":"Implements DBI::DBIConnection.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_connection-class.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"DuckDB connection class — duckdb_connection-class","text":"","code":"# S4 method for class 'duckdb_connection' dbAppendTable(conn, name, value, ..., row.names = NULL) # S4 method for class 'duckdb_connection' dbBegin(conn, ...) # S4 method for class 'duckdb_connection' dbCommit(conn, ...) # S4 method for class 'duckdb_connection' dbDataType(dbObj, obj, ...) # S4 method for class 'duckdb_connection,ANY' dbExistsTable(conn, name, ...) # S4 method for class 'duckdb_connection' dbGetInfo(dbObj, ...) # S4 method for class 'duckdb_connection' dbIsValid(dbObj, ...) # S4 method for class 'duckdb_connection,character' dbListFields(conn, name, ...) # S4 method for class 'duckdb_connection' dbListTables(conn, ...) # S4 method for class 'duckdb_connection,ANY' dbQuoteIdentifier(conn, x, ...) # S4 method for class 'duckdb_connection' dbQuoteLiteral(conn, x, ...) # S4 method for class 'duckdb_connection,character' dbRemoveTable(conn, name, ..., fail_if_missing = TRUE) # S4 method for class 'duckdb_connection' dbRollback(conn, ...) # S4 method for class 'duckdb_connection,character' dbSendQuery(conn, statement, params = NULL, ..., arrow = FALSE) # S4 method for class 'duckdb_connection,character,data.frame' dbWriteTable( conn, name, value, ..., row.names = FALSE, overwrite = FALSE, append = FALSE, field.types = NULL, temporary = FALSE ) # S4 method for class 'duckdb_connection' show(object)"},{"path":"https://r.duckdb.org/reference/duckdb_connection-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"DuckDB connection class — duckdb_connection-class","text":"conn duckdb_connection object returned DBI::dbConnect() name table name, passed dbQuoteIdentifier(). Options : character string unquoted DBMS table name, e.g. \"table_name\", call Id() components fully qualified table name, e.g. Id(schema = \"my_schema\", table = \"table_name\") call SQL() quoted fully qualified table name given verbatim, e.g. SQL('\"my_schema\".\"table_name\"') value data.frame (coercible data.frame). ... parameters passed methods. row.names Whether row.names data.frame preserved dbObj object inheriting class duckdb_connection. obj R object whose SQL type want determine. statement character string containing SQL. params dbBind(), list values, named unnamed, data frame, one element/column per query parameter. dbBindArrow(), values nanoarrow stream, one column per query parameter. arrow Whether query returned Arrow Table overwrite table given name already exists, overwritten? append table given name already exists, just try append passed data field.types Override auto-generated SQL types temporary created table temporary? object R object","code":""},{"path":"https://r.duckdb.org/reference/duckdb_driver-class.html","id":null,"dir":"Reference","previous_headings":"","what":"DuckDB driver class — duckdb_driver-class","title":"DuckDB driver class — duckdb_driver-class","text":"Implements DBI::DBIDriver.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_driver-class.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"DuckDB driver class — duckdb_driver-class","text":"","code":"# S4 method for class 'duckdb_driver' dbDataType(dbObj, obj, ...) # S4 method for class 'duckdb_driver' dbGetInfo(dbObj, ...) # S4 method for class 'duckdb_driver' dbIsValid(dbObj, ...) # S4 method for class 'duckdb_driver' show(object)"},{"path":"https://r.duckdb.org/reference/duckdb_driver-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"DuckDB driver class — duckdb_driver-class","text":"dbObj object inheriting class duckdb_driver. ... arguments methods. object R object","code":""},{"path":"https://r.duckdb.org/reference/duckdb_explain-class.html","id":null,"dir":"Reference","previous_headings":"","what":"DuckDB EXPLAIN query tree — duckdb_explain-class","title":"DuckDB EXPLAIN query tree — duckdb_explain-class","text":"DuckDB EXPLAIN query tree","code":""},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the Substrait plan for a SQL query Transforms a SQL query into a raw vector containing the serialized Substrait query blob — duckdb_get_substrait","title":"Get the Substrait plan for a SQL query Transforms a SQL query into a raw vector containing the serialized Substrait query blob — duckdb_get_substrait","text":"Get Substrait plan SQL query Transforms SQL query raw vector containing serialized Substrait query blob","code":""},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the Substrait plan for a SQL query Transforms a SQL query into a raw vector containing the serialized Substrait query blob — duckdb_get_substrait","text":"","code":"duckdb_get_substrait(conn, query, enable_optimizer = TRUE)"},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the Substrait plan for a SQL query Transforms a SQL query into a raw vector containing the serialized Substrait query blob — duckdb_get_substrait","text":"conn DuckDB connection, created dbConnect(). query query string SQL enable_optimizer Optional parameter enable/disable query-optimizer. default optimizer enabled.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the Substrait plan for a SQL query Transforms a SQL query into a raw vector containing the serialized Substrait query blob — duckdb_get_substrait","text":"raw vector containing substrait protobuf blob","code":""},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait_json.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the Substrait plan for a SQL query in the JSON format Transforms a SQL query into a vector containing the serialized Substrait query JSON — duckdb_get_substrait_json","title":"Get the Substrait plan for a SQL query in the JSON format Transforms a SQL query into a vector containing the serialized Substrait query JSON — duckdb_get_substrait_json","text":"Get Substrait plan SQL query JSON format Transforms SQL query vector containing serialized Substrait query JSON","code":""},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait_json.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the Substrait plan for a SQL query in the JSON format Transforms a SQL query into a vector containing the serialized Substrait query JSON — duckdb_get_substrait_json","text":"","code":"duckdb_get_substrait_json(conn, query, enable_optimizer = TRUE)"},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait_json.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the Substrait plan for a SQL query in the JSON format Transforms a SQL query into a vector containing the serialized Substrait query JSON — duckdb_get_substrait_json","text":"conn DuckDB connection, created dbConnect(). query query string SQL enable_optimizer Optional parameter enable/disable query-optimizer. default optimizer enabled.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_get_substrait_json.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the Substrait plan for a SQL query in the JSON format Transforms a SQL query into a vector containing the serialized Substrait query JSON — duckdb_get_substrait_json","text":"vector containing substrait protobuf JSON","code":""},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait.html","id":null,"dir":"Reference","previous_headings":"","what":"Query DuckDB using Substrait Method for interpreting a Substrait BLOB plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait","title":"Query DuckDB using Substrait Method for interpreting a Substrait BLOB plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait","text":"Query DuckDB using Substrait Method interpreting Substrait BLOB plan DuckDB Query Plan interprets executes query.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Query DuckDB using Substrait Method for interpreting a Substrait BLOB plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait","text":"","code":"duckdb_prepare_substrait(conn, query, arrow = FALSE)"},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Query DuckDB using Substrait Method for interpreting a Substrait BLOB plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait","text":"conn DuckDB connection, created dbConnect(). query Protobuf-encoded Substrait Query Plan. Qack! arrow Whether result Arrow format","code":""},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Query DuckDB using Substrait Method for interpreting a Substrait BLOB plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait","text":"DuckDB Query Result","code":""},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait_json.html","id":null,"dir":"Reference","previous_headings":"","what":"Query DuckDB using Substrait Method for interpreting a Substrait JSON plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait_json","title":"Query DuckDB using Substrait Method for interpreting a Substrait JSON plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait_json","text":"Query DuckDB using Substrait Method interpreting Substrait JSON plan DuckDB Query Plan interprets executes query.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait_json.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Query DuckDB using Substrait Method for interpreting a Substrait JSON plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait_json","text":"","code":"duckdb_prepare_substrait_json(conn, json, arrow = FALSE)"},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait_json.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Query DuckDB using Substrait Method for interpreting a Substrait JSON plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait_json","text":"conn DuckDB connection, created dbConnect(). json Json Query Plan. Qack! arrow Whether result Arrow format","code":""},{"path":"https://r.duckdb.org/reference/duckdb_prepare_substrait_json.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Query DuckDB using Substrait Method for interpreting a Substrait JSON plan as a DuckDB Query Plan It interprets and executes the query. — duckdb_prepare_substrait_json","text":"DuckDB Query Result","code":""},{"path":"https://r.duckdb.org/reference/duckdb_read_csv.html","id":null,"dir":"Reference","previous_headings":"","what":"Reads a CSV file into DuckDB — duckdb_read_csv","title":"Reads a CSV file into DuckDB — duckdb_read_csv","text":"Directly reads CSV file DuckDB, tries detect create correct schema . usually much faster reading data R writing DuckDB.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_read_csv.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Reads a CSV file into DuckDB — duckdb_read_csv","text":"","code":"duckdb_read_csv( conn, name, files, header = TRUE, na.strings = \"\", nrow.check = 500, delim = \",\", quote = \"\\\"\", col.names = NULL, lower.case.names = FALSE, sep = delim, transaction = TRUE, ... )"},{"path":"https://r.duckdb.org/reference/duckdb_read_csv.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Reads a CSV file into DuckDB — duckdb_read_csv","text":"conn DuckDB connection, created dbConnect(). name name virtual table registered unregistered files One CSV file names, structure though header Whether CSV files separate header first line na.strings strings CSV files considered NULL nrow.check many rows read CSV file figure data types delim field separator used quote quote character used columns CSV file col.names Override detected generated column names lower.case.names Transform column names lower case sep Alias delim compatibility transaction transaction used entire operation ... Passed read.csv()","code":""},{"path":"https://r.duckdb.org/reference/duckdb_read_csv.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Reads a CSV file into DuckDB — duckdb_read_csv","text":"number rows resulted table, invisibly.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_read_csv.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Reads a CSV file into DuckDB — duckdb_read_csv","text":"","code":"if (FALSE) { # duckdb:::TEST_RE2 con <- dbConnect(duckdb()) data <- data.frame(a = 1:3, b = letters[1:3]) path <- tempfile(fileext = \".csv\") write.csv(data, path, row.names = FALSE) duckdb_read_csv(con, \"data\", path) dbReadTable(con, \"data\") dbDisconnect(con) }"},{"path":"https://r.duckdb.org/reference/duckdb_register.html","id":null,"dir":"Reference","previous_headings":"","what":"Register a data frame as a virtual table — duckdb_register","title":"Register a data frame as a virtual table — duckdb_register","text":"duckdb_register() registers data frame virtual table (view) DuckDB connection. data copied.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_register.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Register a data frame as a virtual table — duckdb_register","text":"","code":"duckdb_register(conn, name, df, overwrite = FALSE, experimental = FALSE) duckdb_unregister(conn, name)"},{"path":"https://r.duckdb.org/reference/duckdb_register.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Register a data frame as a virtual table — duckdb_register","text":"conn DuckDB connection, created dbConnect(). name name virtual table registered unregistered df data.frame data virtual table overwrite existing registration overwritten? experimental Enable experimental optimizations","code":""},{"path":"https://r.duckdb.org/reference/duckdb_register.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Register a data frame as a virtual table — duckdb_register","text":"functions called side effect.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_register.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Register a data frame as a virtual table — duckdb_register","text":"duckdb_unregister() unregisters previously registered data frame.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_register.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Register a data frame as a virtual table — duckdb_register","text":"","code":"con <- dbConnect(duckdb()) data <- data.frame(a = 1:3, b = letters[1:3]) duckdb_register(con, \"data\", data) dbReadTable(con, \"data\") #> a b #> 1 1 a #> 2 2 b #> 3 3 c duckdb_unregister(con, \"data\") dbDisconnect(con)"},{"path":"https://r.duckdb.org/reference/duckdb_register_arrow.html","id":null,"dir":"Reference","previous_headings":"","what":"Register an Arrow data source as a virtual table — duckdb_register_arrow","title":"Register an Arrow data source as a virtual table — duckdb_register_arrow","text":"duckdb_register_arrow() registers Arrow data source virtual table (view) DuckDB connection. data copied.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_register_arrow.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Register an Arrow data source as a virtual table — duckdb_register_arrow","text":"","code":"duckdb_register_arrow(conn, name, arrow_scannable, use_async = NULL) duckdb_unregister_arrow(conn, name) duckdb_list_arrow(conn)"},{"path":"https://r.duckdb.org/reference/duckdb_register_arrow.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Register an Arrow data source as a virtual table — duckdb_register_arrow","text":"conn DuckDB connection, created dbConnect(). name name virtual table registered unregistered arrow_scannable scannable Arrow-object use_async Switched asynchronous scanner. (deprecated)","code":""},{"path":"https://r.duckdb.org/reference/duckdb_register_arrow.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Register an Arrow data source as a virtual table — duckdb_register_arrow","text":"functions called side effect.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_register_arrow.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Register an Arrow data source as a virtual table — duckdb_register_arrow","text":"duckdb_unregister_arrow() unregisters previously registered data frame.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_result-class.html","id":null,"dir":"Reference","previous_headings":"","what":"DuckDB Result Set — duckdb_result-class","title":"DuckDB Result Set — duckdb_result-class","text":"Methods accessing result sets queries DuckDB connections. Implements DBI::DBIResult.","code":""},{"path":"https://r.duckdb.org/reference/duckdb_result-class.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"DuckDB Result Set — duckdb_result-class","text":"","code":"duckdb_fetch_arrow(res, chunk_size = 1e+06) duckdb_fetch_record_batch(res, chunk_size = 1e+06) # S4 method for class 'duckdb_result' dbBind(res, params, ...) # S4 method for class 'duckdb_result' dbClearResult(res, ...) # S4 method for class 'duckdb_result' dbColumnInfo(res, ...) # S4 method for class 'duckdb_result' dbFetch(res, n = -1, ...) # S4 method for class 'duckdb_result' dbGetInfo(dbObj, ...) # S4 method for class 'duckdb_result' dbGetRowCount(res, ...) # S4 method for class 'duckdb_result' dbGetRowsAffected(res, ...) # S4 method for class 'duckdb_result' dbGetStatement(res, ...) # S4 method for class 'duckdb_result' dbHasCompleted(res, ...) # S4 method for class 'duckdb_result' dbIsValid(dbObj, ...) # S4 method for class 'duckdb_result' show(object)"},{"path":"https://r.duckdb.org/reference/duckdb_result-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"DuckDB Result Set — duckdb_result-class","text":"res Query result converted Record Batch Reader chunk_size chunk size params dbBind(), list values, named unnamed, data frame, one element/column per query parameter. dbBindArrow(), values nanoarrow stream, one column per query parameter. ... arguments passed methods. n maximum number records retrieve per fetch. Use n = -1 n = Inf retrieve pending records. implementations may recognize special values. dbObj object inheriting class duckdb_result. object R object","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-100-2","dir":"Changelog","previous_headings":"","what":"duckdb 1.0.0-2","title":"duckdb 1.0.0-2","text":"CRAN release: 2024-07-19","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"features-1-0-0-2","dir":"Changelog","previous_headings":"","what":"Features","title":"duckdb 1.0.0-2","text":"Reduce package installation size macOS (#185).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-100-1","dir":"Changelog","previous_headings":"","what":"duckdb 1.0.0-1","title":"duckdb 1.0.0-1","text":"CRAN release: 2024-07-09","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"bug-fixes-1-0-0-1","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"duckdb 1.0.0-1","text":"Upgrade vendored cpp11 0.4.7 fix compilation R-devel. Support dplyr::tbl(conn, (...)).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-100","dir":"Changelog","previous_headings":"","what":"duckdb 1.0.0","title":"duckdb 1.0.0","text":"CRAN release: 2024-06-13","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"bug-fixes-1-0-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"duckdb 1.0.0","text":"Update duckdb v1.0.0, see https://github.com/duckdb/duckdb/releases/tag/v1.0.0 details.","code":""},{"path":[]},{"path":"https://r.duckdb.org/news/index.html","id":"features-0-10-3","dir":"Changelog","previous_headings":"","what":"Features","title":"duckdb 0.10.3","text":"Update duckdb v0.10.3, see https://github.com/duckdb/duckdb/releases/tag/v0.10.3 details. Support fetching MAP type (#61, #165). Add dbplyr translations clock::date_count_between() (@edward-burn, #163, #166). round() duckdb translation uses ROUND_EVEN() instead ROUND() (@lschneiderbauer, #146, #157). New sort argument rel_order() (@toppyy, #168). Add dbplyr translations clock::add_days(), clock::add_years(), clock::get_day(), clock::get_month(), clock::get_year() (@edward-burn, #153).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"bug-fixes-0-10-3","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"duckdb 0.10.3","text":"Correct usage win_current_group() instead win_current_order() SQL translation (@lschneiderbauer, #173, #175).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-0102","dir":"Changelog","previous_headings":"","what":"duckdb 0.10.2","title":"duckdb 0.10.2","text":"CRAN release: 2024-05-01","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"features-0-10-2","dir":"Changelog","previous_headings":"","what":"Features","title":"duckdb 0.10.2","text":"Update duckdb v0.10.2, see https://github.com/duckdb/duckdb/releases/tag/v0.10.2 details. \"difftime\" class now mapped INTERVAL data type (#151). Use latest tests DBItest (#148). Implement n_distinct() multiple arguments using duckdb structs (@lschneiderbauer, #110, #122). Include rfuns extension (hannes/duckdb-rfuns#78, #144). Map NA SQLNULL (#143).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"bug-fixes-0-10-2","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"duckdb 0.10.2","text":"rel_sql(rel, \"{{sql}}\") works even read-database (@Tmonster, #138). Avoid R CMD check warning regarding SETLENGTH() SET_TRUELENGTH() (#145).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-0101","dir":"Changelog","previous_headings":"","what":"duckdb 0.10.1","title":"duckdb 0.10.1","text":"CRAN release: 2024-04-02","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"features-0-10-1","dir":"Changelog","previous_headings":"","what":"Features","title":"duckdb 0.10.1","text":"Update duckdb v0.10.1, see https://github.com/duckdb/duckdb/releases/tag/v0.10.1 details. Fix shutdown semantics driver object created duckdb(). database file closed (available opened another session) last connection uses file calls dbDisconnect() . shutdown argument dbDisconnect() duckdb_shutdown() functions longer necessary. Two database connections R session can access file concurrently read-write mode (#124).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"bug-fixes-0-10-1","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"duckdb 0.10.1","text":"Don’t run tests invoke re2 default (#121, #127). Fix compilation R 4.0 R 4.1, regression introduced v0.10.0. Using librstrtmgr.UCRT build rtools40 (#130).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"internal-0-10-1","dir":"Changelog","previous_headings":"","what":"Internal","title":"duckdb 0.10.1","text":"C++ core now vendored commit commit, every five minutes. Vendoring stops R CMD check fails previously unreleased tag reached. New maintainer: Kirill Müller.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"continuous-integration-0-10-1","dir":"Changelog","previous_headings":"","what":"Continuous integration","title":"duckdb 0.10.1","text":"Add rhub2 workflow.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-0100","dir":"Changelog","previous_headings":"","what":"duckdb 0.10.0","title":"duckdb 0.10.0","text":"CRAN release: 2024-03-13","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"bug-fixes-0-10-0","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"duckdb 0.10.0","text":"dplyr::tbl() works Parquet CSV file passed instead table name (#38, #91). DBI::dbQuoteIdentifier() correctly quotes identifiers start digit (#67, #92). Align argument order dbWriteTable() DBI specs (@eitsupi, #43, #49).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"features-0-10-0","dir":"Changelog","previous_headings":"","what":"Features","title":"duckdb 0.10.0","text":"New tbl_file() tbl_query() explicitly access tables queries dbplyr lazy tables (#96). cache argument tbl() new functions must named. Initial ALTREP support LIST logical type (@romainfrancois, #77). Update core duckdb v0.10.0 (#90). New private rel_to_parquet() write relation parquet (@Tmonster, #46).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"chore-0-10-0","dir":"Changelog","previous_headings":"","what":"Chore","title":"duckdb 0.10.0","text":"Change directory location extensions secrets v.0.10.0 release (@Tmonster, #73). Remove last instance default_connection() (#50).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"documentation-0-10-0","dir":"Changelog","previous_headings":"","what":"Documentation","title":"duckdb 0.10.0","text":"Add list contributors (#2, #94). Use pkgdown BS5 (@maelle, #31, #70) DuckDB logo (#76, @romainfrancois). Link R documentation page. Include NEWS.md CRAN (#48, @olivroy).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"testing-0-10-0","dir":"Changelog","previous_headings":"","what":"Testing","title":"duckdb 0.10.0","text":"Add csv reading test duckdb_read_csv(na.strings = ) (@Tmonster, #10). Fix snapshot tests. Tweak tests compatibility v0.10.0 (#84).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-092-1","dir":"Changelog","previous_headings":"","what":"duckdb 0.9.2-1","title":"duckdb 0.9.2-1","text":"CRAN release: 2023-11-28 Fix compiler warning R-devel (#45).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-092","dir":"Changelog","previous_headings":"","what":"duckdb 0.9.2","title":"duckdb 0.9.2","text":"CRAN release: 2023-11-17 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.9.2. Add dbplyr translation prod() (#40, @m-muecke).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-091-1","dir":"Changelog","previous_headings":"","what":"duckdb 0.9.1-1","title":"duckdb 0.9.1-1","text":"CRAN release: 2023-10-30 Fix LTO checks CRAN.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-091","dir":"Changelog","previous_headings":"","what":"duckdb 0.9.1","title":"duckdb 0.9.1","text":"CRAN release: 2023-10-13 See blog post https://duckdb.org/2023/09/26/announcing-duckdb-090.html. See release notes https://github.com/duckdb/duckdb/releases/tag/v0.9.1. Move sources https://github.com/duckdb/duckdb-r (@krlmlr). Add ADBC integration adbcdrivermanager package (duckdb/duckdb#8172, @paleolimbot). Full support lists structs R (duckdb/duckdb#8503, @krlmlr).","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-081-3","dir":"Changelog","previous_headings":"","what":"duckdb 0.8.1-3","title":"duckdb 0.8.1-3","text":"CRAN release: 2023-09-01 Internal changes support duckplyr package.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-081-2","dir":"Changelog","previous_headings":"","what":"duckdb 0.8.1-2","title":"duckdb 0.8.1-2","text":"CRAN release: 2023-08-25 Compatibility dbplyr. Internal changes support duckplyr package.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-081-1","dir":"Changelog","previous_headings":"","what":"duckdb 0.8.1-1","title":"duckdb 0.8.1-1","text":"CRAN release: 2023-07-17 Fix CRAN checks.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-081","dir":"Changelog","previous_headings":"","what":"duckdb 0.8.1","title":"duckdb 0.8.1","text":"CRAN release: 2023-06-16 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.8.1.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-080","dir":"Changelog","previous_headings":"","what":"duckdb 0.8.0","title":"duckdb 0.8.0","text":"CRAN release: 2023-05-23 See blog post https://duckdb.org/2023/05/17/announcing-duckdb-080.html.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-071-1","dir":"Changelog","previous_headings":"","what":"duckdb 0.7.1-1","title":"duckdb 0.7.1-1","text":"CRAN release: 2023-03-01 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.7.1.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-070","dir":"Changelog","previous_headings":"","what":"duckdb 0.7.0","title":"duckdb 0.7.0","text":"CRAN release: 2023-02-14 See blog post https://duckdb.org/2023/02/13/announcing-duckdb-070.html.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-062","dir":"Changelog","previous_headings":"","what":"duckdb 0.6.2","title":"duckdb 0.6.2","text":"CRAN release: 2023-01-16 New duckdb_prepare_substrait_json().","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-061","dir":"Changelog","previous_headings":"","what":"duckdb 0.6.1","title":"duckdb 0.6.1","text":"CRAN release: 2022-12-08 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.6.1.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-060","dir":"Changelog","previous_headings":"","what":"duckdb 0.6.0","title":"duckdb 0.6.0","text":"CRAN release: 2022-11-25 See blog post https://duckdb.org/2022/11/14/announcing-duckdb-060.html.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-051","dir":"Changelog","previous_headings":"","what":"duckdb 0.5.1","title":"duckdb 0.5.1","text":"CRAN release: 2022-09-20 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.5.1.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-050","dir":"Changelog","previous_headings":"","what":"duckdb 0.5.0","title":"duckdb 0.5.0","text":"CRAN release: 2022-09-05 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.5.0.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-040","dir":"Changelog","previous_headings":"","what":"duckdb 0.4.0","title":"duckdb 0.4.0","text":"CRAN release: 2022-06-21 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.4.0.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-034-1","dir":"Changelog","previous_headings":"","what":"duckdb 0.3.4-1","title":"duckdb 0.3.4-1","text":"CRAN release: 2022-06-13 Minor changes CRAN compatibility.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-034","dir":"Changelog","previous_headings":"","what":"duckdb 0.3.4","title":"duckdb 0.3.4","text":"CRAN release: 2022-06-05 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.3.4.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-033","dir":"Changelog","previous_headings":"","what":"duckdb 0.3.3","title":"duckdb 0.3.3","text":"See release notes https://github.com/duckdb/duckdb/releases/tag/v0.3.3.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-032","dir":"Changelog","previous_headings":"","what":"duckdb 0.3.2","title":"duckdb 0.3.2","text":"CRAN release: 2022-02-07 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.3.2.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-031","dir":"Changelog","previous_headings":"","what":"duckdb 0.3.1","title":"duckdb 0.3.1","text":"CRAN release: 2021-11-16 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.3.1.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-030","dir":"Changelog","previous_headings":"","what":"duckdb 0.3.0","title":"duckdb 0.3.0","text":"CRAN release: 2021-10-08 See release notes https://github.com/duckdb/duckdb/releases/tag/v0.3.0. See release notes https://github.com/duckdb/duckdb/releases/tag/v0.2.9.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-028","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.8","title":"duckdb 0.2.8","text":"CRAN release: 2021-08-02 preview release DuckDB named “Ceruttii” long-extinct relative present-day Harleqin Duck (Histrionicus Ceruttii). Binary builds listed . Feedback welcome. Note: , release introduces backwards-incompatible change -disk storage format. suggest use EXPORT DATABASE command old version followed IMPORT DATABASE new version migrate data. See documentation details.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"sql-0-2-8","dir":"Changelog","previous_headings":"","what":"SQL","title":"duckdb 0.2.8","text":"#2064: RANGE/GENERATE_SERIES timestamp + interval #1905: Add PARQUET_METADATA PARQUET_SCHEMA functions #2059, #1995, #2020 & #1960: Window RANGE framing, NTH_VALUE improvements","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"apis-0-2-8","dir":"Changelog","previous_headings":"","what":"APIs","title":"duckdb 0.2.8","text":"Many Arrow integration improvements Many ODBC driver improvements #1815: Initial version: SQLite UDF API #2001: Support DBConfig C API","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"engine-0-2-8","dir":"Changelog","previous_headings":"","what":"Engine","title":"duckdb 0.2.8","text":"#1975, #1876 & #2009: Unified row layout sorting, aggregate & joins #1930 & #1904: List Storage #2050: CSV Reader/Casting Framework Refactor & add support TRY_CAST #1950: Add Constant Segment Compression Storage #1957: Add pipe/stream file system","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-027","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.7","title":"duckdb 0.2.7","text":"CRAN release: 2021-06-14 preview release DuckDB named “Mollissima” Common Eider (Somateria mollissima). Binary builds listed . Feedback welcome. Note: release introduces backwards-incompatible change -disk storage format. suggest use EXPORT DATABASE command old version followed IMPORT DATABASE new version migrate data. See documentation details. Major changes: SQL - #1847: Unify catalog access functions, provide views common PostgreSQL catalog functions - #1822: Python/JSON-Style Struct & List Syntax - #1862: #1584 Implementing NEXTAFTER float double - #1860: FIRST implementation nested types - #1858: UNNEST table function & array syntax parser - #1761: Issue #1746: Moving QUANTILE APIs #1852, #1840, #1831, #1819 #1779: Improvements Arrow Integration #1843: First iteration ODBC driver #1832: Add visualizer extension #1803: Converting Nested Types native python #1773: Add support key/value style configuration, expose Python API Engine - #1808: Row-Group Based Storage - #1842: Add (Persistent) Struct Storage Support - #1859: Read write atomically offsets - #1851: Internal Type Rework - #1845: Nested join payloads - #1813: Aggregate Row Layout - #1836: Join Row Layout - #1804: Use Allocator class buffer manager add test custom allocator usage","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-026","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.6","title":"duckdb 0.2.6","text":"CRAN release: 2021-05-09 preview release DuckDB named “Jamaicensis” blue-billed Ruddy Duck (Oxyura jamaicensis). Binary builds listed . Feedback welcome. Note: release introduces backwards-incompatible change -disk storage format. suggest use EXPORT DATABASE command old version followed IMPORT DATABASE new version migrate data. See documentation details. Also note: Due changes internal storage (#1530), databases created release wil require somewhat disk space. transient working hard finalise -disk storage format. Major changes: Engine - #1666: External merge sort, #1580: Parallel scan ordered result #1561: Rework physical ORDER - #1520 & #1574: Window function computation parallelism - #1540: Add table functions take subquery parameter - #1533: Using vectors, instead column chunks lists - #1530: Store null values separate main data Validity Segment SQL - #1568: Positional Reference Operator #1 etc. - #1671: QUANTILE variants #1685: Temporal quantiles - #1695: New Timestamp Types TIMESTAMP_NS, TIMESTAMP_MS TIMESTAMP_NS - #1647: Add support UTC offset timestamp parsing regular timestamp conversion - #1659: Add support USING keyword DELETE statement - #1638, #1663, #1621 & #1484: Many changes arount ARRAY syntax - #1610: Add support CURRVAL - #1544: Add SKIP option READ_CSV COPY APIs - #1525: Add loadable extensions support - #1711: Parallel Arrow Scans - #1569: Map-style UDFs Python API - #1534: Extensible Replacement Scans & Automatic Pandas Scans #1487: Automatically use parquet CSV scan using table name ends .parquet .csv - #1649: Add QueryRelation object can used convert query directly relation object, #1665: Adding from_query python api - #1550: Shell: Add support Ctrl + arrow keys linenoise, make Ctrl+C terminate current query instead process - #1514: Using ALTREP speed string column transfer R - #1502: R: implementation Rstudio connection-contract tab","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-025","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.5","title":"duckdb 0.2.5","text":"CRAN release: 2021-03-16 preview release DuckDB named “Falcata” Falcated Duck (Mareca falcata). Binary builds listed . Feedback welcome. Note: release introduces backwards-incompatible change -disk storage format. suggest use EXPORT DATABASE command old version followed IMPORT DATABASE new version migrate data. See documentation details. Major Changes: Engine - #1356: Incremental Checkpointing - #1422: Optimize Top N Implementation SQL - #1406, #1372, #1387: Many, many new aggregate functions - #1460: QUANTILE aggregate variant takes list quantiles & #1346: Approximate Quantiles - #1461: JACCARD, #1441 LEVENSHTEIN & HAMMING distance scalar function - #1370: FACTORIAL scalar function ! postfix operator - #1363: () DISTINCT - #1385: LIST_EXTRACT get single element list - #1361: Aliases clause (fixes issue #1358) - #1355: Limit clause non constant values APIs: - #1430 & #1424: DuckDB WASM builds - #1419: Exporting appender api C - #1408: Add blob support C API - #1432, #1459 & #1456: Progress Bar - #1440: Detailed profiler.","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-024","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.4","title":"duckdb 0.2.4","text":"CRAN release: 2021-02-02 preview release DuckDB named “Jubata” Australian Wood Duck (Chenonetta jubata). Binary builds listed . Feedback welcome. Note: release introduces backwards-incompatible change -disk storage format. suggest use EXPORT DATABASE command old version followed IMPORT DATABASE new version migrate data. See documentation details. Major changes: SQL - #1231: Full Text Search extension - #1309: Filter Clause Aggregates - #1195: SAMPLE Operator - #1244: SHOW select queries - #1301: CHR ASCII functions & #1252: Add GAMMA LGAMMA functions Engine - #1211: (Mostly) Lock-Free Buffer Manager - #1325: Unsigned Integer Types Support - #1229: Filter Pull Optimizer - #1296: Optimizer removes redundant DELIM_GET DELIM_JOIN operators - #1219: DATE, TIME TIMESTAMP rework: move epoch format & microsecond support Clients - #1287 #1275: Improving JDBC compatibility - #1260: Rework client API prepared statements, improve DuckDB -> Pandas conversion - #1230: Add support parallel scanning pandas data frames - #1256: JNI appender - #1209: Write shell history file added allow crash recovery, fix crash .importing file invalid - #1204: Add support blobs R API #1202: Add blob support python api Parquet - #1314: Refactor nested types support Parquet Reader","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-023","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.3","title":"duckdb 0.2.3","text":"CRAN release: 2020-12-12 preview release DuckDB named “Serrator” Red-breasted merganser (Mergus serrator). Binary builds listed . Feedback welcome. Note: release introduces backwards-incompatible change -disk storage format. suggest use EXPORT DATABASE command old version followed IMPORT DATABASE new version migrate data. See documentation details. Major changes: SQL: - #1179: Interval Cleanup & Extended INTERVAL Syntax - #1147: Add exact MEDIAN QUANTILE functions - #1129: Support scalar functions CREATE FUNCTION - #1137: Add support () ILIKE, optimize certain types LIKE expressions Engine - #1160: Perfect Aggregate Hash Tables - #1133: Statistics Rework & Statistics Propagation - #1144: Common Aggregate Optimizer, #1143: CSE Optimizer #1135: Optimizing expressions grouping keys - #1138: Use predication filters - #1071: Removing string null termination requirement Clients - #1112: Add DuckDB node.js API - #1168: Add support Pandas category types - #1181: Extend DuckDB::LibraryVersion() output dev version format 0.2.3-devXXX & #1176: Python binding: Add module attributes introspecting DuckDB version Parquet Reader: - #1183: Filter pushdown Parquet reader - #1167: Exporting Parquet statistics DuckDB - #1162: Add support compression codec Parquet writer & #1163: Add ZSTD Compression Code add ZSTD codec option Parquet export - #1103: Add object cache Parquet metadata cache","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-022","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.2","title":"duckdb 0.2.2","text":"CRAN release: 2020-11-03 preview release DuckDB. Starting release, releases get named well. Names chosen species ducks (course). start “Clypeata”. Note: release introduces backwards-incompatible change -disk storage format. suggest use EXPORT DATABASE command old version followed IMPORT DATABASE new version migrate data. See documentation details. Binary builds listed . Feedback welcome. Major changes: SQL - #1057: Add PRAGMA enabling/disabling optimizer & extend output query graph - #1048: Allow CTEs subqueries (including CTEs ) #987: Allow CTEs CREATE VIEW statements - #1046: Prettify Explain/Query Profiler output - #1037: Support clauses UPDATE statements - #1006: STRING_SPLIT STRING_SPLIT_REGEX SQL functions - #1000: Implement MD5 function - #936: Add GLOB support Parquet & CSV readers - #899: Table functions information_schema_schemata() information_schema_tables() #903: Add table function information_schema_columns() Engine - #984: Parallel grouped aggregations #1045: performance fixes aggregate hash table - #1008: Index Join - #991: Local Storage Rework: Per-morsel version info flush intermediate chunks base tables - #906: Parallel scanning single Parquet files #982: ZSTD Support Parquet library - #883: Unify Table Scans Table Functions - #873: TPC-H Extension - #884: Remove NFC-normalization requirement data add COLLATE NFC Client - #1001: Dynamic Syntax Highlighting Shell - #933: Upgrade shell.c 3330000 - #918: Add support Python datetime types bindings - #950: Support dates times output arrow - #893: Support Arrow NULL columns","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-021","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.1","title":"duckdb 0.2.1","text":"CRAN release: 2020-09-10 preview release DuckDB. Binary builds listed . Feedback welcome. Major changes: Engine - #770: Enable Inter-Pipeline Parallelism - #835: Type system updates #779: INTERVAL Type, #858: Fixed-precision DECIMAL types & #819: HUGEINT type - #790: Parquet write support API - #866: Initial Arrow support - #809: Aggregate UDF support #843: Generic CreateAggregateFunction() & #752: CreateVectorizedFunction() using template parameters SQL - #824: strftime strptime - #858: EXPORT DATABASE IMPORT DATABASE - #832: read_csv(_auto) improvements: optional parameters, configurable sample size, line number info","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-020","dir":"Changelog","previous_headings":"","what":"duckdb 0.2.0","title":"duckdb 0.2.0","text":"preview release DuckDB. Binary builds listed . Feedback welcome. SQL: - #730: FULL OUTER JOIN Support - #732: Support NULLS FIRST/NULLS LAST - #698: Add implementation LEAST/GREATEST functions - #772: Implement TRIM function add optional second parameter RTRIM/LTRIM/TRIM - #771: Extended Regex Options Clients: - Python: #720: Making Pandas optional add support PyPy - C++: #712: C++ UDF API","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-019","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.9","title":"duckdb 0.1.9","text":"preview release DuckDB. Binary listed . Feedback welcome. Major changes: New website woo-ho! Engine - #653: Parquet reader integration SQL - #685: Case insensitive binding column names - #662: add EPOCH_MS function test cases Clients - #681: JDBC Read-mode #677 duplicate()` method allow multiple connections database","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-018","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.8","title":"duckdb 0.1.8","text":"preview release DuckDB. Feedback welcome. SQL - SQL functions IFNULL #644 - SQL string functions LEFT #620 RIGHT #631 - #641: BLOB type support - #640: LIKE escape support Clients - #627: Insertion support Python relation API","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-017","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.7","title":"duckdb 0.1.7","text":"sixth preview release DuckDB. Feedback welcome. Binary builds available well. SQL - Add / remove columns, change default values & column type #612 - Collation support - CSV sniffer READ_CSV_AUTO dialect, data type header detection #582 - SHOW & DESCRIBE Tables #501 - String function CONTAINS #488 - String functions LPAD / RPAD, LTRIM / RTRIM, REPEAT, REPLACE & UNICODE #597 - Bit functions BIT_LENGTH, BIT_COUNT, BIT_AND, BIT_OR, BIT_XOR & BIT_AGG #608 Engine - LIKE optimization rules #559 - Adaptive filters table scans #574 - ICU Extension extended Collations & Extension Support #594 - Extended zone map support scans #551 - Disallow NaN/INF system #541 - Use UTF Grapheme Cluster Breakers Reverse Shell #570 Clients - Relation API C++ #509 Python #598 - Java (TM) JDBC (R) Client DuckDB #492 #520 #550","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-016","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.6","title":"duckdb 0.1.6","text":"fifth preview release DuckDB. Feedback welcome. Binary builds can found : http://download.duckdb.org/alias/v0.1.6/ SQL - #455 Table renames ALTER TABLE tbl RENAME tbl2 - #457 Nested list type can created using LIST aggregation unpacked new UNNEST operator - #463 INSTR string function, #477 PREFIX string function, #480 SUFFIX string function Engine - #442 Optimized casting performance strings - #444 Variable return types table-producing functions - #453 Rework aggregate function interface - #474 Selection vector rework - #478 UTF8 NFC normalization incoming strings - #482 Skipping table segments scan based min/max indices Python client - #451 date / datetime support - #467 description field cursor - #473 Adding read_only flag connect - #481 Rewrite Python API using pybind11 R client - #468 Support prepared statements R client - #479 Adding automatic CSV table function read_csv_duckdb - #483 Direct scan operator R data.frame objects","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-015","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.5","title":"duckdb 0.1.5","text":"fourth preview release DuckDB. Feedback welcome. Note: v0.1.4 version skipped Python packaging issue. Binary builds can found : http://download.duckdb.org/rev/59f8907b5d89268c158ae1774d77d6314a5c075f/ Major changes: - #409 Vector Overhaul - #423 Remove individual vector cardinalities - #418 DATE_TRUNC SQL function - #424 REVERSE SQL function - #416 Support SELECT table.* table - #414 STRUCT types query execution - #431 Changed internal string representation - #433 Rename internal type index_t idx_t - #439 Support temporary structures read-mode - #440 Builds Solaris & OpenBSD Note: release contains bug Python API leads crashes fetching strings NumPy/Pandas #447","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-013","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.3","title":"duckdb 0.1.3","text":"third preview release DuckDB. Feedback welcome. Binary builds can found : http://download.duckdb.org/rev/59f8907b5d89268c158ae1774d77d6314a5c075f/ Major changes: * #388 Major updates shell * #390 Unused Column & Column Lifetime Optimizers * #402 String compound keys indices/primary keys * #406 Adaptive reordering filter expressions","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-012","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.2","title":"duckdb 0.1.2","text":"third preview release DuckDB. Feedback welcome. Binary builds can found : http://download.duckdb.org/rev/6fcb5ef8e91dcb3c9b2c4ca86dab3b1037446b24/","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-011","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.1","title":"duckdb 0.1.1","text":"second preview release DuckDB. Feedback welcome. Binary builds can found : http://download.duckdb.org/rev/2e51e9bae7699853420851d3d2237f232fc2a9a8/","code":""},{"path":"https://r.duckdb.org/news/index.html","id":"duckdb-010","dir":"Changelog","previous_headings":"","what":"duckdb 0.1.0","title":"duckdb 0.1.0","text":"first preview release DuckDB. Feedback welcome. Binary builds can found : http://download.duckdb.org/rev/c1cbc9d0b5f98a425bfb7edb5e6c59b5d10550e4/","code":""}]