MCPcopy
hub / github.com/github/gh-ost / BuildSetPreparedClause

Function BuildSetPreparedClause

go/sql/builder.go:182–201  ·  view source on GitHub ↗
(columns *ColumnList)

Source from the content-addressed store, hash-verified

180}
181
182func BuildSetPreparedClause(columns *ColumnList) (result string, err error) {
183 if columns.Len() == 0 {
184 return "", fmt.Errorf("got 0 columns in BuildSetPreparedClause")
185 }
186 setTokens := []string{}
187 for _, column := range columns.Columns() {
188 var setToken string
189 if column.timezoneConversion != nil {
190 setToken = fmt.Sprintf("%s=convert_tz(?, '%s', '%s')", EscapeName(column.Name), column.timezoneConversion.ToTimezone, "+00:00")
191 } else if column.enumToTextConversion {
192 setToken = fmt.Sprintf("%s=ELT(?, %s)", EscapeName(column.Name), column.EnumValues)
193 } else if column.Type == JSONColumnType {
194 setToken = fmt.Sprintf("%s=convert(? using utf8mb4)", EscapeName(column.Name))
195 } else {
196 setToken = fmt.Sprintf("%s=?", EscapeName(column.Name))
197 }
198 setTokens = append(setTokens, setToken)
199 }
200 return strings.Join(setTokens, ", "), nil
201}
202
203func BuildRangeComparison(columns []string, values []string, args []interface{}, comparisonSign ValueComparisonSign) (result string, explodedArgs []interface{}, err error) {
204 if len(columns) == 0 {

Callers 2

NewDMLUpdateQueryBuilderFunction · 0.85

Calls 4

EscapeNameFunction · 0.85
ColumnsMethod · 0.80
ErrorfMethod · 0.65
LenMethod · 0.45

Tested by 1

Used in the wild real call sites across dependent graphs

searching dependent graphs…