diff --git a/frame.go b/frame.go index ad44cfb56..332048cf3 100644 --- a/frame.go +++ b/frame.go @@ -515,31 +515,14 @@ func (f *Frame) newView(path, name string) *View { return view } -// DeleteView removes the standard and inverse view from the frame. +// DeleteView removes the view from the frame. func (f *Frame) DeleteView(name string) error { - // Delete the standard view. - if err := f.deleteView(ViewStandard + "_" + name); err != nil { - return err - } - - // Delete the inverse view. - if f.InverseEnabled() { - if err := f.deleteView(ViewInverse + "_" + name); err != nil { - return err - } - } - - return nil -} - -// deleteView removes view from the frame. -func (f *Frame) deleteView(name string) error { view := f.views[name] if view == nil { return ErrInvalidView } - // Close data files before deletion + // Close data files before deletion. if err := view.Close(); err != nil { return err } diff --git a/frame_test.go b/frame_test.go index 8a8db3f27..50f5fdef5 100644 --- a/frame_test.go +++ b/frame_test.go @@ -323,7 +323,7 @@ func TestFrame_DeleteView(t *testing.T) { t.Fatal("expected view") } - err = f.DeleteView("v") + err = f.DeleteView(viewName) if err != nil { t.Fatal(err) } @@ -332,7 +332,7 @@ func TestFrame_DeleteView(t *testing.T) { t.Fatal("view still exists in frame") } - // // Retrieve existing view. + // Recreate view with same name, verify that the old view was not reused. view2, err := f.CreateViewIfNotExists(viewName) if err != nil { t.Fatal(err) diff --git a/handler.go b/handler.go index cfc96c397..f876dc9b7 100644 --- a/handler.go +++ b/handler.go @@ -805,12 +805,6 @@ func (h *Handler) handleDeleteView(w http.ResponseWriter, r *http.Request) { return } - // Check the frame for time quantum. - if f.TimeQuantum() == "" { - http.Error(w, "frame does not contain a Time Quantum", http.StatusBadRequest) - return - } - // Delete the view. if err := f.DeleteView(viewName); err != nil { http.Error(w, err.Error(), http.StatusBadRequest) diff --git a/handler_test.go b/handler_test.go index c8e0d949c..dacb04b38 100644 --- a/handler_test.go +++ b/handler_test.go @@ -1516,19 +1516,20 @@ func TestHandler_GetTimeStamp(t *testing.T) { func TestHandler_DeleteView(t *testing.T) { hldr := test.MustOpenHolder() defer hldr.Close() - hldr.MustCreateFragmentIfNotExists("i0", "f0", pilosa.ViewStandard+"_2017", 1).MustSetBits(30, (1*SliceWidth)+1) + viewName := pilosa.ViewStandard + "_2017" + hldr.MustCreateFragmentIfNotExists("i0", "f0", viewName, 1).MustSetBits(30, (1*SliceWidth)+1) hldr.Index("i0").Frame("f0").SetTimeQuantum("YMD") h := test.NewHandler() h.Holder = hldr.Holder h.Cluster = test.NewCluster(1) w := httptest.NewRecorder() - h.ServeHTTP(w, test.MustNewHTTPRequest("DELETE", "/index/i0/frame/f0/view/2017", strings.NewReader(""))) + h.ServeHTTP(w, test.MustNewHTTPRequest("DELETE", "/index/i0/frame/f0/view/standard_2017", strings.NewReader(""))) if w.Code != http.StatusOK { t.Fatalf("unexpected status code: %d", w.Code) } else if body := w.Body.String(); body != `{}`+"\n" { t.Fatalf("unexpected body: %s", body) - } else if f := hldr.Index("i0").Frame("f0").View(pilosa.ViewStandard + "_2017"); f != nil { + } else if f := hldr.Index("i0").Frame("f0").View(viewName); f != nil { t.Fatal("expected nil view") } }