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

Method formatCreateTable

cmd/gosqlx/cmd/sql_formatter.go:359–403  ·  view source on GitHub ↗

formatCreateTable formats CREATE TABLE statements

(stmt *ast.CreateTableStatement)

Source from the content-addressed store, hash-verified

357
358// formatCreateTable formats CREATE TABLE statements
359func (f *SQLFormatter) formatCreateTable(stmt *ast.CreateTableStatement) error {
360 f.writeKeyword("CREATE")
361 if stmt.Temporary {
362 f.builder.WriteString(" ")
363 f.writeKeyword("TEMPORARY")
364 }
365 f.builder.WriteString(" ")
366 f.writeKeyword("TABLE")
367
368 if stmt.IfNotExists {
369 f.builder.WriteString(" ")
370 f.writeKeyword("IF NOT EXISTS")
371 }
372
373 f.builder.WriteString(" " + stmt.Name + " (")
374
375 if !f.compact {
376 f.writeNewline()
377 f.increaseIndent()
378 }
379
380 for i, col := range stmt.Columns {
381 col := col // G601: Create local copy to avoid memory aliasing
382 if i > 0 {
383 f.builder.WriteString(",")
384 if !f.compact {
385 f.writeNewline()
386 } else {
387 f.builder.WriteString(" ")
388 }
389 }
390 if !f.compact {
391 f.builder.WriteString(f.currentIndent())
392 }
393 f.formatColumnDef(&col)
394 }
395
396 if !f.compact {
397 f.decreaseIndent()
398 f.writeNewline()
399 }
400 f.builder.WriteString(")")
401
402 return nil
403}
404
405// formatCreateIndex formats CREATE INDEX statements
406func (f *SQLFormatter) formatCreateIndex(stmt *ast.CreateIndexStatement) error {

Callers 1

formatStatementMethod · 0.95

Calls 6

writeKeywordMethod · 0.95
writeNewlineMethod · 0.95
increaseIndentMethod · 0.95
currentIndentMethod · 0.95
formatColumnDefMethod · 0.95
decreaseIndentMethod · 0.95

Tested by

no test coverage detected