mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-09-05 16:15:56 +00:00
* Make interfaces more specific than "MDS"
- Introduce `dax.Schemar` interface
- Introduce `dax.Noder` interface
- The rest is generally to standardize on the new interfaces.
- Remove `pilosa.SchemaInfoAPI` interface
- Move `TranslateNode` and `ComputeNode` types from controller to dax package
- Remove `queryer.FeatureBaseImporter`
- Remove `queryer.MDS` interface
- Remove `queryer.Importer` interface
- Identify types using an "MDS" interface and split into Noder/Schemar as necessary
- Changed `Queryer.orchestrator` to a `map[qual]*qualifiedOrchestrator` because we can't share an orchestrator across quals
* Convert orchestrator to use TableKeyer
(cherry picked from commit 14f1930004)
51 lines
1.7 KiB
Go
51 lines
1.7 KiB
Go
package dax
|
|
|
|
import "context"
|
|
|
|
// Schemar is similar to the pilosa.SchemaAPI interface, but it takes
|
|
// TableQualifiers into account.
|
|
type Schemar interface {
|
|
TableByName(ctx context.Context, qual TableQualifier, tname TableName) (*QualifiedTable, error)
|
|
TableByID(ctx context.Context, qtid QualifiedTableID) (*QualifiedTable, error)
|
|
Tables(ctx context.Context, qual TableQualifier, tids ...TableID) ([]*QualifiedTable, error)
|
|
|
|
CreateTable(ctx context.Context, qtbl *QualifiedTable) error
|
|
CreateField(ctx context.Context, qtid QualifiedTableID, fld *Field) error
|
|
|
|
DropTable(ctx context.Context, qtid QualifiedTableID) error
|
|
DropField(ctx context.Context, qtid QualifiedTableID, fname FieldName) error
|
|
}
|
|
|
|
//////////////////////////////////////////////
|
|
|
|
// Ensure type implements interface.
|
|
var _ Schemar = &NopSchemar{}
|
|
|
|
// NopSchemar is a no-op implementation of the Schemar interface.
|
|
type NopSchemar struct{}
|
|
|
|
func NewNopSchemar() *NopSchemar {
|
|
return &NopSchemar{}
|
|
}
|
|
|
|
func (s *NopSchemar) TableByName(context.Context, TableQualifier, TableName) (*QualifiedTable, error) {
|
|
return nil, nil
|
|
}
|
|
func (s *NopSchemar) TableByID(ctx context.Context, qtid QualifiedTableID) (*QualifiedTable, error) {
|
|
return nil, nil
|
|
}
|
|
func (s *NopSchemar) Tables(ctx context.Context, qual TableQualifier, tids ...TableID) ([]*QualifiedTable, error) {
|
|
return nil, nil
|
|
}
|
|
func (s *NopSchemar) CreateTable(ctx context.Context, qtbl *QualifiedTable) error {
|
|
return nil
|
|
}
|
|
func (s *NopSchemar) DropTable(ctx context.Context, qtid QualifiedTableID) error {
|
|
return nil
|
|
}
|
|
func (s *NopSchemar) CreateField(ctx context.Context, qtid QualifiedTableID, fld *Field) error {
|
|
return nil
|
|
}
|
|
func (s *NopSchemar) DropField(ctx context.Context, qtid QualifiedTableID, fld FieldName) error {
|
|
return nil
|
|
}
|