Merge pull request #439 from benbjohnson/default-frame-time-quantum

Default time quantum on new frames.
This commit is contained in:
Ben Johnson 2017-04-10 11:37:35 -06:00 committed by GitHub
commit 32f82ef8e1
2 changed files with 30 additions and 2 deletions

13
db.go
View file

@ -368,8 +368,17 @@ func (db *DB) createFrame(name string, opt FrameOptions) (*Frame, error) {
return nil, err
}
// Update options.
f.SetRowLabel(opt.RowLabel)
// Default the time quantum to what is set on the DB.
if err := f.SetTimeQuantum(db.timeQuantum); err != nil {
f.Close()
return nil, err
}
// Set options.
if err := f.SetRowLabel(opt.RowLabel); err != nil {
f.Close()
return nil, err
}
// Add to database's frame lookup.
db.frames[name] = f

View file

@ -34,6 +34,25 @@ func TestDB_CreateFrameIfNotExists(t *testing.T) {
}
}
// Ensure database defaults the time quantum on new frames.
func TestDB_CreateFrame_TimeQuantum(t *testing.T) {
db := MustOpenDB()
defer db.Close()
// Set database time quantum.
if err := db.SetTimeQuantum(pilosa.TimeQuantum("YM")); err != nil {
t.Fatal(err)
}
// Create frame.
f, err := db.CreateFrame("f", pilosa.FrameOptions{})
if err != nil {
t.Fatal(err)
} else if q := f.TimeQuantum(); q != pilosa.TimeQuantum("YM") {
t.Fatalf("unexpected frame time quantum: %s", q)
}
}
// Ensure database can delete a frame.
func TestDB_DeleteFrame(t *testing.T) {
db := MustOpenDB()