(n *parser.Alter_table_stmtContext)
| 40 | } |
| 41 | |
| 42 | func (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) |
no test coverage detected