summaryrefslogtreecommitdiff
path: root/bdb/docs/api_java/db_put.html
blob: 41fe6dcff9e63caa91aa28d0c9b97cacd7563cd5 (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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<!--$Id: db_put.so,v 10.34 2000/09/16 22:27:56 bostic Exp $-->
<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<html>
<head>
<title>Berkeley DB: Db.put</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><tr valign=top>
<td>
<h1>Db.put</h1>
</td>
<td width="1%">
<a href="../api_java/java_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
import com.sleepycat.db.*;
<p>
public int put(DbTxn txnid, Dbt key, Dbt data, int flags)
	throws DbException;
</pre></h3>
<h1>Description</h1>
<p>The Db.put method stores key/data pairs in the database.  The default
behavior of the Db.put function is to enter the new key/data
pair, replacing any previously existing key if duplicates are disallowed,
or adding a duplicate data item if duplicates are allowed.  If the database
supports duplicates, the Db.put method adds the new data value at the
end of the duplicate set.  If the database supports sorted duplicates,
the new data value is inserted at the correct sorted location.
<p>If the file is being accessed under transaction protection, the
<b>txnid</b> parameter is a transaction ID returned from
<a href="../api_java/txn_begin.html">DbEnv.txn_begin</a>, otherwise, NULL.
<p>The <b>flags</b> parameter must be set to 0 or one of the following
values:
<p><dl compact>
<p><dt><a name="Db.DB_APPEND">Db.DB_APPEND</a><dd>Append the key/data pair to the end of the database.  For the
Db.DB_APPEND flag to be specified, the underlying database must be
a Queue or Recno database.  The record number allocated to the record is
returned in the specified <b>key</b>.
<p>There is a minor behavioral difference between the Recno and Queue access
methods for the Db.DB_APPEND flag.  If a transaction enclosing a
Db.put operation with the Db.DB_APPEND flag aborts, the
record number may be decremented (and later re-allocated by a subsequent
Db.DB_APPEND operation) by the Recno access method, but will not be
decremented or re-allocated by the Queue access method.
<p><dt><a name="Db.DB_NODUPDATA">Db.DB_NODUPDATA</a><dd>In the case of the Btree and Hash access methods, enter the new key/data
pair only if it does not already appear in the database.  If the
key/data pair already appears in the database, <a href="../api_java/dbc_put.html#DB_KEYEXIST">Db.DB_KEYEXIST</a> is
returned.  The Db.DB_NODUPDATA flag may only be specified if the
underlying database has been configured to support sorted duplicates.
<p>The Db.DB_NODUPDATA flag may not be specified to the Queue or Recno
access methods.
<p><dt><a name="Db.DB_NOOVERWRITE">Db.DB_NOOVERWRITE</a><dd>Enter the new key/data pair only if the key does not already appear in
the database.  If the key already appears in the database,
<a href="../api_java/dbc_put.html#DB_KEYEXIST">Db.DB_KEYEXIST</a> is returned.  Even if the database allows duplicates,
a call to Db.put with the Db.DB_NOOVERWRITE flag set will
fail if the key already exists in the database.
</dl>
<p>Otherwise, the Db.put method throws an exception that encapsulates a non-zero error value on
failure.
<h1>Errors</h1>
<p>The Db.put method may fail and throw an exception encapsulating a non-zero error for the following conditions:
<p><dl compact>
<p><dt>EACCES<dd>An attempt was made to modify a read-only database.
</dl>
<p><dl compact>
<p><dt>EINVAL<dd>An invalid flag value or parameter was specified.
<p>A record number of 0 was specified.
<p>An attempt was made to add a record to a fixed-length database that was too
large to fit.
<p>An attempt was made to do a partial put.
</dl>
<p><dl compact>
<p><dt>ENOSPC<dd>A btree exceeded the maximum btree depth (255).
</dl>
<p>If the operation was selected to resolve a deadlock, the
Db.put method will fail and
throw a <a href="../api_java/deadlock_class.html">DbDeadlockException</a> exception.
<p>The Db.put method may fail and throw an exception for errors specified for other Berkeley DB and C library or system methods.
If a catastrophic error has occurred, the Db.put method may fail and throw
a <a href="../api_java/runrec_class.html">DbRunRecoveryException</a>, in which case all subsequent Berkeley DB calls
will fail in the same way.
<h3>Class</h3>
<a href="../api_java/db_class.html">Db</a>
<h1>See Also</h1>
<a href="../api_java/db_close.html">Db.close</a>,
<a href="../api_java/db_cursor.html">Db.cursor</a>,
<a href="../api_java/db_del.html">Db.del</a>,
<a href="../api_java/db_fd.html">Db.fd</a>,
<a href="../api_java/db_get.html">Db.get</a>,
<a href="../api_java/db_get_byteswapped.html">Db.get_byteswapped</a>,
<a href="../api_java/db_get_type.html">Db.get_type</a>,
<a href="../api_java/db_join.html">Db.join</a>,
<a href="../api_java/db_key_range.html">Db.key_range</a>,
<a href="../api_java/db_open.html">Db.open</a>,
<a href="../api_java/db_put.html">Db.put</a>,
<a href="../api_java/db_remove.html">Db.remove</a>,
<a href="../api_java/db_set_bt_minkey.html">Db.set_bt_minkey</a>,
<a href="../api_java/db_set_cachesize.html">Db.set_cachesize</a>,
<a href="../api_java/db_set_errcall.html">Db.set_errcall</a>,
<a href="../api_java/db_set_errpfx.html">Db.set_errpfx</a>,
<a href="../api_java/db_set_flags.html">Db.set_flags</a>,
<a href="../api_java/db_set_h_ffactor.html">Db.set_h_ffactor</a>,
<a href="../api_java/db_set_h_nelem.html">Db.set_h_nelem</a>,
<a href="../api_java/db_set_lorder.html">Db.set_lorder</a>,
<a href="../api_java/db_set_pagesize.html">Db.set_pagesize</a>,
<a href="../api_java/db_set_q_extentsize.html">Db.set_q_extentsize</a>,
<a href="../api_java/db_set_re_delim.html">Db.set_re_delim</a>,
<a href="../api_java/db_set_re_len.html">Db.set_re_len</a>,
<a href="../api_java/db_set_re_pad.html">Db.set_re_pad</a>,
<a href="../api_java/db_set_re_source.html">Db.set_re_source</a>,
<a href="../api_java/db_stat.html">Db.stat</a>,
<a href="../api_java/db_sync.html">Db.sync</a>,
<a href="../api_java/db_upgrade.html">Db.upgrade</a>
and
<a href="../api_java/db_verify.html">Db.verify</a>.
</tt>
<table><tr><td><br></td><td width="1%">
<a href="../api_java/java_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.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>