Berkeley DB: DbMpoolFile::set
ee,hash,hashing,transaction,transactions,locking,logging,access method,access me
thods,java,C,C++">
DbMpoolFile::set
#include <db_cxx.h>
int
DbMpoolFile::set(void *pgaddr, u_int32_t flags);
Description
The DbMpoolFile::set method sets the flags associated with the page referenced
by pgaddr without unpinning it from the pool. The pgaddr
argument must be an address previously returned by DbMpoolFile::get.
The flags argument is specified by logically OR'ing together one or more
of the following values:
- DB_MPOOL_CLEAN
- Clear any previously set modification information (i.e., 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::set
method either returns errno or throws an exception that
encapsulates an errno on failure, and 0 on success.
Errors
If a fatal error occurs in Berkeley DB, the DbMpoolFile::set method may fail and either
return DB_RUNRECOVERY or throw an exception encapsulating DB_RUNRECOVERY,
at which point all subsequent database calls will also fail in the same
way. Methods marked as returning errno will, by default, throw
an exception that encapsulates the error information. The default error
behavior can be changed, see DbException.
The DbMpoolFile::set
method may fail and throw an exception
for any of the errors specified for the following Berkeley DB and C library
functions:
abort(3),
fcntl(3),
fflush(3),
fprintf(3),
getpid(3),
vfprintf(3),
and
vsnprintf(3).
In addition, the DbMpoolFile::set
method may fail and throw an exception
or return errno
for the following conditions:
- EINVAL
- An invalid flag value or parameter was specified.
Class
DbMpoolFile
See Also
DbMpoolFile::close,
DbMpoolFile::get,
DbMpoolFile::open,
DbMpoolFile::put,
DbMpoolFile::set
and
DbMpoolFile::sync.
|