Make db filter results. Shahid breaks the build...

pull/17/head
Paul Dix 2013-10-16 17:32:54 -04:00
parent 8745da43e3
commit 69e95c7d08
2 changed files with 25 additions and 1 deletions

View File

@ -268,3 +268,26 @@ func (self *DatastoreSuite) TestCanQueryBasedOnTime(c *C) {
c.Assert(*results.Points[0].Values[0].IntValue, Equals, int32(3))
c.Assert(*results.Points[1].Values[0].IntValue, Equals, int32(4))
}
func (self *DatastoreSuite) TestCanDoWhereQueryEquals(c *C) {
cleanup(nil)
db := newDatastore(c)
defer cleanup(db)
mock := `{
"points":[{"values":[{"string_value":"paul"}],"sequence_number":2},{"values":[{"string_value":"todd"}],"sequence_number":1}],
"name":"events",
"fields":[{"type":"STRING","name":"name"}]
}`
allData := stringToSeries(mock, time.Now().Unix(), c)
err := db.WriteSeriesData("db1", allData)
c.Assert(err, IsNil)
results := executeQuery("db1", "select name from events;", db, c)
c.Assert(results, DeepEquals, allData)
results = executeQuery("db1", "select name from events where name == 'paul';", db, c)
c.Assert(len(results.Points), Equals, 1)
c.Assert(len(results.Fields), Equals, 1)
c.Assert(*results.Points[0].SequenceNumber, Equals, uint32(2))
c.Assert(*results.Points[0].Values[0].StringValue, Equals, "paul")
}

View File

@ -200,7 +200,8 @@ func (self *LevelDbDatastore) ExecuteQuery(database string, query *parser.Query,
result.Points = append(result.Points, point)
}
}
yield(result)
filteredResult, _ := Filter(query, result)
yield(filteredResult)
return nil
}