MCPcopy Create free account
hub / github.com/brimdata/super / NewDeleteQuery

Method NewDeleteQuery

compiler/compiler.go:45–68  ·  view source on GitHub ↗
(rctx *runtime.Context, ast *parser.AST, head *dbid.Commitish)

Source from the content-addressed store, hash-verified

43}
44
45func (l *compiler) NewDeleteQuery(rctx *runtime.Context, ast *parser.AST, head *dbid.Commitish) (runtime.DeleteQuery, error) {
46 if err := ast.ConvertToDeleteWhere(head.Pool, head.Branch); err != nil {
47 return nil, err
48 }
49 seq := ast.Parsed()
50 if len(seq) != 2 {
51 return nil, &InvalidDeleteWhereQuery{}
52 }
53 main, err := Analyze(rctx, ast, l.env, false)
54 if err != nil {
55 return nil, err
56 }
57 if _, ok := main.Body[1].(*dag.FilterOp); !ok {
58 return nil, &InvalidDeleteWhereQuery{}
59 }
60 if err = optimizer.New(rctx, l.env).OptimizeDeleter(main, Parallelism); err != nil {
61 return nil, err
62 }
63 outputs, debugs, b, err := BuildWithBuilder(rctx, main, l.env, nil)
64 if err != nil {
65 return nil, err
66 }
67 return exec.NewDeleteQuery(rctx, bundleOutputs(rctx, outputs, debugs), b.Deletes()), nil
68}
69
70type InvalidDeleteWhereQuery struct{}
71

Callers

nothing calls this directly

Calls 9

NewFunction · 0.92
NewDeleteQueryFunction · 0.92
BuildWithBuilderFunction · 0.85
bundleOutputsFunction · 0.85
ConvertToDeleteWhereMethod · 0.80
ParsedMethod · 0.80
OptimizeDeleterMethod · 0.80
DeletesMethod · 0.80
AnalyzeFunction · 0.70

Tested by

no test coverage detected