MCPcopy Create free account
hub / github.com/dolthub/doltgresql / nodeAlterTableDropColumn

Function nodeAlterTableDropColumn

server/ast/alter_table.go:280–302  ·  view source on GitHub ↗

nodeAlterTableDropColumn converts a tree.AlterTableDropColumn instance into an equivalent vitess.DDL instance.

(ctx *Context, node *tree.AlterTableDropColumn, tableName vitess.TableName, ifExists bool)

Source from the content-addressed store, hash-verified

278
279// nodeAlterTableDropColumn converts a tree.AlterTableDropColumn instance into an equivalent vitess.DDL instance.
280func nodeAlterTableDropColumn(ctx *Context, node *tree.AlterTableDropColumn, tableName vitess.TableName, ifExists bool) (*vitess.DDL, error) {
281 if node.IfExists {
282 return nil, errors.Errorf("IF EXISTS on a column in a DROP COLUMN statement is not supported yet")
283 }
284
285 switch node.DropBehavior {
286 case tree.DropDefault:
287 case tree.DropRestrict:
288 return nil, errors.Errorf("ALTER TABLE DROP COLUMN does not support RESTRICT option")
289 case tree.DropCascade:
290 logrus.Warnf("CASCADE option on DROP COLUMN is not yet supported, ignoring")
291 default:
292 return nil, errors.Errorf("ALTER TABLE with unsupported drop behavior %v", node.DropBehavior)
293 }
294
295 return &vitess.DDL{
296 Action: "alter",
297 ColumnAction: "drop",
298 Table: tableName,
299 IfExists: ifExists,
300 Column: vitess.NewColIdent(node.Column.String()),
301 }, nil
302}
303
304// nodeAlterTableRenameColumn converts a tree.AlterTableRenameColumn instance into an equivalent vitess.DDL instance.
305func nodeAlterTableRenameColumn(ctx *Context, node *tree.AlterTableRenameColumn, tableName vitess.TableName, ifExists bool) (*vitess.DDL, error) {

Callers 1

nodeAlterTableCmdsFunction · 0.85

Calls 2

ErrorfMethod · 0.65
StringMethod · 0.65

Tested by

no test coverage detected