diff --git a/src/backend/columnar/columnar_tableam.c b/src/backend/columnar/columnar_tableam.c index ea8c6df1e..572c74e28 100644 --- a/src/backend/columnar/columnar_tableam.c +++ b/src/backend/columnar/columnar_tableam.c @@ -227,8 +227,6 @@ columnar_beginscan_extended(Relation relation, Snapshot snapshot, "cannot read from table when there is unflushed data in upper transactions"); } - FlushWriteStateForRelfilenode(relfilenode, GetCurrentSubTransactionId()); - MemoryContextSwitchTo(oldContext); return ((TableScanDesc) scan); @@ -257,6 +255,9 @@ init_columnar_read_state(Relation relation, TupleDesc tupdesc, Bitmapset *attr_n { MemoryContext oldContext = MemoryContextSwitchTo(scanContext); + Oid relfilenode = relation->rd_node.relNode; + FlushWriteStateForRelfilenode(relfilenode, GetCurrentSubTransactionId()); + List *neededColumnList = NeededColumnsList(tupdesc, attr_needed); ColumnarReadState *readState = ColumnarBeginRead(relation, tupdesc, neededColumnList, scanQual, scanContext, snapshot); @@ -429,8 +430,6 @@ columnar_index_fetch_begin(Relation rel) "upper transactions"); } - FlushWriteStateForRelfilenode(relfilenode, GetCurrentSubTransactionId()); - MemoryContext scanContext = CreateColumnarScanMemoryContext(); MemoryContext oldContext = MemoryContextSwitchTo(scanContext);