On Wed, Jan 6, 2021 at 8:19 AM Zhihong Yu <z...@yugabyte.com> wrote: > For v20-0001-Parallel-Inserts-in-CREATE-TABLE-AS.patch : > > ParallelInsCmdEstimate : > > + Assert(pcxt && ins_info && > + (ins_cmd == PARALLEL_INSERT_CMD_CREATE_TABLE_AS)); > + > + if (ins_cmd == PARALLEL_INSERT_CMD_CREATE_TABLE_AS) > > Sinc the if condition is covered by the assertion, I wonder why the if check > is still needed. > > Similar comment for SaveParallelInsCmdFixedInfo and SaveParallelInsCmdInfo
Thanks. The idea is to have assertion with all the expected ins_cmd types, and then later to have selective handling for different ins_cmds. For example, if we add (in future) parallel insertion in Refresh Materialized View, then the code in those functions will be something like: +static void +ParallelInsCmdEstimate(ParallelContext *pcxt, ParallelInsertCmdKind ins_cmd, + void *ins_info) +{ + Assert(pcxt && ins_info && + (ins_cmd == PARALLEL_INSERT_CMD_CREATE_TABLE_AS || + (ins_cmd == PARALLEL_INSERT_CMD_REFRESH_MAT_VIEW)); + + if (ins_cmd == PARALLEL_INSERT_CMD_CREATE_TABLE_AS) + { + + } + else if (ns_cmd == PARALLEL_INSERT_CMD_REFRESH_MAT_VIEW) + { + + } Similarly for other functions as well. With Regards, Bharath Rupireddy. EnterpriseDB: http://www.enterprisedb.com