Skip to content

Commit

Permalink
Refine implementation, sole time is invalid
Browse files Browse the repository at this point in the history
  • Loading branch information
otoolep committed Aug 21, 2015
1 parent 24ac559 commit f026ef8
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 5 deletions.
7 changes: 3 additions & 4 deletions influxql/ast.go
Original file line number Diff line number Diff line change
Expand Up @@ -1013,10 +1013,9 @@ func (s *SelectStatement) validate(tr targetRequirement) error {
}

func (s *SelectStatement) validateFields() error {
for _, f := range s.NamesInSelect() {
if f == "time" {
return fmt.Errorf("'time' is an invalid field for SELECT")
}
ns := s.NamesInSelect()
if len(ns) == 1 && ns[0] == "time" {
return fmt.Errorf("at least 1 non-time field must be queried")
}
return nil
}
Expand Down
2 changes: 1 addition & 1 deletion influxql/parser_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1206,7 +1206,7 @@ func TestParser_ParseStatement(t *testing.T) {
// Errors
{s: ``, err: `found EOF, expected SELECT, DELETE, SHOW, CREATE, DROP, GRANT, REVOKE, ALTER, SET at line 1, char 1`},
{s: `SELECT`, err: `found EOF, expected identifier, string, number, bool at line 1, char 8`},
{s: `SELECT time FROM myserie`, err: `'time' is an invalid field for SELECT`},
{s: `SELECT time FROM myseries`, err: `at least 1 non-time field must be queried`},
{s: `blah blah`, err: `found blah, expected SELECT, DELETE, SHOW, CREATE, DROP, GRANT, REVOKE, ALTER, SET at line 1, char 1`},
{s: `SELECT field1 X`, err: `found X, expected FROM at line 1, char 15`},
{s: `SELECT field1 FROM "series" WHERE X +;`, err: `found ;, expected identifier, string, number, bool at line 1, char 38`},
Expand Down

0 comments on commit f026ef8

Please sign in to comment.