m4_comment([$Id: dbenv_cxx.so,v 11.10 2000/12/01 17:59:32 bostic Exp $]) m4_ref_title(Upgrading m4_db Applications, Release 3.0: the DbEnv class for C++ and Java,, upgrade.3.0/value_set, upgrade.3.0/db_cxx) m4_p([dnl The DbEnv::appinit() method and two constructors for the DbEnv class are gone. There is now a single way to create and initialize the environment. The way to create an environment is to use the new DbEnv constructor with one argument. After this call, the DbEnv can be configured with various set_XXX methods. Finally, a call to DbEnv::open is made to initialize the environment.]) m4_p([dnl Here's a C++ example creating a m4_db environment using the 2.X interface]) m4_indent([dnl int dberr; DbEnv *dbenv = new DbEnv(); m4_blank dbenv-__GT__set_error_stream(&cerr); dbenv-__GT__set_errpfx("myprog"); m4_blank if ((dberr = dbenv-__GT__appinit("/database/home", NULL, DB_CREATE | DB_INIT_LOCK | DB_INIT_MPOOL)) != 0) { cerr __LT____LT__ "failure: " __LT____LT__ strerror(dberr); exit (1); }]) m4_p([dnl In the m4_db 3.0 release, this code would be written as:]) m4_indent([dnl int dberr; DbEnv *dbenv = new DbEnv(0); m4_blank dbenv-__GT__set_error_stream(&cerr); dbenv-__GT__set_errpfx("myprog"); m4_blank if ((dberr = dbenv-__GT__open("/database/home", NULL, DB_CREATE | DB_INIT_LOCK | DB_INIT_MPOOL, 0)) != 0) { cerr __LT____LT__ "failure: " __LT____LT__ dbenv-__GT__strerror(dberr); exit (1); }]) m4_p([dnl Here's a Java example creating a m4_db environment using the 2.X interface:]) m4_indent([dnl int dberr; DbEnv dbenv = new DbEnv(); m4_blank dbenv.set_error_stream(System.err); dbenv.set_errpfx("myprog"); m4_blank dbenv.appinit("/database/home", null, Db.DB_CREATE | Db.DB_INIT_LOCK | Db.DB_INIT_MPOOL);]) m4_p([dnl In the m4_db 3.0 release, this code would be written as:]) m4_indent([dnl int dberr; DbEnv dbenv = new DbEnv(0); m4_blank dbenv.set_error_stream(System.err); dbenv.set_errpfx("myprog"); m4_blank dbenv.open("/database/home", null, Db.DB_CREATE | Db.DB_INIT_LOCK | Db.DB_INIT_MPOOL, 0);]) m4_p([dnl In the m4_db 2.X release, DbEnv had accessors to obtain "managers" of type DbTxnMgr, DbMpool, DbLog, DbTxnMgr. If you used any of these managers, all their methods are now found directly in the DbEnv class.]) m4_page_footer