2
<!--Copyright 1997-2002 by Sleepycat Software, Inc.-->
3
<!--All rights reserved.-->
4
<!--See the file LICENSE for redistribution information.-->
7
<title>Berkeley DB: DbEnv::set_tmp_dir</title>
8
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
9
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
12
<a name="2"><!--meow--></a>
13
<table width="100%"><tr valign=top>
15
<h1>DbEnv::set_tmp_dir</h1>
18
<a href="../api_cxx/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
23
#include <db_cxx.h>
26
DbEnv::set_tmp_dir(const char *dir);
29
<a name="3"><!--meow--></a>
30
<p>The path of a directory to be used as the location of temporary files.
31
The files created to back in-memory access method databases will be
32
created relative to this path. These temporary files can be quite large,
33
depending on the size of the database.
34
<p>If no directories are specified, the following alternatives are checked
35
in the specified order. The first existing directory path is used for
38
<p><li>The value of the environment variable <b>TMPDIR</b>.
39
<li>The value of the environment variable <b>TEMP</b>.
40
<li>The value of the environment variable <b>TMP</b>.
41
<li>The value of the environment variable <b>TempFolder</b>.
42
<li>The value returned by the GetTempPath interface.
43
<li>The directory <b>/var/tmp</b>.
44
<li>The directory <b>/usr/tmp</b>.
45
<li>The directory <b>/temp</b>.
46
<li>The directory <b>/tmp</b>.
47
<li>The directory <b>C:/temp</b>.
48
<li>The directory <b>C:/tmp</b>.
50
<p>Note: environment variables are only checked if one of the
51
<a href="../api_cxx/env_open.html#DB_USE_ENVIRON">DB_USE_ENVIRON</a> or <a href="../api_cxx/env_open.html#DB_USE_ENVIRON_ROOT">DB_USE_ENVIRON_ROOT</a> flags were
53
<p>Note: the GetTempPath interface is only checked on Win/32 platforms.
54
<p>The DbEnv::set_tmp_dir method configures operations performed using the specified
55
<a href="../api_cxx/env_class.html">DbEnv</a> handle, not all operations performed on the underlying
57
<p>The DbEnv::set_tmp_dir interface may not be called after the <a href="../api_cxx/env_open.html">DbEnv::open</a>
59
If the database environment already exists when
60
<a href="../api_cxx/env_open.html">DbEnv::open</a> is called, the information specified to DbEnv::set_tmp_dir
61
must be consistent with the existing environment or corruption can
63
<p>The DbEnv::set_tmp_dir method either returns a non-zero error value or throws an exception that
64
encapsulates a non-zero error value on failure, and returns 0 on success.
65
<p>The database environment's temporary file directory may also be set using the environment's
66
<b>DB_CONFIG</b> file. The syntax of the entry in that file is a
67
single line with the string "set_tmp_dir", one or more whitespace characters,
68
and the directory name. Because the <b>DB_CONFIG</b> file is read when the database
69
environment is opened, it will silently overrule configuration done
72
<p>The DbEnv::set_tmp_dir method may fail and throw an exception or return a non-zero error for the following conditions:
74
<p><dt>EINVAL<dd>An invalid flag value or parameter was specified.
75
<p>Called after <a href="../api_cxx/env_open.html">DbEnv::open</a> was called.
77
<p>The DbEnv::set_tmp_dir 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.
78
If a catastrophic error has occurred, the DbEnv::set_tmp_dir method may fail and
79
either return <a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a> or throw a
80
<a href="../api_cxx/runrec_class.html">DbRunRecoveryException</a>,
81
in which case all subsequent Berkeley DB calls will fail in the same way.
83
<a href="../api_cxx/env_class.html">DbEnv</a>
85
<a href="../api_cxx/env_list.html">Database Environments and Related Methods</a>
87
<table width="100%"><tr><td><br></td><td align=right>
88
<a href="../api_cxx/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
90
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>