* StoreIndexTuple * Fill the slot with data from the index tuple. * * At some point this might be generally-useful functionality, but * right now we don't need it elsewhere. */
| 267 | * right now we don't need it elsewhere. |
| 268 | */ |
| 269 | static void |
| 270 | StoreIndexTuple(TupleTableSlot *slot, IndexTuple itup, TupleDesc itupdesc) |
| 271 | { |
| 272 | /* |
| 273 | * Note: we must use the tupdesc supplied by the AM in index_deform_tuple, |
| 274 | * not the slot's tupdesc, in case the latter has different datatypes |
| 275 | * (this happens for btree name_ops in particular). They'd better have |
| 276 | * the same number of columns though, as well as being datatype-compatible |
| 277 | * which is something we can't so easily check. |
| 278 | */ |
| 279 | Assert(slot->tts_tupleDescriptor->natts == itupdesc->natts); |
| 280 | |
| 281 | ExecClearTuple(slot); |
| 282 | index_deform_tuple(itup, itupdesc, slot->tts_values, slot->tts_isnull); |
| 283 | ExecStoreVirtualTuple(slot); |
| 284 | } |
| 285 | |
| 286 | /* |
| 287 | * IndexOnlyRecheck -- access method routine to recheck a tuple in EvalPlanQual |
no test coverage detected