mirror of
https://github.com/MariaDB/server.git
synced 2025-11-09 11:41:36 +03:00
102 lines
5.0 KiB
HTML
102 lines
5.0 KiB
HTML
<!--$Id: memp_fget.so,v 10.23 2000/12/04 18:05:39 bostic Exp $-->
|
|
<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
|
|
<!--All rights reserved.-->
|
|
<html>
|
|
<head>
|
|
<title>Berkeley DB: DbMpoolFile::get</title>
|
|
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
|
|
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
|
|
</head>
|
|
<body bgcolor=white>
|
|
<a name="2"><!--meow--></a>
|
|
<table><tr valign=top>
|
|
<td>
|
|
<h1>DbMpoolFile::get</h1>
|
|
</td>
|
|
<td width="1%">
|
|
<a href="../api_cxx/cxx_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
|
|
</td></tr></table>
|
|
<hr size=1 noshade>
|
|
<tt>
|
|
<h3><pre>
|
|
#include <db_cxx.h>
|
|
<p>
|
|
int
|
|
DbMpoolFile::get(db_pgno_t *pgnoaddr, u_int32_t flags, void **pagep);
|
|
</pre></h3>
|
|
<h1>Description</h1>
|
|
<p>The DbMpoolFile::get method copies a pointer to the page with the page
|
|
number specified by <b>pgnoaddr</b>, from the source file in the
|
|
<a href="../api_cxx/mempfile_class.html">DbMpoolFile</a>, into the memory location referenced by <b>pagep</b>.
|
|
If the page does not exist or cannot be retrieved, DbMpoolFile::get will
|
|
fail.
|
|
<p><b>Page numbers begin at 0, i.e., the first page in the file is page number
|
|
0, not page number 1.</b>
|
|
<p>The returned page is <b>size_t</b> type aligned.
|
|
<p>The <b>flags</b> value must be set to 0 or by bitwise inclusively <b>OR</b>'ing together one or more
|
|
of the following values.
|
|
<p><dl compact>
|
|
<p><dt><a name="DB_MPOOL_CREATE">DB_MPOOL_CREATE</a><dd>If the specified page does not exist, create it. In this case, the
|
|
<a href="memp_register.html#pgin">pgin</a> method, if specified, is
|
|
called.
|
|
<p><dt><a name="DB_MPOOL_LAST">DB_MPOOL_LAST</a><dd>Return the last page of the source file and copy its page number
|
|
to the location referenced by <b>pgnoaddr</b>.
|
|
<p><dt><a name="DB_MPOOL_NEW">DB_MPOOL_NEW</a><dd>Create a new page in the file and copy its page number to the location
|
|
referenced by <b>pgnoaddr</b>. In this case, the
|
|
<a href="memp_register.html#pgin">pgin</a> method, if specified, is
|
|
<b>not</b> called.
|
|
</dl>
|
|
<p>The DB_MPOOL_CREATE, DB_MPOOL_LAST and
|
|
DB_MPOOL_NEW flags are mutually exclusive.
|
|
<p>Created pages have all their bytes set to 0, unless otherwise specified
|
|
when the file was opened.
|
|
<p>All pages returned by DbMpoolFile::get will be retained (i.e.
|
|
<i>pinned</i>), in the pool until a subsequent call to
|
|
<a href="../api_cxx/memp_fput.html">DbMpoolFile::put</a>.
|
|
<p>The DbMpoolFile::get 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.
|
|
<h1>Errors</h1>
|
|
<p>The DbMpoolFile::get method may fail and throw an exception or return a non-zero error for the following conditions:
|
|
<p><dl compact>
|
|
<p><dt>EAGAIN<dd>The page reference count has overflowed. (This should never happen unless
|
|
there's a bug in the application.)
|
|
</dl>
|
|
<p><dl compact>
|
|
<p><dt>EINVAL<dd>An invalid flag value or parameter was specified.
|
|
<p>The DB_MPOOL_NEW flag was set and the source file was not opened for writing.
|
|
<p>More than one of DB_MPOOL_CREATE, DB_MPOOL_LAST and DB_MPOOL_NEW was set.
|
|
</dl>
|
|
<p><dl compact>
|
|
<p><dt>EIO<dd>The requested page does not exist and DB_MPOOL_CREATE was not set.
|
|
</dl>
|
|
<p><dl compact>
|
|
<p><dt>ENOMEM<dd>The cache is full and no more pages will fit in the pool.
|
|
</dl>
|
|
<p>The DbMpoolFile::get 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::get method may fail and either
|
|
return <a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a> or throw an exception encapsulating
|
|
<a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a>, in which case all subsequent Berkeley DB calls will fail
|
|
in the same way.
|
|
<h3>Classes</h3>
|
|
<a href="../api_cxx/dbenv_class.html">DbEnv</a>, <a href="../api_cxx/mempfile_class.html">DbMpoolFile</a>
|
|
<h1>See Also</h1>
|
|
<a href="../api_cxx/env_set_mp_mmapsize.html">DbEnv::set_mp_mmapsize</a>,
|
|
<a href="../api_cxx/memp_fclose.html">DbMpoolFile::close</a>,
|
|
<a href="../api_cxx/memp_fget.html">DbMpoolFile::get</a>,
|
|
<a href="../api_cxx/memp_fopen.html">DbMpoolFile::open</a>,
|
|
<a href="../api_cxx/memp_fput.html">DbMpoolFile::put</a>,
|
|
<a href="../api_cxx/memp_fset.html">DbMpoolFile::set</a>,
|
|
<a href="../api_cxx/memp_fsync.html">DbMpoolFile::sync</a>,
|
|
<a href="../api_cxx/memp_register.html">DbEnv::memp_register</a>,
|
|
<a href="../api_cxx/memp_stat.html">DbEnv::memp_stat</a>,
|
|
<a href="../api_cxx/memp_sync.html">DbEnv::memp_sync</a>
|
|
and
|
|
<a href="../api_cxx/memp_trickle.html">DbEnv::memp_trickle</a>.
|
|
</tt>
|
|
<table><tr><td><br></td><td width="1%">
|
|
<a href="../api_cxx/cxx_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
|
|
</td></tr></table>
|
|
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
|
|
</body>
|
|
</html>
|