Re: Parallel sec scan in plpgsql - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: Parallel sec scan in plpgsql
Date
Msg-id CAA4eK1+deWHDvWPvBXAXPpGH=dhRWgt485A_HvLEYaWU3JBpKA@mail.gmail.com
Whole thread Raw
In response to Re: Parallel sec scan in plpgsql  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Parallel sec scan in plpgsql  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
On Tue, Sep 20, 2016 at 8:31 PM, Robert Haas <robertmhaas@gmail.com> wrote:
> On Tue, Sep 20, 2016 at 9:24 AM, Amit Kapila <amit.kapila16@gmail.com> wrote:
>> I think here point is that for any case where there is count of rows
>> to be selected, we disable parallelism.  There are many genuine cases
>> like select count(*) into cnt ... which will run to completion, but as
>> plpgsql passes row count to be 1 or 2, it doesn't enter parallel mode.
>> There are couple other cases like that.  Do you see a reason for not
>> enabling parallelism for such cases?
>
> If we can somehow know that the rowcount which is passed is greater
> than or equal to the actual number of rows which will be generated,
> then it's fine to enable parallelism.
>

I think for certain cases like into clause, the rows passed will be
equal to actual number of rows, otherwise it will generate error.  So
we can pass that information in executor layer.  Another kind of cases
which are worth considering are when from plpgsql we fetch limited
rows at-a-time, but we fetch till end like the case of
exec_stmt_return_query().


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



pgsql-hackers by date:

Previous
From: Yury Zhuravlev
Date:
Subject: Re: File system operations.
Next
From: "Daniel Verite"
Date:
Subject: Re: [PATCH] get_home_path: use HOME