If no points to count, count is 0

Fix issue #4701.
pull/4778/head
Philip O'Toole 2015-11-12 18:52:58 -08:00
parent 76eca03e90
commit f889ac1140
2 changed files with 6 additions and 4 deletions

View File

@ -1146,6 +1146,11 @@ func TestServer_Query_Count(t *testing.T) {
command: fmt.Sprintf(`SELECT count(value) FROM db0.rp0.cpu WHERE time >= '%s'`, hour_ago.Format(time.RFC3339Nano)),
exp: fmt.Sprintf(`{"results":[{"series":[{"name":"cpu","columns":["time","count"],"values":[["%s",1]]}]}]}`, hour_ago.Format(time.RFC3339Nano)),
},
&Query{
name: "selecting count(value) with filter that excludes all results should return 0",
command: fmt.Sprintf(`SELECT count(value) FROM db0.rp0.cpu WHERE value=100 AND time >= '%s'`, hour_ago.Format(time.RFC3339Nano)),
exp: fmt.Sprintf(`{"results":[{"series":[{"name":"cpu","columns":["time","count"],"values":[["%s",0]]}]}]}`, hour_ago.Format(time.RFC3339Nano)),
},
&Query{
name: "selecting count(*) should error",
command: `SELECT count(*) FROM db0.rp0.cpu`,

View File

@ -250,11 +250,8 @@ func MapCount(input *MapInput) interface{} {
for range input.Items {
n++
}
if n > 0 {
return n
}
return nil
}
type InterfaceValues []interface{}