mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-09-06 00:25:55 +00:00
Merge pull request #22 from kuba--/index-schemator
Move schemator from API to index. Fix TestExecutor_Execute_SetRow
This commit is contained in:
commit
ccd89bbe2a
4 changed files with 11 additions and 12 deletions
12
api.go
12
api.go
|
|
@ -57,7 +57,6 @@ type API struct {
|
|||
importWork chan importJob
|
||||
|
||||
Serializer Serializer
|
||||
schemator disco.Schemator
|
||||
}
|
||||
|
||||
func (api *API) Holder() *Holder {
|
||||
|
|
@ -73,7 +72,6 @@ func OptAPIServer(s *Server) apiOption {
|
|||
a.holder = s.holder
|
||||
a.cluster = s.cluster
|
||||
a.Serializer = s.serializer
|
||||
a.schemator = s.schemator
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
|
@ -256,11 +254,6 @@ func (api *API) DeleteIndex(ctx context.Context, indexName string) error {
|
|||
return errors.Wrap(err, "validating api method")
|
||||
}
|
||||
|
||||
// Delete the index from etcd as the system of record.
|
||||
if err := api.schemator.DeleteIndex(ctx, indexName); err != nil {
|
||||
return errors.Wrapf(err, "deleting index from etcd: %s", indexName)
|
||||
}
|
||||
|
||||
// Delete index from the holder.
|
||||
err := api.holder.DeleteIndex(indexName)
|
||||
if err != nil {
|
||||
|
|
@ -540,11 +533,6 @@ func (api *API) DeleteField(ctx context.Context, indexName string, fieldName str
|
|||
return newNotFoundError(ErrIndexNotFound, indexName)
|
||||
}
|
||||
|
||||
// Delete the field from etcd as the system of record.
|
||||
if err := api.schemator.DeleteField(ctx, indexName, fieldName); err != nil {
|
||||
return errors.Wrapf(err, "deleting field from etcd: %s/%s", indexName, fieldName)
|
||||
}
|
||||
|
||||
// Delete field from the index.
|
||||
if err := index.DeleteField(fieldName); err != nil {
|
||||
return errors.Wrap(err, "deleting field")
|
||||
|
|
|
|||
|
|
@ -651,6 +651,7 @@ func TestExecutor_Execute_Set(t *testing.T) {
|
|||
})
|
||||
|
||||
t.Run("ErrInvalidColValueType", func(t *testing.T) {
|
||||
hldr.SetBit("i", "f", 1, 0) // creates and Commits a Tx internally.
|
||||
|
||||
if err := idx.DeleteField("f"); err != nil {
|
||||
t.Fatal(err)
|
||||
|
|
|
|||
|
|
@ -1245,6 +1245,11 @@ func (h *Holder) DeleteIndex(name string) error {
|
|||
// Remove reference.
|
||||
h.deleteIndex(name)
|
||||
|
||||
// Delete the index from etcd as the system of record.
|
||||
if err := h.schemator.DeleteIndex(context.TODO(), name); err != nil {
|
||||
return errors.Wrapf(err, "deleting index from etcd: %s", name)
|
||||
}
|
||||
|
||||
// I'm not sure if calling Reset() here is necessary
|
||||
// since closing the index stops its translation
|
||||
// sync processes.
|
||||
|
|
|
|||
5
index.go
5
index.go
|
|
@ -737,6 +737,11 @@ func (i *Index) DeleteField(name string) error {
|
|||
// Remove reference.
|
||||
delete(i.fields, name)
|
||||
|
||||
// Delete the field from etcd as the system of record.
|
||||
if err := i.schemator.DeleteField(context.TODO(), i.name, name); err != nil {
|
||||
return errors.Wrapf(err, "deleting field from etcd: %s/%s", i.name, name)
|
||||
}
|
||||
|
||||
return i.translationSyncer.Reset()
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue