Commit Graph

266 Commits (913f8955bd9ca1eea2ab7b39fe7cb030d2d2dbe9)

Author SHA1 Message Date
Paul Dix f2d132b361 Implement continuous queries with group by intervals
* Update defaults on Broker for when to trigger CQ runs
* Add config settings for how often to calculate and recalculate CQ results
* Update Server to have CQ settings
* Update AST to fold removed time literals when setting time range
* Add periodic CQ running functionality to server
2015-02-17 21:00:24 -05:00
Paul Dix 34e037a9d8 Add SetTimeRange to SelectStatement for use by continuous queries 2015-02-17 21:00:24 -05:00
Paul Dix 5f14d5faf5 WIP: start implementation of continuous queries
* Update SelectStatement to have GroupByInterval
* Update parser to verify that CQs have GroupByInterval if Aggregated
* Implement CreateContinousQuery on Server
* Add ContinuousQueries to database
2015-02-17 21:00:24 -05:00
Philip O'Toole dcdb4b77a1 Merge branch 'master' into support_all_value_types
Conflicts:
	database.go
	server.go
2015-02-16 09:21:10 -08:00
Paul Dix 4cd3494ddc Update interface on iterator.Next() to pass raw data along with key and value 2015-02-14 17:12:38 -05:00
Philip O'Toole 276c5ded5a int maps to influxql.Number 2015-02-13 16:28:12 -08:00
Paul Dix b394fc203f WIP: updating the signature for iterators to pass around raw bytes for field values. 2015-02-13 14:04:45 -05:00
Philip O'Toole bf9bfd6106 Error if field's type has changed 2015-02-12 16:06:37 -08:00
Cory LaNou aa7073bfb0 make the fields public to all for serializing them later 2015-02-12 15:12:14 -07:00
Cory LaNou 61d4cd6a5a shortcut calculating spread if not necessary 2015-02-12 10:40:24 -07:00
Cory LaNou 7c12afb9e1 fixing comment 2015-02-12 09:56:39 -07:00
Cory LaNou 3dd53ebe80 wire up spread function 2015-02-12 09:39:41 -07:00
Cory LaNou 59a953db97 Merge pull request #1575 from influxdb/batch-std-dev
emit in batches of 1000
2015-02-11 18:19:39 -07:00
Cory LaNou ecb145d15d fix test 2015-02-11 16:06:49 -07:00
Cory LaNou 2e93fcef53 fixing test comment 2015-02-11 16:06:09 -07:00
Cory LaNou 79fe16fb6c add comment about why we batch 2015-02-11 16:03:01 -07:00
Cory LaNou 9e80b2173a Wire up first/last aggregate functions 2015-02-11 15:55:51 -07:00
Cory LaNou 4b18ddedec magic numbers are evil 2015-02-11 15:11:45 -07:00
Cory LaNou 5911b38e94 emit in batches of 1000 2015-02-11 15:00:39 -07:00
Cory LaNou 6b9ba8baef check to see if we found values to calculate 2015-02-11 12:37:14 -07:00
Cory LaNou 007dd83b9a tests for stadard deviation 2015-02-11 12:33:45 -07:00
Cory LaNou d108af5a94 fix standard deviation calculation 2015-02-11 12:33:10 -07:00
Cory LaNou bf0c4599ba first pass at stddev. tests incoming 2015-02-11 11:21:55 -07:00
Cory LaNou 8421d59eb0 no more pointers, refactored min/max 2015-02-11 10:45:44 -07:00
Cory LaNou fe864792b5 map should do more work locally before passing up to reduce 2015-02-11 09:35:47 -07:00
Cory LaNou d0873a9b15 wire up max fix #1474 2015-02-10 16:14:22 -07:00
Cory LaNou eb845b1ecc return nil instead of 0 if there is nothing to reduce, additional zero test 2015-02-10 13:35:55 -07:00
Cory LaNou b17af5d7d5 more testing 2015-02-10 12:47:30 -07:00
Cory LaNou 4228635bf1 wire up min 2015-02-10 12:10:37 -07:00
Cory LaNou 62df7152c6 wildcards are now supported 2015-02-09 19:59:13 -07:00
Mark Rushakoff 2e4b9d8b3b Add missing valid statements for SHOW
And alphabetize the order.
2015-02-09 17:06:18 -08:00
Andrew Watkins 6b68f53b10 Fail faster on not-yet-implemented wildcard query
Signed-off-by: Will Faurot <will@influxdb.com>
2015-02-09 14:37:52 -07:00
Paul Dix 712297cdb5 Merge pull request #1506 from influxdb/fix-select-where-time
Fix queries that have only time in their where clause
2015-02-08 02:05:03 -05:00
Paul Dix c6e7a7f9ea Fix mapper to check if the iterator is EOF before calling the map function 2015-02-07 06:29:04 -05:00
Philip O'Toole 54a1ac01b1 Test parsing of milliseconds 2015-02-05 14:51:36 -08:00
Paul Dix bc813cc9da Fix queries with where clause only having time.
* Add OnlyTimeDimensions to SelectStatement
* Update the database to handle queries that only have a time statement
* Fix server test to insert a time literal that can be parsed.
2015-02-05 01:29:19 -05:00
dgnorton c7d5d603c2 Merge pull request #1491 from influxdb/influxql-spec
update InfluxQL spec
2015-02-04 11:54:17 -05:00
David Norton 30db7a0df1 INFLUXQL.md: explain escaping and fix DROP USER 2015-02-04 11:49:05 -05:00
David Norton 2b84113487 issue #1423: wire up show field keys 2015-02-04 10:59:47 -05:00
Cory LaNou 887fbd2054 spelling is hard 2015-02-03 17:02:41 -07:00
Cory LaNou 55cc5cfa09 sending all time back as RFC3339Nano instead of UnixNano (int64) 2015-02-03 16:55:33 -07:00
David Norton 819e1107be update DROP SERIES & MEASUREMENT 2015-02-02 23:27:09 -05:00
David Norton 2934b22048 fix formatting issue in INFLUXQL.md 2015-02-02 21:42:14 -05:00
David Norton 729be5ef36 update InfluxQL spec 2015-02-02 21:33:17 -05:00
Cory LaNou 37f62dbe71 We now store in nanoseconds and send back nanosecond values 2015-02-02 14:08:13 -07:00
David Norton 19992f3ecc gofmt -s (simplify) 2015-02-01 15:33:12 -05:00
David Norton a8b86dc29b golint cleanup 2015-02-01 13:47:48 -05:00
David Norton d7814eb5f1 issue #1418: wire up revoke privilege 2015-01-30 10:46:29 -05:00
David Norton 0cf681d19c influxql: remove TagKeyIdent, add WITH KEY clause 2015-01-29 15:01:25 -05:00
David Norton ae33bc99db issue #1411: wire up show tag keys 2015-01-28 21:33:19 -05:00
Paul Dix 3ad3abaf64 Merge pull request #1398 from influxdb/show-queries
Show queries
2015-01-28 10:44:08 -05:00
Paul Dix ac53db23ce Merge pull request #1399 from influxdb/parse-tag
influxql: fix WHERE TAG KEY parsing
2015-01-28 10:03:08 -05:00
David Norton 2cf41d6ea9 influxql: fix WHERE TAG KEY parsing 2015-01-28 05:02:36 -05:00
Ben Johnson 0a73416e4d Use the last ident segment for result names. 2015-01-28 03:57:38 -05:00
David Norton b50e4cc514 implement SHOW SERIES 2015-01-28 00:29:14 -05:00
Paul Dix 861163c03e Add influxql.Eval(). 2015-01-27 20:27:19 -05:00
Paul Dix c2ded241ea WIP: wire up group bys and pretty much the whole shebang 2015-01-27 20:27:19 -05:00
Paul Dix a4e32eb8e6 Fix raw data query test. 2015-01-27 20:26:32 -05:00
Paul Dix 7052fcdde9 WIP: add raw data points query, refactor mapper and iterator
Refactors the mapper to only take a single iterator. This will also make it so that we have many mappers (one per shard) that get properly reduced so order comes through correctly.
2015-01-27 20:26:32 -05:00
Paul Dix 7c4a79248d Add percentile aggregate function 2015-01-27 20:26:32 -05:00
Paul Dix 8148259bfc Add mean aggregate function 2015-01-27 20:26:32 -05:00
Ben Johnson a6746b3a21 Remove MultiIterator. 2015-01-27 20:26:32 -05:00
Ben Johnson 1eda0ffcb9 Refactoring query engine. 2015-01-27 20:26:31 -05:00
Ben Johnson d340ffcf3c Expression expansion and reduction. 2015-01-27 20:26:31 -05:00
David Norton 780831bb17 change LIST to SHOW 2015-01-25 22:56:20 -05:00
Philip O'Toole 95597fc812 Fix typo in LIST USERS example 2015-01-25 17:45:47 -08:00
Paul Dix c524d9afe5 Fix parser tests 2015-01-25 17:51:51 -05:00
David Norton ab39d471a3 influxql: add OFFSET 2015-01-25 15:34:49 -05:00
Cory LaNou 5c0c728fc3 merge conflict 2015-01-21 11:06:59 -07:00
dgnorton fee20908bc Merge pull request #1329 from influxdb/meta-queries
This PR adds authorization.
2015-01-21 10:00:52 -05:00
Tristan Storch 2994e52fec correction: orthography 2015-01-21 14:28:24 +01:00
David Norton 2d34c71c0c Add authorization unit tests & code review fixes 2015-01-20 23:45:18 -05:00
David Norton 1796998614 Add authorization 2015-01-20 16:33:28 -05:00
Ben Johnson 9ccc3b73e0 Refactor ident parsing into Parser.parseIdent(). 2015-01-19 16:12:33 -07:00
Ben Johnson 73bc8215bc Remove combined string/ident scanning. 2015-01-19 16:01:24 -07:00
Ben Johnson 3c8c8724ed Implement full ident scanning, single quote strings. 2015-01-19 13:05:38 -07:00
Ben Johnson 10075ea8c5 Remove debugging. 2015-01-19 11:28:31 -07:00
Ben Johnson 81f457907f Add measurement normalization and identifier splitting. 2015-01-18 14:45:22 -07:00
David Norton 9e3ca7b569 influxql: add LIST USERS statement 2015-01-14 11:53:17 -05:00
David Norton 012b41e5ca influxql: add DROP RETENTION POLICY statement 2015-01-13 16:46:07 -05:00
David Norton d514cd03c8 influxql: add LIST RETENTION POLICIES statement 2015-01-13 15:40:43 -05:00
David Norton 874eedf36d Add LIST DATABASES to QUERIES.md and INFLUXQL.md 2015-01-13 14:56:55 -05:00
Philip O'Toole 0938f75fa5 Use pointer types to fix 'go vet' 2015-01-12 11:50:49 -08:00
Philip O'Toole 29122a5bab More 'go vet' fixes 2015-01-12 11:47:55 -08:00
Philip O'Toole c9fdf34b4f go vet: Fields{} -> []*Field{} 2015-01-12 11:43:38 -08:00
Philip O'Toole 295d63cb57 More vet fixes 2015-01-11 15:14:22 -08:00
David Norton ccab32f33e influxql: add WITH to CREATE USER & cleanup 2015-01-09 18:21:12 -05:00
David Norton 05e2bff6c4 influxql: add LIST DATABASES statement 2015-01-09 18:21:12 -05:00
David Norton 877f35ae57 influxql: sort node lists in ast.go 2015-01-09 18:21:12 -05:00
David Norton 8da9494a46 influxql: fix comment in parser.go 2015-01-09 18:21:12 -05:00
David Norton 776e9f2ec2 influxql: add GRANT to INFLUXQL.md 2015-01-09 18:21:12 -05:00
David Norton 0439c032a0 influxql: add specification (WIP) 2015-01-09 18:21:12 -05:00
David Norton 5ea393f5ac influxql: fix scanner bug caused by double unread 2015-01-09 18:21:12 -05:00
David Norton 3b649d3e63 influxql: add CREATE CONTINUOUS QUERY (WIP) 2015-01-09 18:21:12 -05:00
David Norton f23417fa5a influxql: add CREATE CONTINUOUS QUERY, : separator 2015-01-09 18:21:12 -05:00
David Norton 4b5f9d3d0e influxql: fix broken test in parser_test.go 2015-01-06 13:47:21 -05:00
David Norton 06a684a2d8 influxql: fixed typo in err msg and comment 2015-01-05 15:46:52 -05:00
David Norton 2d219d0da0 influxql: use strconv.Atoi instead of ParseInt 2015-01-05 15:44:11 -05:00
David Norton d927573b3a influxql: use strconv.Itoa instead of FormatInt 2015-01-05 15:37:18 -05:00
David Norton d6aa34e840 influxql: add ALTER RETENTION POLICY statement 2015-01-05 13:24:50 -05:00
David Norton 7443e1323a influxql: add DROP USER statement 2015-01-04 22:56:25 -05:00
David Norton e62efba6ed influxql: add DROP DATABASE statement 2015-01-04 22:32:49 -05:00
David Norton 52c0bf0fa2 influxql: refactor ParseStatement 2015-01-04 22:03:18 -05:00
David Norton 96e8f96d13 influxql: add CREATE RETENTION POLICY statement 2015-01-04 21:50:56 -05:00
David Norton 09a8a925e8 influxql: add REVOKE statement 2015-01-03 02:06:47 -05:00
David Norton 87922c4202 influxql: add GRANT statement 2015-01-03 02:06:47 -05:00
David Norton 03694fd6c0 influxql: add CREATE USER statement 2015-01-03 02:06:47 -05:00
David Norton 4739cc8c1d remove RETENTION POLICY from CREATE DATABASE 2015-01-03 02:06:47 -05:00
David Norton 4ede864d13 influxql: add CREATE DATABASE 2015-01-03 02:06:47 -05:00
David Norton b2a2b73bd9 influxql: add tokens for user & DB admin 2015-01-03 02:06:47 -05:00
Philip O'Toole f37f0b80fa Add unit test for change made by PR 1273 2014-12-31 15:50:10 -08:00
Philip O'Toole ba0745e244 Fix comment for filterExprBySource 2014-12-31 14:35:30 -08:00
Philip O'Toole a45a08cccf Fix unit test so filterExprBySource fix is tested
The change introduced by:

    https://github.com/influxdb/influxdb/pull/1269

was not actually being tested.
2014-12-31 11:41:54 -08:00
Ben Johnson 77322731fa Merge pull request #1273 from blmarket/change-default-assoc
Change influxql default associativity from right to left.
2014-12-30 11:54:22 -07:00
Heon Jeong a59be31449 Change influxql default associativity from right to left.
Closes #1266

modified one testcase as it was depending on right
associativity.
2014-12-30 10:20:12 +09:00
Heon Jeong 5736cbe2fc Fix not to reuse unfiltered expr for filterExprBySource
`return expr` in the last line of `filterExprBySource` can
return unfiltered results, so fixing it by reconstruction
using filtered elements.

also added a test which can cause this problem.
2014-12-30 09:57:45 +09:00
Ben Johnson 688080af3d Merge pull request #1257 from influxdb/filter-tags
Add tag filtering
2014-12-22 09:01:05 -07:00
Ben Johnson fdd65116b4 Add Rewriter. 2014-12-21 15:18:55 -07:00
Ben Johnson eced3a347c Add tag filtering.
This commit adds tag filtering via the `WHERE` clause.

Example:

	SELECT sum(value) FROM cpu GROUP BY time(1h), host WHERE region = 'us-west'
2014-12-21 13:22:04 -07:00
Ben Johnson a034dab697 Fix date parsing comment. 2014-12-21 12:45:52 -07:00
Ben Johnson bd79d70f50 Add absolute time support.
This commit adds the ability to specify time by duration since epoch.

Example:

	SELECT * FROM cpu WHERE time > 1388534400s
2014-12-21 11:07:14 -07:00
Ben Johnson 2564933639 Add date-only parsing.
This commit changes the Parser to check for date-only formatted strings instead of only
datetime formatted strings.
2014-12-21 10:59:36 -07:00
Ben Johnson d92d0d4737 Fix NEQ: Change != to <> 2014-12-21 10:43:03 -07:00
Ben Johnson 4d0cf4e47b Fix syntax error. 2014-12-21 10:40:39 -07:00
Ben Johnson f5a3e9bf15 Code review fixes. 2014-12-21 10:05:15 -07:00
Ben Johnson 252a4cfba8 code review fix. 2014-12-19 21:45:40 -07:00
Ben Johnson 6c6bb92a1b Add join support.
This commit adds the ability to join multiple measurements together and calculate aggregate
function expressions.
2014-12-19 21:36:52 -07:00
Ben Johnson 41bb5ccfdd Add group by support for tags.
This commit adds GROUP BY support for tags. Previously only the interval could be grouped by.
2014-12-18 08:44:21 -07:00
Ben Johnson 925abdcb67 Merge pull request #1232 from influxdb/planner
Add time range extraction and interval grouping support to execution engine.
2014-12-16 15:08:48 -07:00
David Norton 9d2aba9d7f influxql: move ORDER BY parsing to its own func 2014-12-16 12:32:08 -05:00
Ben Johnson 04608f74c0 Add time range crossover test. 2014-12-16 08:57:27 -07:00
Ben Johnson 9bcc48f8f9 Code review fixes. 2014-12-16 08:50:30 -07:00
David Norton 3deb2bb132 go fmt 2014-12-16 09:06:51 -05:00
David Norton abce33981a influxql: capitalize LIMIT in error message 2014-12-16 09:06:51 -05:00
David Norton 4ce9b2bd74 influxql: add LIST MEASUREMENTS, TAGS, & FIELDS 2014-12-16 09:06:51 -05:00
David Norton ddc1352073 influxql: only accept LIMIT values > 0 2014-12-16 09:06:51 -05:00
David Norton 6f3ba3efdb influxql: change ORDER BY to accept a field list
Change ORDER BY to accept a field list and change LIST SERIES
statement to allow ORDER BY.
2014-12-16 09:06:51 -05:00
David Norton 0f3ea136be influxql: make LIST SERIES support WHERE & LIMIT 2014-12-16 09:06:51 -05:00
David Norton 74ade8cffb Add LIST related tokens to scanner 2014-12-16 09:06:50 -05:00
Ben Johnson 38263e0fac Add time range extraction and group by support to execution engine. 2014-12-15 08:34:32 -07:00
Ben Johnson f469097e8b Add ability to fold without now(). 2014-12-11 09:58:33 -07:00
Ben Johnson e854b913e5 Add constant folding. 2014-12-10 23:32:45 -07:00
Ben Johnson b349394d3c NOTES 2014-12-10 07:44:52 -07:00
Ben Johnson d69691e6c5 Refactor planner. 2014-12-09 08:45:29 -07:00
Ben Johnson c77191b282 Rebuilding engine in influxql. 2014-12-07 22:08:39 -07:00
Ben Johnson d34bc1f57f Add AST string encoding, substatement extraction. 2014-12-06 11:17:58 -07:00
Ben Johnson 0b07cec7f4 Merge branch 'master' of https://github.com/influxdb/influxdb into planner 2014-11-30 15:52:20 -07:00
Ben Johnson a41e539458 Initial query planner. 2014-11-30 15:52:00 -07:00
David Norton 26ecd06ef5 Change Wild to Wildcard and move test 2014-11-25 18:23:10 -05:00
David Norton f8073bf287 Make influxql parse SELECT * 2014-11-25 17:43:22 -05:00