Re: Is this an oversight in reparameterizing Memoize path?
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Richard Guo <guofenglinux@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2022-12-02T15:13:30Z
Lists: pgsql-hackers
Richard Guo <guofenglinux@gmail.com> writes: > When reviewing other patch I noticed there might be an oversight for > MemoizePath in reparameterize_path. In reparameterize_path we are > supposed to increase the path's parameterization to required_outer. > However, AFAICS for MemoizePath we just re-create the same path thus its > parameterization does not get increased. Yeah, that sure looks wrong. At minimum we should be recursively fixing the subpath. (It looks like doing that and re-calling create_memoize_path might be sufficient.) According to [1] our code coverage for reparameterize_path is just awful. MemoizePath in reparameterize_pathlist_by_child isn't tested either ... regards, tom lane [1] https://coverage.postgresql.org/src/backend/optimizer/util/pathnode.c.gcov.html
Commits
-
Fix broken MemoizePath support in reparameterize_path().
- e76913802c53 16.0 landed
- ce093aa18062 14.7 landed
- 834d97c32b71 15.2 landed