Skip to contents

Given a DBI or pool connection, provides DB type

Usage

cdr_which_db(conn)

Arguments

conn

pool or DBI connection to a db

Value

string representing db type

Examples

if (FALSE) {
# create some connections -------------------------------------------------
pg_dbi_conn <- DBI::dbConnect( RPostgreSQL::PostgreSQL(),
                        dbname = "test",
                        host = "localhost",
                        port = "5432",
                        user = Sys.getenv('postgres_username'),
                        password = Sys.getenv('postgres_password')
)
pg_dbi_conn |> cdr_which_db()
pg_dbi_conn |> pool::dbGetQuery('SELECT CURRENT_TIMESTAMP') #In Client TIMEZONE
pg_dbi_conn |> pool::dbGetQuery('SELECT LOCALTIMESTAMP') #In DB TIMEZONE
pg_dbi_conn |> DBI::dbDisconnect()

pg_pool_conn <- pool::dbPool(pg_dbi_conn)
pg_pool_conn |> cdr_which_db()
pg_pool_conn |> pool::dbGetQuery('SELECT CURRENT_TIMESTAMP') #In Client TIMEZONE
pg_pool_conn |> pool::dbGetQuery('SELECT LOCALTIMESTAMP') #In DB TIMEZONE
pg_pool_conn |> pool::poolClose()

sqlite_dbi_mem_conn <- DBI::dbConnect(RSQLite::SQLite(), ":memory:")
sqlite_dbi_mem_conn |> cdr_which_db()
sqlite_dbi_mem_conn |> DBI::dbGetQuery('SELECT CURRENT_TIMESTAMP') #UTC
sqlite_dbi_mem_conn |> DBI::dbGetQuery('SELECT LOCALTIMESTAMP') # no go
sqlite_dbi_mem_conn |> DBI::dbDisconnect()

sqlite_dbi_conn <- DBI::dbConnect(RSQLite::SQLite(), 'test.db')
sqlite_dbi_conn |> cdr_which_db()
sqlite_dbi_conn |> DBI::dbGetQuery('SELECT CURRENT_TIMESTAMP') #UTC
sqlite_dbi_conn |> DBI::dbGetQuery('SELECT LOCALTIMESTAMP') # no go
sqlite_dbi_conn |> DBI::dbDisconnect()

sqlite_pool_conn <- pool::dbPool(DBI::dbConnect(RSQLite::SQLite(), 'test.db'))
sqlite_pool_conn |> cdr_which_db()
sqlite_pool_conn |> DBI::dbDisconnect()
sqlite_pool_conn |> pool::poolClose()

Sys.time() |> lubridate::with_tz(tzone = 'UTC')

}