* ExecFindRowMark -- find the ExecRowMark struct for given rangetable index * * If no such struct, either return NULL or throw error depending on missing_ok */
| 3526 | * If no such struct, either return NULL or throw error depending on missing_ok |
| 3527 | */ |
| 3528 | ExecRowMark * |
| 3529 | ExecFindRowMark(EState *estate, Index rti, bool missing_ok) |
| 3530 | { |
| 3531 | if (rti > 0 && rti <= estate->es_range_table_size && |
| 3532 | estate->es_rowmarks != NULL) |
| 3533 | { |
| 3534 | ExecRowMark *erm = estate->es_rowmarks[rti - 1]; |
| 3535 | |
| 3536 | if (erm) |
| 3537 | return erm; |
| 3538 | } |
| 3539 | if (!missing_ok) |
| 3540 | elog(ERROR, "failed to find ExecRowMark for rangetable index %u", rti); |
| 3541 | return NULL; |
| 3542 | } |
| 3543 | |
| 3544 | /* |
| 3545 | * ExecBuildAuxRowMark -- create an ExecAuxRowMark struct |
no outgoing calls
no test coverage detected