OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / I686LINUX / util / I686LINUX / doc / postgresql / html / spi-spi-modifytuple.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML
3 ><HEAD
4 ><TITLE
5 >SPI_modifytuple</TITLE
6 ><META
7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
9 REV="MADE"
10 HREF="mailto:pgsql-docs@postgresql.org"><LINK
11 REL="HOME"
12 TITLE="PostgreSQL 7.4.1 Documentation"
13 HREF="index.html"><LINK
14 REL="UP"
15 TITLE="Memory Management"
16 HREF="spi-memory.html"><LINK
17 REL="PREVIOUS"
18 TITLE="SPI_copytupleintoslot"
19 HREF="spi-spi-copytupleintoslot.html"><LINK
20 REL="NEXT"
21 TITLE="SPI_freetuple"
22 HREF="spi-spi-freetuple.html"><LINK
23 REL="STYLESHEET"
24 TYPE="text/css"
25 HREF="stylesheet.css"><META
26 NAME="creation"
27 CONTENT="2003-12-22T03:48:47"></HEAD
28 ><BODY
29 CLASS="REFENTRY"
30 ><DIV
31 CLASS="NAVHEADER"
32 ><TABLE
33 SUMMARY="Header navigation table"
34 WIDTH="100%"
35 BORDER="0"
36 CELLPADDING="0"
37 CELLSPACING="0"
38 ><TR
39 ><TH
40 COLSPAN="5"
41 ALIGN="center"
42 VALIGN="bottom"
43 >PostgreSQL 7.4.1 Documentation</TH
44 ></TR
45 ><TR
46 ><TD
47 WIDTH="10%"
48 ALIGN="left"
49 VALIGN="top"
50 ><A
51 HREF="spi-spi-copytupleintoslot.html"
52 ACCESSKEY="P"
53 >Prev</A
54 ></TD
55 ><TD
56 WIDTH="10%"
57 ALIGN="left"
58 VALIGN="top"
59 ><A
60 HREF="spi-spi-copytupleintoslot.html"
61 >Fast Backward</A
62 ></TD
63 ><TD
64 WIDTH="60%"
65 ALIGN="center"
66 VALIGN="bottom"
67 ></TD
68 ><TD
69 WIDTH="10%"
70 ALIGN="right"
71 VALIGN="top"
72 ><A
73 HREF="spi-spi-freetuple.html"
74 >Fast Forward</A
75 ></TD
76 ><TD
77 WIDTH="10%"
78 ALIGN="right"
79 VALIGN="top"
80 ><A
81 HREF="spi-spi-freetuple.html"
82 ACCESSKEY="N"
83 >Next</A
84 ></TD
85 ></TR
86 ></TABLE
87 ><HR
88 ALIGN="LEFT"
89 WIDTH="100%"></DIV
90 ><H1
91 ><A
92 NAME="SPI-SPI-MODIFYTUPLE"
93 ></A
94 >SPI_modifytuple</H1
95 ><DIV
96 CLASS="REFNAMEDIV"
97 ><A
98 NAME="AEN34329"
99 ></A
100 ><H2
101 >Name</H2
102 >SPI_modifytuple&nbsp;--&nbsp;create a row by replacing selected fields of a given row</DIV
103 ><A
104 NAME="AEN34332"
105 ></A
106 ><DIV
107 CLASS="REFSYNOPSISDIV"
108 ><A
109 NAME="AEN34334"
110 ></A
111 ><H2
112 >Synopsis</H2
113 ><PRE
114 CLASS="SYNOPSIS"
115 >HeapTuple SPI_modifytuple(Relation <VAR
116 CLASS="PARAMETER"
117 >rel</VAR
118 >, HeapTuple <VAR
119 CLASS="PARAMETER"
120 >row</VAR
121 >, <VAR
122 CLASS="PARAMETER"
123 >ncols</VAR
124 >, <VAR
125 CLASS="PARAMETER"
126 >colnum</VAR
127 >, Datum * <VAR
128 CLASS="PARAMETER"
129 >values</VAR
130 >, const char * <VAR
131 CLASS="PARAMETER"
132 >nulls</VAR
133 >)</PRE
134 ></DIV
135 ><DIV
136 CLASS="REFSECT1"
137 ><A
138 NAME="AEN34342"
139 ></A
140 ><H2
141 >Description</H2
142 ><P
143 >   <CODE
144 CLASS="FUNCTION"
145 >SPI_modifytuple</CODE
146 > creates a new row by
147    substituting new values for selected columns, copying the original
148    row's columns at other positions.  The input row is not modified.
149   </P
150 ></DIV
151 ><DIV
152 CLASS="REFSECT1"
153 ><A
154 NAME="AEN34346"
155 ></A
156 ><H2
157 >Arguments</H2
158 ><P
159 ></P
160 ><DIV
161 CLASS="VARIABLELIST"
162 ><DL
163 ><DT
164 ><TT
165 CLASS="LITERAL"
166 >Relation <VAR
167 CLASS="PARAMETER"
168 >rel</VAR
169 ></TT
170 ></DT
171 ><DD
172 ><P
173 >      Used only as the source of the row descriptor for the row.
174       (Passing a relation rather than a row descriptor is a
175       misfeature.)
176      </P
177 ></DD
178 ><DT
179 ><TT
180 CLASS="LITERAL"
181 >HeapTuple <VAR
182 CLASS="PARAMETER"
183 >row</VAR
184 ></TT
185 ></DT
186 ><DD
187 ><P
188 >      row to be modified
189      </P
190 ></DD
191 ><DT
192 ><TT
193 CLASS="LITERAL"
194 >int <VAR
195 CLASS="PARAMETER"
196 >ncols</VAR
197 ></TT
198 ></DT
199 ><DD
200 ><P
201 >      number of column numbers in the array
202       <VAR
203 CLASS="PARAMETER"
204 >colnum</VAR
205 >
206      </P
207 ></DD
208 ><DT
209 ><TT
210 CLASS="LITERAL"
211 >int * <VAR
212 CLASS="PARAMETER"
213 >colnum</VAR
214 ></TT
215 ></DT
216 ><DD
217 ><P
218 >      array of the numbers of the columns that are to be changed
219       (count starts at 1)
220      </P
221 ></DD
222 ><DT
223 ><TT
224 CLASS="LITERAL"
225 >Datum * <VAR
226 CLASS="PARAMETER"
227 >values</VAR
228 ></TT
229 ></DT
230 ><DD
231 ><P
232 >      new values for the specified columns
233      </P
234 ></DD
235 ><DT
236 ><TT
237 CLASS="LITERAL"
238 >const char * <VAR
239 CLASS="PARAMETER"
240 >Nulls</VAR
241 ></TT
242 ></DT
243 ><DD
244 ><P
245 >      which new values are null, if any (see <CODE
246 CLASS="FUNCTION"
247 >SPI_execp</CODE
248 > for the format)
249      </P
250 ></DD
251 ></DL
252 ></DIV
253 ></DIV
254 ><DIV
255 CLASS="REFSECT1"
256 ><A
257 NAME="AEN34387"
258 ></A
259 ><H2
260 >Return Value</H2
261 ><P
262 >   new row with modifications, allocated in the upper executor
263    context; <TT
264 CLASS="SYMBOL"
265 >NULL</TT
266 > only if <VAR
267 CLASS="PARAMETER"
268 >row</VAR
269 >
270    is <TT
271 CLASS="SYMBOL"
272 >NULL</TT
273 >
274   </P
275 ><P
276 >   On error, <VAR
277 CLASS="VARNAME"
278 >SPI_result</VAR
279 > is set as follows:
280    <P
281 ></P
282 ></P><DIV
283 CLASS="VARIABLELIST"
284 ><DL
285 ><DT
286 ><TT
287 CLASS="SYMBOL"
288 >SPI_ERROR_ARGUMENT</TT
289 ></DT
290 ><DD
291 ><P
292 >       if <VAR
293 CLASS="PARAMETER"
294 >rel</VAR
295 > is <TT
296 CLASS="SYMBOL"
297 >NULL</TT
298 >, or if
299        <VAR
300 CLASS="PARAMETER"
301 >row</VAR
302 > is <TT
303 CLASS="SYMBOL"
304 >NULL</TT
305 >, or if <VAR
306 CLASS="PARAMETER"
307 >ncols</VAR
308 >
309        is less than or equal to 0, or if <VAR
310 CLASS="PARAMETER"
311 >colnum</VAR
312 > is
313        <TT
314 CLASS="SYMBOL"
315 >NULL</TT
316 >, or if <VAR
317 CLASS="PARAMETER"
318 >values</VAR
319 > is <TT
320 CLASS="SYMBOL"
321 >NULL</TT
322 >.
323       </P
324 ></DD
325 ><DT
326 ><TT
327 CLASS="SYMBOL"
328 >SPI_ERROR_NOATTRIBUTE</TT
329 ></DT
330 ><DD
331 ><P
332 >       if <VAR
333 CLASS="PARAMETER"
334 >colnum</VAR
335 > contains an invalid column number (less
336        than or equal to 0 or greater than the number of column in
337        <VAR
338 CLASS="PARAMETER"
339 >row</VAR
340 >)
341       </P
342 ></DD
343 ></DL
344 ></DIV
345 ><P>
346   </P
347 ></DIV
348 ><DIV
349 CLASS="NAVFOOTER"
350 ><HR
351 ALIGN="LEFT"
352 WIDTH="100%"><TABLE
353 SUMMARY="Footer navigation table"
354 WIDTH="100%"
355 BORDER="0"
356 CELLPADDING="0"
357 CELLSPACING="0"
358 ><TR
359 ><TD
360 WIDTH="33%"
361 ALIGN="left"
362 VALIGN="top"
363 ><A
364 HREF="spi-spi-copytupleintoslot.html"
365 ACCESSKEY="P"
366 >Prev</A
367 ></TD
368 ><TD
369 WIDTH="34%"
370 ALIGN="center"
371 VALIGN="top"
372 ><A
373 HREF="index.html"
374 ACCESSKEY="H"
375 >Home</A
376 ></TD
377 ><TD
378 WIDTH="33%"
379 ALIGN="right"
380 VALIGN="top"
381 ><A
382 HREF="spi-spi-freetuple.html"
383 ACCESSKEY="N"
384 >Next</A
385 ></TD
386 ></TR
387 ><TR
388 ><TD
389 WIDTH="33%"
390 ALIGN="left"
391 VALIGN="top"
392 >SPI_copytupleintoslot</TD
393 ><TD
394 WIDTH="34%"
395 ALIGN="center"
396 VALIGN="top"
397 ><A
398 HREF="spi-memory.html"
399 ACCESSKEY="U"
400 >Up</A
401 ></TD
402 ><TD
403 WIDTH="33%"
404 ALIGN="right"
405 VALIGN="top"
406 >SPI_freetuple</TD
407 ></TR
408 ></TABLE
409 ></DIV
410 ></BODY
411 ></HTML
412 >