featurebase/sql3/interfaces.go
pokeeffe-molecula a1fc6d04a1 introduce performance counters and system table fanout, plus refactor metrics (#2363)
* performance counters

* first cut of perf counters and system table fanout and a wire protocol
* significantly refactored prometheus support; removed statsd and exprvar

* removed node_id

* put dax subquery test back

* Change Translator.TranslateFieldIDs method to take a dax.TableKeyer

There are a bunch of other calls to the Translator interface methods
with currently take an `index string`, and those need to be converted to
dax.TableKeyer as well. But I need to review each call, because in at
least one place I noticed one being called with `result.Index` instead
of with the qtbl available. And I don't yet know how those could be
different.

Co-authored-by: Travis Turner <travis@molecula.com>
(cherry picked from commit 7f6ea0e6e5)
2023-01-19 21:35:02 +00:00

33 lines
964 B
Go

// Package sql3 contains the latest version of FeatureBase SQL support.
package sql3
import (
"context"
"io"
"github.com/featurebasedb/featurebase/v3/sql3/parser"
"github.com/featurebasedb/featurebase/v3/sql3/planner/types"
)
type CompilePlanner interface {
CompilePlan(context.Context, parser.Statement) (types.PlanOperator, error)
RehydratePlanOp(context.Context, io.Reader) (types.PlanOperator, error)
}
// Ensure type implements interface.
var _ CompilePlanner = (*NopCompilePlanner)(nil)
// NopCompilePlanner is a no-op implementation of the CompilePlanner interface.
type NopCompilePlanner struct{}
func NewNopCompilePlanner() *NopCompilePlanner {
return &NopCompilePlanner{}
}
func (p *NopCompilePlanner) CompilePlan(ctx context.Context, stmt parser.Statement) (types.PlanOperator, error) {
return nil, nil
}
func (p *NopCompilePlanner) RehydratePlanOp(ctx context.Context, reader io.Reader) (types.PlanOperator, error) {
return nil, nil
}