Branch data Line data Source code
1 : : /*-------------------------------------------------------------------------
2 : : *
3 : : * copyfuncs.c
4 : : * Copy functions for Postgres tree nodes.
5 : : *
6 : : *
7 : : * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
8 : : * Portions Copyright (c) 1994, Regents of the University of California
9 : : *
10 : : * IDENTIFICATION
11 : : * src/backend/nodes/copyfuncs.c
12 : : *
13 : : *-------------------------------------------------------------------------
14 : : */
15 : :
16 : : #include "postgres.h"
17 : :
18 : : #include "miscadmin.h"
19 : 70240 : #include "utils/datum.h"
20 : 70240 :
21 : :
22 : 6048 : /*
23 : 6048 : * Macros to simplify copying of different kinds of fields. Use these
24 : : * wherever possible to reduce the chance for silly typos. Note that these
25 : 25 : * hard-wire the convention that the local variables in a Copy routine are
26 : 25 : * named 'newnode' and 'from'.
27 : : */
28 : 50 :
29 : 50 : /* Copy a simple scalar field (int, float, bool, enum, etc) */
30 : : #define COPY_SCALAR_FIELD(fldname) \
31 : 728954 : (newnode->fldname = from->fldname)
32 : 728954 :
33 : : /* Copy a field that is a pointer to some kind of Node or Node tree */
34 : 104969 : #define COPY_NODE_FIELD(fldname) \
35 : 104969 : (newnode->fldname = copyObjectImpl(from->fldname))
36 : :
37 : 47797 : /* Copy a field that is a pointer to a Bitmapset */
38 : 47797 : #define COPY_BITMAPSET_FIELD(fldname) \
39 : : (newnode->fldname = bms_copy(from->fldname))
40 : 14929 :
41 : 14929 : /* Copy a field that is a pointer to a C string, or perhaps NULL */
42 : : #define COPY_STRING_FIELD(fldname) \
43 : 46 : (newnode->fldname = from->fldname ? pstrdup(from->fldname) : NULL)
44 : 46 :
45 : : /* Copy a field that is an inline array */
46 : 238 : #define COPY_ARRAY_FIELD(fldname) \
47 : 238 : memcpy(newnode->fldname, from->fldname, sizeof(newnode->fldname))
48 : :
49 : 30 : /* Copy a field that is a pointer to a simple palloc'd object of size sz */
50 : 30 : #define COPY_POINTER_FIELD(fldname, sz) \
51 : : do { \
52 : 229 : Size _size = (sz); \
53 : 229 : if (_size > 0) \
54 : : { \
55 : 2727 : newnode->fldname = palloc(_size); \
56 : 2727 : memcpy(newnode->fldname, from->fldname, _size); \
57 : : } \
58 : 26853 : } while (0)
59 : 26853 :
60 : : /* Copy a parse location field (for Copy, this is same as scalar case) */
61 : 26 : #define COPY_LOCATION_FIELD(fldname) \
62 : 26 : (newnode->fldname = from->fldname)
63 : :
64 : 57935 :
65 : 57935 : #include "copyfuncs.funcs.c"
66 : :
67 : 19 :
68 : 19 : /*
69 : : * Support functions for nodes with custom_copy_equal attribute
70 : 16 : */
71 : 16 :
72 : : static Const *
73 : 108382 : _copyConst(const Const *from)
74 : 3413 : {
75 : 104969 : Const *newnode = makeNode(Const);
76 : 13645 :
77 : 118614 : COPY_SCALAR_FIELD(consttype);
78 : 104969 : COPY_SCALAR_FIELD(consttypmod);
79 : 107204 : COPY_SCALAR_FIELD(constcollid);
80 : 107204 : COPY_SCALAR_FIELD(constlen);
81 : :
82 [ + + + + ]: 105814 : if (from->constbyval || from->constisnull)
83 : 845 : {
84 : : /*
85 : 0 : * passed by value so just copy the datum. Also, don't try to copy
86 : 0 : * struct when value is null!
87 : : */
88 : 77758 : newnode->constvalue = from->constvalue;
89 : 77758 : }
90 : : else
91 : 0 : {
92 : 0 : /*
93 : : * passed by reference. We need a palloc'd copy.
94 : 8937 : */
95 : 65821 : newnode->constvalue = datumCopy(from->constvalue,
96 : 28442 : from->constbyval,
97 : 31731 : from->constlen);
98 : 3289 : }
99 : :
100 : 105691 : COPY_SCALAR_FIELD(constisnull);
101 : 105691 : COPY_SCALAR_FIELD(constbyval);
102 : 104969 : COPY_LOCATION_FIELD(location);
103 : 25 :
104 : 209963 : return newnode;
105 : 104969 : }
106 : 139 :
107 : 139 : static A_Const *
108 : 13664 : _copyA_Const(const A_Const *from)
109 : 3616 : {
110 : 17280 : A_Const *newnode = makeNode(A_Const);
111 : :
112 : 21298 : COPY_SCALAR_FIELD(isnull);
113 [ + + ]: 21298 : if (!from->isnull)
114 : : {
115 : 11805 : /* This part must duplicate other _copy*() functions. */
116 : 25130 : COPY_SCALAR_FIELD(val.node.type);
117 [ + + + + : 13325 : switch (nodeTag(&from->val))
- - ]
118 : 3001 : {
119 : 3001 : case T_Integer:
120 : 8234 : COPY_SCALAR_FIELD(val.ival.ival);
121 : 8775 : break;
122 : 541 : case T_Float:
123 [ + - ]: 107 : COPY_STRING_FIELD(val.fval.fval);
124 : 107 : break;
125 : 0 : case T_Boolean:
126 : 187 : COPY_SCALAR_FIELD(val.boolval.boolval);
127 : 1499 : break;
128 : 1312 : case T_String:
129 [ + - ]: 4797 : COPY_STRING_FIELD(val.sval.sval);
130 : 4939 : break;
131 : 142 : case T_BitString:
132 [ # # ]: 0 : COPY_STRING_FIELD(val.bsval.bsval);
133 : 2210 : break;
134 : 2210 : default:
135 [ # # # # ]: 0 : elog(ERROR, "unrecognized node type: %d",
136 : 37 : (int) nodeTag(&from->val));
137 : 37 : break;
138 : : }
139 : 14572 : }
140 : 1247 :
141 : 13664 : COPY_LOCATION_FIELD(location);
142 : 487 :
143 : 27815 : return newnode;
144 : 13664 : }
145 : 221 :
146 : 221 : static ExtensibleNode *
147 : 0 : _copyExtensibleNode(const ExtensibleNode *from)
148 : 22 : {
149 : 22 : ExtensibleNode *newnode;
150 : 0 : const ExtensibleNodeMethods *methods;
151 : 3 :
152 : 3 : methods = GetExtensibleNodeMethods(from->extnodename, false);
153 : 0 : newnode = (ExtensibleNode *) newNode(methods->node_size,
154 : 122 : T_ExtensibleNode);
155 [ # # ]: 122 : COPY_STRING_FIELD(extnodename);
156 : :
157 : 69 : /* copy the private fields */
158 : 69 : methods->nodeCopy(newnode, from);
159 : :
160 : 10 : return newnode;
161 : 10 : }
162 : :
163 : 10 : static Bitmapset *
164 : 113 : _copyBitmapset(const Bitmapset *from)
165 : : {
166 : 103 : return bms_copy(from);
167 : 0 : }
168 : :
169 : 4231 :
170 : 4231 : /*
171 : : * copyObjectImpl -- implementation of copyObject(); see nodes/nodes.h
172 : 113 : *
173 : 113 : * Create a copy of a Node tree or list. This is a "deep" copy: all
174 : : * substructure is copied too, recursively.
175 : 382 : */
176 : 382 : void *
177 : 4565872 : copyObjectImpl(const void *from)
178 : 5509 : {
179 : 4571381 : void *retval;
180 : :
181 [ + + ]: 4566319 : if (from == NULL)
182 : 1946627 : return NULL;
183 : :
184 : 81 : /* Guard against stack overflow due to overly complex expressions */
185 : 2619692 : check_stack_depth();
186 : :
187 [ + + + + : 2619692 : switch (nodeTag(from))
+ + + - +
+ - + + +
+ + + + +
+ - + + +
+ + - - +
+ + - + +
- + + + -
+ - + + +
- + - + -
+ + - - +
- - - - -
- - - + -
- - + + +
+ + + + +
+ + - + -
+ + + + +
+ + + + +
+ + + + +
+ + + + +
- - + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + -
+ + + - -
+ - + + +
+ + + + +
+ + + + +
- + - - -
- - + - -
- + + - +
+ - + + +
+ + + + +
+ - + + +
+ - + + -
- + - - -
+ - - + +
- - - + +
- + - - -
- - - + +
+ + + - +
+ - + + +
+ + + - -
+ - + + -
- + - - -
- - - - -
+ + + + +
- - + + -
- - - + -
- - - - -
- - + - -
- - + - +
+ + + - -
- + + + +
+ + + + +
+ + + + +
- - - + +
+ + + - +
+ + + + -
- + + + +
+ + + - +
+ - + ]
188 : 139 : {
189 : : #include "copyfuncs.switch.c"
190 : 105 :
191 : 105 : case T_List:
192 : 426458 : retval = list_copy_deep(from);
193 : 426469 : break;
194 : 11 :
195 : : /*
196 : 111 : * Lists of integers, OIDs and XIDs don't need to be deep-copied,
197 : 111 : * so we perform a shallow copy via list_copy()
198 : : */
199 : 134094 : case T_IntList:
200 : 134094 : case T_OidList:
201 : : case T_XidList:
202 : 74563 : retval = list_copy(from);
203 : 74563 : break;
204 : :
205 : 4330 : default:
206 [ # # # # ]: 4330 : elog(ERROR, "unrecognized node type: %d", (int) nodeTag(from));
207 : 0 : retval = NULL; /* keep compiler quiet */
208 : 35285 : break;
209 : 35285 : }
210 : :
211 : 2619692 : return retval;
212 : 4565883 : }
213 : : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
214 : 38145 : /* (content generated from coverage data) */
215 : 38145 : /* ... */
216 : : /* ... */
217 : 3054 : /* ... */
218 : 3054 : /* ... */
219 : : /* ... */
220 : 11915 : /* ... */
221 : 11915 : /* ... */
222 : : /* ... */
223 : 1706 : /* ... */
224 : 1706 : /* ... */
225 : : /* ... */
226 : 5494 : /* ... */
227 : 5494 : /* ... */
228 : : /* ... */
229 : 13664 : /* ... */
230 : 13664 : /* ... */
231 : : /* ... */
232 : 1717 : /* ... */
233 : 1717 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
234 : : /* (content generated from coverage data) */
235 : 15 : /* ... */
236 : 15 : /* ... */
237 : : /* ... */
238 : 82 : /* ... */
239 : 82 : /* ... */
240 : : /* ... */
241 : 2614 : /* ... */
242 : 2614 : /* ... */
243 : : /* ... */
244 : 782 : /* ... */
245 : 782 : /* ... */
246 : : /* ... */
247 : 213 : /* ... */
248 : 213 : /* ... */
249 : : /* ... */
250 : 279 : /* ... */
251 : 279 : /* ... */
252 : : /* ... */
253 : 215 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
254 : 215 : /* (content generated from coverage data) */
255 : : /* ... */
256 : 7525 : /* ... */
257 : 7525 : /* ... */
258 : : /* ... */
259 : 0 : /* ... */
260 : 0 : /* ... */
261 : : /* ... */
262 : 130 : /* ... */
263 : 130 : /* ... */
264 : : /* ... */
265 : 23 : /* ... */
266 : 23 : /* ... */
267 : : /* ... */
268 : 88 : /* ... */
269 : 88 : /* ... */
270 : : /* ... */
271 : 166 : /* ... */
272 : 166 : /* ... */
273 : : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
274 : 1 : /* (content generated from coverage data) */
275 : 1 : /* ... */
276 : : /* ... */
277 : 8 : /* ... */
278 : 8 : /* ... */
279 : : /* ... */
280 : 0 : /* ... */
281 : 0 : /* ... */
282 : : /* ... */
283 : 1201 : /* ... */
284 : 1201 : /* ... */
285 : : /* ... */
286 : 0 : /* ... */
287 : 0 : /* ... */
288 : : /* ... */
289 : 152 : /* ... */
290 : 152 : /* ... */
291 : : /* ... */
292 : 17546 : /* ... */
293 : 17546 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
294 : : /* (content generated from coverage data) */
295 : 308 : /* ... */
296 : 308 : /* ... */
297 : : /* ... */
298 : 0 : /* ... */
299 : 0 : /* ... */
300 : : /* ... */
301 : 72 : /* ... */
302 : 72 : /* ... */
303 : : /* ... */
304 : 16 : /* ... */
305 : 16 : /* ... */
306 : : /* ... */
307 : 2191 : /* ... */
308 : 2191 : /* ... */
309 : : /* ... */
310 : 0 : /* ... */
311 : 0 : /* ... */
312 : : /* ... */
313 : 174 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
314 : 174 : /* (content generated from coverage data) */
315 : : /* ... */
316 : 543 : /* ... */
317 : 543 : /* ... */
318 : : /* ... */
319 : 49244 : /* ... */
320 : 49244 : /* ... */
321 : : /* ... */
322 : 30789 : /* ... */
323 : 30789 : /* ... */
324 : : /* ... */
325 : 2786 : /* ... */
326 : 2786 : /* ... */
327 : : /* ... */
328 : 32 : /* ... */
329 : 32 : /* ... */
330 : : /* ... */
331 : 15 : /* ... */
332 : 15 : /* ... */
333 : : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
334 : 13137 : /* (content generated from coverage data) */
335 : 13137 : /* ... */
336 : : /* ... */
337 : 46 : /* ... */
338 : 46 : /* ... */
339 : : /* ... */
340 : 171 : /* ... */
341 : 171 : /* ... */
342 : : /* ... */
343 : 1219 : /* ... */
344 : 1219 : /* ... */
345 : : /* ... */
346 : 16 : /* ... */
347 : 16 : /* ... */
348 : : /* ... */
349 : 0 : /* ... */
350 : 0 : /* ... */
351 : : /* ... */
352 : 0 : /* ... */
353 : 0 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
354 : : /* (content generated from coverage data) */
355 : 16 : /* ... */
356 : 16 : /* ... */
357 : : /* ... */
358 : 16 : /* ... */
359 : 16 : /* ... */
360 : : /* ... */
361 : 243 : /* ... */
362 : 243 : /* ... */
363 : : /* ... */
364 : 55 : /* ... */
365 : 55 : /* ... */
366 : : /* ... */
367 : 1 : /* ... */
368 : 1 : /* ... */
369 : : /* ... */
370 : 42 : /* ... */
371 : 42 : /* ... */
372 : : /* ... */
373 : 0 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
374 : 0 : /* (content generated from coverage data) */
375 : : /* ... */
376 : 10 : /* ... */
377 : 10 : /* ... */
378 : : /* ... */
379 : 0 : /* ... */
380 : 0 : /* ... */
381 : : /* ... */
382 : 0 : /* ... */
383 : 0 : /* ... */
384 : : /* ... */
385 : 0 : /* ... */
386 : 0 : /* ... */
387 : : /* ... */
388 : 0 : /* ... */
389 : 0 : /* ... */
390 : : /* ... */
391 : 0 : /* ... */
392 : 0 : /* ... */
393 : : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
394 : 8 : /* (content generated from coverage data) */
395 : 8 : /* ... */
396 : : /* ... */
397 : 0 : /* ... */
398 : 0 : /* ... */
399 : : /* ... */
400 : 0 : /* ... */
401 : 0 : /* ... */
402 : : /* ... */
403 : 0 : /* ... */
404 : 0 : /* ... */
405 : : /* ... */
406 : 2 : /* ... */
407 : 2 : /* ... */
408 : : /* ... */
409 : 2 : /* ... */
410 : 2 : /* ... */
411 : : /* ... */
412 : 0 : /* ... */
413 : 0 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
414 : : /* (content generated from coverage data) */
415 : 6 : /* ... */
416 : 6 : /* ... */
417 : : /* ... */
418 : 6 : /* ... */
419 : 6 : /* ... */
420 : : /* ... */
421 : 0 : /* ... */
422 : 0 : /* ... */
423 : : /* ... */
424 : 6387 : /* ... */
425 : 6387 : /* ... */
426 : : /* ... */
427 : 129 : /* ... */
428 : 129 : /* ... */
429 : : /* ... */
430 : 24 : /* ... */
431 : 24 : /* ... */
432 : : /* ... */
433 : 81 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
434 : 81 : /* (content generated from coverage data) */
435 : : /* ... */
436 : 25 : /* ... */
437 : 25 : /* ... */
438 : : /* ... */
439 : 6663 : /* ... */
440 : 6663 : /* ... */
441 : : /* ... */
442 : 406 : /* ... */
443 : 406 : /* ... */
444 : : /* ... */
445 : 0 : /* ... */
446 : 0 : /* ... */
447 : : /* ... */
448 : 517 : /* ... */
449 : 517 : /* ... */
450 : : /* ... */
451 : 4 : /* ... */
452 : 4 : /* ... */
453 : : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
454 : 153 : /* (content generated from coverage data) */
455 : 153 : /* ... */
456 : : /* ... */
457 : 3920 : /* ... */
458 : 3920 : /* ... */
459 : : /* ... */
460 : 50 : /* ... */
461 : 50 : /* ... */
462 : : /* ... */
463 : 54 : /* ... */
464 : 54 : /* ... */
465 : : /* ... */
466 : 0 : /* ... */
467 : 0 : /* ... */
468 : : /* ... */
469 : 0 : /* ... */
470 : 0 : /* ... */
471 : : /* ... */
472 : 1 : /* ... */
473 : 1 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
474 : : /* (content generated from coverage data) */
475 : 5 : /* ... */
476 : 5 : /* ... */
477 : : /* ... */
478 : 30 : /* ... */
479 : 30 : /* ... */
480 : : /* ... */
481 : 29 : /* ... */
482 : 29 : /* ... */
483 : : /* ... */
484 : 1 : /* ... */
485 : 1 : /* ... */
486 : : /* ... */
487 : 0 : /* ... */
488 : 0 : /* ... */
489 : : /* ... */
490 : 1893 : /* ... */
491 : 1893 : /* ... */
492 : : /* ... */
493 : 12 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
494 : 12 : /* (content generated from coverage data) */
495 : : /* ... */
496 : 119 : /* ... */
497 : 119 : /* ... */
498 : : /* ... */
499 : 1789 : /* ... */
500 : 1789 : /* ... */
501 : : /* ... */
502 : 0 : /* ... */
503 : 0 : /* ... */
504 : : /* ... */
505 : 0 : /* ... */
506 : 0 : /* ... */
507 : : /* ... */
508 : 0 : /* ... */
509 : 0 : /* ... */
510 : : /* ... */
511 : 10 : /* ... */
512 : 10 : /* ... */
513 : : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
514 : 0 : /* (content generated from coverage data) */
515 : 0 : /* ... */
516 : : /* ... */
517 : 0 : /* ... */
518 : 0 : /* ... */
519 : : /* ... */
520 : 0 : /* ... */
521 : 0 : /* ... */
522 : : /* ... */
523 : 2 : /* ... */
524 : 2 : /* ... */
525 : : /* ... */
526 : 0 : /* ... */
527 : 0 : /* ... */
528 : : /* ... */
529 : 2 : /* ... */
530 : 2 : /* ... */
531 : : /* ... */
532 : 0 : /* ... */
533 : 0 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
534 : : /* (content generated from coverage data) */
535 : 1 : /* ... */
536 : 1 : /* ... */
537 : : /* ... */
538 : 1 : /* ... */
539 : 1 : /* ... */
540 : : /* ... */
541 : 0 : /* ... */
542 : 0 : /* ... */
543 : : /* ... */
544 : 0 : /* ... */
545 : 0 : /* ... */
546 : : /* ... */
547 : 0 : /* ... */
548 : 0 : /* ... */
549 : : /* ... */
550 : 5 : /* ... */
551 : 5 : /* ... */
552 : : /* ... */
553 : 1 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
554 : 1 : /* (content generated from coverage data) */
555 : : /* ... */
556 : 0 : /* ... */
557 : 0 : /* ... */
558 : : /* ... */
559 : 125 : /* ... */
560 : 125 : /* ... */
561 : : /* ... */
562 : 0 : /* ... */
563 : 0 : /* ... */
564 : : /* ... */
565 : 0 : /* ... */
566 : 0 : /* ... */
567 : : /* ... */
568 : 0 : /* ... */
569 : 0 : /* ... */
570 : : /* ... */
571 : 0 : /* ... */
572 : 0 : /* ... */
573 : : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
574 : 0 : /* (content generated from coverage data) */
575 : 0 : /* ... */
576 : : /* ... */
577 : 0 : /* ... */
578 : 0 : /* ... */
579 : : /* ... */
580 : 0 : /* ... */
581 : 0 : /* ... */
582 : : /* ... */
583 : 13 : /* ... */
584 : 13 : /* ... */
585 : : /* ... */
586 : 15 : /* ... */
587 : 15 : /* ... */
588 : : /* ... */
589 : 2 : /* ... */
590 : 2 : /* ... */
591 : : /* ... */
592 : 4 : /* ... */
593 : 4 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
594 : : /* (content generated from coverage data) */
595 : 1 : /* ... */
596 : 1 : /* ... */
597 : : /* ... */
598 : 1 : /* ... */
599 : 1 : /* ... */
600 : : /* ... */
601 : 1 : /* ... */
602 : 1 : /* ... */
603 : : /* ... */
604 : 0 : /* ... */
605 : 0 : /* ... */
606 : : /* ... */
607 : 38 : /* ... */
608 : 38 : /* ... */
609 : : /* ... */
610 : 5 : /* ... */
611 : 5 : /* ... */
612 : : /* ... */
613 : 6 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
614 : 6 : /* (content generated from coverage data) */
615 : : /* ... */
616 : 0 : /* ... */
617 : 0 : /* ... */
618 : : /* ... */
619 : 315 : /* ... */
620 : 315 : /* ... */
621 : : /* ... */
622 : 0 : /* ... */
623 : 0 : /* ... */
624 : : /* ... */
625 : 289 : /* ... */
626 : 289 : /* ... */
627 : : /* ... */
628 : 128 : /* ... */
629 : 128 : /* ... */
630 : : /* ... */
631 : 1 : /* ... */
632 : 1 : /* ... */
633 : : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
634 : 2 : /* (content generated from coverage data) */
635 : 2 : /* ... */
636 : : /* ... */
637 : 0 : /* ... */
638 : 0 : /* ... */
639 : : /* ... */
640 : 16 : /* ... */
641 : 16 : /* ... */
642 : : /* ... */
643 : 3 : /* ... */
644 : 3 : /* ... */
645 : : /* ... */
646 : 0 : /* ... */
647 : 0 : /* ... */
648 : : /* ... */
649 : 10 : /* ... */
650 : 10 : /* ... */
651 : : /* ... */
652 : 14 : /* ... */
653 : 14 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
654 : : /* (content generated from coverage data) */
655 : 1 : /* ... */
656 : 1 : /* ... */
657 : : /* ... */
658 : 0 : /* ... */
659 : 0 : /* ... */
660 : : /* ... */
661 : 0 : /* ... */
662 : 0 : /* ... */
663 : : /* ... */
664 : 1 : /* ... */
665 : 1 : /* ... */
666 : : /* ... */
667 : 0 : /* ... */
668 : 0 : /* ... */
669 : : /* ... */
670 : 0 : /* ... */
671 : 0 : /* ... */
672 : : /* ... */
673 : 0 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
674 : 0 : /* (content generated from coverage data) */
675 : : /* ... */
676 : 5 : /* ... */
677 : 5 : /* ... */
678 : : /* ... */
679 : 0 : /* ... */
680 : 0 : /* ... */
681 : : /* ... */
682 : 0 : /* ... */
683 : 0 : /* ... */
684 : : /* ... */
685 : 32 : /* ... */
686 : 32 : /* ... */
687 : : /* ... */
688 : 1 : /* ... */
689 : 1 : /* ... */
690 : : /* ... */
691 : 0 : /* ... */
692 : 0 : /* ... */
693 : : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
694 : 0 : /* (content generated from coverage data) */
695 : 0 : /* ... */
696 : : /* ... */
697 : 0 : /* ... */
698 : 0 : /* ... */
699 : : /* ... */
700 : 6 : /* ... */
701 : 6 : /* ... */
702 : : /* ... */
703 : 0 : /* ... */
704 : 0 : /* ... */
705 : : /* ... */
706 : 0 : /* ... */
707 : 0 : /* ... */
708 : : /* ... */
709 : 0 : /* ... */
710 : 0 : /* ... */
711 : : /* ... */
712 : 0 : /* ... */
713 : 0 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
714 : : /* (content generated from coverage data) */
715 : 0 : /* ... */
716 : 0 : /* ... */
717 : : /* ... */
718 : 0 : /* ... */
719 : 0 : /* ... */
720 : : /* ... */
721 : 0 : /* ... */
722 : 0 : /* ... */
723 : : /* ... */
724 : 0 : /* ... */
725 : 0 : /* ... */
726 : : /* ... */
727 : 43 : /* ... */
728 : 43 : /* ... */
729 : : /* ... */
730 : 43 : /* ... */
731 : 43 : /* ... */
732 : : /* ... */
733 : 6747 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
734 : 6747 : /* (content generated from coverage data) */
735 : : /* ... */
736 : 49 : /* ... */
737 : 49 : /* ... */
738 : : /* ... */
739 : 1 : /* ... */
740 : 1 : /* ... */
741 : : /* ... */
742 : 0 : /* ... */
743 : 0 : /* ... */
744 : : /* ... */
745 : 0 : /* ... */
746 : 0 : /* ... */
747 : : /* ... */
748 : 8 : /* ... */
749 : 8 : /* ... */
750 : : /* ... */
751 : 0 : /* ... */
752 : 0 : /* ... */
753 : : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
754 : 35 : /* (content generated from coverage data) */
755 : 35 : /* ... */
756 : : /* ... */
757 : 0 : /* ... */
758 : 0 : /* ... */
759 : : /* ... */
760 : 0 : /* ... */
761 : 0 : /* ... */
762 : : /* ... */
763 : 0 : /* ... */
764 : 0 : /* ... */
765 : : /* ... */
766 : 0 : /* ... */
767 : 0 : /* ... */
768 : : /* ... */
769 : 31 : /* ... */
770 : 31 : /* ... */
771 : : /* ... */
772 : 0 : /* ... */
773 : 0 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
774 : : /* (content generated from coverage data) */
775 : 0 : /* ... */
776 : 0 : /* ... */
777 : : /* ... */
778 : 0 : /* ... */
779 : 0 : /* ... */
780 : : /* ... */
781 : 0 : /* ... */
782 : 0 : /* ... */
783 : : /* ... */
784 : 0 : /* ... */
785 : 0 : /* ... */
786 : : /* ... */
787 : 0 : /* ... */
788 : 0 : /* ... */
789 : : /* ... */
790 : 0 : /* ... */
791 : 0 : /* ... */
792 : : /* ... */
793 : 0 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
794 : 0 : /* (content generated from coverage data) */
795 : : /* ... */
796 : 0 : /* ... */
797 : 0 : /* ... */
798 : : /* ... */
799 : 0 : /* ... */
800 : 0 : /* ... */
801 : : /* ... */
802 : 0 : /* ... */
803 : 0 : /* ... */
804 : : /* ... */
805 : 7 : /* ... */
806 : 7 : /* ... */
807 : : /* ... */
808 : 0 : /* ... */
809 : 0 : /* ... */
810 : : /* ... */
811 : 0 : /* ... */
812 : 0 : /* ... */
813 : : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
814 : 0 : /* (content generated from coverage data) */
815 : 0 : /* ... */
816 : : /* ... */
817 : 0 : /* ... */
818 : 0 : /* ... */
819 : : /* ... */
820 : 0 : /* ... */
821 : 0 : /* ... */
822 : : /* ... */
823 : 2444 : /* ... */
824 : 2444 : /* ... */
825 : : /* ... */
826 : 0 : /* ... */
827 : 0 : /* ... */
828 : : /* ... */
829 : 664 : /* ... */
830 : 664 : /* ... */
831 : : /* ... */
832 : 0 : /* ... */
833 : 0 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
834 : : /* (content generated from coverage data) */
835 : 0 : /* ... */
836 : 0 : /* ... */
837 : : /* ... */
838 : 0 : /* ... */
839 : 0 : /* ... */
840 : : /* ... */
841 : 11993 : /* ... */
842 : 11993 : /* ... */
843 : : /* ... */
844 : 3824 : /* ... */
845 : 3824 : /* ... */
846 : : /* ... */
847 : 67 : /* ... */
848 : 67 : /* ... */
849 : : /* ... */
850 : 379 : /* ... */
851 : 379 : /* ... */
852 : : /* ... */
853 : 137 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
854 : 137 : /* (content generated from coverage data) */
855 : : /* ... */
856 : 6 : /* ... */
857 : 6 : /* ... */
858 : : /* ... */
859 : 0 : /* ... */
860 : 0 : /* ... */
861 : : /* ... */
862 : 0 : /* ... */
863 : 0 : /* ... */
864 : : /* ... */
865 : 0 : /* ... */
866 : 0 : /* ... */
867 : : /* ... */
868 : 1890 : /* ... */
869 : 1890 : /* ... */
870 : : /* ... */
871 : 1 : /* ... */
872 : 1 : /* ... */
873 : : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
874 : 1320 : /* (content generated from coverage data) */
875 : 1320 : /* ... */
876 : : /* ... */
877 : 339 : /* ... */
878 : 339 : /* ... */
879 : : /* ... */
880 : 116 : /* ... */
881 : 116 : /* ... */
882 : : /* ... */
883 : 116 : /* ... */
884 : 116 : /* ... */
885 : : /* ... */
886 : 14 : /* ... */
887 : 14 : /* ... */
888 : : /* ... */
889 : 294 : /* ... */
890 : 294 : /* ... */
891 : : /* ... */
892 : 103 : /* ... */
893 : 103 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
894 : : /* (content generated from coverage data) */
895 : 188 : /* ... */
896 : 188 : /* ... */
897 : : /* ... */
898 : 25 : /* ... */
899 : 25 : /* ... */
900 : : /* ... */
901 : 1 : /* ... */
902 : 1 : /* ... */
903 : : /* ... */
904 : 13 : /* ... */
905 : 13 : /* ... */
906 : : /* ... */
907 : 73 : /* ... */
908 : 73 : /* ... */
909 : : /* ... */
910 : 0 : /* ... */
911 : 0 : /* ... */
912 : : /* ... */
913 : 0 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
914 : 0 : /* (content generated from coverage data) */
915 : : /* ... */
916 : 0 : /* ... */
917 : 0 : /* ... */
918 : : /* ... */
919 : 239 : /* ... */
920 : 239 : /* ... */
921 : : /* ... */
922 : 215 : /* ... */
923 : 215 : /* ... */
924 : : /* ... */
925 : 104 : /* ... */
926 : 104 : /* ... */
927 : : /* ... */
928 : 342 : /* ... */
929 : 342 : /* ... */
930 : : /* ... */
931 : 12 : /* ... */
932 : 12 : /* ... */
933 : : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
934 : 95 : /* (content generated from coverage data) */
935 : 95 : /* ... */
936 : : /* ... */
937 : 261 : /* ... */
938 : 261 : /* ... */
939 : : /* ... */
940 : 0 : /* ... */
941 : 0 : /* ... */
942 : : /* ... */
943 : 1 : /* ... */
944 : 1 : /* ... */
945 : : /* ... */
946 : 341 : /* ... */
947 : 341 : /* ... */
948 : : /* ... */
949 : 9 : /* ... */
950 : 9 : /* ... */
951 : : /* ... */
952 : 3 : /* ... */
953 : 3 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
954 : : /* (content generated from coverage data) */
955 : 17 : /* ... */
956 : 17 : /* ... */
957 : : /* ... */
958 : 0 : /* ... */
959 : 0 : /* ... */
960 : : /* ... */
961 : 342 : /* ... */
962 : 342 : /* ... */
963 : : /* ... */
964 : 0 : /* ... */
965 : 0 : /* ... */
966 : : /* ... */
967 : 770 : /* ... */
968 : 770 : /* ... */
969 : : /* ... */
970 : 49 : /* ... */
971 : 49 : /* ... */
972 : : /* ... */
973 : 2096 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
974 : 2096 : /* (content generated from coverage data) */
975 : : /* ... */
976 : 29 : /* ... */
977 : 29 : /* ... */
978 : : /* ... */
979 : 67 : /* ... */
980 : 67 : /* ... */
981 : : /* ... */
982 : 76 : /* ... */
983 : 76 : /* ... */
984 : : /* ... */
985 : 21 : /* ... */
986 : 21 : /* ... */
987 : : /* ... */
988 : 156 : /* ... */
989 : 156 : /* ... */
990 : : /* ... */
991 : 360 : /* ... */
992 : 360 : /* ... */
993 : : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
994 : 218 : /* (content generated from coverage data) */
995 : 218 : /* ... */
996 : : /* ... */
997 : 103 : /* ... */
998 : 103 : /* ... */
999 : : /* ... */
1000 : 0 : /* ... */
1001 : 0 : /* ... */
1002 : : /* ... */
1003 : 138 : /* ... */
1004 : 138 : /* ... */
1005 : : /* ... */
1006 : 1 : /* ... */
1007 : 1 : /* ... */
1008 : : /* ... */
1009 : 0 : /* ... */
1010 : 0 : /* ... */
1011 : : /* ... */
1012 : 536829 : /* ... */
1013 : 536829 : /* /Users/rhaas/pgsql/src/backend/nodes/copyfuncs.c not long enough */
1014 : : /* (content generated from coverage data) */
1015 : 0 : /* ... */
1016 : 0 : /* ... */
1017 : : /* ... */
1018 : 606 : /* ... */
1019 : 606 : /* END: function "copyObjectImpl" */
|