* Tom Lane (t...@sss.pgh.pa.us) wrote: > However ... David is wrong to claim that it's zero-risk. It's true that > an SRF can't contain any side-references today, but it can contain an > outer reference. Consider a case like > > SELECT ... FROM a WHERE a.x IN (SELECT ... FROM b, srf(y) WHERE ...)
I see what you mean, but on the other hand, that looks like something we might actually want to complain about as 'y' is pretty clearly ambiguous here. I'm a bit surprised that doesn't already throw an error. > This is a little bit far-fetched, but it could happen. As against that, > we make incompatible changes in every release, and it does seem like > assuming LATERAL for functions in FROM would be a usability gain most > of the time. And special-casing UNNEST to satisfy the standard seems > *really* ugly. It's definitely far-fetched, imv. If it's possible, within reason, to explicitly throw a "please disambiguate 'y'" type of error in those specific cases, that'd be nice, but I don't think it'd be required. A mention in the release notes would be sufficient. Thanks, Stephen
signature.asc
Description: Digital signature