Re: pg_get_viewdef() produces non-round-trippable SQL for views with USING join on mismatched integer types
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Richard Guo <guofenglinux@gmail.com>
Cc: Swirl Smog Dowry <swirl-smog-dowry@duck.com>,
pgsql-bugs@lists.postgresql.org
Date: 2026-02-27T15:21:43Z
Lists: pgsql-bugs
Richard Guo <guofenglinux@gmail.com> writes: > I am on the fence about whether this fix is safe to back-patch to v18. I don't think we have a lot of choice. The cases where it makes a difference are pretty broken. Fortunately, I think these cases are rare. JOIN USING combining two different-type columns has got to be an edge-case usage, and I think it likely doesn't matter much in other cases. > However, this fix will only apply to newly created views. Users who > have existing views affected by this bug will have to recreate them > after upgrading to get the corrected pg_get_viewdef output. Yeah :-(. What's really annoying is that probably people will not notice until they try to upgrade to v19, and by then recreating the view correctly might be difficult. But I'm not seeing a way to smooth their path. regards, tom lane
Commits
-
Don't flatten join alias Vars that are stored within a GROUP RTE.
- c2c1962a64b5 18.4 landed
- 98616ac18b49 19 (unreleased) landed
-
Introduce an RTE for the grouping step
- 247dea89f761 18.0 cited