dbGetInfo
Database interface meta-data
Extract meta-data associated with various objects
Usage
dbGetInfo(dbObj, ...) # meta-data for any DBIObject
dbGetDBIVersion(...) # DBI version
dbGetStatement(res, ...) # statement that produced result "res"
dbGetRowCount(res, ...) # number of rows fetched so far
dbGetRowsAffected(res, ...) # number of affected rows (e.g., DELETE)
dbColumnInfo(res, ...) # result set data types
dbHasCompleted(res, ...) # are there more rows to fetch on "res"?
Arguments
- dbObj
- any object that implements some functionality in the R/Splus interface to databases (a driver, a connection or a result set).
- res
- refers to a
DBIResult
object. - ...
- any driver-specific arguments.
Details
These functions implement a minimal set of meta-data describing the most important aspects of the R/Splus to DBMS interface.
The dbGetInfo
works very similarly to the function
options
in that it attempts to extract what the user may
request, possibly NULL if it can't locate the specific piece
of meta-data.
Value
dbGetDBIVersion
returns a character string with the version of the database interface API.dbGetInfo
produces either a character vector or a named list of (name, value) pairs.dbGetStatement
returns a character string with the statement associated with the result setres
.dbGetRowCount
returns the number of rows fetched so far.dbGetRowsAffected
returns the number of affected rows (e.g., how many rows were deleted, inserted). Some drivers may set this to the total number of rows a query produces.dbColumnInfo
returns a data.frame with one row per output field inres
. The columns should report field name, field data type, scale and precision (as understood by the DBMS engine), whether the field can storeNULL
values, and possibly other DBMS-specific information.dbHasCompleted
a logical describing whether the operations has been completed by the DBMS or not.
Note
Meta-data associated with a driver should include the version of the package, plus the version of the underlying client library. Connection objects should report the version of the DBMS engine, database name, user, possibly password, etc. Results should include the statement being executed, how many rows have been fetched so far (in the case of queries), how many rows were affected (deleted, inserted, changed, or total number of records to be fetched).
References
See the Database Interface definition document
DBI.pdf
in the base directory of this package
or
See Also
dbDriver
,
dbConnect
,
dbSendQuery
,
dbGetQuery
,
fetch
,
dbCommit
,
dbGetInfo
,
dbListTables
,
dbReadTable
.
Examples
drv <- dbDriver("SQLite")
con <- dbConnect(drv)
dbListTables(con)
rs <- dbSendQuery(con, query.sql)
dbGetStatement(rs)
dbHasCompleted(rs)
info <- dbGetInfo(rs)
names(dbGetInfo(drv))
# DBIConnection info
names(dbGetInfo(con))
# DBIResult info
names(dbGetInfo(rs))