existing patch and found couple corrections that are needed, in case if you are not
taken care of them already.
+ /* Update the tuple with table oid */
+ slot->tts_tableOid = RelationGetRelid(relation);
+ if (slot->tts_tableOid != InvalidOid)
+ tuple->t_tableOid = slot->tts_tableOid;
The setting of slot->tts_tableOid is not required in this function,
After set the check is happening, the above code is present in both
heapam_heap_insert and heapam_heap_insert_speculative.
+ slot->tts_tableOid = RelationGetRelid(relation);
In heapam_heap_update, i don't think there is a need to update
slot->tts_tableOid.
+ default:
+ elog(ERROR, "unrecognized heap_update status: %u", result);
heap_update --> table_update?
+ default:
+ elog(ERROR, "unrecognized heap_delete status: %u", result);
same as above?
+ /*hari FIXME*/
+ /*Assert(result != HeapTupleUpdated && hufd.traversed);*/
Removing the commented codes in both ExecDelete and ExecUpdate functions.
+ /**/
+ if (epqreturnslot)
+ {
+ *epqreturnslot = epqslot;
+ return NULL;
+ }
comment update missed?