MCPcopy Index your code
hub / github.com/sqlc-dev/sqlc / Format

Method Format

internal/sql/ast/window_def.go:40–114  ·  view source on GitHub ↗
(buf *TrackedBuffer, d format.Dialect)

Source from the content-addressed store, hash-verified

38)
39
40func (n *WindowDef) Format(buf *TrackedBuffer, d format.Dialect) {
41 if n == nil {
42 return
43 }
44
45 // Named window reference
46 if n.Refname != nil && *n.Refname != "" {
47 buf.WriteString(*n.Refname)
48 return
49 }
50
51 buf.WriteString("(")
52 needSpace := false
53
54 if items(n.PartitionClause) {
55 buf.WriteString("PARTITION BY ")
56 buf.join(n.PartitionClause, d, ", ")
57 needSpace = true
58 }
59
60 if items(n.OrderClause) {
61 if needSpace {
62 buf.WriteString(" ")
63 }
64 buf.WriteString("ORDER BY ")
65 buf.join(n.OrderClause, d, ", ")
66 needSpace = true
67 }
68
69 // Frame clause
70 if n.FrameOptions&FrameOptionNonDefault != 0 {
71 if needSpace {
72 buf.WriteString(" ")
73 }
74
75 // Frame type
76 if n.FrameOptions&FrameOptionRows != 0 {
77 buf.WriteString("ROWS ")
78 } else if n.FrameOptions&FrameOptionRange != 0 {
79 buf.WriteString("RANGE ")
80 } else if n.FrameOptions&FrameOptionGroups != 0 {
81 buf.WriteString("GROUPS ")
82 }
83
84 if n.FrameOptions&FrameOptionBetween != 0 {
85 buf.WriteString("BETWEEN ")
86 }
87
88 // Start bound
89 if n.FrameOptions&FrameOptionStartUnboundedPreceding != 0 {
90 buf.WriteString("UNBOUNDED PRECEDING")
91 } else if n.FrameOptions&FrameOptionStartCurrentRow != 0 {
92 buf.WriteString("CURRENT ROW")
93 } else if n.FrameOptions&FrameOptionStartOffset != 0 {
94 buf.astFormat(n.StartOffset, d)
95 buf.WriteString(" PRECEDING")
96 }
97

Callers

nothing calls this directly

Calls 3

itemsFunction · 0.85
joinMethod · 0.80
astFormatMethod · 0.80

Tested by

no test coverage detected