| 796 | } |
| 797 | |
| 798 | func (wf *WindowFrame) docRow(p *PrettyCfg) pretty.TableRow { |
| 799 | kw := "RANGE" |
| 800 | if wf.Mode == treewindow.ROWS { |
| 801 | kw = "ROWS" |
| 802 | } else if wf.Mode == treewindow.GROUPS { |
| 803 | kw = "GROUPS" |
| 804 | } |
| 805 | d := p.Doc(wf.Bounds.StartBound) |
| 806 | if wf.Bounds.EndBound != nil { |
| 807 | d = p.rlTable( |
| 808 | p.row("BETWEEN", d), |
| 809 | p.row("AND", p.Doc(wf.Bounds.EndBound)), |
| 810 | ) |
| 811 | } |
| 812 | if wf.Exclusion != treewindow.NoExclusion { |
| 813 | d = pretty.Stack(d, pretty.Keyword(wf.Exclusion.String())) |
| 814 | } |
| 815 | return p.row(kw, d) |
| 816 | } |
| 817 | |
| 818 | func (node *WindowFrameBound) doc(p *PrettyCfg) pretty.Doc { |
| 819 | switch node.BoundType { |