MCPcopy Create free account
hub / github.com/go-pg/pg / AppendQuery

Method AppendQuery

orm/update.go:59–113  ·  view source on GitHub ↗
(fmter QueryFormatter, b []byte)

Source from the content-addressed store, hash-verified

57}
58
59func (q *UpdateQuery) AppendQuery(fmter QueryFormatter, b []byte) (_ []byte, err error) {
60 b = appendComment(b, q.q.comment)
61 if q.q.stickyErr != nil {
62 return nil, q.q.stickyErr
63 }
64
65 if len(q.q.with) > 0 {
66 b, err = q.q.appendWith(fmter, b)
67 if err != nil {
68 return nil, err
69 }
70 }
71
72 b = append(b, "UPDATE "...)
73
74 b, err = q.q.appendFirstTableWithAlias(fmter, b)
75 if err != nil {
76 return nil, err
77 }
78
79 b, err = q.mustAppendSet(fmter, b)
80 if err != nil {
81 return nil, err
82 }
83
84 isSliceModelWithData := q.q.isSliceModelWithData()
85 if isSliceModelWithData || q.q.hasMultiTables() {
86 b = append(b, " FROM "...)
87 b, err = q.q.appendOtherTables(fmter, b)
88 if err != nil {
89 return nil, err
90 }
91
92 if isSliceModelWithData {
93 b, err = q.appendSliceModelData(fmter, b)
94 if err != nil {
95 return nil, err
96 }
97 }
98 }
99
100 b, err = q.mustAppendWhere(fmter, b, isSliceModelWithData)
101 if err != nil {
102 return nil, err
103 }
104
105 if len(q.q.returning) > 0 {
106 b, err = q.q.appendReturning(fmter, b)
107 if err != nil {
108 return nil, err
109 }
110 }
111
112 return b, q.q.stickyErr
113}
114
115func (q *UpdateQuery) mustAppendWhere(
116 fmter QueryFormatter, b []byte, isSliceModelWithData bool,

Callers 1

StringMethod · 0.95

Calls 10

mustAppendSetMethod · 0.95
appendSliceModelDataMethod · 0.95
mustAppendWhereMethod · 0.95
appendCommentFunction · 0.85
appendWithMethod · 0.80
isSliceModelWithDataMethod · 0.80
hasMultiTablesMethod · 0.80
appendOtherTablesMethod · 0.80
appendReturningMethod · 0.80

Tested by

no test coverage detected