aggregate instrumentation information */
| 215 | |
| 216 | /* aggregate instrumentation information */ |
| 217 | void |
| 218 | InstrAggNode(Instrumentation *dst, Instrumentation *add) |
| 219 | { |
| 220 | if (!dst->running && add->running) |
| 221 | { |
| 222 | dst->running = true; |
| 223 | dst->firsttuple = add->firsttuple; |
| 224 | } |
| 225 | else if (dst->running && add->running && dst->firsttuple > add->firsttuple) |
| 226 | dst->firsttuple = add->firsttuple; |
| 227 | |
| 228 | INSTR_TIME_ADD(dst->counter, add->counter); |
| 229 | |
| 230 | dst->tuplecount += add->tuplecount; |
| 231 | dst->startup += add->startup; |
| 232 | dst->total += add->total; |
| 233 | dst->ntuples += add->ntuples; |
| 234 | dst->ntuples2 += add->ntuples2; |
| 235 | dst->nloops += add->nloops; |
| 236 | dst->nfiltered1 += add->nfiltered1; |
| 237 | dst->nfiltered2 += add->nfiltered2; |
| 238 | |
| 239 | /* Add delta of buffer usage since entry to node's totals */ |
| 240 | if (dst->need_bufusage) |
| 241 | BufferUsageAdd(&dst->bufusage, &add->bufusage); |
| 242 | |
| 243 | if (dst->need_walusage) |
| 244 | WalUsageAdd(&dst->walusage, &add->walusage); |
| 245 | } |
| 246 | |
| 247 | /* note current values during parallel executor startup */ |
| 248 | void |
no test coverage detected