Learn R Programming

filehash (version 2.4-5)

dbLoad: Load a Database

Description

Load entire database into an environment

Usage

dbLoad(db, ...)

# S4 method for filehash dbLoad(db, env = parent.frame(2), keys = NULL, ...)

dbLazyLoad(db, ...)

# S4 method for filehash dbLazyLoad(db, env = parent.frame(2), keys = NULL, ...)

db2env(db)

Value

dbLoad, dbLazyLoad: a character vector is returned (invisibly) containing the keys associated with the values loaded into the environment.

db2env: environment containing database keys

Arguments

db

filehash database object

...

arguments passed to other methods

env

environment into which objects should be loaded

keys

specific keys to be loaded (if NULL then all keys are loaded)

Methods (by class)

  • dbLoad(filehash): Method for filehash databases

  • dbLazyLoad(filehash): Method for filehash databases

Functions

  • dbLazyLoad(): Lazy load a filehash database

  • db2env(): Load active bindings into an environment and return the environment

Details

dbLoad loads objects in the database directly into the environment specified, like load does except with active bindings. dbLoad takes a second argument env, which is an environment, and the default for env is parent.frame().

The use of makeActiveBinding in db2env and dbLoad allows for potentially large databases to, at least conceptually, be used in R, as long as you don't need simultaneous access to all of the elements in the database.

dbLazyLoad loads objects in the database directly into the environment specified, like load does except with promises. dbLazyLoad takes a second argument env, which is an environment, and the default for env is parent.frame().

With dbLazyLoad database objects are "lazy-loaded" into the environment. Promises to load the objects are created in the environment specified by env. Upon first access, those objects are copied into the environment and will from then on reside in memory. Changes to the database will not be reflected in the object residing in the environment after first access. Conversely, changes to the object in the environment will not be reflected in the database. This type of loading is useful for read-only databases.

db2env loads the entire database db into an environment via calls to makeActiveBinding. Therefore, the data themselves are not stored in the environment, but a function pointing to the data in the database is stored. When an element of the environment is accessed, the function is called to retrieve the data from the database. If the data in the database is changed, the changes will be reflected in the environment.

See Also

dbLoad, dbLazyLoad