summaryrefslogtreecommitdiff
path: root/db/docs/api_cxx/rep_start.html
blob: 3be75a427a06d5dfd4b80e01b0304cf0ece5f898 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<!--Id: rep_start.so,v 1.2 2001/10/25 14:08:43 bostic Exp -->
<!--Copyright 1997-2001 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<html>
<head>
<title>Berkeley DB: DbEnv::rep_start</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 width="100%"><tr valign=top>
<td>
<h1>DbEnv::rep_start</h1>
</td>
<td align=right>
<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>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include &lt;db_cxx.h&gt;
<p>
int
DbEnv::rep_start(Dbt *cdata, u_int32_t flags);
</pre></h3>
<h1>Description</h1>
<p>The DbEnv::rep_start method configures the database environment as a client
or master in a group of replicated database environments.  Replication
master environments are the only database environments where replicated
databases may be modified.  Replication client environments are
read-only as long as they are clients.  Replication client environments
may be upgraded to be replication master environments in the case that
the current master fails or there is no master present.
<p>The enclosing database environment must already have been opened by
calling the <a href="../api_cxx/env_open.html">DbEnv::open</a> method and must already have been configured
to send replication messages by calling the <a href="../api_cxx/rep_transport.html">DbEnv::set_rep_transport</a> method.
<p>The <b>cdata</b> parameter is an opaque data item that is sent over
the communication infrastructure when the client or master comes online
(see <a href="../ref/rep/newsite.html">Connecting to a new site</a> for
more information).  If no such information is useful, <b>cdata</b>
should be NULL.
<p>The <b>flags</b> value must be set to one of the following values:
<p><dl compact>
<p><dt><a name="DB_REP_CLIENT">DB_REP_CLIENT</a><dd>Configure the environment as a replication client.
<p><dt><a name="DB_REP_LOGSONLY">DB_REP_LOGSONLY</a><dd>Configure the environment as a log files-only client.
<p><dt><a name="DB_REP_MASTER">DB_REP_MASTER</a><dd>Configure the environment as a replication master.
</dl>
<p>The DbEnv::rep_start 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 DbEnv::rep_start method may fail and throw an exception or return a non-zero error for the following conditions:
<p><dl compact>
<p><dt>EINVAL<dd>An invalid flag value or parameter was specified.
<p>The environment was not already configured to communicate with a
replication group by a call to <a href="../api_cxx/rep_transport.html">DbEnv::set_rep_transport</a>.
<p>The environment was not already opened.
</dl>
<p>The DbEnv::rep_start 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 DbEnv::rep_start 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.
<h1>See Also</h1>
<a href="../api_cxx/rep_start.html">DbEnv::rep_start</a>,
<a href="../api_cxx/rep_elect.html">DbEnv::rep_elect</a>,
<a href="../api_cxx/rep_message.html">DbEnv::rep_process_message</a>,
and
<a href="../api_cxx/rep_transport.html">DbEnv::set_rep_transport</a>.
</tt>
<table width="100%"><tr><td><br></td><td align=right>
<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>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>