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

Function nodeDropView

server/ast/drop_view.go:26–52  ·  view source on GitHub ↗

nodeDropView handles *tree.DropView nodes.

(ctx *Context, node *tree.DropView)

Source from the content-addressed store, hash-verified

24
25// nodeDropView handles *tree.DropView nodes.
26func 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}

Callers 1

ConvertFunction · 0.85

Calls 2

nodeTableNameFunction · 0.85
ErrorfMethod · 0.65

Tested by

no test coverage detected