Commit Graph

391 Commits (21343e4e0f6fa6c1666b47cc91770c8b6965cbe6)

Author SHA1 Message Date
ben hockey 94030b2782 return the values from stddev mapper function 2015-04-23 10:49:24 -05:00
ben hockey 91db81f374 calculate mean without causing overflow 2015-04-22 11:40:16 -05:00
Jason Wilder 406a951718 Fix comments 2015-04-21 13:39:58 -06:00
Jason Wilder 90e3059a8b Fix processRawQuery from returning duplicate data 2015-04-21 13:39:58 -06:00
Marcos Lilljedahl 2bac1a8097 Add test for REGEX operators 2015-04-20 19:43:06 -03:00
David Norton 86db3574ad fix #2286: parse error on CREATE CONTINUOUS QUERY 2015-04-17 16:40:29 -04:00
Philip O'Toole d21a9493c6 Remove debug commit 2015-04-16 11:50:47 -07:00
ben hockey d993a3f36b use nil as default return value for MapCount
fixes #2271
2015-04-15 11:55:07 -07:00
David Norton 66b8cc02aa fix #2268: code review changes 2015-04-15 13:52:18 -04:00
David Norton 1e7b132f96 fix #2268: make ugly code pretty 2015-04-15 13:25:49 -04:00
David Norton 3739433f0c fix #2268: fix expression parsing bug
Parsing:

WHERE time > now() - 2d AND time < now() + 10d

generated an expression tree that evaluated as:

... AND (time < now()) + 10d

instead of:

... AND time < (now() + 10d)
2015-04-15 12:37:19 -04:00
David Norton 78b1070775 make nowValuer public / exported 2015-04-15 11:26:36 -04:00
Todd Persen ebd8ca7016 Merge pull request #2191 from influxdb/calls_case
Case-insensitive check for "fill"
2015-04-13 12:13:43 -07:00
Philip O'Toole 96a81826ec Support int64 data types 2015-04-13 11:04:27 -07:00
Paul Dix 37d4f2a265 Fixes based on feedback. 2015-04-10 16:11:34 -07:00
Philip O'Toole bf1a8aa1e4 Use uint64 for Series IDs
Fixes issue #1649
2015-04-10 16:11:34 -07:00
Paul Dix 7661546a47 Finish up distributed queries. 2015-04-10 16:11:34 -07:00
Paul Dix d41b85a715 Remove the interval setting from NextInterval to make remote mappers work. 2015-04-10 16:11:34 -07:00
Paul Dix 6e8ea9ae91 Fix errors on limits and chunked raw queries. 2015-04-10 16:11:34 -07:00
Paul Dix 113995032e WIP: Initial implementation of remote mapper for distributed queries. 2015-04-10 16:11:34 -07:00
Paul Dix 2a3ed635ed Add chunked responses and streaming of raw queries.
Refactored query engine to have different processing pipeline for raw queries. This enables queries that have a large offset to not keep everything in memory. It also makes it so that queries against raw data that have a limit will only p
rocess up to that limit and then bail out.

Raw data queries will only read up to a certain point in the map phase before yielding to the engine for further processing.

Fixes #2029 and fixes #2030
2015-04-10 16:11:33 -07:00
David Norton a67e9a8a95 fix #2215: allow keyword default to be unquoted
InfluxDB creates a default retention policy named "default".  DEFAULT is
also a keyword in the language.  This required double quoting "default"
in the ALTER RETENTION POLICY statement.  This commit makes the parser
accept it unquoted for that one statement.
2015-04-09 16:37:20 -04:00
David Norton c2b61af3a1 fix #2224: make influxql keywords case insensitive 2015-04-09 16:08:28 -04:00
David Norton 25cea58635 refactor scanning & parsing of identifiers 2015-04-09 13:21:13 -04:00
Cory LaNou 39d74e0486 fix fmt error 2015-04-08 09:26:23 -06:00
Philip O'Toole f5b769781b Case-insensitive check for "fill" 2015-04-07 19:21:37 -07:00
Dejan Golja e1b9982401 Add support for SET PASSWORD FOR user = 'PASSWORD'
Added support for the set password for user, so we can update user
password via the new server administration commands
2015-04-04 14:16:54 +11:00
Philip O'Toole e4cf36fe29 Combine values across mappers before emit 2015-04-02 16:00:52 -07:00
Paul Dix 6c46a5c83b Add chunked responses and streaming of raw queries.
Refactored query engine to have different processing pipeline for raw queries. This enables queries that have a large offset to not keep everything in memory. It also makes it so that queries against raw data that have a limit will only p
rocess up to that limit and then bail out.

Raw data queries will only read up to a certain point in the map phase before yielding to the engine for further processing.

Fixes #2029 and fixes #2030
2015-04-02 15:22:27 -07:00
Paul Dix 332c42750b Update server and handler to work with streamed responses 2015-04-02 15:22:27 -07:00
Philip O'Toole 1219ba7b93 Add simple WHERE time > absolute value test 2015-03-30 16:37:25 -07:00
Philip O'Toole 1b700264a7 Also include NEQ in filters
This fixes != for field value comparisons.
2015-03-27 23:07:57 -07:00
Philip O'Toole 272f7f760e Add unit tests, pass now. 2015-03-27 17:04:46 -07:00
Philip O'Toole e07aeaa030 Unit test leading underscore as IDENTs 2015-03-26 13:11:11 -07:00
Philip O'Toole 6627257f44 Allow leading underscores for IDENTs 2015-03-26 13:11:06 -07:00
Todd Persen 94a8019fc7 Wire up DROP CONTINUOUS QUERY 2015-03-25 11:58:33 -07:00
Todd Persen edf42569a0 Merge pull request #2049 from influxdb/fix-cq-example
Fix CQ example on InfluxQL spec
2015-03-25 11:50:48 -07:00
Cory LaNou 84a9b8a3fa the naming of the function is wrong, need future refactor, this logic is valid 2015-03-24 20:14:05 -06:00
Cory LaNou c21ca156e9 this logic should never happen 2015-03-24 20:14:05 -06:00
Cory Lanou 7be574534c Fixing intervals for group by. Fixing bad PR 2015-03-24 20:13:05 -06:00
Philip O'Toole 1c440f8542 Implement "SHOW DIAGNOSTICS" 2015-03-23 23:45:57 -07:00
Paul Dix 6bba6043d7 Fix CQ example on InfluxQL spec 2015-03-22 11:40:33 -04:00
Cory LaNou dd6bb91463 fix test 2015-03-20 16:52:32 -06:00
Cory LaNou e2f33e354f clarify error message 2015-03-20 16:52:32 -06:00
Cory LaNou 3c8e830aa3 fixing tests 2015-03-20 16:51:41 -06:00
Cory LaNou dc0d8a35dc wip 2015-03-20 16:51:41 -06:00
Philip O'Toole fe44f63495 Fix parser unit test, statement is raw 2015-03-19 16:36:24 -07:00
Philip O'Toole dc297e8012 Correctly use IsRawQuery 2015-03-19 16:32:25 -07:00
Philip O'Toole 59f25910c6 IsRawQuery should be set via Walk() 2015-03-19 16:26:16 -07:00
Philip O'Toole b045a0008e Remove redundant Aggregated() on select statement 2015-03-19 15:22:43 -07:00
Philip O'Toole 3001448f16 Merge branch 'master' into limit-group-by
Conflicts:
	CHANGELOG.md
2015-03-19 15:17:50 -07:00
Philip O'Toole cbd43bd9b2 IsRaw now works without time present 2015-03-19 15:12:46 -07:00
Paul Dix 6d85d81a0b Make select statement clone copy IsRawQuery 2015-03-19 17:07:56 -04:00
Cory LaNou da171cfe32 make vet happy 2015-03-19 15:05:23 -06:00
Paul Dix 3496105033 Remove resultTimes as it's not used 2015-03-19 16:48:47 -04:00
Cory LaNou c13bdd5e86 refactor, bug fix, move tests to integration 2015-03-19 14:33:47 -06:00
Cory LaNou d5f04d82c6 remove debug code 2015-03-19 13:43:04 -06:00
Cory LaNou a6171b3382 refactor of limit/offset 2015-03-19 13:31:46 -06:00
Paul Dix 56281fbfd5 WIP: add IsRawQuery to select and fix LIMIT and OFFSET on GROUP BY time 2015-03-19 11:41:18 -04:00
Jonathan Nutzmann 46f5521070 oops - forgot to remove temp import 2015-03-19 10:31:27 -05:00
Jonathan Nutzmann 105d0aa503 fixing failed integration tests - change how number of points calculated and the expected result of the server 2015-03-19 10:28:47 -05:00
Cory LaNou 5f29565ce2 still allow crazy limits if total points is less than max group limit 2015-03-18 18:44:31 -06:00
Cory LaNou e78e5f3e19 Limit group by to MaxGroupByPoints (currently 100,000) 2015-03-18 18:44:30 -06:00
David Norton 3f8ca0c923 influxql: remove RegexLiteral from Source types 2015-03-16 19:45:39 -04:00
David Norton 62ae32b0ce wire up regex in FROM clause 2015-03-16 19:40:59 -04:00
David Norton fd005a5f15 influxql: allow regex in FROM clause 2015-03-16 19:40:21 -04:00
Philip O'Toole e08066495a Add "SHOW STATS" command 2015-03-15 14:31:16 -07:00
Cory LaNou 3c3765dbb1 typo in comment 2015-03-13 16:52:49 -06:00
Cory LaNou 932b6ddc81 Sort wildcard expresion field names for consistent output 2015-03-13 16:51:18 -06:00
Cory LaNou 08b15d9370 zeros are ok after all 2015-03-12 18:59:38 -06:00
Cory LaNou eda74a25f1 allow offset 0 2015-03-12 18:20:58 -06:00
Paul Dix 5ca9bb5f85 Update comment for clarity 2015-03-12 11:39:57 -07:00
Paul Dix 63111a374c Fix issue with time buckets and improve performance
When the start time fell in the middle of a group by bucket, the times for all buckets would be off by the amount of that stat time. This fixes it so group by windows are always on the bucket. However, if the user specifies a start time in the middle of a bucket, the very first bucket will only have whatever data in it that is past the start time (so it'll be a partial)

Also fixed a performance bug where if someone issued a query like: `SELECT mean(value) FROM foo GROUP BY time(10s) LIMIT 3`. Previously, the engine would create emtpy values for every 10s window since 1970, then limit it afterwards. Now, it'll just create value holders for the 3 buckets we need.
2015-03-11 19:33:55 -07:00
Paul Dix 4b943e9f45 Fix fill to work if they clone the select statement. 2015-03-11 19:29:18 -07:00
Paul Dix 00888562b9 Fix typo in comment 2015-03-11 18:20:20 -07:00
Paul Dix 3d91acaa26 Update InfluxQL with fill 2015-03-11 18:12:42 -07:00
Paul Dix 06e8c1b3e8 Add fill to select statements.
Fixes #1913
Add fill(none), fill(<num>), and fill(previous) options
2015-03-11 18:05:31 -07:00
Cory LaNou de1defc528 add SHOW SERVERS to query language 2015-03-10 13:46:05 -06:00
Paul Dix 1a545a1cc0 Update Slimit and Soffset to SLimit and SOffset 2015-03-09 20:09:47 -07:00
Paul Dix a12f028de4 Wire up limit and offset per series.
Fixes #1709 and fixes #1103
2015-03-09 19:17:03 -07:00
Paul Dix 8d2abc5c86 Add Slimit and Soffset. Update tests and behavior to use those. 2015-03-09 18:46:05 -07:00
David Norton a032d77fa9 influxql: make walkFunctionCalls a func not method 2015-03-09 20:03:49 -04:00
David Norton 759838b5a0 influxql: make walkNames a func instead of a method 2015-03-09 19:59:03 -04:00
Paul Dix 3628fbe7cd Updates based on PR feedback 2015-03-09 16:32:55 -07:00
Paul Dix 08ecaabc16 Fix decodes on multiple fields. Remove debug info. Update tests to match new query engine output. 2015-03-09 11:17:36 -07:00
Paul Dix eca4af5514 Wire ip limits, fix server_test, remove warns 2015-03-07 16:30:42 -08:00
Paul Dix 0b98d6e1d2 WIP: wired up math processing on queries 2015-03-07 15:29:57 -08:00
Paul Dix 93f3a229c6 Fix merge conflicts 2015-03-06 16:30:26 -08:00
Paul Dix df3c0099e1 WIP: wire up raw queries 2015-03-06 11:23:58 -08:00
Philip O'Toole a2e4556563 Allow 'INF' to indicate infinite retention 2015-03-05 15:23:54 -08:00
Philip O'Toole 51bf552ca9 Fix typo in comment 2015-03-05 14:45:47 -08:00
David Norton 09e1710dc9 fix #1799: update INFLUXQL.md for regex changes 2015-03-03 09:32:15 -05:00
David Norton 9d6d36f2e9 fix #1799: change regex delim to '/' & RHS only 2015-03-03 09:32:15 -05:00
David Norton 08796bd6af fix #1799: make scanner recognize regex
Change the regex delimiter from single quotes to back ticks (`) and make
the scanner recognize regex tokens.

Single quotes are used for string literals. Using a unique delimiter for
regular expression literals allows the scanner to recognize regular
expression tokens, which is inline with the way the rest of the
scanner / parser work.
2015-03-03 09:32:15 -05:00
Paul Dix 74e6f1f4db WIP: query language refactoring compiles. mores soon 2015-03-01 22:37:09 -08:00
Joseph Rothrock bcad98c902 malformed identifiers get through
Issue: 1768

We weren't checking return codes from scanString.
Added text descriptions for BADSTRING and BADESCAPE tokens.
2015-02-27 13:33:36 -08:00
Paul Dix 889f0a323f Fix problem with merging series that have unequal number of points in group by interval 2015-02-27 01:02:34 -05:00
Joseph Rothrock 661482937f Support keys wrapped in dbl quotes
Issue: 1729

Trim off any leading or lagging dbl quotes.
2015-02-26 12:40:30 -08:00
Philip O'Toole c48297c886 Merge pull request #1733 from mre/patch-1
typo in word "dimension"
2015-02-26 00:58:58 -08:00
Cory LaNou c34e28ba10 adding more test coverage for parsting create continuous query statements 2015-02-25 13:01:32 -07:00
Cory LaNou 60a08466c8 add drop measurement test for parser 2015-02-25 12:42:23 -07:00
Cory LaNou 151015b4b8 parsing DROP MEASUREMENT 2015-02-25 12:42:23 -07:00
Cory LaNou 2aa155c428 wip 2015-02-25 12:42:23 -07:00
Matthias Endler 30fa2b7c3a typo in word "dimension" 2015-02-25 09:42:45 +01:00
Philip O'Toole 3867a1933c Parse Series IDs are 32-bit unsigned integers 2015-02-24 12:43:50 -08:00
Paul Dix 036859c191 Fix limit and offset, add more tests.
Also updated the Clone and Substatement methods to copy the offset.
2015-02-24 01:42:11 -05:00
Paul Dix a8a0b9f24e Fix raw data query where some values are null
I also removed the engine test for the raw planner. It's getting tested elsewhere and it would have been too difficult to make it work. Besides, that's getting replaced soon anyway.
2015-02-24 00:36:07 -05:00
Paul Dix b69597f376 Fix queries that return raw data without aggregates. 2015-02-24 00:36:07 -05:00
Philip O'Toole 4d896fa96b Correct comment in wildcard unit test 2015-02-23 19:09:55 -08:00
Philip O'Toole 41ad49f1c1 Add wildcard detection method to SelectStatement 2015-02-23 19:09:55 -08:00
Philip O'Toole 5f71aed8bd Fix previously failing GROUP BY * unit tests
GROUP BY * functionality is now in place.
2015-02-23 19:09:55 -08:00
Philip O'Toole 84de4ad56c Add wildcard rewrite functionality for SELECT
This code, when given a SELECT statement, returns another SELECT
statement such that all "query" and GROUP BY wildcards have been
replaced with all Measurement fields and tag keys respectively.
2015-02-23 19:09:55 -08:00
Philip O'Toole bf3aa528b0 Allow parsing of * for GROUP BY 2015-02-23 19:07:01 -08:00
Paul Dix 89b80dcd66 WIP: insane refactor of engine. Must come back later. 2015-02-23 18:07:01 -05:00
Cory LaNou 7d74ccac6a addressing nit 2015-02-21 17:21:27 -07:00
Cory LaNou 27d7f45729 support drop series without from but with where 2015-02-21 17:05:08 -07:00
Cory LaNou 918c5c8ce9 one more err test condition for drop series 2015-02-21 17:05:08 -07:00
Cory LaNou fd9c19ad9c wire up drop series parsing 2015-02-21 17:05:08 -07:00
David Norton 9bff9cdeee issue #1431: wire up regex queries 2015-02-21 15:38:35 -05:00
David Norton 12bed3e74f issue #1430: add where regex to influxql 2015-02-21 15:37:52 -05:00
Paul Dix 6ed70ebbe3 WIP: fix for ordering of queries of raw values 2015-02-17 21:40:53 -05:00
Paul Dix 8fee14fbf8 Fixes based on PR feedback.
* Pull out magic numbers for running CQs in the broker
* Typo fixes in comments
* Update the process_continuous_queries endpoint to not have gzip
* Remove previous implementation of MeasurementNames in favor of new simpler one
2015-02-17 21:02:53 -05:00
Paul Dix 8d9bcdbc97 Finish wiring up basic version of CQs 2015-02-17 21:02:52 -05:00
Paul Dix fec6764b09 WIP: wire up continuous queries
* Fix run to work with CQ broker
* Fix CQ handler
* Fix SetTimeRange to use RFC3339Nano
* Fix the time range tests
* Fix the parser to parse for RFC3339Nano literals in addition to the other format
* Add logic for running CQs
* Remove duplicate WriteBufferSize default setting from config
2015-02-17 21:02:18 -05:00
Paul Dix b0d4b6da55 WIP: fix cq query times 2015-02-17 21:01:21 -05:00
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