mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-16 17:16:25 +00:00
169 lines
7.5 KiB
HTML
169 lines
7.5 KiB
HTML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||
<title>DB_MPOOLFILE->set_fileid()</title>
|
||
<link rel="stylesheet" href="apiReference.css" type="text/css" />
|
||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
|
||
<link rel="start" href="index.html" title="Berkeley DB C API Reference" />
|
||
<link rel="up" href="memp.html" title="Chapter 8. The DB_MPOOLFILE Handle" />
|
||
<link rel="prev" href="mempset_clear_len.html" title="DB_MPOOLFILE->set_clear_len()" />
|
||
<link rel="next" href="mempset_flags.html" title="DB_MPOOLFILE->set_flags()" />
|
||
</head>
|
||
<body>
|
||
<div xmlns="" class="navheader">
|
||
<div class="libver">
|
||
<p>Library Version 11.2.5.3</p>
|
||
</div>
|
||
<table width="100%" summary="Navigation header">
|
||
<tr>
|
||
<th colspan="3" align="center">DB_MPOOLFILE->set_fileid()</th>
|
||
</tr>
|
||
<tr>
|
||
<td width="20%" align="left"><a accesskey="p" href="mempset_clear_len.html">Prev</a> </td>
|
||
<th width="60%" align="center">Chapter 8.
|
||
The DB_MPOOLFILE Handle
|
||
</th>
|
||
<td width="20%" align="right"> <a accesskey="n" href="mempset_flags.html">Next</a></td>
|
||
</tr>
|
||
</table>
|
||
<hr />
|
||
</div>
|
||
<div class="sect1" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h2 class="title" style="clear: both"><a id="mempset_fileid"></a>DB_MPOOLFILE->set_fileid()</h2>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<pre class="programlisting">#include <db.h>
|
||
|
||
int
|
||
DB_MPOOLFILE->set_fileid(DB_MPOOLFILE *mpf, u_int8_t *fileid); </pre>
|
||
<p>
|
||
The <code class="methodname">DB_MPOOLFILE->set_fileid()</code> method specifies a unique identifier
|
||
for the file. (The shared memory buffer pool functions must be able to
|
||
uniquely identify files in order that multiple processes wanting to
|
||
share a file will correctly identify it in the cache.)
|
||
</p>
|
||
<p>
|
||
On most UNIX/POSIX systems, the <span class="bold"><strong>fileid</strong></span> field will not need
|
||
to be set, and the memory pool functions will use the file's device and inode numbers for
|
||
this purpose. On Windows systems, the memory pool functions use the values returned by
|
||
<code class="methodname">GetFileInformationByHandle()</code> by default — these values are
|
||
known to be constant between processes and over reboot in the case of NTFS (in which they
|
||
are the NTFS MFT indices).
|
||
</p>
|
||
<p>
|
||
On other filesystems (for example, FAT or NFS), these default values
|
||
are not necessarily unique between processes or across system reboots.
|
||
<span class="bold"><strong>Applications wanting to maintain a shared
|
||
cache between processes or across system reboots, in which the
|
||
cache contains pages from files stored on such filesystems, must
|
||
specify a unique file identifier using the <code class="methodname">DB_MPOOLFILE->set_fileid()</code>
|
||
method, and each process opening the file must provide the same unique
|
||
identifier.</strong></span>
|
||
</p>
|
||
<p>
|
||
This call should not be necessary for most applications.
|
||
Specifically, it is not necessary if the cache is not shared
|
||
between processes and is reinstantiated after each system reboot, if
|
||
the application is using the Berkeley DB access methods instead of
|
||
calling the pool functions explicitly, or if the files in the
|
||
cache are stored on filesystems in which the default values as
|
||
described previously are invariant between process and across system
|
||
reboots.
|
||
</p>
|
||
<p>
|
||
The <code class="methodname">DB_MPOOLFILE->set_fileid()</code> method configures a file in the
|
||
cache, not only operations performed using the specified
|
||
<a class="link" href="memp.html" title="Chapter 8. The DB_MPOOLFILE Handle">DB_MPOOLFILE</a> handle.
|
||
</p>
|
||
<p>
|
||
The <code class="methodname">DB_MPOOLFILE->set_fileid()</code> method may not be called after the
|
||
<a class="xref" href="mempfopen.html" title="DB_MPOOLFILE->open()">DB_MPOOLFILE->open()</a>
|
||
method is called. If the mpool file already exists when
|
||
<code class="methodname">DB_MPOOLFILE->open()</code> is called, the information
|
||
specified to <code class="methodname">DB_MPOOLFILE->set_fileid()</code> must be
|
||
the same as that historically used to create the mpool file or
|
||
corruption can occur.
|
||
</p>
|
||
<p>
|
||
The <code class="methodname">DB_MPOOLFILE->set_fileid()</code> <span>
|
||
<span>
|
||
method returns a non-zero error value on failure and 0 on success.
|
||
</span>
|
||
|
||
</span>
|
||
</p>
|
||
<div class="sect2" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h3 class="title"><a id="idp61547096"></a>Parameters</h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sect3" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h4 class="title"><a id="idp61546192"></a>fileid</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
The <span class="bold"><strong>fileid</strong></span> parameter is the unique
|
||
identifier for the file. Unique file identifiers must be a
|
||
<code class="literal">DB_FILE_ID_LEN</code> length array of bytes.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<div class="sect2" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h3 class="title"><a id="idp61540776"></a>Class</h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
<a class="link" href="env.html" title="Chapter 5. The DB_ENV Handle">DB_ENV</a>, <a class="link" href="memp.html" title="Chapter 8. The DB_MPOOLFILE Handle">DB_MPOOLFILE</a>
|
||
</p>
|
||
</div>
|
||
<div class="sect2" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h3 class="title"><a id="idp61550296"></a>See Also</h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
<a class="xref" href="memp.html#memplist" title="Memory Pools and Related Methods">Memory Pools and Related Methods</a>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<div class="navfooter">
|
||
<hr />
|
||
<table width="100%" summary="Navigation footer">
|
||
<tr>
|
||
<td width="40%" align="left"><a accesskey="p" href="mempset_clear_len.html">Prev</a> </td>
|
||
<td width="20%" align="center">
|
||
<a accesskey="u" href="memp.html">Up</a>
|
||
</td>
|
||
<td width="40%" align="right"> <a accesskey="n" href="mempset_flags.html">Next</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td width="40%" align="left" valign="top">DB_MPOOLFILE->set_clear_len() </td>
|
||
<td width="20%" align="center">
|
||
<a accesskey="h" href="index.html">Home</a>
|
||
</td>
|
||
<td width="40%" align="right" valign="top"> DB_MPOOLFILE->set_flags()</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</body>
|
||
</html>
|