From 45cd48c1b7a6c7a5bbfe65c9c4cf3554fbf78734 Mon Sep 17 00:00:00 2001 From: Matt Jaffee Date: Mon, 17 Dec 2018 15:44:50 -0600 Subject: [PATCH] change exists field to _exists --- executor_test.go | 12 ++++++------ holder.go | 2 +- http/client_test.go | 4 ++-- pilosa.go | 5 ----- pilosa_internal_test.go | 5 ++--- 5 files changed, 11 insertions(+), 17 deletions(-) diff --git a/executor_test.go b/executor_test.go index 3c54fbefb..141533d7f 100644 --- a/executor_test.go +++ b/executor_test.go @@ -2163,10 +2163,10 @@ func TestExecutor_Execute_Existence(t *testing.T) { t.Fatalf("unexpected columns: %+v", bits) } - if res, err := c[0].API.Query(context.Background(), &pilosa.QueryRequest{Index: "i", Query: `Row(exists=0)`}); err != nil { + if res, err := c[0].API.Query(context.Background(), &pilosa.QueryRequest{Index: "i", Query: `Not(Row(f=10))`}); err != nil { t.Fatal(err) - } else if bits := res.Results[0].(*pilosa.Row).Columns(); !reflect.DeepEqual(bits, []uint64{3, ShardWidth + 1, ShardWidth + 2}) { - t.Fatalf("unexpected existence columns: %+v", bits) + } else if bits := res.Results[0].(*pilosa.Row).Columns(); !reflect.DeepEqual(bits, []uint64{ShardWidth + 2}) { + t.Fatalf("unexpected columns after Not: %+v", bits) } // Reopen cluster to ensure existence field is reloaded. @@ -2174,10 +2174,10 @@ func TestExecutor_Execute_Existence(t *testing.T) { t.Fatal(err) } - if res, err := c[0].API.Query(context.Background(), &pilosa.QueryRequest{Index: "i", Query: `Row(exists=0)`}); err != nil { + if res, err := c[0].API.Query(context.Background(), &pilosa.QueryRequest{Index: "i", Query: `Not(Row(f=10))`}); err != nil { t.Fatal(err) - } else if bits := res.Results[0].(*pilosa.Row).Columns(); !reflect.DeepEqual(bits, []uint64{3, ShardWidth + 1, ShardWidth + 2}) { - t.Fatalf("unexpected existence columns after reopen: %+v", bits) + } else if bits := res.Results[0].(*pilosa.Row).Columns(); !reflect.DeepEqual(bits, []uint64{ShardWidth + 2}) { + t.Fatalf("unexpected columns after reopen: %+v", bits) } }) } diff --git a/holder.go b/holder.go index 9e58e8057..39fef3595 100644 --- a/holder.go +++ b/holder.go @@ -43,7 +43,7 @@ const ( fileLimit = 262144 // (512^2) // existenceFieldName is the name of the internal field used to store existence values. - existenceFieldName = "exists" + existenceFieldName = "_exists" ) // Holder represents a container for indexes. diff --git a/http/client_test.go b/http/client_test.go index fee3754df..79aa2a2ea 100644 --- a/http/client_test.go +++ b/http/client_test.go @@ -900,7 +900,7 @@ func TestClient_ImportExistence(t *testing.T) { } // Verify existence. - if a := hldr.ReadRow(idxName, "exists", 0).Columns(); !reflect.DeepEqual(a, []uint64{1, 5, 6}) { + if a := hldr.ReadRow(idxName, "_exists", 0).Columns(); !reflect.DeepEqual(a, []uint64{1, 5, 6}) { t.Fatalf("unexpected existence columns: %+v", a) } }) @@ -935,7 +935,7 @@ func TestClient_ImportExistence(t *testing.T) { } // Verify existence. - if a := hldr.ReadRow(idxName, "exists", 0).Columns(); !reflect.DeepEqual(a, []uint64{1, 2, 3}) { + if a := hldr.ReadRow(idxName, "_exists", 0).Columns(); !reflect.DeepEqual(a, []uint64{1, 2, 3}) { t.Fatalf("unexpected existence columns: %+v", a) } }) diff --git a/pilosa.go b/pilosa.go index 56e8e0f9e..fe61d8969 100644 --- a/pilosa.go +++ b/pilosa.go @@ -49,8 +49,6 @@ var ( ErrName = errors.New("invalid index or field name, must match [a-z0-9_-]") ErrLabel = errors.New("invalid row or column label, must match [A-Za-z0-9_-]") - ErrReservedName = errors.New("reserved index or field name") - // ErrFragmentNotFound is returned when a fragment does not exist. ErrFragmentNotFound = errors.New("fragment not found") ErrQueryRequired = errors.New("query required") @@ -131,9 +129,6 @@ const TimeFormat = "2006-01-02T15:04" // validateName ensures that the name is a valid format. func validateName(name string) error { - if name == existenceFieldName { - return ErrReservedName - } if !nameRegexp.Match([]byte(name)) { return ErrName } diff --git a/pilosa_internal_test.go b/pilosa_internal_test.go index e1bea3199..40e33ac4b 100644 --- a/pilosa_internal_test.go +++ b/pilosa_internal_test.go @@ -20,7 +20,7 @@ import ( func TestValidateName(t *testing.T) { names := []string{ - "a", "ab", "ab1", "b-c", "d_e", + "a", "ab", "ab1", "b-c", "d_e", "exists", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", } for _, name := range names { @@ -33,8 +33,7 @@ func TestValidateName(t *testing.T) { func TestValidateNameInvalid(t *testing.T) { names := []string{ "", "'", "^", "/", "\\", "A", "*", "a:b", "valid?no", "yüce", "1", "_", "-", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1", - "exists", + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1", "_exists", } for _, name := range names { if validateName(name) == nil {