Update datastore to not use time objects and only use int64

pull/17/head
Paul Dix 2013-10-18 13:58:18 -04:00
parent 6c30299e36
commit 2bfbe99018
3 changed files with 7 additions and 9 deletions

View File

@ -430,7 +430,7 @@ func (self *DatastoreSuite) TestCanDeleteARangeOfData(c *C) {
results = executeQuery("foobar", "select count, name from user_things;", db, c)
c.Assert(len(results.Points), Equals, 3)
err = db.DeleteRangeOfSeries("foobar", "user_things", time.Now().Add(-time.Hour), time.Now().Add(-time.Minute))
err = db.DeleteRangeOfSeries("foobar", "user_things", time.Now().Add(-time.Hour).Unix(), time.Now().Add(-time.Minute).Unix())
c.Assert(err, IsNil)
results = executeQuery("foobar", "select count, name from user_things;", db, c)
c.Assert(len(results.Points), Equals, 1)
@ -476,7 +476,7 @@ func (self *DatastoreSuite) TestCanDeleteRangeOfDataFromRegex(c *C) {
c.Assert(results, DeepEquals, otherSeries)
regex, _ := regexp.Compile(".*time.*")
db.DeleteRangeOfRegex("foobar", regex, time.Now().Add(-time.Hour), time.Now())
db.DeleteRangeOfRegex("foobar", regex, time.Now().Add(-time.Hour).Unix(), time.Now().Unix())
results = executeQuery("foobar", "select * from events;", db, c)
c.Assert(results, DeepEquals, series)

View File

@ -4,13 +4,12 @@ import (
"parser"
"protocol"
"regexp"
"time"
)
type Datastore interface {
ExecuteQuery(database string, query *parser.Query, yield func(*protocol.Series) error) error
WriteSeriesData(database string, series *protocol.Series) error
DeleteRangeOfSeries(database, series string, startTime, endTime time.Time) error
DeleteRangeOfRegex(database string, regex *regexp.Regexp, startTime, endTime time.Time) error
DeleteRangeOfSeries(database, series string, startTime, endTime int64) error
DeleteRangeOfRegex(database string, regex *regexp.Regexp, startTime, endTime int64) error
Close()
}

View File

@ -13,7 +13,6 @@ import (
"regexp"
"strings"
"sync"
"time"
)
type LevelDbDatastore struct {
@ -145,13 +144,13 @@ func (self *LevelDbDatastore) Close() {
self.db.Close()
}
func (self *LevelDbDatastore) DeleteRangeOfSeries(database, series string, startTime, endTime time.Time) error {
func (self *LevelDbDatastore) DeleteRangeOfSeries(database, series string, startTime, endTime int64) error {
columns := self.getColumnNamesForSeries(database, series)
fields, err := self.getFieldsForSeries(database, series, columns)
if err != nil {
return err
}
startTimeBytes, endTimeBytes := self.byteArraysForStartAndEndTimes(startTime.Unix(), endTime.Unix())
startTimeBytes, endTimeBytes := self.byteArraysForStartAndEndTimes(startTime, endTime)
ro := levigo.NewReadOptions()
defer ro.Close()
rangesToCompact := make([]*levigo.Range, 0)
@ -193,7 +192,7 @@ func (self *LevelDbDatastore) DeleteRangeOfSeries(database, series string, start
return nil
}
func (self *LevelDbDatastore) DeleteRangeOfRegex(database string, regex *regexp.Regexp, startTime, endTime time.Time) error {
func (self *LevelDbDatastore) DeleteRangeOfRegex(database string, regex *regexp.Regexp, startTime, endTime int64) error {
series := self.getSeriesForDbAndRegex(database, regex)
for _, name := range series {
err := self.DeleteRangeOfSeries(database, name, startTime, endTime)