mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-16 09:06:25 +00:00
103 lines
5.5 KiB
HTML
103 lines
5.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>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">
|
||
<p>Library Version 11.2.5.3</p>
|
||
</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>
|