RSQLite (version 0.3-5)

SQLite: Instantiate the SQLite engine from the current R/S-Plus session.

Description

This function creates and initializes the SQLite engine. It returns an object that allows you to connect to the SQLite embedded engine.

Usage

SQLite(max.con = 16, fetch.default.rec = 500, force.reload = FALSE)

Arguments

max.con
maximum number of connections that may be open at one time. This can be up to 100, a limit defined at compilation time. Note that since the SQLite engine is embedded (i.e., a set of C functions within the R/S-Plus process) connections consume very
fetch.default.rec
number of records to fetch at one time from the database. (The fetch method uses this number as a default.)
force.reload
should the package code be reloaded (reinitialized)? Setting this to TRUE allows you to change default settings. Notice that all connections should be closed before re-loading.

Value

  • An object of class SQLiteDriver which extends dbDriver and dbObjectId. This object is required to create connections to the embedded SQLite database. There can be many SQLite database instances running simultaneously.

Side Effects

The R/S-Plus client part of the database communication is initialized, but note that connecting to database instances needs to be done through calls to dbConnect.

User authentication

SQLite is a single-user database engine, so no authentication is required.

References

See the Omega Project for Statistical Computing http://stat.bell-labs.com/RS-DBI for more details on the R/S-Plus database interface.

See the Adobe PDF file DBI.pdf under the doc subdirectory of the DBI package, i.e., system.file("doc", "DBI.pdf", package = "DBI")

See the documentation at the SQLite Web site http://www.hwaci/com/sw/sqlite/index.html for details.

Details

This object is a singleton, that is, on subsequent invocations it returns the same initialized object.

This implementation allows the R/S-Plus embedded SQLite engine to work with multiple database instances through multiple connections simultaneously.

SQLite keeps each database instance in one single file. The name of the database is the file name, thus database names should be legal file names in the running platform.

See Also

On database drivers:

dbDriver, dbUnloadDriver, dbListConnections.

On connections, SQL statements and resultSets:

dbConnect, dbDisconnect, dbSendQuery, dbGetQuery, fetch, dbListResults.

On transaction management:

dbCommit, dbRollback.

On meta-data:

summary, dbGetInfo, dbListTables, dbListFields, dbColumnsInfo, dbGetException, dbGetStatement, dbHasCompleted, dbGetRowCount, dbGetAffectedRows.

Examples

Run this code
# create a SQLite instance and create one connection.
   m <- dbDriver("SQLite")
   
   # initialize a new database "base.dbms" in the current directory
   # and copy some data.frame from the base package into it
   
   con <- dbConnect(m, dbname = "base.dbms")
   data(USArrests)
   dbWriteTable(con, "USArrests", USArrests, overwrite = T)
   
   # query
   rs <- dbSendQuery(con, "select * from USArrests")
   d1 <- fetch(rs, n = 10)      # extract data in chunks of 10 rows
   dbHasCompleted(rs)
   d2 <- fetch(rs, n = -1)      # extract all remaining data
   dbHasCompleted(rs)
   dbClearResult(rs)
   dbListTables(con)

Run the code above in your browser using DataCamp Workspace