R: Is this DBMS object still valid?

dbIsValid {DBI} | R Documentation

## Is this DBMS object still valid?

### Description

This generic tests whether a database object is still valid (i.e. it hasn't been disconnected or cleared).

### Usage

    dbIsValid(dbObj, ...)

### Arguments

`dbObj` | An object inheriting from DBIObject, i.e. DBIDriver, DBIConnection, or a DBIResult
`...` | Other arguments to methods.

### Value

`dbIsValid()` returns a logical scalar, `TRUE` if the object specified by `dbObj` is valid, `FALSE` otherwise. A DBIConnection object is initially valid, and becomes invalid after disconnecting with `dbDisconnect()`. For an invalid connection object (e.g., for some drivers if the object is saved to a file and then restored), the method also returns `FALSE`. A DBIResult object is valid after a call to `dbSendQuery()`, and stays valid even after all rows have been fetched; only clearing it with `dbClearResult()` invalidates it. A DBIResult object is also valid after a call to `dbSendStatement()`, and stays valid after querying the number of rows affected; only clearing it with `dbClearResult()` invalidates it. If the connection to the database system is dropped (e.g., due to connectivity problems, server failure, etc.), `dbIsValid()` should return `FALSE`. This is not tested automatically.

### See Also

Other DBIDriver generics: `DBIDriver-class`, `dbConnect`, `dbDataType`, `dbDriver`, `dbGetInfo`, `dbListConnections`

Other DBIConnection generics: `DBIConnection-class`, `dbDataType`, `dbDisconnect`, `dbExecute`, `dbExistsTable`, `dbGetException`, `dbGetInfo`, `dbGetQuery`, `dbListFields`, `dbListObjects`, `dbListResults`, `dbListTables`, `dbReadTable`, `dbRemoveTable`, `dbSendQuery`, `dbSendStatement`, `dbWriteTable`

Other DBIResult generics: `DBIResult-class`, `dbBind`, `dbClearResult`, `dbColumnInfo`, `dbFetch`, `dbGetInfo`, `dbGetRowCount`, `dbGetRowsAffected`, `dbGetStatement`, `dbHasCompleted`, `dbQuoteIdentifier`, `dbQuoteLiteral`, `dbQuoteString`, `dbUnquoteIdentifier`

### Examples

    dbIsValid(RSQLite::SQLite())

    con <- dbConnect(RSQLite::SQLite(), ":memory:")
    dbIsValid(con)

    rs <- dbSendQuery(con, "SELECT 1")
    dbIsValid(rs)

    dbClearResult(rs)
    dbIsValid(rs)

    dbDisconnect(con)
    dbIsValid(con)

[Package DBI version 0.8 Index]