On Mon, 27 Jun 2022 at 19:43, David G. Johnston <david.g.johns...@gmail.com> wrote: > > On Mon, Jun 27, 2022 at 11:25 AM Dean Rasheed <dean.a.rash...@gmail.com> > wrote: >> >> On Mon, 27 Jun 2022 at 16:12, Julien Rouhaud <rjuju...@gmail.com> wrote: >> > >> > It doesn't play that well if you have something called subquery though: >> > >> > [example that changes a user-provided alias] >> > >> > While the output is a valid query, it's not nice that it's replacing a >> > user provided alias with another one (or force an alias if you have a >> > relation called subquery). >> >> It's already the case that user-provided aliases can get replaced by >> new ones in the query-deparsing code, e.g.: >> > > Regardless, is there any reason to not just prefix our made-up aliases with > "pg_" to make it perfectly clear they were generated by the system and are > basically implementation details as opposed to something that appeared in the > originally written query? > > I suppose, "because we've haven't until now, so why start" suffices...but > still doing a rename/suffixing because of query rewriting and inventing one > where we made it optional seem different enough to justify implementing > something different. >
I think "pg_" would be a bad idea, since it's too easily confused with things like system catalogs. The obvious precedent we have for a made-up alias is "unnamed_join", so perhaps "unnamed_subquery" would be better. Regards, Dean