To retrieve results a chunk at a time, use dbSendQuery()
,
dbFetch()
, then dbClearResult()
. Alternatively, if you want all the
results (and they'll fit in memory) use dbGetQuery()
which sends,
fetches and clears for you. For data manipulation queries (i.e. queries
that do not return data, such as UPDATE
, DELETE
, etc.),
dbSendStatement()
serves as a counterpart to dbSendQuery()
, while
dbExecute()
corresponds to dbGetQuery()
.
# S4 method for MariaDBResult dbFetch(res, n = -1, ..., row.names = FALSE) # S4 method for MariaDBConnection,character dbSendQuery(conn, statement, params = NULL, ...) # S4 method for MariaDBConnection,character dbSendStatement(conn, statement, params = NULL, ...) # S4 method for MariaDBResult dbBind(res, params, ...) # S4 method for MariaDBResult dbClearResult(res, ...) # S4 method for MariaDBResult dbGetStatement(res, ...)
res | A MariaDBResult object. |
---|---|
n | Number of rows to retrieve. Use -1 to retrieve all rows. |
... | Unused. Needed for compatibility with generic. |
row.names | Either If A string is equivalent to For backward compatibility, |
conn | an MariaDBConnection object. |
statement | a character vector of length one specifying the SQL statement that should be executed. Only a single SQL statement should be provided. |
params | A list of query parameters to be substituted into a parameterised query. |
if (mariadbHasDefault()) { con <- dbConnect(RMariaDB::MariaDB(), dbname = "test") dbWriteTable(con, "arrests", datasets::USArrests, temporary = TRUE) # Run query to get results as dataframe dbGetQuery(con, "SELECT * FROM arrests limit 3") # Send query to pull requests in batches res <- dbSendQuery(con, "SELECT * FROM arrests") data <- dbFetch(res, n = 2) data dbHasCompleted(res) dbClearResult(res) dbDisconnect(con) }#>#> #>