| 744 | } |
| 745 | |
| 746 | func (wf *WindowFrame) docRow(p *PrettyCfg) pretty.TableRow { |
| 747 | kw := "RANGE" |
| 748 | if wf.Mode == ROWS { |
| 749 | kw = "ROWS" |
| 750 | } else if wf.Mode == GROUPS { |
| 751 | kw = "GROUPS" |
| 752 | } |
| 753 | d := p.Doc(wf.Bounds.StartBound) |
| 754 | if wf.Bounds.EndBound != nil { |
| 755 | d = p.rlTable( |
| 756 | p.row("BETWEEN", d), |
| 757 | p.row("AND", p.Doc(wf.Bounds.EndBound)), |
| 758 | ) |
| 759 | } |
| 760 | if wf.Exclusion != NoExclusion { |
| 761 | d = pretty.Stack(d, p.Doc(wf.Exclusion)) |
| 762 | } |
| 763 | return p.row(kw, d) |
| 764 | } |
| 765 | |
| 766 | func (node *WindowFrameBound) doc(p *PrettyCfg) pretty.Doc { |
| 767 | switch node.BoundType { |