> I found some code path use list_delete_ptr while the loop of foreach() is
> iterating.
> 
> List_delete_ptr seems search the list again to find the target cell and
> delete it.
> >     foreach(cell, list)
> >     {
> >             if (lfirst(cell) == datum)
> >                     return list_delete_cell(list, cell);
> >     }
> 
> 
> If we already get the cell in foreach loop, I think we can use
> list_delete_cell to avoid searching the list again.
> 
> Please see the attachment for the patch.

I have added it to commitfest.
https://commitfest.postgresql.org/30/2761/

Best regards.




Reply via email to