LCOV - code coverage report
Current view: top level - src/backend/nodes - copyfuncs.c (source / functions) Coverage Total Hit
Test: Code coverage Lines: 68.4 % 689 471
Test Date: 2026-01-26 10:56:24 Functions: 80.0 % 5 4
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
Branches: 66.2 % 367 243

             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" */
        

Generated by: LCOV version 2.3.2-1