diff --git a/http/handler.go b/http/handler.go index 2980da12b..cb242475c 100644 --- a/http/handler.go +++ b/http/handler.go @@ -542,7 +542,12 @@ func (p *postIndexRequest) UnmarshalJSON(b []byte) error { return err } // Unmarshal expected values. - var _p _postIndexRequest + _p := _postIndexRequest{ + Options: pilosa.IndexOptions{ + Keys: false, + TrackExistence: true, + }, + } if err := json.Unmarshal(b, &_p); err != nil { return errors.Wrap(err, "unmarshalling expected values") } @@ -618,7 +623,12 @@ func (h *Handler) handlePostIndex(w http.ResponseWriter, r *http.Request) { resp := successResponse{} // Decode request. - var req postIndexRequest + req := postIndexRequest{ + Options: pilosa.IndexOptions{ + Keys: false, + TrackExistence: true, + }, + } err := json.NewDecoder(r.Body).Decode(&req) if err != nil && err != io.EOF { resp.write(w, err) diff --git a/http/handler_internal_test.go b/http/handler_internal_test.go index b0852a79d..7ca9c0401 100644 --- a/http/handler_internal_test.go +++ b/http/handler_internal_test.go @@ -31,8 +31,9 @@ func TestPostIndexRequestUnmarshalJSON(t *testing.T) { expected postIndexRequest err string }{ - {json: `{"options": {}}`, expected: postIndexRequest{Options: pilosa.IndexOptions{}}}, - {json: `{"options": {"keys": true}}`, expected: postIndexRequest{Options: pilosa.IndexOptions{Keys: true}}}, + {json: `{"options": {}}`, expected: postIndexRequest{Options: pilosa.IndexOptions{TrackExistence: true}}}, + {json: `{"options": {"trackExistence": false}}`, expected: postIndexRequest{Options: pilosa.IndexOptions{TrackExistence: false}}}, + {json: `{"options": {"keys": true}}`, expected: postIndexRequest{Options: pilosa.IndexOptions{Keys: true, TrackExistence: true}}}, {json: `{"options": 4}`, err: "options is not map[string]interface{}"}, {json: `{"option": {}}`, err: "Unknown key: option:map[]"}, {json: `{"options": {"badKey": "test"}}`, err: "Unknown key: badKey:test"}, @@ -53,7 +54,7 @@ func TestPostIndexRequestUnmarshalJSON(t *testing.T) { if test.err == "" { if !reflect.DeepEqual(*actual, test.expected) { - t.Errorf("expected: %v, but got: %v", test.expected, *actual) + t.Errorf("expected: %v, but got: %v for JSON: %s", test.expected, *actual, test.json) } } diff --git a/index.go b/index.go index 0992ab213..297c02f20 100644 --- a/index.go +++ b/index.go @@ -69,9 +69,10 @@ func NewIndex(path, name string) (*Index, error) { newAttrStore: newNopAttrStore, columnAttrs: nopStore, - broadcaster: NopBroadcaster, - Stats: NopStatsClient, - logger: NopLogger, + broadcaster: NopBroadcaster, + Stats: NopStatsClient, + logger: NopLogger, + trackExistence: true, }, nil }