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

Method Format

cmd/gosqlx/cmd/sql_formatter.go:60–79  ·  view source on GitHub ↗

Format formats an AST into properly indented SQL

(astObj *ast.AST)

Source from the content-addressed store, hash-verified

58
59// Format formats an AST into properly indented SQL
60func (f *SQLFormatter) Format(astObj *ast.AST) (string, error) {
61 f.builder.Reset()
62 f.newlineLevel = 0
63
64 for i, stmt := range astObj.Statements {
65 if i > 0 {
66 if f.compact {
67 f.builder.WriteString("; ")
68 } else {
69 f.builder.WriteString(";\n\n")
70 }
71 }
72
73 if err := f.formatStatement(stmt); err != nil {
74 return "", fmt.Errorf("failed to format statement: %w", err)
75 }
76 }
77
78 return f.builder.String(), nil
79}
80
81// formatStatement formats individual SQL statements
82func (f *SQLFormatter) formatStatement(stmt ast.Statement) error {

Calls 4

formatStatementMethod · 0.95
ErrorfMethod · 0.65
ResetMethod · 0.45
StringMethod · 0.45