postgres_fdw: Fix assertion in estimate_path_cost_size().
Etsuro Fujita <efujita@postgresql.org>
postgres_fdw: Fix assertion in estimate_path_cost_size(). Commit 08d2d58a2 added this assertion assuming that the retrieved_rows estimate for a foreign relation is set to at least one row in estimate_path_cost_size(), but the assumption isn't correct because if the relation is a foreign table with tuples=0, the estimate would be set to 0 in there when using local stats, and if the query's WHERE clause has a NULL condition, the estimate could be set to 0 in there when using remote estimates. (Note: even in the latter case the assertion could be reachable when costing foreign final paths.) Repair. Per bug #17713 from Robins Tharakan. This patch was already applied to v13 or later; apply it to v12 as well where the aforementioned commit was added. Thanks to Richard Guo for investigation. Discussion: http://postgr.es/m/17713-92cce66de7e81c04%40postgresql.org Discussion: http://postgr.es/m/CAEP4nAza%2B0fTCLkgkKYux3JDo3tUBTQORehP%2BaCxSNURpSFpHw%40mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| contrib/postgres_fdw/expected/postgres_fdw.out | modified | +18 −0 |
| contrib/postgres_fdw/postgres_fdw.c | modified | +1 −1 |
| contrib/postgres_fdw/sql/postgres_fdw.sql | modified | +12 −0 |
Discussion
- BUG #17713: Assert with postgres_fdw in v12 5 messages · 2022-12-12 → 2022-12-19
Cited messages not in the archive:
CAEP4nAza+0fTCLkgkKYux3JDo3tUBTQORehP+aCxSNURpSFpHw@mail.gmail.com