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

Function newScanner

sbuf/scanner.go:50–70  ·  view source on GitHub ↗
(ctx context.Context, r sio.Reader, filterExpr Pushdown)

Source from the content-addressed store, hash-verified

48}
49
50func newScanner(ctx context.Context, r sio.Reader, filterExpr Pushdown) (Scanner, error) {
51 var sa ScannerAble
52 if zf, ok := r.(*File); ok {
53 sa, _ = zf.Reader.(ScannerAble)
54 } else {
55 sa, _ = r.(ScannerAble)
56 }
57 if sa != nil {
58 return sa.NewScanner(ctx, filterExpr)
59 }
60 var f expr.Evaluator
61 if filterExpr != nil {
62 var err error
63 if f, err = filterExpr.DataFilter(); err != nil {
64 return nil, err
65 }
66 }
67 sc := &scanner{reader: r, filter: f, ctx: ctx}
68 sc.Puller = NewPuller(sc)
69 return sc, nil
70}
71
72type scanner struct {
73 Puller

Callers 1

NewScannerFunction · 0.70

Calls 3

NewScannerMethod · 0.95
NewPullerFunction · 0.70
DataFilterMethod · 0.65

Tested by

no test coverage detected