Re: assertion failure at cost_memoize_rescan()
От | Richard Guo |
---|---|
Тема | Re: assertion failure at cost_memoize_rescan() |
Дата | |
Msg-id | CAMbWs4-TR63+cq8PB1ZuBP7ND39SxVO6uHAHwvfb+Xn-7ieU-w@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: assertion failure at cost_memoize_rescan() (David Rowley <dgrowleyml@gmail.com>) |
Ответы |
Re: assertion failure at cost_memoize_rescan()
|
Список | pgsql-hackers |
On Tue, Jun 18, 2024 at 10:53 AM David Rowley <dgrowleyml@gmail.com> wrote: > Out of the places I saw, it seems we do tend to code things so that we > don't assume the value has been clamped. E.g. > adjust_limit_rows_costs() does if (*rows < 1) *rows = 1; Agreed. In costsize.c I saw a few instances where we have /* Protect some assumptions below that rowcounts aren't zero */ if (inner_path_rows <= 0) inner_path_rows = 1; > I think the best solution is to apply the attached. I didn't test, > but it should fix the issue you reported and also ensure that > MemoizePath.calls is never zero, which would also cause issues in the > hit_ratio calculation in cost_memoize_rescan(). +1. Thanks Richard
В списке pgsql-hackers по дате отправления: