From ca1cbadb45205ad0b2f3bad0cc761fc7614a7d74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Podg=C3=B3rski?= Date: Wed, 14 Apr 2021 13:33:26 +0200 Subject: [PATCH] Make validateName function public, so other packages and projects (like IDK, Ingester) can re-use it --- field.go | 2 +- holder.go | 2 +- index.go | 12 ++++++------ pilosa.go | 4 ++-- pilosa_internal_test.go | 4 ++-- view.go | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/field.go b/field.go index 59570465f..d923463ba 100644 --- a/field.go +++ b/field.go @@ -362,7 +362,7 @@ func OptFieldTypeBool() FieldOption { // this function couldn't be used to set, for example, // `FieldOptions.Keys`. func NewField(holder *Holder, path, index, name string, opts FieldOption) (*Field, error) { - err := validateName(name) + err := ValidateName(name) if err != nil { return nil, errors.Wrap(err, "validating name") } diff --git a/holder.go b/holder.go index bc59af08f..941f9466d 100644 --- a/holder.go +++ b/holder.go @@ -1174,7 +1174,7 @@ func (h *Holder) persistIndex(ctx context.Context, cim *CreateIndexMessage) erro return ErrIndexRequired } - if err := validateName(cim.Index); err != nil { + if err := ValidateName(cim.Index); err != nil { return errors.Wrap(err, "validating name") } diff --git a/index.go b/index.go index c8c1ebe55..32510efcb 100644 --- a/index.go +++ b/index.go @@ -82,7 +82,7 @@ func NewIndex(holder *Holder, path, name string) (*Index, error) { // the defaults, because we may be under a simple "go test" run where // not all that command line machinery has been spun up. - err := validateName(name) + err := ValidateName(name) if err != nil { return nil, errors.Wrap(err, "validating name") } @@ -554,7 +554,7 @@ func (i *Index) recalculateCaches() { // CreateField creates a field. func (i *Index) CreateField(name string, opts ...FieldOption) (*Field, error) { - err := validateName(name) + err := ValidateName(name) if err != nil { return nil, errors.Wrap(err, "validating name") } @@ -592,7 +592,7 @@ func (i *Index) CreateField(name string, opts ...FieldOption) (*Field, error) { // creation to other nodes so they can create locally as well. An error is // returned if the field already exists. func (i *Index) CreateFieldAndBroadcast(cfm *CreateFieldMessage) (*Field, error) { - err := validateName(cfm.Field) + err := ValidateName(cfm.Field) if err != nil { return nil, errors.Wrap(err, "validating name") } @@ -615,7 +615,7 @@ func (i *Index) CreateFieldAndBroadcast(cfm *CreateFieldMessage) (*Field, error) // CreateFieldIfNotExists creates a field with the given options if it doesn't exist. func (i *Index) CreateFieldIfNotExists(name string, opts ...FieldOption) (*Field, error) { - err := validateName(name) + err := ValidateName(name) if err != nil { return nil, errors.Wrap(err, "validating name") } @@ -659,7 +659,7 @@ func (i *Index) CreateFieldIfNotExists(name string, opts ...FieldOption) (*Field // definintely be refactored so we don't have these virtually equivalent // methods, but I'm puttin this here for now just to see if it works. func (i *Index) CreateFieldIfNotExistsWithOptions(name string, opt *FieldOptions) (*Field, error) { - err := validateName(name) + err := ValidateName(name) if err != nil { return nil, errors.Wrap(err, "validating name") } @@ -699,7 +699,7 @@ func (i *Index) persistField(ctx context.Context, cfm *CreateFieldMessage) error return ErrFieldRequired } - if err := validateName(cfm.Field); err != nil { + if err := ValidateName(cfm.Field); err != nil { return errors.Wrap(err, "validating name") } diff --git a/pilosa.go b/pilosa.go index 23dd8ed30..01bd0b425 100644 --- a/pilosa.go +++ b/pilosa.go @@ -180,8 +180,8 @@ func (cas ColumnAttrSet) MarshalJSON() ([]byte, error) { // TimeFormat is the go-style time format used to parse string dates. const TimeFormat = "2006-01-02T15:04" -// validateName ensures that the index or field or view name is a valid format. -func validateName(name string) error { +// ValidateName ensures that the index or field or view name is a valid format. +func ValidateName(name string) error { if !nameRegexp.Match([]byte(name)) { return errors.Wrapf(ErrName, "'%s'", name) } diff --git a/pilosa_internal_test.go b/pilosa_internal_test.go index 1ba653152..aca9c6e92 100644 --- a/pilosa_internal_test.go +++ b/pilosa_internal_test.go @@ -29,7 +29,7 @@ func TestValidateName(t *testing.T) { "longbutnottoolongaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa12345689012345689012345678901234567890", } for _, name := range names { - if validateName(name) != nil { + if ValidateName(name) != nil { t.Fatalf("Should be valid index name: %s", name) } } @@ -41,7 +41,7 @@ func TestValidateNameInvalid(t *testing.T) { "long123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1", "_exists", } for _, name := range names { - if validateName(name) == nil { + if ValidateName(name) == nil { t.Fatalf("Should be invalid index name: %s", name) } } diff --git a/view.go b/view.go index 732f309cf..38aefb9b6 100644 --- a/view.go +++ b/view.go @@ -70,7 +70,7 @@ type view struct { // newView returns a new instance of View. func newView(holder *Holder, path, index, field, name string, fieldOptions FieldOptions) *view { - PanicOn(validateName(name)) + PanicOn(ValidateName(name)) return &view{ path: path,