(ctx context.Context, sctx *super.Context, path, format string, p sbuf.Pushdown, concurrentReaders int)
| 171 | } |
| 172 | |
| 173 | func (e *Environment) VectorOpen(ctx context.Context, sctx *super.Context, path, format string, p sbuf.Pushdown, concurrentReaders int) (VectorConcurrentPuller, error) { |
| 174 | if path == "-" { |
| 175 | path = "stdio:stdin" |
| 176 | } |
| 177 | uri, err := storage.ParseURI(path) |
| 178 | if err != nil { |
| 179 | return nil, err |
| 180 | } |
| 181 | reader, err := e.engine.Get(ctx, uri) |
| 182 | if err != nil { |
| 183 | return nil, err |
| 184 | } |
| 185 | var puller VectorConcurrentPuller |
| 186 | switch format { |
| 187 | case "csup": |
| 188 | puller, err = csupio.NewVectorReader(ctx, sctx, reader, p, concurrentReaders) |
| 189 | case "parquet": |
| 190 | puller, err = parquetio.NewVectorReader(ctx, sctx, reader, p, concurrentReaders) |
| 191 | default: |
| 192 | var sbufPuller sbuf.Puller |
| 193 | sbufPuller, err = e.Open(ctx, sctx, path, format, p) |
| 194 | puller = sbuf.NewDematerializer(sctx, sbufPuller) |
| 195 | } |
| 196 | if err != nil { |
| 197 | reader.Close() |
| 198 | return nil, err |
| 199 | } |
| 200 | return puller, nil |
| 201 | } |
no test coverage detected