* ExecHashTableResetMatchFlags * Clear all the HeapTupleHeaderHasMatch flags in the table */
| 2500 | * Clear all the HeapTupleHeaderHasMatch flags in the table |
| 2501 | */ |
| 2502 | void |
| 2503 | ExecHashTableResetMatchFlags(HashJoinTable hashtable) |
| 2504 | { |
| 2505 | HashJoinTuple tuple; |
| 2506 | int i; |
| 2507 | |
| 2508 | /* Reset all flags in the main table ... */ |
| 2509 | for (i = 0; i < hashtable->nbuckets; i++) |
| 2510 | { |
| 2511 | for (tuple = hashtable->buckets.unshared[i]; tuple != NULL; |
| 2512 | tuple = tuple->next.unshared) |
| 2513 | HeapTupleHeaderClearMatch(HJTUPLE_MINTUPLE(tuple)); |
| 2514 | } |
| 2515 | |
| 2516 | /* ... and the same for the skew buckets, if any */ |
| 2517 | for (i = 0; i < hashtable->nSkewBuckets; i++) |
| 2518 | { |
| 2519 | int j = hashtable->skewBucketNums[i]; |
| 2520 | HashSkewBucket *skewBucket = hashtable->skewBucket[j]; |
| 2521 | |
| 2522 | for (tuple = skewBucket->tuples; tuple != NULL; tuple = tuple->next.unshared) |
| 2523 | HeapTupleHeaderClearMatch(HJTUPLE_MINTUPLE(tuple)); |
| 2524 | } |
| 2525 | } |
| 2526 | |
| 2527 | |
| 2528 | void |
no outgoing calls
no test coverage detected