Do not skip call to MarkBufferDirtyHint for temp tables.
In markDirty() seems oversight in commit
to avoid calling MarkBufferDirtyHint()
for temp tables. Previous patch used relation->rd_istemp before calling
XLogSaveBufferForHint() in MarkBufferDirtyHint() that was unnecessary given it
already checks for BM_PERMANENT. So, call now MarkBufferDirtyHint()
unconditionally.
@@ -91,8 +91,10 @@ markDirty(Buffer buffer, Relation relation, HeapTupleHeader tuple, bool isXmin)
if (!gp_disable_tuple_hints)
{
- /* GPDB_91_MERGE_FIXME: what is the rationale of not dirtying local buffers? */
- if (relation->rd_rel->relpersistence != RELPERSISTENCE_TEMP)
+ /*
+ * Based on BM_PERMANENT it decides if should xlog for temp tables or
+ * not. So, can safely call it for any buffer.
+ */
MarkBufferDirtyHint(buffer);
return;
}
