Improve coding pattern in Parallel Append code.
The create_append_path code didn't consider that list_concat will modify it's first argument leading to inconsistent traversal of resulting list. In practice, it won't lead to any user-visible bug but changing it for making the code behave consistently. Reported-by: Tom Lane Author: Tom Lane Reviewed-by: Amit Khandekar and Amit Kapila Discussion: https://postgr.es/m/32365.1528994120@sss.pgh.pa.us
This commit is contained in:
parent
c7048977a7
commit
98d476a965
@ -1274,7 +1274,7 @@ create_append_path(PlannerInfo *root,
|
|||||||
pathnode->first_partial_path = list_length(subpaths);
|
pathnode->first_partial_path = list_length(subpaths);
|
||||||
pathnode->subpaths = list_concat(subpaths, partial_subpaths);
|
pathnode->subpaths = list_concat(subpaths, partial_subpaths);
|
||||||
|
|
||||||
foreach(l, subpaths)
|
foreach(l, pathnode->subpaths)
|
||||||
{
|
{
|
||||||
Path *subpath = (Path *) lfirst(l);
|
Path *subpath = (Path *) lfirst(l);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user