Db.java
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:25k
- /*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1997, 1998, 1999, 2000
- * Sleepycat Software. All rights reserved.
- *
- * $Id: Db.java,v 11.38 2000/12/31 19:26:22 bostic Exp $
- */
- package com.sleepycat.db;
- import java.io.OutputStream;
- import java.io.FileNotFoundException;
- /**
- *
- * @author Donald D. Anderson
- */
- public class Db
- {
- // All constant and flag values used with Db* classes are defined here.
- // Collectively, these constants are known by the name
- // "DBTYPE" in the documentation.
- //
- public static final int DB_BTREE = 1; // B+tree
- public static final int DB_HASH = 2; // Extended Linear Hashing.
- public static final int DB_RECNO = 3; // Fixed and variable-length records.
- public static final int DB_QUEUE = 4; // Queue
- public static final int DB_UNKNOWN = 5; // Figure it out on open.
- // Flags understood by DbEnv()
- //
- // Note: DB_CXX_NO_EXCEPTIONS will have no effect in Java.
- //
- public static final int DB_CXX_NO_EXCEPTIONS; // C++: return error values
- public static final int DB_CLIENT; // Open for a client environment.
- // Flags understood by Db()
- //
- public static final int DB_XA_CREATE; // Open in an XA environment.
- // Flags understood by Db.open(), DbEnv.open().
- //
- public static final int DB_CREATE; // O_CREAT: create file as necessary.
- public static final int DB_NOMMAP; // Don't mmap underlying file.
- public static final int DB_THREAD; // Free-thread DB package handles.
- // Flags understood by only DbEnv.open().
- //
- public static final int DB_LOCKDOWN; // Lock memory into physical core.
- public static final int DB_PRIVATE; // DB_ENV is process local.
- //
- // Flags understood by DbEnv.txn_begin().
- //
- public static final int DB_TXN_NOWAIT; // Do not wait for locks in this TXN.
- public static final int DB_TXN_SYNC; // Always sync log on commit.
- // Flags understood by DbEnv.set_flags().
- //
- public static final int DB_CDB_ALLDB; // In CDB, lock across environment.
- //
- // Flags understood by Db.open().
- //
- public static final int DB_EXCL; // Exclusive open (O_EXCL).
- public static final int DB_RDONLY; // Read-only (O_RDONLY).
- public static final int DB_TRUNCATE; // Discard existing DB.
- public static final int DB_UPGRADE; // Upgrade if necessary.
- //
- // DB (user visible) error return codes.
- //
- public static final int DB_INCOMPLETE = -30999; // Sync didn't finish.
- public static final int DB_KEYEMPTY = -30998; // The key/data pair was deleted or
- // was never created by the user.
- public static final int DB_KEYEXIST = -30997; // The key/data pair already exists.
- public static final int DB_LOCK_DEADLOCK = -30996; // Locker killed to resolve deadlock.
- public static final int DB_LOCK_NOTGRANTED = -30995; // Lock unavailable, no-wait set.
- public static final int DB_NOSERVER = -30994; // Server panic return.
- public static final int DB_NOSERVER_HOME = -30993; // Bad home sent to server.
- public static final int DB_NOSERVER_ID = -30992; // Bad ID sent to server.
- public static final int DB_NOTFOUND = -30991; // Key/data pair not found (EOF).
- public static final int DB_OLD_VERSION = -30990; // Out-of-date version.
- public static final int DB_RUNRECOVERY = -30989; // Panic return.
- public static final int DB_VERIFY_BAD = -30988; // Verify failed; bad format.
- //
- // Flags used by DbEnv.open and DbEnv.remove.
- //
- public static final int DB_FORCE; // Force (anything).
- public static final int DB_INIT_CDB; // Concurrent Access Methods.
- public static final int DB_INIT_LOCK; // Initialize locking.
- public static final int DB_INIT_LOG; // Initialize logging.
- public static final int DB_INIT_MPOOL; // Initialize mpool.
- public static final int DB_INIT_TXN; // Initialize transactions.
- public static final int DB_JOINENV; // Initialize all subsystems present.
- public static final int DB_RECOVER; // Run normal recovery.
- public static final int DB_RECOVER_FATAL; // Run catastrophic recovery.
- public static final int DB_SYSTEM_MEM; // Use system-backed memory.
- public static final int DB_TXN_NOSYNC; // Do not sync log on commit.
- public static final int DB_USE_ENVIRON; // Use the environment.
- public static final int DB_USE_ENVIRON_ROOT; // Use the environment if root.
- //
- // Operations values to the tx_recover() function.
- //
- public static final int DB_TXN_BACKWARD_ROLL = 1;
- public static final int DB_TXN_FORWARD_ROLL = 2;
- public static final int DB_TXN_OPENFILES = 3;
- public static final int DB_TXN_REDO = 4;
- public static final int DB_TXN_UNDO = 5;
- //
- // Verbose flags; used for DbEnv.set_verbose
- //
- public static final int DB_VERB_CHKPOINT; // List checkpoints.
- public static final int DB_VERB_DEADLOCK; // Deadlock detection information.
- public static final int DB_VERB_RECOVERY; // Recovery information.
- public static final int DB_VERB_WAITSFOR; // Dump waits-for table.
- //
- // Deadlock detector modes; used in the DBENV structure to configure the
- // locking subsystem.
- //
- public static final int DB_LOCK_NORUN;
- public static final int DB_LOCK_DEFAULT;
- public static final int DB_LOCK_OLDEST;
- public static final int DB_LOCK_RANDOM;
- public static final int DB_LOCK_YOUNGEST;
- //
- // Flags understood by only Db.set_flags.
- //
- public static final int DB_DUP; // Btree, Hash: duplicate keys.
- public static final int DB_DUPSORT; // Btree, Hash: duplicate keys.
- public static final int DB_RECNUM; // Btree: record numbers.
- public static final int DB_RENUMBER; // Recno: renumber on insert/delete.
- public static final int DB_REVSPLITOFF;// Btree: turn off reverse splits.
- public static final int DB_SNAPSHOT; // Recno: snapshot the input.
- //
- // Flags understood by only Db.join
- //
- public static final int DB_JOIN_NOSORT;// Don't try to optimize join.
- //
- // Flags understood by only Db.verify
- //
- public static final int DB_NOORDERCHK; // Skip order check; subdb w/ user func
- public static final int DB_ORDERCHKONLY;// Only perform an order check on subdb
- public static final int DB_SALVAGE; // Salvage what looks like data.
- public static final int DB_AGGRESSIVE; // Salvage anything which might be data.
- // Collectively, these constants are known by the name
- // "db_lockmode_t" in the documentation.
- //
- public static final int DB_LOCK_NG = 0; // Not granted.
- public static final int DB_LOCK_READ = 1; // Shared/read.
- public static final int DB_LOCK_WRITE = 2; // Exclusive/write.
- public static final int DB_LOCK_IWRITE = 3; // Intent exclusive/write.
- public static final int DB_LOCK_IREAD = 4; // Intent to share/read.
- public static final int DB_LOCK_IWR = 5; // Intent to read and write.
- // Collectively, these constants are known by the name
- // "db_lockop_t" in the documentation.
- //
- public static final int DB_LOCK_DUMP = 0; // Display held locks.
- public static final int DB_LOCK_GET = 1; // Get the lock.
- /* Not visible to API: DB_LOCK_INHERIT = 2 // Pass locks to parent. */
- public static final int DB_LOCK_PUT = 3; // Release the lock.
- public static final int DB_LOCK_PUT_ALL = 4;// Release locker's locks.
- public static final int DB_LOCK_PUT_OBJ = 5;// Release locker's locks on obj.
- // Flag values for DbLock.vec()
- public static final int DB_LOCK_NOWAIT; // Don't wait on unavailable lock.
- // Flag values for DbLock.detect()
- public static final int DB_LOCK_CONFLICT; // Run on any conflict.
- //
- // Flag values for DbLog.archive()
- //
- public static final int DB_ARCH_ABS; // Absolute pathnames.
- public static final int DB_ARCH_DATA; // Data files.
- public static final int DB_ARCH_LOG; // Log files.
- //
- // DB access method and cursor operation values.
- // Each value is an operation code to which
- // additional bit flags are added.
- //
- public static final int DB_AFTER; // Dbc.put()
- public static final int DB_APPEND; // Db.put()
- public static final int DB_BEFORE; // Dbc.put()
- public static final int DB_CACHED_COUNTS; // Db.stat()
- public static final int DB_CHECKPOINT; // DbLog.put(), DbLog.get()
- public static final int DB_CONSUME; // Db.get()
- public static final int DB_CONSUME_WAIT; // Db.get()
- public static final int DB_CURLSN; // DbLog.put()
- public static final int DB_CURRENT; // Dbc.get(), Dbc.put(), DbLog.get()
- public static final int DB_FIRST; // Dbc.get(), DbLog.get()
- public static final int DB_FLUSH; // DbLog.put()
- public static final int DB_GET_BOTH; // Db.get(), Dbc.get()
- public static final int DB_GET_RECNO; // Dbc.get()
- public static final int DB_JOIN_ITEM; // Dbc.get()
- public static final int DB_KEYFIRST; // Dbc.put()
- public static final int DB_KEYLAST; // Dbc.put()
- public static final int DB_LAST; // Dbc.get(), DbLog.get()
- public static final int DB_NEXT; // Dbc.get(), DbLog.get()
- public static final int DB_NEXT_DUP; // Dbc.get()
- public static final int DB_NEXT_NODUP; // Dbc.get()
- public static final int DB_NODUPDATA; // Don't permit duplicated data
- public static final int DB_NOOVERWRITE;// Db.put()
- public static final int DB_NOSYNC; // Db.close()
- public static final int DB_POSITION; // Dbc.dup()
- public static final int DB_PREV; // Dbc.get(), DbLog.get()
- public static final int DB_PREV_NODUP; // Dbc.get()
- public static final int DB_RECORDCOUNT;// Db.stat()
- public static final int DB_SET; // Dbc.get(), DbLog.get()
- public static final int DB_SET_RANGE; // Dbc.get()
- public static final int DB_SET_RECNO; // Dbc.get()
- public static final int DB_WRITECURSOR;// Db.cursor()
- // Other flags that can be added to an operation codes above.
- //
- public static final int DB_RMW; // Acquire write flag immediately.
- // Collectively, these values are used for Dbt flags
- //
- // Return in allocated memory.
- public static final int DB_DBT_MALLOC;
- // Partial put/get.
- public static final int DB_DBT_PARTIAL;
- // Return in realloc'd memory.
- public static final int DB_DBT_REALLOC;
- // Return in user's memory.
- public static final int DB_DBT_USERMEM;
- // Note: the env can be null
- //
- public Db(DbEnv env, int flags)
- throws DbException
- {
- constructor_env_ = env;
- _init(env, flags);
- if (env == null) {
- dbenv_ = new DbEnv(this);
- }
- else {
- dbenv_ = env;
- }
- dbenv_._add_db(this);
- }
- //
- // Our parent DbEnv is notifying us that the environment is closing.
- //
- /*package*/ void _notify_dbenv_close()
- {
- dbenv_ = null;
- _notify_internal();
- }
-
- private native void _init(DbEnv env, int flags)
- throws DbException;
- private native void _notify_internal();
- // methods
- //
- public synchronized int close(int flags)
- throws DbException
- {
- int err;
-
- dbenv_._remove_db(this);
- err = _close(flags);
- if (constructor_env_ == null) {
- dbenv_._notify_db_close();
- }
- return err;
- }
- public native int _close(int flags)
- throws DbException;
- public native Dbc cursor(DbTxn txnid, int flags)
- throws DbException;
- public native int del(DbTxn txnid, Dbt key, int flags)
- throws DbException;
- public native void err(int errcode, String message);
- public native void errx(String message);
- public native int fd()
- throws DbException;
- // overrides Object.finalize
- protected void finalize()
- throws Throwable
- {
- _finalize(dbenv_.errcall_, dbenv_.errpfx_);
- }
- protected native void _finalize(DbErrcall errcall, String errpfx)
- throws Throwable;
- // returns: 0, DB_NOTFOUND, or throws error
- public native int get(DbTxn txnid, Dbt key, Dbt data, int flags)
- throws DbException;
- public native boolean get_byteswapped();
- public native /*DBTYPE*/ int get_type();
- public native Dbc join(Dbc curslist[], int flags)
- throws DbException;
- public native void key_range(DbTxn txn, Dbt key,
- DbKeyRange range, int flags)
- throws DbException;
- public synchronized void open(String file, String database,
- /*DBTYPE*/ int type,
- int flags, int mode)
- throws DbException, FileNotFoundException
- {
- _open(file, database, type, flags, mode);
- }
-
- // (Internal)
- public native void _open(String file, String database,
- /*DBTYPE*/ int type,
- int flags, int mode)
- throws DbException, FileNotFoundException;
-
- // returns: 0, DB_KEYEXIST, or throws error
- public native int put(DbTxn txnid, Dbt key, Dbt data, int flags)
- throws DbException;
- public synchronized native void rename(String file, String database,
- String newname, int flags)
- throws DbException, FileNotFoundException;
- public synchronized native void remove(String file, String database,
- int flags)
- throws DbException, FileNotFoundException;
- // Comparison function.
- public void set_append_recno(DbAppendRecno append_recno)
- throws DbException
- {
- append_recno_ = append_recno;
- append_recno_changed(append_recno);
- }
- // (Internal)
- private native void append_recno_changed(DbAppendRecno append_recno)
- throws DbException;
- // Comparison function.
- public void set_bt_compare(DbBtreeCompare bt_compare)
- throws DbException
- {
- bt_compare_ = bt_compare;
- bt_compare_changed(bt_compare);
- }
- // (Internal)
- private native void bt_compare_changed(DbBtreeCompare bt_compare)
- throws DbException;
- // Maximum keys per page.
- public native void set_bt_maxkey(int maxkey)
- throws DbException;
- // Minimum keys per page.
- public native void set_bt_minkey(int minkey)
- throws DbException;
- // Prefix function.
- public void set_bt_prefix(DbBtreePrefix bt_prefix)
- throws DbException
- {
- bt_prefix_ = bt_prefix;
- bt_prefix_changed(bt_prefix);
- }
-
- // (Internal)
- private native void bt_prefix_changed(DbBtreePrefix bt_prefix)
- throws DbException;
- // Set cache size
- public native void set_cachesize(int gbytes, int bytes, int ncaches)
- throws DbException;
- // Duplication resolution
- public void set_dup_compare(DbDupCompare dup_compare)
- throws DbException
- {
- dup_compare_ = dup_compare;
- dup_compare_changed(dup_compare);
- }
- // (Internal)
- private native void dup_compare_changed(DbDupCompare dup_compare)
- throws DbException;
- // Error message callback.
- public void set_errcall(DbErrcall errcall)
- {
- if (dbenv_ != null)
- dbenv_.set_errcall(errcall);
- }
- // Error stream.
- public void set_error_stream(OutputStream s)
- {
- DbOutputStreamErrcall errcall = new DbOutputStreamErrcall(s);
- set_errcall(errcall);
- }
- // Error message prefix.
- public void set_errpfx(String errpfx)
- {
- if (dbenv_ != null)
- dbenv_.set_errpfx(errpfx);
- }
-
- // Feedback
- public void set_feedback(DbFeedback feedback)
- throws DbException
- {
- feedback_ = feedback;
- feedback_changed(feedback);
- }
- // (Internal)
- private native void feedback_changed(DbFeedback feedback)
- throws DbException;
- // Flags.
- public native void set_flags(/*u_int32_t*/ int flags);
- // Fill factor.
- public native void set_h_ffactor(/*unsigned*/ int h_ffactor);
- // Hash function.
- public void set_h_hash(DbHash h_hash)
- throws DbException
- {
- h_hash_ = h_hash;
- hash_changed(h_hash);
- }
- // (Internal)
- private native void hash_changed(DbHash hash)
- throws DbException;
- // Number of elements.
- public native void set_h_nelem(/*unsigned*/ int h_nelem);
- // Byte order.
- public native void set_lorder(int lorder);
- // Underlying page size.
- public native void set_pagesize(/*size_t*/ long pagesize);
- // Variable-length delimiting byte.
- public native void set_re_delim(int re_delim);
- // Length for fixed-length records.
- public native void set_re_len(/*u_int32_t*/ int re_len);
- // Fixed-length padding byte.
- public native void set_re_pad(int re_pad);
- // Source file name.
- public native void set_re_source(String re_source);
- // Extent size of Queue
- public native void set_q_extentsize(/*u_int32_t*/ int extent_size);
- // returns a DbBtreeStat or DbHashStat
- public native Object stat(int flags)
- throws DbException;
- public native int sync(int flags)
- throws DbException;
- public native void upgrade(String name, int flags)
- throws DbException;
- public native void verify(String name, String subdb,
- OutputStream outstr, int flags)
- throws DbException;
- ////////////////////////////////////////////////////////////////
- //
- // private data
- //
- private long private_dbobj_ = 0;
- private long private_info_ = 0;
- private DbEnv dbenv_ = null;
- private DbEnv constructor_env_ = null;
- private DbFeedback feedback_ = null;
- private DbAppendRecno append_recno_ = null;
- private DbBtreeCompare bt_compare_ = null;
- private DbBtreePrefix bt_prefix_ = null;
- private DbDupCompare dup_compare_ = null;
- private DbHash h_hash_ = null;
- ////////////////////////////////////////////////////////////////
- //
- // static methods and data that implement
- // loading the native library and doing any
- // extra sanity checks on startup.
- //
- private static boolean already_loaded_ = false;
- public static void load_db()
- {
- if (already_loaded_)
- return;
- // An alternate library name can be specified via a property.
- //
- String overrideLibname = System.getProperty("sleepycat.db.libname");
- if (overrideLibname != null) {
- System.loadLibrary(overrideLibname);
- }
- else {
- String os = System.getProperty("os.name");
- if (os != null && os.startsWith("Windows")) {
- // library name is "libdb_java30.dll" (for example) on Win/*
- System.loadLibrary("libdb_java" +
- DbConstants.DB_VERSION_MAJOR +
- DbConstants.DB_VERSION_MINOR);
- }
- else {
- // library name is "libdb_java-3.0.so" (for example) on UNIX
- // Note: "db_java" isn't good enough;
- // some Unixes require us to use the explicit SONAME.
- System.loadLibrary("db_java-" +
- DbConstants.DB_VERSION_MAJOR + "." +
- DbConstants.DB_VERSION_MINOR);
- }
- }
- already_loaded_ = true;
- }
- static private native void one_time_init();
- static private void check_constant(int c1, int c2)
- {
- if (c1 != c2) {
- System.err.println("Db: constant mismatch");
- System.exit(1);
- }
- }
- static {
- Db.load_db();
- // Note: constant values are stored in DbConstants, which
- // is automatically generated. Initializing constants in
- // static code insulates users from the possibility of
- // changing constants.
- //
- DB_CXX_NO_EXCEPTIONS = DbConstants.DB_CXX_NO_EXCEPTIONS;
- DB_CLIENT = DbConstants.DB_CLIENT;
- DB_XA_CREATE = DbConstants.DB_XA_CREATE;
- DB_CREATE = DbConstants.DB_CREATE;
- DB_NOMMAP = DbConstants.DB_NOMMAP;
- DB_THREAD = DbConstants.DB_THREAD;
- DB_LOCKDOWN = DbConstants.DB_LOCKDOWN;
- DB_PRIVATE = DbConstants.DB_PRIVATE;
- DB_TXN_NOWAIT = DbConstants.DB_TXN_NOWAIT;
- DB_TXN_SYNC = DbConstants.DB_TXN_SYNC;
- DB_CDB_ALLDB = DbConstants.DB_CDB_ALLDB;
- DB_EXCL = DbConstants.DB_EXCL;
- DB_RDONLY = DbConstants.DB_RDONLY;
- DB_TRUNCATE = DbConstants.DB_TRUNCATE;
- DB_UPGRADE = DbConstants.DB_UPGRADE;
- // These constants are not assigned, but rather checked.
- // Having initialized constants for these values allows
- // them to be used as case values in switch statements.
- //
- check_constant(DB_INCOMPLETE, DbConstants.DB_INCOMPLETE);
- check_constant(DB_KEYEMPTY, DbConstants.DB_KEYEMPTY);
- check_constant(DB_KEYEXIST, DbConstants.DB_KEYEXIST);
- check_constant(DB_LOCK_DEADLOCK, DbConstants.DB_LOCK_DEADLOCK);
- check_constant(DB_LOCK_NOTGRANTED, DbConstants.DB_LOCK_NOTGRANTED);
- check_constant(DB_NOSERVER, DbConstants.DB_NOSERVER);
- check_constant(DB_NOSERVER_HOME, DbConstants.DB_NOSERVER_HOME);
- check_constant(DB_NOSERVER_ID, DbConstants.DB_NOSERVER_ID);
- check_constant(DB_NOTFOUND, DbConstants.DB_NOTFOUND);
- check_constant(DB_OLD_VERSION, DbConstants.DB_OLD_VERSION);
- check_constant(DB_RUNRECOVERY, DbConstants.DB_RUNRECOVERY);
- check_constant(DB_VERIFY_BAD, DbConstants.DB_VERIFY_BAD);
- check_constant(DB_TXN_BACKWARD_ROLL, DbConstants.DB_TXN_BACKWARD_ROLL);
- check_constant(DB_TXN_FORWARD_ROLL, DbConstants.DB_TXN_FORWARD_ROLL);
- check_constant(DB_TXN_OPENFILES, DbConstants.DB_TXN_OPENFILES);
- check_constant(DB_TXN_REDO, DbConstants.DB_TXN_REDO);
- check_constant(DB_TXN_UNDO, DbConstants.DB_TXN_UNDO);
- DB_FORCE = DbConstants.DB_FORCE;
- DB_INIT_CDB = DbConstants.DB_INIT_CDB;
- DB_INIT_LOCK = DbConstants.DB_INIT_LOCK;
- DB_INIT_LOG = DbConstants.DB_INIT_LOG;
- DB_INIT_MPOOL = DbConstants.DB_INIT_MPOOL;
- DB_INIT_TXN = DbConstants.DB_INIT_TXN;
- DB_JOINENV = DbConstants.DB_JOINENV;
- DB_RECOVER = DbConstants.DB_RECOVER;
- DB_RECOVER_FATAL = DbConstants.DB_RECOVER_FATAL;
- DB_SYSTEM_MEM = DbConstants.DB_SYSTEM_MEM;
- DB_TXN_NOSYNC = DbConstants.DB_TXN_NOSYNC;
- DB_USE_ENVIRON = DbConstants.DB_USE_ENVIRON;
- DB_USE_ENVIRON_ROOT = DbConstants.DB_USE_ENVIRON_ROOT;
- DB_VERB_CHKPOINT = DbConstants.DB_VERB_CHKPOINT;
- DB_VERB_DEADLOCK = DbConstants.DB_VERB_DEADLOCK;
- DB_VERB_RECOVERY = DbConstants.DB_VERB_RECOVERY;
- DB_VERB_WAITSFOR = DbConstants.DB_VERB_WAITSFOR;
- DB_LOCK_NORUN = DbConstants.DB_LOCK_NORUN;
- DB_LOCK_DEFAULT = DbConstants.DB_LOCK_DEFAULT;
- DB_LOCK_OLDEST = DbConstants.DB_LOCK_OLDEST;
- DB_LOCK_RANDOM = DbConstants.DB_LOCK_RANDOM;
- DB_LOCK_YOUNGEST = DbConstants.DB_LOCK_YOUNGEST;
- DB_DUP = DbConstants.DB_DUP;
- DB_DUPSORT = DbConstants.DB_DUPSORT;
- DB_RECNUM = DbConstants.DB_RECNUM;
- DB_RENUMBER = DbConstants.DB_RENUMBER;
- DB_REVSPLITOFF = DbConstants.DB_REVSPLITOFF;
- DB_SNAPSHOT = DbConstants.DB_SNAPSHOT;
- DB_JOIN_NOSORT = DbConstants.DB_JOIN_NOSORT;
- DB_NOORDERCHK = DbConstants.DB_NOORDERCHK;
- DB_ORDERCHKONLY = DbConstants.DB_ORDERCHKONLY;
- DB_SALVAGE = DbConstants.DB_SALVAGE;
- DB_AGGRESSIVE = DbConstants.DB_AGGRESSIVE;
- DB_LOCK_NOWAIT = DbConstants.DB_LOCK_NOWAIT;
- DB_LOCK_CONFLICT = DbConstants.DB_LOCK_CONFLICT;
- DB_ARCH_ABS = DbConstants.DB_ARCH_ABS;
- DB_ARCH_DATA = DbConstants.DB_ARCH_DATA;
- DB_ARCH_LOG = DbConstants.DB_ARCH_LOG;
- DB_AFTER = DbConstants.DB_AFTER;
- DB_APPEND = DbConstants.DB_APPEND;
- DB_BEFORE = DbConstants.DB_BEFORE;
- DB_CACHED_COUNTS = DbConstants.DB_CACHED_COUNTS;
- DB_CHECKPOINT = DbConstants.DB_CHECKPOINT;
- DB_CONSUME = DbConstants.DB_CONSUME;
- DB_CONSUME_WAIT = DbConstants.DB_CONSUME_WAIT;
- DB_CURLSN = DbConstants.DB_CURLSN;
- DB_CURRENT = DbConstants.DB_CURRENT;
- DB_FIRST = DbConstants.DB_FIRST;
- DB_FLUSH = DbConstants.DB_FLUSH;
- DB_GET_BOTH = DbConstants.DB_GET_BOTH;
- DB_GET_RECNO = DbConstants.DB_GET_RECNO;
- DB_JOIN_ITEM = DbConstants.DB_JOIN_ITEM;
- DB_KEYFIRST = DbConstants.DB_KEYFIRST;
- DB_KEYLAST = DbConstants.DB_KEYLAST;
- DB_LAST = DbConstants.DB_LAST;
- DB_NEXT = DbConstants.DB_NEXT;
- DB_NEXT_DUP = DbConstants.DB_NEXT_DUP;
- DB_NEXT_NODUP = DbConstants.DB_NEXT_NODUP;
- DB_NODUPDATA = DbConstants.DB_NODUPDATA;
- DB_NOOVERWRITE = DbConstants.DB_NOOVERWRITE;
- DB_NOSYNC = DbConstants.DB_NOSYNC;
- DB_POSITION = DbConstants.DB_POSITION;
- DB_PREV = DbConstants.DB_PREV;
- DB_PREV_NODUP = DbConstants.DB_PREV_NODUP;
- DB_RECORDCOUNT = DbConstants.DB_RECORDCOUNT;
- DB_RMW = DbConstants.DB_RMW;
- DB_SET = DbConstants.DB_SET;
- DB_SET_RANGE = DbConstants.DB_SET_RANGE;
- DB_SET_RECNO = DbConstants.DB_SET_RECNO;
- DB_WRITECURSOR = DbConstants.DB_WRITECURSOR;
- DB_DBT_MALLOC = DbConstants.DB_DBT_MALLOC;
- DB_DBT_PARTIAL = DbConstants.DB_DBT_PARTIAL;
- DB_DBT_REALLOC = DbConstants.DB_DBT_REALLOC;
- DB_DBT_USERMEM = DbConstants.DB_DBT_USERMEM;
- one_time_init();
- }
- }
- // end of Db.java