From 3afea528f8356fcef4dfbdb08ab7033710d9f7df Mon Sep 17 00:00:00 2001 From: Amit Kapila Date: Thu, 16 Jul 2020 08:38:29 +0530 Subject: [PATCH] Fix comments in heapam.c. After commits 85f6b49c2c and 3ba59ccc89, we can allow parallel inserts which was earlier not possible as parallel group members won't conflict for relation extension and page lock. In those commits, we forgot to update comments at few places. Discussion: https://postgr.es/m/CAFiTN-tMrQh5FFMPx5aWJ+1gi1H6JxktEhq5mDwCHgnEO5oBkA@mail.gmail.com --- src/backend/access/heap/heapam.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index d881f4c..3dd22c5 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -2013,12 +2013,9 @@ heap_prepare_insert(Relation relation, HeapTuple tup, TransactionId xid, CommandId cid, int options) { /* - * Parallel operations are required to be strictly read-only in a parallel - * worker. Parallel inserts are not safe even in the leader in the - * general case, because group locking means that heavyweight locks for - * relation extension or GIN page locks will not conflict between members - * of a lock group, but we don't prohibit that case here because there are - * useful special cases that we can safely allow, such as CREATE TABLE AS. + * For now, we don't allow parallel inserts of any form not even where the + * leader can perform the insert.  This restriction can be uplifted once we + * allow the planner to generate parallel plans for inserts. */ if (IsParallelWorker()) ereport(ERROR, @@ -5694,10 +5691,10 @@ heap_inplace_update(Relation relation, HeapTuple tuple) uint32 newlen; /* - * For now, parallel operations are required to be strictly read-only. - * Unlike a regular update, this should never create a combo CID, so it - * might be possible to relax this restriction, but not without more - * thought and testing. It's not clear that it would be useful, anyway. + * For now, we don't allow parallel updates. Unlike a regular update, this + * should never create a combo CID, so it might be possible to relax this + * restriction, but not without more thought and testing. It's not clear + * that it would be useful, anyway. */ if (IsInParallelMode()) ereport(ERROR, -- 1.8.3.1