On Wed, Feb 22, 2017 at 10:22 PM, Dilip Kumar <dilipbal...@gmail.com> 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 (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers