summaryrefslogtreecommitdiff
path: root/docs/api_reference/C/dbstream_write.html
blob: 6f9ff8860d72eefcf98bc0139543efc520c88ec1 (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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
<?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>DB_STREAM-&gt;write()</title>
    <link rel="stylesheet" href="apiReference.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB C API Reference" />
    <link rel="up" href="blob.html" title="Chapter 13.  Binary Large Objects" />
    <link rel="prev" href="dbstream_size.html" title="DB_STREAM-&gt;size()" />
    <link rel="next" href="envget_blob_dir.html" title="DB_ENV-&gt;get_blob_dir()" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 12.1.6.1</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">DB_STREAM-&gt;write()</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="dbstream_size.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 13. 
                Binary Large Objects
        </th>
          <td width="20%" align="right"> <a accesskey="n" href="envget_blob_dir.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="dbstream_write"></a>DB_STREAM-&gt;write()</h2>
          </div>
        </div>
      </div>
      <pre class="programlisting">#include &lt;db.h&gt;

int
DB_STREAM-&gt;write(DB_STREAM *dbs, DBT *data, db_off_t offset, 
                 u_int32_t flags); </pre>
      <p>
         The <code class="methodname">DB_STREAM-&gt;write()</code> method writes data
         to an existing BLOB object in the database. This method writes
         data contained in the <a class="link" href="dbt.html" title="Chapter 4.  The DBT Handle">DBT</a>
         <span class="bold"><strong>data</strong></span> to the BLOB stream. Data is
         written into the stream starting at the position indicated by
         <span class="bold"><strong>offset</strong></span>. The amount of data
         written is determined by the <code class="literal">size</code> field in the
         DBT.
     </p>
      <p>
         If this method writes data in the middle of the BLOB, it will
         overwrite existing data, instead of shifting it. If this method
         writes data to the end of the BLOB, the data is appended to the
         existing BLOB. You can determine how large a BLOB is using
         <a class="xref" href="dbstream_size.html" title="DB_STREAM-&gt;size()">DB_STREAM-&gt;size()</a>.
     </p>
      <p>
         To open a stream, use <a class="xref" href="dbstream.html" title="DBC-&gt;db_stream()">DBC-&gt;db_stream()</a>.
     </p>
      <p>
         Unless otherwise specified, the
         <code class="methodname">DB_STREAM-&gt;write()</code> <span>
            <span>
                  method returns a non-zero error value on failure and 0 on success.
            </span>
            
        </span>
    </p>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp4854344"></a>Parameters</h3>
            </div>
          </div>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="idp4859328"></a>data</h4>
              </div>
            </div>
          </div>
          <p>
                  The <span class="bold"><strong>data</strong></span> parameter is
                  the <a class="link" href="dbt.html" title="Chapter 4.  The DBT Handle">DBT</a> containing the
                  data to be written to the BLOB. The amount of data to be
                  written is determined by the DBT's
                  <code class="literal">size</code> field.
             </p>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="idp4865264"></a>offset</h4>
              </div>
            </div>
          </div>
          <p>
                  The <span class="bold"><strong>offset</strong></span> parameter
                  identifies the position in the BLOB where the write
                  operation will begin.
             </p>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="idp4852528"></a>flags</h4>
              </div>
            </div>
          </div>
          <p>
                  The <span class="bold"><strong>flags</strong></span> parameter must be set to 0
                  or the following value:
             </p>
          <div class="itemizedlist">
            <ul type="disc">
              <li>
                <p><a id="blobstream_DB_STREAM_SYNC_WRITE"></a>
                          <code class="literal">DB_STREAM_SYNC_WRITE</code>
                     </p>
                <p>
                         A sync to disk operation is performed on the
                         stream at the end of the write operation. By
                         default, the sync is performed only when the
                         stream is closed using <a class="xref" href="dbstream_close.html" title="DB_STREAM-&gt;close()">DB_STREAM-&gt;close()</a>. Note that
                         this flag can also be specified when the stream is
                         created using <a class="xref" href="dbstream.html" title="DBC-&gt;db_stream()">DBC-&gt;db_stream()</a>, in which case the sync
                         behavior becomes the default behavior for this
                         stream instance.
                    </p>
              </li>
            </ul>
          </div>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp4873752"></a>Errors</h3>
            </div>
          </div>
        </div>
        <p>
             The <code class="methodname">DB_STREAM-&gt;write()</code> <span>
            <span>
                 method may fail and return one of the following non-zero errors:
            </span>
            
        </span>
        </p>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="idp4860016"></a>EINVAL</h4>
              </div>
            </div>
          </div>
          <p>
                An invalid flag value or parameter was specified; or if the
                stream is read-only; or if the input DBT was
                configured with 
                <a class="link" href="dbt.html#dbt_DB_DBT_PARTIAL">DB_DBT_PARTIAL</a>.
            </p>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp4880040"></a>Class</h3>
            </div>
          </div>
        </div>
        <p>
            <a class="link" href="blob.html" title="Chapter 13.  Binary Large Objects">DB_STREAM</a>  
        </p>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp4872616"></a>See Also</h3>
            </div>
          </div>
        </div>
        <p>
             <a class="xref" href="blob.html#bloblist" title="BLOBs and Related Methods">BLOBs and Related Methods</a> 
        </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="dbstream_size.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="blob.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="envget_blob_dir.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">DB_STREAM-&gt;size() </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> DB_ENV-&gt;get_blob_dir()</td>
        </tr>
      </table>
    </div>
  </body>
</html>