diff --git a/R/11-dbAppendTable.R b/R/11-dbAppendTable.R index b23faf37f..46d84bc72 100644 --- a/R/11-dbAppendTable.R +++ b/R/11-dbAppendTable.R @@ -3,7 +3,10 @@ #' The `dbAppendTable()` method assumes that the table has been created #' beforehand, e.g. with [dbCreateTable()]. #' The default implementation calls [sqlAppendTableTemplate()] and then -#' [dbExecute()] with the `param` argument. Backends compliant to +#' [dbExecute()] with the `param` argument. +#' Use [dbAppendTableArrow()] to append data from an Arrow stream. +#' +#' Backends compliant to #' ANSI SQL 99 which use `?` as a placeholder for prepared queries don't need #' to override it. Backends with a different SQL syntax which use `?` #' as a placeholder for prepared queries can override [sqlAppendTable()]. @@ -14,8 +17,7 @@ #' Process the values with [sqlRownamesToColumn()] before calling this method. #' #' @inheritParams dbReadTable -#' @param value For `dbAppendTable()`, a [data.frame] (or coercible to data.frame). -#' For `dbAppendTableArrow()`, an object coercible to an Arrow RecordBatchReader. +#' @param value A [data.frame] (or coercible to data.frame). #' @param row.names Must be `NULL`. #' @inheritParams sqlAppendTableTemplate #' diff --git a/R/21-dbAppendTableArrow.R b/R/21-dbAppendTableArrow.R index 00de3d088..335e0ed60 100644 --- a/R/21-dbAppendTableArrow.R +++ b/R/21-dbAppendTableArrow.R @@ -1,6 +1,30 @@ -#' @name dbAppendTable -#' @aliases dbAppendTableArrow +#' Insert rows into a table from an Arrow stream +#' +#' The `dbAppendTableArrow()` method assumes that the table has been created +#' beforehand, e.g. with [dbCreateTableArrow()]. +#' The default implementation calls [dbAppendTable()] for each chunk +#' of the stream. +#' Use [dbAppendTable()] to append data from a data.frame. +#' +#' @inheritParams dbReadTable +#' @param value An object coercible with [nanoarrow::as_nanoarrow_array_stream()]. +#' @inheritParams sqlAppendTableTemplate +#' +#' @template methods +#' @templateVar method_name dbAppendTableArrow +#' +#' @inherit DBItest::spec_arrow_append_table_arrow return +#' @inheritSection DBItest::spec_arrow_append_table_arrow Failure modes +#' @inheritSection DBItest::spec_arrow_append_table_arrow Specification +#' +#' @family DBIConnection generics #' @export +#' @examplesIf requireNamespace("RSQLite", quietly = TRUE) && requireNamespace("nanoarrow", quietly = TRUE) +#' con <- dbConnect(RSQLite::SQLite(), ":memory:") +#' dbCreateTableArrow(con, "iris", iris[0, ]) +#' dbAppendTableArrow(con, "iris", iris[1:5, ]) +#' dbReadTable(con, "iris") +#' dbDisconnect(con) setGeneric("dbAppendTableArrow", def = function(conn, name, value, ...) standardGeneric("dbAppendTableArrow") ) diff --git a/_pkgdown.yml b/_pkgdown.yml index 1c689e3ae..ef3d5f216 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -83,6 +83,7 @@ reference: - dbReadTableArrow - dbWriteTableArrow - dbCreateTableArrow + - dbAppendTableArrow - title: Classes desc: S4 classes defined by DBI. diff --git a/man/DBIConnection-class.Rd b/man/DBIConnection-class.Rd index 242c4a16a..1042000fa 100644 --- a/man/DBIConnection-class.Rd +++ b/man/DBIConnection-class.Rd @@ -36,6 +36,7 @@ Other DBI classes: Other DBIConnection generics: \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbAppendTable.Rd b/man/dbAppendTable.Rd index 81a1b7167..216308524 100644 --- a/man/dbAppendTable.Rd +++ b/man/dbAppendTable.Rd @@ -1,13 +1,10 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/11-dbAppendTable.R, R/21-dbAppendTableArrow.R +% Please edit documentation in R/11-dbAppendTable.R \name{dbAppendTable} \alias{dbAppendTable} -\alias{dbAppendTableArrow} \title{Insert rows into a table} \usage{ dbAppendTable(conn, name, value, ..., row.names = NULL) - -dbAppendTableArrow(conn, name, value, ...) } \arguments{ \item{conn}{A \linkS4class{DBIConnection} object, as returned by @@ -23,8 +20,7 @@ e.g. \code{Id(schema = "my_schema", table = "table_name")} given verbatim, e.g. \code{SQL('"my_schema"."table_name"')} }} -\item{value}{For \code{dbAppendTable()}, a \link{data.frame} (or coercible to data.frame). -For \code{dbAppendTableArrow()}, an object coercible to an Arrow RecordBatchReader.} +\item{value}{A \link{data.frame} (or coercible to data.frame).} \item{...}{Other parameters passed on to methods.} @@ -39,16 +35,19 @@ numeric. The \code{dbAppendTable()} method assumes that the table has been created beforehand, e.g. with \code{\link[=dbCreateTable]{dbCreateTable()}}. The default implementation calls \code{\link[=sqlAppendTableTemplate]{sqlAppendTableTemplate()}} and then -\code{\link[=dbExecute]{dbExecute()}} with the \code{param} argument. Backends compliant to +\code{\link[=dbExecute]{dbExecute()}} with the \code{param} argument. +Use \code{\link[=dbAppendTableArrow]{dbAppendTableArrow()}} to append data from an Arrow stream. + +\Sexpr[results=rd,stage=render]{DBI:::methods_as_rd("dbAppendTable")} +} +\details{ +Backends compliant to ANSI SQL 99 which use \verb{?} as a placeholder for prepared queries don't need to override it. Backends with a different SQL syntax which use \verb{?} as a placeholder for prepared queries can override \code{\link[=sqlAppendTable]{sqlAppendTable()}}. Other backends (with different placeholders or with entirely different ways to create tables) need to override the \code{dbAppendTable()} method. -\Sexpr[results=rd,stage=render]{DBI:::methods_as_rd("dbAppendTable")} -} -\details{ The \code{row.names} argument is not supported by this method. Process the values with \code{\link[=sqlRownamesToColumn]{sqlRownamesToColumn()}} before calling this method. } @@ -165,6 +164,7 @@ dbDisconnect(con) \seealso{ Other DBIConnection generics: \code{\link{DBIConnection-class}}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbAppendTableArrow.Rd b/man/dbAppendTableArrow.Rd new file mode 100644 index 000000000..1a6874b04 --- /dev/null +++ b/man/dbAppendTableArrow.Rd @@ -0,0 +1,163 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/21-dbAppendTableArrow.R +\name{dbAppendTableArrow} +\alias{dbAppendTableArrow} +\title{Insert rows into a table from an Arrow stream} +\usage{ +dbAppendTableArrow(conn, name, value, ...) +} +\arguments{ +\item{conn}{A \linkS4class{DBIConnection} object, as returned by +\code{\link[=dbConnect]{dbConnect()}}.} + +\item{name}{The table name, passed on to \code{\link[=dbQuoteIdentifier]{dbQuoteIdentifier()}}. Options are: +\itemize{ +\item a character string with the unquoted DBMS table name, +e.g. \code{"table_name"}, +\item a call to \code{\link[=Id]{Id()}} with components to the fully qualified table name, +e.g. \code{Id(schema = "my_schema", table = "table_name")} +\item a call to \code{\link[=SQL]{SQL()}} with the quoted and fully qualified table name +given verbatim, e.g. \code{SQL('"my_schema"."table_name"')} +}} + +\item{value}{An object coercible with \code{\link[nanoarrow:as_nanoarrow_array_stream]{nanoarrow::as_nanoarrow_array_stream()}}.} + +\item{...}{Other parameters passed on to methods.} +} +\value{ +\code{dbAppendTableArrow()} returns a +scalar +numeric. +} +\description{ +The \code{dbAppendTableArrow()} method assumes that the table has been created +beforehand, e.g. with \code{\link[=dbCreateTableArrow]{dbCreateTableArrow()}}. +The default implementation calls \code{\link[=dbAppendTable]{dbAppendTable()}} for each chunk +of the stream. +Use \code{\link[=dbAppendTable]{dbAppendTable()}} to append data from a data.frame. + +\Sexpr[results=rd,stage=render]{DBI:::methods_as_rd("dbAppendTableArrow")} +} +\section{Failure modes}{ + + +If the table does not exist, +or the new data in \code{values} is not a data frame or has different column names, +an error is raised; the remote table remains unchanged. + +An error is raised when calling this method for a closed +or invalid connection. +An error is also raised +if \code{name} cannot be processed with \code{\link[=dbQuoteIdentifier]{dbQuoteIdentifier()}} +or if this results in a non-scalar. + +} + +\section{Specification}{ + + +SQL keywords can be used freely in table names, column names, and data. +Quotes, commas, spaces, and other special characters such as newlines and tabs, +can also be used in the data, +and, if the database supports non-syntactic identifiers, +also for table names +and column names. + +The following data types must be supported at least, +and be read identically with \code{\link[=dbReadTable]{dbReadTable()}}: +\itemize{ +\item integer +\item numeric +(the behavior for \code{Inf} and \code{NaN} is not specified) +\item logical +\item \code{NA} as NULL +\item 64-bit values (using \code{"bigint"} as field type); the result can be +\itemize{ +\item converted to a numeric, which may lose precision, +\item converted a character vector, which gives the full decimal +representation +\item written to another table and read again unchanged +} +\item character (in both UTF-8 +and native encodings), +supporting empty strings +(before and after non-empty strings) +\item factor (returned as character, +with a warning) +\item list of raw +(if supported by the database) +\item objects of type \link[blob:blob]{blob::blob} +(if supported by the database) +\item date +(if supported by the database; +returned as \code{Date}) +also for dates prior to 1970 or 1900 or after 2038 +\item time +(if supported by the database; +returned as objects that inherit from \code{difftime}) +\item timestamp +(if supported by the database; +returned as \code{POSIXct} +respecting the time zone but not necessarily preserving the +input time zone), +also for timestamps prior to 1970 or 1900 or after 2038 +respecting the time zone but not necessarily preserving the +input time zone) +} + +Mixing column types in the same table is supported. + + +The \code{name} argument is processed as follows, +to support databases that allow non-syntactic names for their objects: +\itemize{ +\item If an unquoted table name as string: \code{dbAppendTableArrow()} will do the quoting, +perhaps by calling \code{dbQuoteIdentifier(conn, x = name)} +\item If the result of a call to \code{\link[=dbQuoteIdentifier]{dbQuoteIdentifier()}}: no more quoting is done +to support databases that allow non-syntactic names for their objects: +} + + +The \code{value} argument must be a data frame +with a subset of the columns of the existing table. +The order of the columns does not matter. + +} + +\examples{ +\dontshow{if (requireNamespace("RSQLite", quietly = TRUE) && requireNamespace("nanoarrow", quietly = TRUE)) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} +con <- dbConnect(RSQLite::SQLite(), ":memory:") +dbCreateTableArrow(con, "iris", iris[0, ]) +dbAppendTableArrow(con, "iris", iris[1:5, ]) +dbReadTable(con, "iris") +dbDisconnect(con) +\dontshow{\}) # examplesIf} +} +\seealso{ +Other DBIConnection generics: +\code{\link{DBIConnection-class}}, +\code{\link{dbAppendTable}()}, +\code{\link{dbCreateTable}()}, +\code{\link{dbCreateTableArrow}()}, +\code{\link{dbDataType}()}, +\code{\link{dbDisconnect}()}, +\code{\link{dbExecute}()}, +\code{\link{dbExistsTable}()}, +\code{\link{dbGetException}()}, +\code{\link{dbGetInfo}()}, +\code{\link{dbGetQuery}()}, +\code{\link{dbIsReadOnly}()}, +\code{\link{dbIsValid}()}, +\code{\link{dbListFields}()}, +\code{\link{dbListObjects}()}, +\code{\link{dbListResults}()}, +\code{\link{dbListTables}()}, +\code{\link{dbReadTable}()}, +\code{\link{dbReadTableArrow}()}, +\code{\link{dbRemoveTable}()}, +\code{\link{dbSendQuery}()}, +\code{\link{dbSendStatement}()}, +\code{\link{dbWriteTable}()}, +\code{\link{dbWriteTableArrow}()} +} +\concept{DBIConnection generics} diff --git a/man/dbCreateTable.Rd b/man/dbCreateTable.Rd index 666ed9da8..c53d267c8 100644 --- a/man/dbCreateTable.Rd +++ b/man/dbCreateTable.Rd @@ -136,6 +136,7 @@ dbDisconnect(con) Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, \code{\link{dbDisconnect}()}, diff --git a/man/dbCreateTableArrow.Rd b/man/dbCreateTableArrow.Rd index 37fb1a4e0..a1122bfd8 100644 --- a/man/dbCreateTableArrow.Rd +++ b/man/dbCreateTableArrow.Rd @@ -111,6 +111,7 @@ dbDisconnect(con) Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbDataType}()}, \code{\link{dbDisconnect}()}, diff --git a/man/dbDataType.Rd b/man/dbDataType.Rd index 9bacec552..87f171a57 100644 --- a/man/dbDataType.Rd +++ b/man/dbDataType.Rd @@ -134,6 +134,7 @@ Other DBIDriver generics: Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDisconnect}()}, diff --git a/man/dbDisconnect.Rd b/man/dbDisconnect.Rd index f356bf61e..b7385bce0 100644 --- a/man/dbDisconnect.Rd +++ b/man/dbDisconnect.Rd @@ -43,6 +43,7 @@ dbDisconnect(con) Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbExecute.Rd b/man/dbExecute.Rd index 0b414e1bc..574c7405a 100644 --- a/man/dbExecute.Rd +++ b/man/dbExecute.Rd @@ -152,6 +152,7 @@ For queries: \code{\link[=dbSendQuery]{dbSendQuery()}} and \code{\link[=dbGetQue Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbExistsTable.Rd b/man/dbExistsTable.Rd index 6d3e5b723..1b63f97fd 100644 --- a/man/dbExistsTable.Rd +++ b/man/dbExistsTable.Rd @@ -75,6 +75,7 @@ dbDisconnect(con) Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbGetException.Rd b/man/dbGetException.Rd index aef69f7c6..a76b68721 100644 --- a/man/dbGetException.Rd +++ b/man/dbGetException.Rd @@ -25,6 +25,7 @@ warnings. Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbGetInfo.Rd b/man/dbGetInfo.Rd index 81f2e5869..dfaa6ea37 100644 --- a/man/dbGetInfo.Rd +++ b/man/dbGetInfo.Rd @@ -78,6 +78,7 @@ Other DBIDriver generics: Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbGetQuery.Rd b/man/dbGetQuery.Rd index 502377d36..d36c63da2 100644 --- a/man/dbGetQuery.Rd +++ b/man/dbGetQuery.Rd @@ -187,6 +187,7 @@ For updates: \code{\link[=dbSendStatement]{dbSendStatement()}} and \code{\link[= Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbIsReadOnly.Rd b/man/dbIsReadOnly.Rd index 31b26641d..a7b713f3a 100644 --- a/man/dbIsReadOnly.Rd +++ b/man/dbIsReadOnly.Rd @@ -35,6 +35,7 @@ Other DBIDriver generics: Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbIsValid.Rd b/man/dbIsValid.Rd index bfe7c84c0..9e838f946 100644 --- a/man/dbIsValid.Rd +++ b/man/dbIsValid.Rd @@ -68,6 +68,7 @@ Other DBIDriver generics: Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbListFields.Rd b/man/dbListFields.Rd index ef1eec203..c41909cf1 100644 --- a/man/dbListFields.Rd +++ b/man/dbListFields.Rd @@ -80,6 +80,7 @@ dbDisconnect(con) Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbListObjects.Rd b/man/dbListObjects.Rd index d81f1c611..40f2d4191 100644 --- a/man/dbListObjects.Rd +++ b/man/dbListObjects.Rd @@ -103,6 +103,7 @@ dbDisconnect(con) Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbListResults.Rd b/man/dbListResults.Rd index d3df2807a..6a1448287 100644 --- a/man/dbListResults.Rd +++ b/man/dbListResults.Rd @@ -25,6 +25,7 @@ functionality. Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbListTables.Rd b/man/dbListTables.Rd index 7cb32676c..2cb883adf 100644 --- a/man/dbListTables.Rd +++ b/man/dbListTables.Rd @@ -58,6 +58,7 @@ dbDisconnect(con) Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbReadTable.Rd b/man/dbReadTable.Rd index 0a156cfde..3c68b7a8e 100644 --- a/man/dbReadTable.Rd +++ b/man/dbReadTable.Rd @@ -131,6 +131,7 @@ dbDisconnect(con) Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbReadTableArrow.Rd b/man/dbReadTableArrow.Rd index 8c0d922b8..1716aa060 100644 --- a/man/dbReadTableArrow.Rd +++ b/man/dbReadTableArrow.Rd @@ -82,6 +82,7 @@ dbDisconnect(con) Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbRemoveTable.Rd b/man/dbRemoveTable.Rd index 8a6164e1c..70ffbd1c2 100644 --- a/man/dbRemoveTable.Rd +++ b/man/dbRemoveTable.Rd @@ -105,6 +105,7 @@ dbDisconnect(con) Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbSendQuery.Rd b/man/dbSendQuery.Rd index 98cf1bc82..67521a464 100644 --- a/man/dbSendQuery.Rd +++ b/man/dbSendQuery.Rd @@ -224,6 +224,7 @@ For updates: \code{\link[=dbSendStatement]{dbSendStatement()}} and \code{\link[= Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbSendStatement.Rd b/man/dbSendStatement.Rd index 54d352339..708e5a560 100644 --- a/man/dbSendStatement.Rd +++ b/man/dbSendStatement.Rd @@ -204,6 +204,7 @@ For queries: \code{\link[=dbSendQuery]{dbSendQuery()}} and \code{\link[=dbGetQue Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbWriteTable.Rd b/man/dbWriteTable.Rd index 56f3c8b37..cc226550e 100644 --- a/man/dbWriteTable.Rd +++ b/man/dbWriteTable.Rd @@ -217,6 +217,7 @@ dbReadTable(con, "mtcars") Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()}, diff --git a/man/dbWriteTableArrow.Rd b/man/dbWriteTableArrow.Rd index 6fa87627c..5d8d66d48 100644 --- a/man/dbWriteTableArrow.Rd +++ b/man/dbWriteTableArrow.Rd @@ -180,6 +180,7 @@ dbReadTable(con, "mtcars") Other DBIConnection generics: \code{\link{DBIConnection-class}}, \code{\link{dbAppendTable}()}, +\code{\link{dbAppendTableArrow}()}, \code{\link{dbCreateTable}()}, \code{\link{dbCreateTableArrow}()}, \code{\link{dbDataType}()},