mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 10:54:59 +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
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
|
|
}
|