|
DbMpoolFile::put
|
|
#include <db_cxx.h>
int
DbMpoolFile::put(void *pgaddr, u_int32_t flags);
Description
The DbMpoolFile::put method indicates that the page to which pgaddr
refers can be evicted from the pool. The pgaddr argument must
be an address previously returned by DbMpoolFile::get.
The flags value must be set to 0 or by bitwise inclusively OR'ing together one or
more of the following values:
- DB_MPOOL_CLEAN
- Clear any previously set modification information (that is, don't bother
writing the page back to the source file).
- DB_MPOOL_DIRTY
- The page has been modified and must be written to the source file before
being evicted from the pool.
- DB_MPOOL_DISCARD
- The page is unlikely to be useful in the near future, and should be
discarded before other pages in the pool.
The DB_MPOOL_CLEAN and DB_MPOOL_DIRTY flags are
mutually exclusive.
The DbMpoolFile::put method either returns a non-zero error value or throws an exception that
encapsulates a non-zero error value on failure, and returns 0 on success.
Errors
The DbMpoolFile::put method may fail and throw an exception or return a non-zero error for the following conditions:
- EACCES
- The DB_MPOOL_DIRTY flag was set and the source file was not
opened for writing.
- EINVAL
- An invalid flag value or parameter was specified.
The pgaddr argument does not refer to a page returned by
DbMpoolFile::get.
More than one of the DB_MPOOL_CLEAN and DB_MPOOL_DIRTY
flags was set.
The DbMpoolFile::put method may fail and throw an exception or return a non-zero error for errors specified for other Berkeley DB and C library or system methods.
If a catastrophic error has occurred, the DbMpoolFile::put method may fail and either
return DB_RUNRECOVERY or throw an exception encapsulating
DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail
in the same way.
Class
DbEnv, DbMpoolFile
See Also
DbEnv::set_cachesize,
DbEnv::set_mp_mmapsize,
DbEnv::memp_fcreate,
DbMpoolFile::close,
DbMpoolFile::get,
DbMpoolFile::open,
DbMpoolFile::put,
DbMpoolFile::set,
DbMpoolFile::sync,
DbEnv::memp_register,
DbMpoolFile::set_clear_len,
DbMpoolFile::set_fileid,
DbMpoolFile::set_ftype,
DbMpoolFile::set_lsn_offset,
DbMpoolFile::set_pgcookie,
DbEnv::memp_stat,
DbEnv::memp_sync,
and
DbEnv::memp_trickle.
Copyright Sleepycat Software
|