Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

querySqlToAndromeda

Retrieves data to a local Andromeda database


Description

This function sends SQL to the server, and returns the results in a local Andromeda database.

Usage

querySqlToAndromeda(
  connection,
  sql,
  andromeda,
  andromedaTableName,
  errorReportFile = file.path(getwd(), "errorReportSql.txt"),
  snakeCaseToCamelCase = FALSE,
  integer64AsNumeric = getOption("databaseConnectorInteger64AsNumeric", default = TRUE)
)

Arguments

connection

The connection to the database server.

sql

The SQL to be sent.

andromeda

An open connection to a Andromeda database, for example as created using andromeda.

andromedaTableName

The name of the table in the local Andromeda database where the results of the query will be stored.

errorReportFile

The file where an error report will be written if an error occurs. Defaults to 'errorReportSql.txt' in the current working directory.

snakeCaseToCamelCase

If true, field names are assumed to use snake_case, and are converted to camelCase.

integer64AsNumeric

Logical: should 64-bit integers be converted to numeric (double) values? If FALSE 64-bit integers will be represented using bit64::integer64.

Details

Retrieves data from the database server and stores it in a local Andromeda database. This allows very large data sets to be retrieved without running out of memory. If an error occurs during SQL execution, this error is written to a file to facilitate debugging. Null values in the database are converted to NA values in R.If a table with the same name already exists in the local Andromeda database it is replaced.

Value

Invisibly returns the andromeda. The Andromeda database will have a table added with the query results.

Examples

## Not run: 
andromeda <- Andromeda::andromeda()
connectionDetails <- createConnectionDetails(dbms = "postgresql",
                                             server = "localhost",
                                             user = "root",
                                             password = "blah",
                                             schema = "cdm_v4")
conn <- connect(connectionDetails)
querySqlToAndromeda(connection = conn, 
                    sql = "SELECT * FROM person;", 
                    andromeda = andromeda,
                    andromedaTableName = "foo")
disconnect(conn)

andromeda$foo

## End(Not run)

DatabaseConnector

Connecting to Various Database Platforms

v4.0.2
Apache License
Authors
Martijn Schuemie [aut, cre], Marc Suchard [aut], Observational Health Data Science and Informatics [cph], Microsoft Inc. [cph] (SQL Server JDBC driver), PostgreSQL Global Development Group [cph] (PostgreSQL JDBC driver), Oracle Inc. [cph] (Oracle JDBC driver), Amazon Inc. [cph] (RedShift JDBC driver)
Initial release
2021-04-12

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.