On Wed, Feb 22, 2017 at 10:22 PM, Dilip Kumar <[email protected]> wrote: > > Some initial comments. > > ---------- > if (numberTuples || dest->mydest == DestIntoRel) > use_parallel_mode = false; > > if (use_parallel_mode) > EnterParallelMode(); > + else if (estate->es_plannedstmt->parallelModeNeeded && > + (dest->mydest == DestSPI || dest->mydest == DestSQLFunction)) > + { > + use_parallel_mode = true; > + EnterParallelMode(); > + } > > I think we can simplify this, can we replace above code with something > like this? > > if (dest->mydest == DestIntoRel || > numberTuples && (dest->mydest != DestSPI || dest->mydest != > DestSQLFunction)) > use_parallel_mode = false;
Yes, it can be simplified to
if (dest->mydest == DestIntoRel || (numberTuples && (dest->mydest !=
DestSPI && dest->mydest ! DestSQLFunction)))
Thanks.
>
> -------------
>
> + {
> + /* Allow parallelism if the function is not trigger type. */
> + if (estate->func->fn_is_trigger == PLPGSQL_NOT_TRIGGER)
> + exec_res = SPI_execute(querystr, estate->readonly_func,
> CURSOR_OPT_PARALLEL_OK);
> + else
> + exec_res = SPI_execute(querystr, estate->readonly_func, 0);
> + }
>
> The last parameter of SPI_execute is tuple count, not cursorOption,
> you need to fix this. Also, this is crossing the 80 line boundary.
>
Oops, corrected.
> -----------
> Any specific reason for not changing SPI_execute_with_args, EXECUTE
> with USING will take this path.
>
Fixed.
--
Regards,
Rafia Sabih
EnterpriseDB: http://www.enterprisedb.com/
pl_parallel_v2.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
