* assign_record_var --- assign a new value to any REC datum. */
| 8471 | * assign_record_var --- assign a new value to any REC datum. |
| 8472 | */ |
| 8473 | static void |
| 8474 | assign_record_var(PLpgSQL_execstate *estate, PLpgSQL_rec *rec, |
| 8475 | ExpandedRecordHeader *erh) |
| 8476 | { |
| 8477 | Assert(rec->dtype == PLPGSQL_DTYPE_REC); |
| 8478 | |
| 8479 | /* Transfer new record object into datum_context */ |
| 8480 | TransferExpandedRecord(erh, estate->datum_context); |
| 8481 | |
| 8482 | /* Free the old value ... */ |
| 8483 | if (rec->erh) |
| 8484 | DeleteExpandedObject(ExpandedRecordGetDatum(rec->erh)); |
| 8485 | |
| 8486 | /* ... and install the new */ |
| 8487 | rec->erh = erh; |
| 8488 | } |
| 8489 | |
| 8490 | /* |
| 8491 | * exec_eval_using_params --- evaluate params of USING clause |
no test coverage detected