Thread: LATERAL synopsis
On the SELECT manual-page synopsis, http://www.postgresql.org/docs/devel/static/sql-select.html the LATERAL feature is documented in three sparate lines (the are separate, right?). Because of their length I was going to reformat them to let them fit in the .PDF page format, but looking a bit closer at that synopsis I have to admit I don't really understand it. Could someone please explain? [ LATERAL ] ( select ) [ AS ] alias [ ( column_alias [, ...] ) ] and: [ LATERAL ] function_name ( [ argument [, ...] ] ) [ AS ] alias [ ( column_alias [, ...] | column_definition [, ...] ) ] and: [ LATERAL ] function_name ( [ argument [, ...] ] ) AS ( column_definition [, ...] ) All three are listed as possible 'from_item's. But what does 'column_definition' stand for? (These are the only occurrences of 'column_definition' in the manual.) Are not the first two of the above LATERAL-lines sufficient? Or perhaps it would be even better to reduce it to only the first of those three lines (i.e. get rid of the 'function_name' lines)? Thanks, Erik Rijkers
"Erik Rijkers" <er@xs4all.nl> writes: > [ LATERAL ] function_name ( [ argument [, ...] ] ) AS ( column_definition [, ...] ) > But what does 'column_definition' stand for? (These are the only occurrences of > 'column_definition' in the manual.) This is the syntax for specifying what columns a function-returning-RECORD is actually going to return. I'm too lazy to chase down the reference and see whether it's really inconsistent or not --- but that line was like that before I added [ LATERAL ] to it ... regards, tom lane
On Sat, October 27, 2012 18:44, Tom Lane wrote: > "Erik Rijkers" <er@xs4all.nl> writes: >> [ LATERAL ] function_name ( [ argument [, ...] ] ) AS ( column_definition [, ...] ) > >> But what does 'column_definition' stand for? (These are the only occurrences of >> 'column_definition' in the manual.) > > This is the syntax for specifying what columns a > function-returning-RECORD is actually going to return. I'm too lazy to > chase down the reference and see whether it's really inconsistent or > not --- but that line was like that before I added [ LATERAL ] to it ... > OK. I see it goes back to 7.3. It's probably not a problem. I returned to the initial reason that I looked at the select.sgml, namely the truncation of some of the synopsis-lines in the .pdf page for select.sgml. Attached patch wraps the worst-longest line so that if becomes visible in pdf. It makes the .html version slightly less pretty, but I hope the .pdf readability (integrity, even) counts for something too. (the remaining long lines in select.sgml page are cut off (for pdf) in the middle of some last element and as such are still readable / clear enough.) If changes like these (where the .html suffers slightly for .pdf integrity) are acceptable, I would like to make some more doc-patches where the .pdf is rendered readable (almost always the synopsis, but maybe there are still some code examples). Thanks, Erik Rijkers