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
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
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.
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.
* 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