2011-09-13 17:44:24 +00:00
|
|
|
|
<?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>Windows notes</title>
|
|
|
|
|
<link rel="stylesheet" href="gettingStarted.css" type="text/css" />
|
|
|
|
|
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
|
|
|
|
|
<link rel="start" href="index.html" title="Berkeley DB Installation and Build Guide" />
|
|
|
|
|
<link rel="up" href="build_win.html" title="Chapter 5. Building Berkeley DB for Windows" />
|
|
|
|
|
<link rel="prev" href="build_win_test.html" title="Running the test suite under Windows" />
|
|
|
|
|
<link rel="next" href="build_win_faq.html" title="Windows FAQ" />
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<div xmlns="" class="navheader">
|
|
|
|
|
<div class="libver">
|
2012-11-14 21:35:20 +00:00
|
|
|
|
<p>Library Version 11.2.5.3</p>
|
2011-09-13 17:44:24 +00:00
|
|
|
|
</div>
|
|
|
|
|
<table width="100%" summary="Navigation header">
|
|
|
|
|
<tr>
|
|
|
|
|
<th colspan="3" align="center">Windows notes</th>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td width="20%" align="left"><a accesskey="p" href="build_win_test.html">Prev</a> </td>
|
|
|
|
|
<th width="60%" align="center">Chapter 5.
|
|
|
|
|
Building Berkeley DB for Windows
|
|
|
|
|
</th>
|
|
|
|
|
<td width="20%" align="right"> <a accesskey="n" href="build_win_faq.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="build_win_notes"></a>Windows notes</h2>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="orderedlist">
|
|
|
|
|
<p>If a system memory environment is closed by all processes, subsequent
|
|
|
|
|
attempts to open it will return an error. To successfully open a
|
|
|
|
|
transactional environment in this state, recovery must be run by the
|
|
|
|
|
next process to open the environment. For non-transactional
|
|
|
|
|
environments, applications should remove the existing environment and
|
|
|
|
|
then create a new database environment.</p>
|
|
|
|
|
<ol type="1">
|
|
|
|
|
<li>Berkeley DB does not support the Windows/95, Windows/98 or
|
|
|
|
|
Windows/ME platforms.</li>
|
|
|
|
|
<li>On Windows, system paging file memory is freed on last close. For this
|
|
|
|
|
reason, multiple processes sharing a database environment created using
|
|
|
|
|
the <a href="../api_reference/C/envopen.html#envopen_DB_SYSTEM_MEM" class="olink">DB_SYSTEM_MEM</a> flag must arrange for at least one process to
|
|
|
|
|
always have the environment open, or alternatively that any process
|
|
|
|
|
joining the environment be prepared to re-create it.</li>
|
|
|
|
|
<li>When using the <a href="../api_reference/C/envopen.html#envopen_DB_SYSTEM_MEM" class="olink">DB_SYSTEM_MEM</a> flag, Berkeley DB shared regions are
|
|
|
|
|
created without ACLs, which means that the regions are only accessible
|
|
|
|
|
to a single user. If wider sharing is appropriate (for example, both
|
|
|
|
|
user applications and Windows/NT service applications need to access
|
|
|
|
|
the Berkeley DB regions), the Berkeley DB code will need to be modified to create
|
|
|
|
|
the shared regions with the correct ACLs. Alternatively, by not
|
|
|
|
|
specifying the <a href="../api_reference/C/envopen.html#envopen_DB_SYSTEM_MEM" class="olink">DB_SYSTEM_MEM</a> flag, filesystem-backed regions
|
|
|
|
|
will be created instead, and the permissions on those files may be
|
|
|
|
|
directly specified through the <a href="../api_reference/C/envopen.html" class="olink">DB_ENV->open()</a> method.</li>
|
|
|
|
|
<li>Applications that operate on wide character strings can use the
|
|
|
|
|
Windows function WideCharToMultiByte with the code page CP_UTF8 to
|
|
|
|
|
convert paths to the form expected by Berkeley DB. Internally, Berkeley DB calls
|
|
|
|
|
MultiByteToWideChar on paths before calling Windows functions.</li>
|
|
|
|
|
<li>Various Berkeley DB methods take a <span class="bold"><strong>mode</strong></span> argument, which is intended
|
|
|
|
|
to specify the underlying file permissions for created files. Berkeley DB
|
|
|
|
|
currently ignores this argument on Windows systems.
|
|
|
|
|
<p>It would be possible to construct a set of security attributes to pass to
|
|
|
|
|
<span class="bold"><strong>CreateFile</strong></span> that accurately represents the mode. In the worst
|
|
|
|
|
case, this would involve looking up user and all group names, and creating
|
|
|
|
|
an entry for each. Alternatively, we could call the <span class="bold"><strong>_chmod</strong></span>
|
|
|
|
|
(partial emulation) function after file creation, although this leaves us
|
|
|
|
|
with an obvious race.</p><p>Practically speaking, however, these efforts would be largely meaningless
|
|
|
|
|
on a FAT file system, which only has a "readable" and "writable" flag,
|
|
|
|
|
applying to all users.</p></li>
|
|
|
|
|
</ol>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="navfooter">
|
|
|
|
|
<hr />
|
|
|
|
|
<table width="100%" summary="Navigation footer">
|
|
|
|
|
<tr>
|
|
|
|
|
<td width="40%" align="left"><a accesskey="p" href="build_win_test.html">Prev</a> </td>
|
|
|
|
|
<td width="20%" align="center">
|
|
|
|
|
<a accesskey="u" href="build_win.html">Up</a>
|
|
|
|
|
</td>
|
|
|
|
|
<td width="40%" align="right"> <a accesskey="n" href="build_win_faq.html">Next</a></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td width="40%" align="left" valign="top">Running the test suite under Windows </td>
|
|
|
|
|
<td width="20%" align="center">
|
|
|
|
|
<a accesskey="h" href="index.html">Home</a>
|
|
|
|
|
</td>
|
|
|
|
|
<td width="40%" align="right" valign="top"> Windows FAQ</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|