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

Method convertAlter_table_stmtContext

internal/engine/sqlite/convert.go:42–100  ·  view source on GitHub ↗
(n *parser.Alter_table_stmtContext)

Source from the content-addressed store, hash-verified

40}
41
42func (c *cc) convertAlter_table_stmtContext(n *parser.Alter_table_stmtContext) ast.Node {
43 if n.RENAME_() != nil {
44 if newTable, ok := n.New_table_name().(*parser.New_table_nameContext); ok {
45 name := identifier(newTable.Any_name().GetText())
46 return &ast.RenameTableStmt{
47 Table: parseTableName(n),
48 NewName: &name,
49 }
50 }
51
52 if newCol, ok := n.GetNew_column_name().(*parser.Column_nameContext); ok {
53 name := identifier(newCol.Any_name().GetText())
54 return &ast.RenameColumnStmt{
55 Table: parseTableName(n),
56 Col: &ast.ColumnRef{
57 Name: identifier(n.GetOld_column_name().GetText()),
58 },
59 NewName: &name,
60 }
61 }
62 }
63
64 if n.ADD_() != nil {
65 if def, ok := n.Column_def().(*parser.Column_defContext); ok {
66 stmt := &ast.AlterTableStmt{
67 Table: parseTableName(n),
68 Cmds: &ast.List{},
69 }
70 name := def.Column_name().GetText()
71 stmt.Cmds.Items = append(stmt.Cmds.Items, &ast.AlterTableCmd{
72 Name: &name,
73 Subtype: ast.AT_AddColumn,
74 Def: &ast.ColumnDef{
75 Colname: name,
76 TypeName: &ast.TypeName{
77 Name: def.Type_name().GetText(),
78 },
79 IsNotNull: hasNotNullConstraint(def.AllColumn_constraint()),
80 },
81 })
82 return stmt
83 }
84 }
85
86 if n.DROP_() != nil {
87 stmt := &ast.AlterTableStmt{
88 Table: parseTableName(n),
89 Cmds: &ast.List{},
90 }
91 name := n.Column_name(0).GetText()
92 stmt.Cmds.Items = append(stmt.Cmds.Items, &ast.AlterTableCmd{
93 Name: &name,
94 Subtype: ast.AT_DropColumn,
95 })
96 return stmt
97 }
98
99 return todo("convertAlter_table_stmtContext", n)

Callers 1

convertMethod · 0.95

Calls 15

hasNotNullConstraintFunction · 0.85
GetTextMethod · 0.80
identifierFunction · 0.70
parseTableNameFunction · 0.70
todoFunction · 0.70
RENAME_Method · 0.65
New_table_nameMethod · 0.65
Any_nameMethod · 0.65
GetNew_column_nameMethod · 0.65
GetOld_column_nameMethod · 0.65
ADD_Method · 0.65
Column_defMethod · 0.65

Tested by

no test coverage detected