MCPcopy
hub / github.com/sqlc-dev/sqlc / renameColumn

Method renameColumn

internal/sql/catalog/table.go:392–423  ·  view source on GitHub ↗
(stmt *ast.RenameColumnStmt)

Source from the content-addressed store, hash-verified

390}
391
392func (c *Catalog) renameColumn(stmt *ast.RenameColumnStmt) error {
393 _, tbl, err := c.getTable(stmt.Table)
394 if err != nil {
395 return checkMissing(err, stmt.MissingOk)
396 }
397 idx := -1
398 for i := range tbl.Columns {
399 if tbl.Columns[i].Name == stmt.Col.Name {
400 idx = i
401 }
402 if tbl.Columns[i].Name == *stmt.NewName {
403 return sqlerr.ColumnExists(tbl.Rel.Name, *stmt.NewName)
404 }
405 }
406 if idx == -1 {
407 return sqlerr.ColumnNotFound(tbl.Rel.Name, stmt.Col.Name)
408 }
409 tbl.Columns[idx].Name = *stmt.NewName
410
411 if tbl.Columns[idx].linkedType {
412 name := fmt.Sprintf("%s_%s", tbl.Rel.Name, *stmt.NewName)
413 rename := &ast.RenameTypeStmt{
414 Type: &tbl.Columns[idx].Type,
415 NewName: &name,
416 }
417 if err := c.renameType(rename); err != nil {
418 return err
419 }
420 }
421
422 return nil
423}
424
425func (c *Catalog) renameTable(stmt *ast.RenameTableStmt) error {
426 sch, tbl, err := c.getTable(stmt.Table)

Callers 1

UpdateMethod · 0.95

Calls 5

getTableMethod · 0.95
renameTypeMethod · 0.95
ColumnExistsFunction · 0.92
ColumnNotFoundFunction · 0.92
checkMissingFunction · 0.85

Tested by

no test coverage detected