|
- Berkeley DB Reference Guide:
- Upgrading Berkeley DB Applications
|
|
Release 3.0: the Db class for C++ and Java
The static Db::open method and the DbInfo class have been removed in the
Berkeley DB 3.0 release. The way to open a database file is to use the new Db
constructor with two arguments, followed by set_XXX methods to configure
the Db object, and finally a call to the new (nonstatic) Db::open(). In
comparing the Berkeley DB 3.0 release open method with the 2.X static open
method, the second argument is new. It is a database name, which can
be null. The DbEnv argument has been removed, as the environment is now
specified in the constructor. The open method no longer returns a Db,
since it operates on one.
Here's a C++ example opening a Berkeley DB database using the 2.X interface:
// Note: by default, errors are thrown as exceptions
Db *table;
Db::open("lookup.db", DB_BTREE, DB_CREATE, 0644, dbenv, 0, &table);
In the Berkeley DB 3.0 release, this code would be written as:
// Note: by default, errors are thrown as exceptions
Db *table = new Db(dbenv, 0);
table->open("lookup.db", NULL, DB_BTREE, DB_CREATE, 0644);
Here's a Java example opening a Berkeley DB database using the 2.X interface:
// Note: errors are thrown as exceptions
Db table = Db.open("lookup.db", Db.DB_BTREE, Db.DB_CREATE, 0644, dbenv, 0);
In the Berkeley DB 3.0 release, this code would be written as:
// Note: errors are thrown as exceptions
Db table = new Db(dbenv, 0);
table.open("lookup.db", null, Db.DB_BTREE, Db.DB_CREATE, 0644);
Note that if the dbenv argument is null, the database will not exist
within an environment.
Copyright Sleepycat Software
|