Reads a database table as an Arrow object.
Use dbReadTable()
instead to obtain a data frame.
Arguments
- conn
A DBIConnection object, as returned by
dbConnect()
.- name
The table name, passed on to
dbQuoteIdentifier()
. Options are:a character string with the unquoted DBMS table name, e.g.
"table_name"
,a call to
Id()
with components to the fully qualified table name, e.g.Id(schema = "my_schema", table = "table_name")
a call to
SQL()
with the quoted and fully qualified table name given verbatim, e.g.SQL('"my_schema"."table_name"')
- ...
Other parameters passed on to methods.
Value
dbReadTableArrow()
returns an Arrow object that contains the complete data
from the remote table, effectively the result of calling dbGetQueryArrow()
with
SELECT * FROM <name>
.
An empty table is returned as an Arrow object with zero rows.
Details
This function returns an Arrow object.
Convert it to a data frame with as.data.frame()
or
use dbReadTable()
to obtain a data frame.
Failure modes
An error is raised if the table does not exist.
An error is raised when calling this method for a closed
or invalid connection.
An error is raised
if name
cannot be processed with dbQuoteIdentifier()
or
if this results in a non-scalar.
Specification
The name
argument is processed as follows,
to support databases that allow non-syntactic names for their objects:
If an unquoted table name as string:
dbReadTableArrow()
will do the quoting, perhaps by callingdbQuoteIdentifier(conn, x = name)
If the result of a call to
dbQuoteIdentifier()
: no more quoting is done
See also
Other DBIConnection generics:
DBIConnection-class
,
dbAppendTable()
,
dbAppendTableArrow()
,
dbCreateTable()
,
dbCreateTableArrow()
,
dbDataType()
,
dbDisconnect()
,
dbExecute()
,
dbExistsTable()
,
dbGetException()
,
dbGetInfo()
,
dbGetQuery()
,
dbGetQueryArrow()
,
dbIsReadOnly()
,
dbIsValid()
,
dbListFields()
,
dbListObjects()
,
dbListResults()
,
dbListTables()
,
dbQuoteIdentifier()
,
dbReadTable()
,
dbRemoveTable()
,
dbSendQuery()
,
dbSendQueryArrow()
,
dbSendStatement()
,
dbUnquoteIdentifier()
,
dbWriteTable()
,
dbWriteTableArrow()
Examples
# Read data as Arrow table
con <- dbConnect(RSQLite::SQLite(), ":memory:")
dbWriteTable(con, "mtcars", mtcars[1:10, ])
dbReadTableArrow(con, "mtcars")
#> <nanoarrow_array_stream struct<mpg: double, cyl: double, disp: double, hp: double, drat: double, wt: double, qsec: double, vs: double, am: double, gear: double, carb: double>>
#> $ get_schema:function ()
#> $ get_next :function (schema = x$get_schema(), validate = TRUE)
#> $ release :function ()
dbDisconnect(con)