* Add preassigned EphemeralNamedRelationInfo objects to the given query environment. * * Parameters: * - queryEnv: the query environment * - enrs: a list of EphemeralNamedRelationInfo objects to add */
| 104 | * - enrs: a list of EphemeralNamedRelationInfo objects to add |
| 105 | */ |
| 106 | void |
| 107 | AddPreassignedENR(QueryEnvironment *queryEnv, List* enrs) |
| 108 | { |
| 109 | ListCell *lc; |
| 110 | |
| 111 | foreach(lc, enrs) |
| 112 | { |
| 113 | EphemeralNamedRelationInfo *enrinfo = (EphemeralNamedRelationInfo *) lfirst(lc); |
| 114 | |
| 115 | EphemeralNamedRelation enr = (EphemeralNamedRelation) palloc0(sizeof(EphemeralNamedRelationData)); |
| 116 | enr->md.name = enrinfo->name; |
| 117 | enr->md.reliddesc = enrinfo->reliddesc; |
| 118 | enr->md.tupdesc = enrinfo->tuple; |
| 119 | enr->md.enrtype = enrinfo->enrtype; |
| 120 | enr->md.enrtuples = enrinfo->enrtuples; |
| 121 | enr->reldata = NULL; |
| 122 | if (get_visible_ENR_metadata(queryEnv, enr->md.name) == NULL) |
| 123 | register_ENR(queryEnv, enr); |
| 124 | else |
| 125 | pfree(enr); |
| 126 | } |
| 127 | return; |
| 128 | } |
| 129 | |
| 130 | /* |
| 131 | * Fill the QueryDispatchDesc structure with information from the given query environment. |
no test coverage detected