* If next tuple has been found, store it into the slot as materialized
* tuple. Otherwise, clear the slot to tell executor that we have reached
* EOF.
+ *
+ * We pass NULL as ExprContext for evaluating default expression because we
+ * read all of data from file.
+ *
+ * We also pass NULL as tupleOid because we don't support tuple oid for
+ * foreign tables.
*/
ExecClearTuple(slot);
- found = NextCopyFrom(fdw_private->cstate, slot->tts_values, slot->tts_isnull,
- NULL);
+ found = NextCopyFrom(fdw_private->cstate, NULL, slot->tts_values,
+ slot->tts_isnull, NULL);
if (found)
ExecStoreVirtualTuple(slot);