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

Method dropTable

internal/sql/catalog/table.go:356–390  ·  view source on GitHub ↗
(stmt *ast.DropTableStmt)

Source from the content-addressed store, hash-verified

354}
355
356func (c *Catalog) dropTable(stmt *ast.DropTableStmt) error {
357 for _, name := range stmt.Tables {
358 ns := name.Schema
359 if ns == "" {
360 ns = c.DefaultSchema
361 }
362 schema, err := c.getSchema(ns)
363 if errors.Is(err, sqlerr.NotFound) && stmt.IfExists {
364 continue
365 } else if err != nil {
366 return err
367 }
368
369 tbl, idx, err := schema.getTable(name)
370 if errors.Is(err, sqlerr.NotFound) && stmt.IfExists {
371 continue
372 } else if err != nil {
373 return err
374 }
375
376 drop := &ast.DropTypeStmt{}
377 for _, col := range tbl.Columns {
378 if !col.linkedType {
379 continue
380 }
381 drop.Types = append(drop.Types, &col.Type)
382 }
383 if err := c.dropType(drop); err != nil {
384 return err
385 }
386
387 schema.Tables = append(schema.Tables[:idx], schema.Tables[idx+1:]...)
388 }
389 return nil
390}
391
392func (c *Catalog) renameColumn(stmt *ast.RenameColumnStmt) error {
393 _, tbl, err := c.getTable(stmt.Table)

Callers 1

UpdateMethod · 0.95

Calls 3

getSchemaMethod · 0.95
dropTypeMethod · 0.95
getTableMethod · 0.45

Tested by

no test coverage detected