Re: pgsql: Modify tqueue infrastructure to support transient record types. - Mailing list pgsql-committers

From Amit Kapila
Subject Re: pgsql: Modify tqueue infrastructure to support transient record types.
Date
Msg-id CAA4eK1+ZQxNnU_RSTtc6edYuV9=aJJWXsFYZ_bs-vsJGDSHm+w@mail.gmail.com
Whole thread Raw
In response to pgsql: Modify tqueue infrastructure to support transient record types.  (Robert Haas <rhaas@postgresql.org>)
Responses Re: pgsql: Modify tqueue infrastructure to support transient record types.  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-committers
On Sat, Nov 7, 2015 at 3:29 AM, Robert Haas <rhaas@postgresql.org> wrote:
>
> Modify tqueue infrastructure to support transient record types.
>

+static HeapTuple
+gather_readnext(GatherState *gatherstate)
+{
..
+       if (readerdone)
+       {
+           DestroyTupleQueueReader(reader);
+           --gatherstate->nreaders;
+           if (gatherstate->nreaders == 0)
+           {
+               ExecShutdownGather(gatherstate);
+               return NULL;
+           }
..
}

I think after readers are done, it's not good to call ShutdownGather,
because it will destroy the parallel context as well and the same is
needed for the cases when after the readers are done we still need
to access dsm, like for rescan and for scanning the data from local
node.

Here, we should just shutdown the workers and that is what we were
doing previous to this commit.  Attached patch fixes this problem.


With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
Attachment

pgsql-committers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: pgsql: Modify tqueue infrastructure to support transient record types.
Next
From: Peter Eisentraut
Date:
Subject: pgsql: Translation updates