| 577 | } |
| 578 | |
| 579 | func (node *Select) docTable(p *PrettyCfg) []pretty.TableRow { |
| 580 | items := make([]pretty.TableRow, 0, 9) |
| 581 | items = append(items, node.With.docRow(p)) |
| 582 | if s, ok := node.Select.(tableDocer); ok { |
| 583 | items = append(items, s.docTable(p)...) |
| 584 | } else { |
| 585 | items = append(items, p.row("", p.Doc(node.Select))) |
| 586 | } |
| 587 | items = append(items, node.OrderBy.docRow(p)) |
| 588 | items = append(items, node.Limit.docTable(p)...) |
| 589 | items = append(items, node.Locking.docTable(p)...) |
| 590 | return items |
| 591 | } |
| 592 | |
| 593 | func (node *SelectClause) doc(p *PrettyCfg) pretty.Doc { |
| 594 | return p.rlTable(node.docTable(p)...) |