MCPcopy Create free account
hub / github.com/ajitpratap0/GoSQLX / formatInsert

Method formatInsert

cmd/gosqlx/cmd/sql_formatter.go:261–298  ·  view source on GitHub ↗

formatInsert formats INSERT statements

(stmt *ast.InsertStatement)

Source from the content-addressed store, hash-verified

259
260// formatInsert formats INSERT statements
261func (f *SQLFormatter) formatInsert(stmt *ast.InsertStatement) error {
262 f.writeKeyword("INSERT INTO")
263 f.builder.WriteString(" " + stmt.TableName)
264
265 if len(stmt.Columns) > 0 {
266 f.builder.WriteString(" (")
267 f.formatExpressionList(stmt.Columns, ", ")
268 f.builder.WriteString(")")
269 }
270
271 if len(stmt.Values) > 0 {
272 f.writeNewline()
273 f.writeKeyword("VALUES")
274 for i, row := range stmt.Values {
275 if i > 0 {
276 f.builder.WriteString(",")
277 }
278 f.builder.WriteString(" (")
279 f.formatExpressionList(row, ", ")
280 f.builder.WriteString(")")
281 }
282 }
283
284 if stmt.Query != nil {
285 f.writeNewline()
286 if sel, ok := stmt.Query.(*ast.SelectStatement); ok {
287 return f.formatSelect(sel)
288 }
289 // For SetOperation or other statement types, use Format if available
290 if fmtable, ok := stmt.Query.(interface {
291 Format(ast.FormatOptions) string
292 }); ok {
293 f.builder.WriteString(fmtable.Format(ast.FormatOptions{}))
294 }
295 }
296
297 return nil
298}
299
300// formatUpdate formats UPDATE statements
301func (f *SQLFormatter) formatUpdate(stmt *ast.UpdateStatement) error {

Callers 1

formatStatementMethod · 0.95

Calls 5

writeKeywordMethod · 0.95
formatExpressionListMethod · 0.95
writeNewlineMethod · 0.95
formatSelectMethod · 0.95
FormatMethod · 0.45

Tested by

no test coverage detected