nodeDropView handles *tree.DropView nodes.
(ctx *Context, node *tree.DropView)
| 24 | |
| 25 | // nodeDropView handles *tree.DropView nodes. |
| 26 | func nodeDropView(ctx *Context, node *tree.DropView) (*vitess.DDL, error) { |
| 27 | if node == nil || len(node.Names) == 0 { |
| 28 | return nil, nil |
| 29 | } |
| 30 | switch node.DropBehavior { |
| 31 | case tree.DropDefault: |
| 32 | // Default behavior, nothing to do |
| 33 | case tree.DropRestrict: |
| 34 | return nil, errors.Errorf("RESTRICT is not yet supported") |
| 35 | case tree.DropCascade: |
| 36 | return nil, errors.Errorf("CASCADE is not yet supported") |
| 37 | } |
| 38 | tableNames := make([]vitess.TableName, len(node.Names)) |
| 39 | for i := range node.Names { |
| 40 | var err error |
| 41 | tableNames[i], err = nodeTableName(ctx, &node.Names[i]) |
| 42 | if err != nil { |
| 43 | return nil, err |
| 44 | } |
| 45 | } |
| 46 | //TODO: handle IsMaterialized |
| 47 | return &vitess.DDL{ |
| 48 | Action: vitess.DropStr, |
| 49 | IfExists: node.IfExists, |
| 50 | FromViews: tableNames, |
| 51 | }, nil |
| 52 | } |
no test coverage detected