On Thu, Apr 6, 2017 at 2:49 PM, Bruce Momjian <br...@momjian.us> wrote:
> As part of writing a talk about window functions, I have done some > cleanups of the window function docs, attached, that I would like to > apply to head. +1 Overall. Some minor technical items noted below. The only conceptual item is whether (and, if so, how) to deal with partitions vs. frames. - But unlike regular aggregate functions, use of a window function does not + But unlike normal aggregate functions, use of a window function does not How broadly did you look for usage of normal versus regular? The window function doc page uses "normal" once, vis-a-vis "ordered-set", I haven't looked further. Note on that page the intro paragraph doesn't mention hypothetical-set aggregates as being distinct from ordered-set aggregates yet the tables and the docs here do. https://www.postgresql.org/docs/current/static/functions-aggregate.html + treated as a window function and computed across the entire partition.) Would introducing the concept of frame here trade precision for comprehension? - <firstterm>window frame</>. Many (but not all) window functions act only + <firstterm>window frame</>. Some window functions act only This is a semantic change as to whether the dominate behavior is to act on frames or partitions. IIUC very few window functions, when presented with a ORDER BY'd OVER and thus a limited frame, will still act on the entire partition instead of the just the frame they are provided. In particular don't all normal aggregates (and user-defined ones) operate on frames? The cume_dist function noted later is one of the few exceptions since it effectively operates on both - the frame for the numerator and the partition for the denominator. + aggregate function (i.e. not ordered-set or hypothetical-set aggregates) I, and others, subscribe to the believe that both i.e., and e.g., should have trailing commas... http://english.stackexchange.com/questions/6894/should-there-be-a-comma-after-i-e + functions (includes <function>cume_dist</>) are defined so that they s/b "including <function>cume_dist</>" + give the same answer for any two peer rows. for all peer rows? + assuming the current row is does not exist in the partition. remove "is"