Hi!
Thank you for your work on the subject.
I reviewed your patch and found that your commit message does not fully explain your code, in addition, I found several spelling mistakes.
I think it's better to change to:With parallel seqscan, we should consider materializing the cheapest inner path in
case of nested loop if it doesn't contain a unique node or it is unsafe to use it in a subquery.
Besides, I couldn't understand why we again check that material path is safe?
if (matpath != NULL && matpath->parallel_safe)
try_partial_nestloop_path(root, joinrel, outerpath, matpath,
pathkeys, jointype, extra);
--
Regards,
Alena Rybakina