From 920b9d01e2d27e72e9aa501dfde0222ba7eb86bd Mon Sep 17 00:00:00 2001 From: Linh Vo Date: Tue, 7 Mar 2017 15:37:00 -0600 Subject: [PATCH] add . before meta frame --- db.go | 7 ++++--- frame_test.go | 4 ++-- pilosa.go | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/db.go b/db.go index 9348c97b6..528369787 100644 --- a/db.go +++ b/db.go @@ -60,7 +60,7 @@ func NewDB(path, name string) (*DB, error) { frames: make(map[string]*Frame), remoteMaxSlice: 0, - profileAttrStore: NewAttrStore(filepath.Join(path, "data")), + profileAttrStore: NewAttrStore(filepath.Join(path, ".data")), columnLabel: DefaultColumnLabel, @@ -165,7 +165,7 @@ func (db *DB) loadMeta() error { var pb internal.DB // Read data from meta file. - buf, err := ioutil.ReadFile(filepath.Join(db.path, "meta")) + buf, err := ioutil.ReadFile(filepath.Join(db.path, ".meta")) if os.IsNotExist(err) { db.timeQuantum = "" db.columnLabel = DefaultColumnLabel @@ -188,6 +188,7 @@ func (db *DB) loadMeta() error { // saveMeta writes meta data for the database. func (db *DB) saveMeta() error { // Marshal metadata. + buf, err := proto.Marshal(&internal.DB{ TimeQuantum: string(db.timeQuantum), ColumnLabel: db.columnLabel, @@ -197,7 +198,7 @@ func (db *DB) saveMeta() error { } // Write to meta file. - if err := ioutil.WriteFile(filepath.Join(db.path, "meta"), buf, 0666); err != nil { + if err := ioutil.WriteFile(filepath.Join(db.path, ".meta"), buf, 0666); err != nil { return err } diff --git a/frame_test.go b/frame_test.go index 042bd751e..891ff203a 100644 --- a/frame_test.go +++ b/frame_test.go @@ -106,13 +106,13 @@ func (f *Frame) Reopen() error { return nil } -// NewFrame returns a new instance of Frame d/0. +// NewFrame doesnot return with invalid name func TestFrame_NameRestriction(t *testing.T) { path, err := ioutil.TempDir("", "pilosa-frame-") if err != nil { panic(err) } - frame, err := pilosa.NewFrame(path, "d", "ABC") + frame, err := pilosa.NewFrame(path, "d", ".meta") if frame != nil { t.Fatalf("unexpected frame name %s", err) } diff --git a/pilosa.go b/pilosa.go index d2df7c5ed..16434b04e 100644 --- a/pilosa.go +++ b/pilosa.go @@ -29,7 +29,7 @@ var ( // Regular expression to valuate db and frame's name // Todo: remove . when frame doesn't require . for topN -var nameRegexp = regexp.MustCompile(`^([a-z0-9._-]{1,64}$)`) +var nameRegexp = regexp.MustCompile(`^([^.][a-z0-9._-]{1,64}$)`) // Profile represents vertical column in a database. // A profile can have a set of attributes attached to it.