Berkeley DB: DbMpoolFile::set
Description: Berkeley DB: An embedded database programmatic toolkit.
Keywords: embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,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 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 (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 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::set method may fail and throw an exception or return a non-zero error for the following conditions:

EINVAL
  An invalid flag value or parameter was specified.

The DbMpoolFile::set 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::set 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.

### Classes

DbEnv, DbMpoolFile

# See Also

DbEnv::set_mp_mmapsize, DbMpoolFile::close, DbMpoolFile::get, DbMpoolFile::open, DbMpoolFile::put, DbMpoolFile::set, DbMpoolFile::sync, DbEnv::memp_register, DbEnv::memp_stat, DbEnv::memp_sync and DbEnv::memp_trickle.`

Copyright Sleepycat Software