fix #2599: make units consistent with write

@neonstalwart, thanks for the suggestion.
pull/2673/head
David Norton 2015-05-28 10:46:39 -04:00
parent dab12246e7
commit d94bb93b79
2 changed files with 19 additions and 3 deletions

View File

@ -458,13 +458,13 @@ func runTestsData(t *testing.T, testName string, nodes Cluster, database, retent
name: "single point with timestamp in nanosecond epoch",
query: `SELECT * FROM "%DB%"."%RP%".cpu`,
expected: `{"results":[{"series":[{"name":"cpu","tags":{"host":"server01"},"columns":["time","value"],"values":[[1425085416703820946,100]]}]}]}`,
urlValues: url.Values{"epoch": []string{"ns"}},
urlValues: url.Values{"epoch": []string{"n"}},
},
{
name: "single point with timestamp in microsecond epoch",
query: `SELECT * FROM "%DB%"."%RP%".cpu`,
expected: `{"results":[{"series":[{"name":"cpu","tags":{"host":"server01"},"columns":["time","value"],"values":[[1425085416703820,100]]}]}]}`,
urlValues: url.Values{"epoch": []string{"us"}},
urlValues: url.Values{"epoch": []string{"u"}},
},
{
name: "single point with timestamp in millisecond epoch",
@ -478,6 +478,18 @@ func runTestsData(t *testing.T, testName string, nodes Cluster, database, retent
expected: `{"results":[{"series":[{"name":"cpu","tags":{"host":"server01"},"columns":["time","value"],"values":[[1425085416,100]]}]}]}`,
urlValues: url.Values{"epoch": []string{"s"}},
},
{
name: "single point with timestamp in minute epoch",
query: `SELECT * FROM "%DB%"."%RP%".cpu`,
expected: `{"results":[{"series":[{"name":"cpu","tags":{"host":"server01"},"columns":["time","value"],"values":[[23751423,100]]}]}]}`,
urlValues: url.Values{"epoch": []string{"m"}},
},
{
name: "single point with timestamp in hour epoch",
query: `SELECT * FROM "%DB%"."%RP%".cpu`,
expected: `{"results":[{"series":[{"name":"cpu","tags":{"host":"server01"},"columns":["time","value"],"values":[[395857,100]]}]}]}`,
urlValues: url.Values{"epoch": []string{"h"}},
},
// Selecting tags
{

View File

@ -300,12 +300,16 @@ func convertToEpoch(r *influxdb.Result, epoch string) {
divisor := int64(1)
switch epoch {
case "us":
case "u":
divisor = 1000
case "ms":
divisor = 1000000
case "s":
divisor = 1000000000
case "m":
divisor = 60000000000
case "h":
divisor = 3600000000000
}
for _, s := range r.Series {