Nathaniel Cook
920ef30a99
Merged pull request #494 from influxdata/nc-query-panic
...
fix: Panic in query/controller on Statistics
2018-07-27 09:30:49 -06:00
Nathaniel Cook
47b7f512da
fix: Panic in query/controller on Statistics
2018-07-27 09:15:28 -06:00
Jonathan A. Sternberg
7494972d98
tests(query/functions): add benchmarks for all of the query tests
...
This uses the same code as the other end to end so we can benchmark the
entire query engine.
2018-07-26 16:09:13 -05:00
jlapacik
69e3627f42
controller sets Now time before enqueuing a query
2018-07-26 10:36:19 -07:00
Adam
a84c86b06d
Fix initial transpiler grouping so that aggregates will compute ( #460 )
...
* feat(query/influxql): Fix initial transpiler grouping so that aggregates will compute
--update spec
--add mean test to demonstrate new feature
2018-07-25 17:56:33 -04:00
Nathaniel Cook
2588b14df4
Merged pull request #436 from influxdata/nc-fix-repl-now
...
fix: Update REPL to correctly compile Spec with now option
2018-07-25 15:54:59 -06:00
Adam
2ee4157ded
feat(query/functions) Update percentile function to provide a selector option add transpiler support. ( #444 )
2018-07-25 16:32:04 -04:00
Jonathan A. Sternberg
4b7bfb21c2
fix(query/influxql): influxql transpiler should set the now time
...
The now time is stamped by the influxql transpiler and used inside of
the actual query. It will result in more accuracy if we take the
timestamp we have created and send it as part of the spec to queryd
rather than force ourselves to ensure absolute times exist everywhere.
2018-07-25 08:34:41 -05:00
adamperlin
5bb0cae73f
Add filtering to flux range function when not pushed down
2018-07-24 13:33:42 -07:00
adamperlin
f6a5e47d4b
Update formatting of flux increase built-in to align with standard style
2018-07-24 10:42:20 -07:00
adamperlin
ca0b4e4549
Order all data by time in flux increase test case, add related non-negative derivative test case
2018-07-23 17:18:29 -07:00
adamperlin
f8c204a62f
Add increase to flux as built in function, change test data to account for counter wraps to values other than zero
2018-07-23 16:21:55 -07:00
jlapacik
d70ec9a31f
update flux grammar spec to include OptionStatement
2018-07-20 12:53:14 -07:00
Nathaniel Cook
be817afc62
fix: Update REPL to correctly compile Spec with now option
2018-07-20 13:22:05 -06:00
Jonathan A. Sternberg
f2a8ae22b2
Merge pull request #435 from influxdata/js-427-cancel-enqueue
...
fix(query/control): cancel the enqueue of a query if the context finishes
2018-07-19 13:59:00 -05:00
Jonathan A. Sternberg
ff8c9cfb34
fix(query/control): cancel the enqueue of a query if the context finishes
...
If a query is attempting to be enqueued and it gets canceled, it will
now stop attempting to add it to the new queries queue and return the
error reported by the context. This allows the http server to cancel a
running query when the client disconnects for whatever reason without
continuing to attempt to process the canceled query.
2018-07-18 15:37:25 -05:00
Nathaniel Cook
d568d7fd01
feat: Use DBRPMappings in 1.x read path
2018-07-18 09:46:57 -06:00
Lyon Hill
be271bc6e4
Merge pull request #423 from influxdata/feat/query-eval
...
feat(query): split compile into two functions to allow Eval access
2018-07-17 16:48:03 -06:00
Lyon Hill
586d35ce98
update Eval docs
2018-07-17 16:17:55 -06:00
Lyon Hill
ec2764f8d0
feat(query): split compile into two functions to allow Eval access
2018-07-17 16:12:17 -06:00
Lyon Hill
cb04d22e73
feat(query): add task options
2018-07-17 15:52:33 -06:00
Nathaniel Cook
85b7d36147
feat: Add query statistics
...
Introduces the Statisticser interface which ResultIterators may
implement.
The HTTP implementation uses HTTP trailers to preserve the statistics.
This way we do not need to have all encoders and decoders support
statistics.
2018-07-17 09:16:27 -06:00
jlapacik
524c4ccf35
flux options interface
...
default now option value
2018-07-16 14:24:37 -07:00
Nathaniel Cook
336313bddb
fix: Fix tests that are failing because of the rename
...
These tests were part of a PR when the rename was made.
The changes were not rebased before merge so we did not discover the
failures till after the merge.
2018-07-13 13:02:37 -06:00
Jonathan A. Sternberg
12b3e5de6d
Merge pull request #403 from influxdata/js-queryd-catch-execute-panics
...
feat(query/control): catch panics when executing a query in the controller
2018-07-13 13:33:57 -05:00
Adam Perlin
b6afb5ff47
Merge pull request #398 from influxdata/ap-difference-panic-fix
...
Fix for panic when `difference` is called with no data
2018-07-13 10:42:12 -07:00
Nathaniel Cook
d9b2377c9f
Merged pull request #406 from influxdata/nc-rename-block
...
chore: Rename block to table
2018-07-13 10:56:44 -06:00
Nathaniel Cook
43ff647444
fix: Update Godoc parameter name
2018-07-13 10:43:20 -06:00
Adam Perlin
ed1809a513
Merge pull request #390 from influxdata/ifql-test-metaquery
...
Add initial flux meta query tests
2018-07-13 09:27:33 -07:00
adamperlin
70fae6f77a
Move length check out of loop
2018-07-13 09:17:59 -07:00
Nathaniel Cook
7902652290
chore: Rename local vars for b to tbl
2018-07-13 10:04:38 -06:00
Nathaniel Cook
80acc8d8c4
chore: Rename block to table
2018-07-13 09:56:35 -06:00
Adam Perlin
99e1f362af
Merge pull request #405 from influxdata/ifql-test-string-interp
...
Add flux string interpolation test
2018-07-13 08:55:36 -07:00
Nathaniel Cook
e4848caa25
chore: Rename parition key to group key
2018-07-12 16:16:58 -06:00
Jonathan A. Sternberg
4a275e0e2e
feat(query/control): catch panics when executing a query in the controller
2018-07-12 17:16:12 -05:00
adamperlin
4db4a832a3
Add flux string interpolation test
2018-07-12 15:06:59 -07:00
adamperlin
becab773b3
Add additional measurements to flux measurement query test input
2018-07-12 13:18:02 -07:00
Nathaniel Cook
01ad9e99a7
Merged pull request #379 from influxdata/nc-bucket-id
...
feat(query): Add support for using bucketID in from
2018-07-12 13:42:29 -06:00
adamperlin
4885fd3049
Remove unnecessary condition from in flux difference function implementation
2018-07-12 12:42:16 -07:00
Nathaniel Cook
987b045f97
Merged pull request #381 from influxdata/nc-link
...
fix: Update Spec.md link
2018-07-12 13:40:19 -06:00
adamperlin
3e7c79a072
Fix off-by-one error in difference bounds check, update unit tests to account for n=1 and n=0 points
2018-07-12 11:38:24 -07:00
adamperlin
d190ad369c
Add fix for panic in flux difference function; add related tests
2018-07-12 11:38:20 -07:00
Jonathan A. Sternberg
3d67f92c82
Merge pull request #397 from influxdata/nc-controller-panic
...
fix(query): Fix panic in controller if planning errors
2018-07-12 12:50:30 -05:00
Nathaniel Cook
932c114649
fix(query): Fix panic in controller if planning errors
2018-07-12 11:47:34 -06:00
Adam Perlin
a8ecbe52c5
Merge pull request #394 from influxdata/ifql-test-increase
...
Ifql test increase
2018-07-12 09:50:28 -07:00
Adam Perlin
9380d47a7d
Merge pull request #391 from influxdata/ifql-test-groupfield
...
Add flux test for explicitly grouping by field
2018-07-12 09:48:49 -07:00
adamperlin
d1119b0b68
Update difference_panic flux test
2018-07-12 08:15:42 -07:00
Adam
c8da4b02aa
feat(query/influxql): Add group-by time + offset support ( #384 )
...
previous versions only supported the first parameter to time() that set the window size. This version supports the second parameter, which shifts the offset a fixed amount from the epoch
2018-07-12 10:46:29 -04:00
adamperlin
a0300688d5
Add test cases for flux sum increase function and difference() panic
2018-07-11 20:32:08 -07:00
adamperlin
ad2e467df9
Add flux test for explicitly grouping by field
2018-07-11 17:53:01 -07:00
adamperlin
16b6c5e39e
Add initial flux meta query tests
2018-07-11 17:33:59 -07:00
Mark Rushakoff
15efa9d411
chore(query/control): use non-global prometheus metrics
2018-07-11 16:54:23 -07:00
Adam Perlin
8dbd50712c
Merge pull request #364 from influxdata/ifql-test-groupexcept
...
Add group except test for flux
2018-07-11 10:40:32 -07:00
adamperlin
274a27a22b
Add additional tags to exclude in flux group except test
2018-07-11 10:18:01 -07:00
adamperlin
bb13ef8d8a
Change sequence in flux group except test
2018-07-11 10:18:01 -07:00
adamperlin
4f6ba26579
Add group except test for flux
2018-07-11 10:17:55 -07:00
Adam Perlin
34b7837449
Merge pull request #363 from influxdata/ap-panic-fix-stringmax
...
Fix panic when unimplemented selector function is used
2018-07-11 10:10:35 -07:00
adamperlin
cadc97ecd1
Add link to issue in failing flux test skip description; change error constructor in test function
2018-07-11 10:03:55 -07:00
Nathaniel Cook
0ab163b68c
fix: Update Spec.md link
2018-07-10 16:41:35 -06:00
Nathaniel Cook
f47daadd43
feat(query): Add support for using bucketID in from
2018-07-10 15:52:48 -06:00
jlapacik
aba6fc3378
order parents in join based on parameter name
2018-07-10 11:09:58 -07:00
adamperlin
ac09a65727
Handle query execution errors in query_test to avoid infinite blocking issues after fail
2018-07-09 18:24:54 -07:00
adamperlin
8e34bd779e
Update output file for flux string max test with new error message
2018-07-09 18:10:21 -07:00
adamperlin
fe1493c120
Update error message for function unimplemented for data type in flux
2018-07-09 18:10:21 -07:00
adamperlin
bcbc0256d5
Change error message when selector function is nil
2018-07-09 18:10:21 -07:00
adamperlin
b46a14ba77
Remove broken nil check method; add simple interface nil check
2018-07-09 18:10:21 -07:00
adamperlin
a546bbfcb1
Add error message when row selector interface has nil value to avoid panic
2018-07-09 18:10:21 -07:00
adamperlin
dddfe38ee9
Move additional tests to new query test location
2018-07-09 14:17:02 -07:00
adamperlin
b3aff30f4d
Move main end to end flux query test to query/functions package dir
2018-07-09 14:13:53 -07:00
adamperlin
df44aa0ad5
Move querytest/test_cases to functions/testdata and update query_test with new path
2018-07-09 14:13:53 -07:00
Jonathan A. Sternberg
ca66f0df74
Merge pull request #376 from influxdata/js-query-try-plan
...
fix(query/control): race condition when attempting to plan a query in the controller
2018-07-09 16:00:01 -05:00
Adam
67bb5af1fb
regex support added to transpiler ( #356 )
...
* feat(query/influxql): add regex support to transpiler
also added test case to querytest
* Add raw_with_condition test to transpiler unit tests
* add unit tests for regex conditions on raw query
2018-07-09 16:54:00 -04:00
Jonathan A. Sternberg
b9a4f1be74
fix(query/control): race condition when attempting to plan a query in the controller
2018-07-09 15:40:07 -05:00
jlapacik
15e3b7edf0
remove query domain
2018-07-09 13:27:30 -07:00
Jonathan A. Sternberg
9615528e31
fix(query/control): discard finished queries from the priority queue
2018-07-09 13:27:14 -05:00
Adam Perlin
f92b105275
Merge pull request #360 from influxdata/ifql-time-selectors
...
Add test to make sure relevant _time values are returned when using top() selector
2018-07-06 16:31:25 -07:00
Adam Perlin
3b122e327d
Merge pull request #354 from influxdata/ifql-window-interval
...
Add initial window bound offset test cases for flux
2018-07-06 12:57:17 -07:00
adamperlin
0881ca9bee
Add group() to selector_preserve_time flux tests
2018-07-06 12:36:15 -07:00
adamperlin
8e920cd793
Add test for default window boundary alignment in flux
2018-07-06 12:14:58 -07:00
adamperlin
622dd66356
Update test data point time ranges to include each _time value
2018-07-06 12:14:14 -07:00
Jonathan A. Sternberg
c54a1e8fd9
feat(query/influxql): implement all of the basic aggregates and selectors
2018-07-06 13:45:35 -05:00
adamperlin
37ed9a8afa
Add test to make sure relevant _time values are returned when using top() selector
2018-07-06 11:40:54 -07:00
Jonathan A. Sternberg
f694fa9637
refactor(query/influxql): move transpiler spec tests to its own package
...
The package contains all of the transpiler specs and allows them to be
put into different files instead of keeping all of the tests in the same
file. They are all Go code so they are type checked rather than being
loaded as JSON from disk.
Additionally, to make it easier for a developer, the tests will report
the exact file and line where the test was created. So rather than
hunting for which file a test is located in, you will get something nice
like the following:
--- FAIL: TestTranspiler/SELECT_count(value)_FROM_db0..cpu_WHERE_host_=_'server01' (0.00s)
testing.go:51: aggregates_with_condition.go:16: unexpected error: unimplemented function: "count"
As can be seen, the test that failed can be found in the
`aggregates_with_condition.go` file at line 16 which is where the test
was created by the `AggregateTest` function and the relevant spec can be
found in that same file.
2018-07-06 12:12:08 -05:00
adamperlin
695867ef1f
Add initial window bound offset test cases for flux
2018-07-06 09:36:20 -07:00
Jonathan A. Sternberg
27cd61e22d
refactor(query/influxql): modify the transpiler compilation tests to remove skip
...
The transpiler compilation tests will now not allow skip to be
specified. Instead, it must return an error message that starts with
`unimplemented` and then the reason will be used as the skip message.
This way, it will be easier to identify the failing tests in the
transpiler. In the previous method, it was possible for a test to be
marked as skip, but for the transpiler to return the wrong error message
because the test did not differentiate between an unimplemented error
message and an incorrect error message.
2018-07-06 09:21:41 -05:00
Jonathan A. Sternberg
bfa7f2e719
feat(query/influxql): support for windowing
...
The transpiler now supports basic windowing. The window offsets are not
supported yet at all.
For windowing, we use the window function to split the points, perform
the aggregate/selector operation, and then we put them back into the
same window so they are within the same table as they originally were
located in. This is now reflected in the spec and the code.
2018-07-06 09:21:41 -05:00
Jonathan A. Sternberg
1ebccc8b6c
Merge pull request #127 from influxdata/js-transpiler-windowing
...
feat(query/influxql): support for windowing
2018-07-05 18:13:17 -05:00
adamperlin
e486fe002e
Remove unnecessary null behavior test in flux
2018-07-05 14:47:17 -07:00
adamperlin
e2c21135e5
Update null behavior tests for flux
2018-07-05 13:54:23 -07:00
adamperlin
4ee241c949
Add tests for null keyword behavior
2018-07-05 13:36:56 -07:00
Jonathan A. Sternberg
691fa9ba97
feat(query/influxql): support for windowing
...
The transpiler now supports basic windowing. The window offsets are not
supported yet at all.
For windowing, we use the window function to split the points, perform
the aggregate/selector operation, and then we put them back into the
same window so they are within the same table as they originally were
located in. This is now reflected in the spec and the code.
2018-07-05 15:34:26 -05:00
Adam Perlin
e20dada94a
Merge pull request #348 from influxdata/ifql-issue-tests
...
Add test cases for sorting strings in flux
2018-07-05 13:14:31 -07:00
adamperlin
44802e41ca
Add link to corresponding issue in failing flux test skip reason
2018-07-05 12:47:30 -07:00
adamperlin
9c1412198e
Add skip for panicking test
2018-07-05 11:53:32 -07:00
adamperlin
5f94cc2ce2
Update string selection tests
2018-07-05 11:35:00 -07:00
Jonathan A. Sternberg
ab5f7fc615
feat(query/functions): allow window to ignore the global boundaries of the query
2018-07-05 13:32:23 -05:00
adamperlin
9c0d1ab2a5
Vary string prefixes in sort by length test
2018-07-03 17:01:23 -07:00
adamperlin
380f7b132c
Add test cases for sorting based on length and character value in flux
2018-07-03 16:46:24 -07:00
Jonathan A. Sternberg
adec513306
feat(query/influxql): add additional error details for a few unimplemented errors
2018-07-03 15:37:53 -05:00
jlapacik
b896ed1c5b
add HasSideEffect method to Function interface
...
evaluate CallExpression to determine if function has side effects
return all side effects
add Equal method to Value interface
2018-07-03 12:44:09 -07:00
Nathaniel Cook
b4e68fad98
fix(transpiler): Include function name in error
2018-07-03 13:01:25 -06:00
Jonathan A. Sternberg
eee8ad2d21
tests(query/influxql): port over the compiler tests for influxql
...
The compiler tests from the github.com/influxdata/influxdb/query have
been moved over to the influxql transpiler in platform. The framework
has updated to include a skip option so that all of the tests can be
there, but not all of them have to succeed at the moment. If a test
starts succeeding but is marked as one that should be skipped, it will
also cause an error to prevent us from doing work on the transpiler
without marking the test as something not to skip anymore (so progress
is always made).
2018-07-03 10:58:27 -05:00
Jonathan A. Sternberg
98597551d3
feat(query/influxql): support for group by
...
The transpiler now supports grouping by tags.
2018-07-03 10:18:03 -05:00
Jonathan A. Sternberg
3aed4b2a3d
feat(query/influxql): modify the encoder to allow more flexibility from the transpiler
...
This extra flexibility makes it easier for the transpiler to generate a
specification since the map step can be focused on only generating the
columns related to fields. In particular, it makes it easier to
implement wildcards for tags because the tags will get passed along with
the partition key.
2018-07-02 13:38:12 -05:00
Jonathan A. Sternberg
bcd0545728
fix(query/influxql): have the transpiler use the _time column for the time
...
The spec says to use the `_time` column for the time in the output, but
we were mapping `r._time` to `time` and using the `time` variable. This
modifies the encoder to use the `_time` column and rename it to `time`
for the column name.
2018-07-02 12:48:15 -05:00
Jonathan A. Sternberg
f42fc81c71
Merge pull request #184 from influxdata/js-storage-grpc-service
...
feat(query/functions/storage): switch to using the grpc client
2018-06-29 12:32:02 -05:00
Jonathan A. Sternberg
2ba945c5d3
Merge pull request #182 from influxdata/js-transpiler-panic
...
fix(query/influxql): transpiler should not panic when a function is used with a non-variable
2018-06-28 17:08:39 -05:00
Nathaniel Cook
c83aa9d64e
Merged pull request #169 from influxdata/nc-makefile-goos
...
chore(Makefile): Update Makefiles to use GOOS
2018-06-28 13:33:24 -06:00
Jonathan A. Sternberg
144d9f25fd
feat(query/functions/storage): switch to using the grpc client
2018-06-28 14:03:39 -05:00
Jonathan A. Sternberg
2cc2f2fe41
fix(query/influxql): transpiler should not panic when a function is used with a non-variable
2018-06-28 13:31:31 -05:00
Mark Rushakoff
f7d539e270
chore(query): remove id package
...
Finishes up work started in #145 , now that our internal dependencies no
longer refer to plaform/query/id.
2018-06-28 10:09:49 -07:00
Jonathan A. Sternberg
d62b9d3b28
Merge pull request #119 from influxdata/js-transpiler-options
...
feat(query/influxql): expose default database and retention policy for transpiler
2018-06-27 12:29:55 -05:00
Nathaniel Cook
f128074458
feat(query): Change Encode interface to return bytes written
2018-06-27 10:31:04 -06:00
Jonathan A. Sternberg
2388d95949
feat(query/influxql): expose default database and retention policy for transpiler
...
The influxql transpiler can now be configured with a default database
and retention policy.
2018-06-27 10:23:37 -05:00
Nathaniel Cook
4e05ef3709
chore(Makefile): Update Makefiles to use GOOS
2018-06-26 11:03:49 -06:00
Nathaniel Cook
41b822380b
chore: Make control.Controller implement AsyncQueryService
2018-06-25 15:24:40 -06:00
jlapacik
8a13c24a8b
add option statement to semantic graph
...
This commit adds the option statement as a recognized node in
the semantic graph of a Flux query.
Flux interpreter must visit an option statement node
interpreter parses option statement
Semantically, variable declarations should be statements
Also update option statement test to validate proper scope
only test option statement
2018-06-22 09:28:11 -07:00
Joshua Lapacik
4ae0fb69a5
add syntax for query metadata to Flux grammar
2018-06-21 08:22:40 -07:00
Jonathan A. Sternberg
94db4dc285
fix(query/influxql): fix a broken test that didn't get updated with the bucket change
2018-06-21 09:31:25 -05:00
Mark Rushakoff
c74bcd11b4
chore(query): remove usage of query/id package
...
It was effectively a copied and pasted platform.ID, so change it to a
type alias. Once our known references to the query/id package are
updated to platform.ID, we'll delete the package.
2018-06-20 12:55:20 -07:00
Jonathan A. Sternberg
fad9b30705
Merge pull request #120 from influxdata/js-transpiler-buckets
...
feat(query/influxql): transpile using buckets instead of the database
2018-06-20 14:47:18 -05:00
Mark Rushakoff
638574b131
feat(query): add organization lookup to storage dependencies
...
This is needed for the `to` function to write to buckets in another
organization.
2018-06-15 07:30:12 -07:00
Nathaniel Cook
8fcdfff945
fix(query): Fix panic when there are multiple storage hosts
2018-06-15 14:45:34 +01:00
Mark Rushakoff
34e4a2f8ac
fix(query/control): use Lock to avoid data race
...
The previous code used RLock even though it was modifying a field. I
observed a data race locally due to concurrent access on that field.
2018-06-13 08:22:00 -07:00
Jonathan A. Sternberg
a1ccecd873
fix(query/influxql): messed up a transpiler unit test
...
One of the transpiler unit tests got messed up during a recent PR. This
restores the unit test for conditionals.
2018-06-13 09:47:03 -05:00
Jonathan A. Sternberg
e900480bda
Merge pull request #115 from influxdata/js-multiple-statements
...
feat(query/influxql): support multiple select statements
2018-06-13 09:30:56 -05:00
Nathaniel Cook
d1ca38c71f
chore(ifql): Rename IFQL to Flux
2018-06-11 09:26:10 -06:00
Jonathan A. Sternberg
86defc1e37
feat(query/influxql): transpile using buckets instead of the database
...
The transpiler should use a bucket for the `from()` call instead of the
database parameter which will likely be deprecated. The bucket that it
will read data from is `db/rp` and, if the retention policy isn't
specified, `autogen` will be used as the default.
2018-06-11 10:13:11 -05:00
Jonathan A. Sternberg
b1ab4e87f6
feat(query/influxql): support multiple select statements
2018-06-08 16:10:50 -05:00
Jonathan A. Sternberg
af7c391ec3
Merge pull request #117 from influxdata/js-deterministic-join
...
fix(query/influxql): ensure the join happens deterministically
2018-06-08 16:01:07 -05:00
Jonathan A. Sternberg
02915cbfde
fix(query/influxql): ensure the join happens deterministically
...
This ensures the tests are not flaky because the output is
deterministic.
2018-06-08 15:56:59 -05:00
Jonathan A. Sternberg
119021dc67
feat(query/influxql): implement filter conditions for tags in the transpiler
2018-06-08 14:18:41 -05:00
Jonathan A. Sternberg
4d31ed4ac9
Merge pull request #106 from influxdata/js-refactor-transpiler
...
refactor(query/influxql): follow the transpiler readme
2018-06-08 13:32:42 -05:00
Jonathan A. Sternberg
1b31a1150c
refactor(query/influxql): follow the transpiler readme
...
There are a few changes to how the transpiler works. The first is that
the streams are now abstracted behind a `cursor` interface. The
interface keeps track of which AST nodes (like variables or function
calls) are represented by the data inside of the stream and the method
of how to access the underlying data. This makes it easier to make a
generic interface for things like the join and map operations. This also
makes it easier to, in the future, use the same code from the map
operation for a filter so we can implement conditions.
This also follows the transpiler readme's methods and takes advantage of
the updates to the ifql language. This means it will group the relevant
cursors into a cursor group, perform any necessary joins, and allow us
to continue building on this as we flesh out more parts of the
transpiler and the language.
The cursor interface makes it so we no longer have to keep a symbol
table mapping the generated names to the locations because that is all
kept within the incoming cursor rather than as a separate data
structure.
It also splits the transpiler into more files so it is easier to find
the relevant code for each stage of the transpiler.
2018-06-08 13:07:10 -05:00
Adam
a795d666fc
feat(query/influxql) transpiler encoding end to end tests working ( #103 )
...
Finalized support for testing against JSON, added some tests. Added colMap to result encoder to make initial tests pass
2018-06-06 12:43:56 -04:00
Jorge Landivar
8a5d649d3f
Merge pull request #59 from influxdata/tokafka
...
a toKafka function
2018-06-05 21:32:32 -05:00
Jonathan A. Sternberg
bd1d77c080
Merge pull request #100 from influxdata/js-update-transpiler-plan
...
docs(query/influxql): update the transpiler readme
2018-06-05 10:42:02 -05:00
Jonathan A. Sternberg
8b088cdf2d
docs(query/influxql): update the transpiler readme
...
Update the transpiler docs to account for a change in the query
language. A slightly different method is now used with some
clarifications previously existing problems.
The readme is also indexed with a table of contents for easier reading.
2018-06-05 10:30:36 -05:00
Adam
070649527c
feat(query/querytest): first batch of tests ready for review ( #56 )
...
* feat(query/querytest): first batch of tests ready for review
added helper executables for generating output, comparing specs. Also updated several tests and added code to skip red tests with a clear reason in the message
2018-05-31 16:45:44 -04:00
Nathaniel Cook
6b2cf4e666
Merged pull request #96 from influxdata/nc-query-builtin
...
chore(query/builtin): Add package to formalize query builtin initialization
2018-05-31 12:07:49 -06:00
Nathaniel Cook
5e30d7cdd6
chore(query/builtin): Add package to formalize query builtin initialization
...
Now all packages wishing to consume query package can and must import
query/builtin in order to properly initialize all builtin values.
2018-05-31 12:03:49 -06:00
Jonathan A. Sternberg
9aa68c00a6
Merge pull request #92 from influxdata/js-readd-group-to-transpiler
...
fix(query/influxql): add group spec back to the transpiler
2018-05-31 12:22:19 -05:00
Adam
3faef7dfa9
fix CSV parameter validation so it only checks for file existence when required ( #89 )
...
* fix(query/functions/): fromCSV bugfix in parameter validation
* fix(query/functions): add from_csv_test.go
2018-05-31 12:59:45 -04:00
Jonathan A. Sternberg
ea1809c0bf
fix(query/influxql): add group spec back to the transpiler
...
The latest version of influxdb has fixed whatever was wrong with the
group function so this works properly again.
2018-05-31 11:43:58 -05:00
Jonathan A. Sternberg
a44374a0c5
feat(query/influxql): encode influxql json results correctly
...
This fixes the encoder so that it will encode the response correctly to
a JSON blob using the outputs of the transpiler. The transpiler has also
been modified to pass through the correct values so the map function is
correctly constructed and the aggregate function is also correctly
constructed.
This removes the group function temporarily because it does not seem to
be working.
2018-05-31 11:07:27 -05:00
Nathaniel Cook
5ed7693d7f
Merged pull request #82 from influxdata/nc-csv-decode-eof
...
fix(query/csv): Fix EOF causing error
2018-05-30 14:01:00 -06:00
Nathaniel Cook
360c6a3ea3
fix(query/csv): Fix EOF causing error
...
An EOF should not be reported as an error but as an indication that no
more data is available.
2018-05-30 13:55:24 -06:00
Andrew Watkins
9afc795845
Merge pull request #80 from influxdata/chrongraf/default-completer
...
Add deleted code required for Chronograf API
2018-05-30 12:08:36 -07:00
Andrew Watkins
fa40f46be7
Remove deleted code required for Chronograf api
2018-05-30 12:05:44 -07:00
Nathaniel Cook
00da26963c
Merged pull request #74 from influxdata/nc-limit-offset
...
feat(query/functions/limit): Add offset to limit functions
2018-05-30 12:44:36 -06:00
Nathaniel Cook
3a6c1024b0
Merged pull request #66 from influxdata/nc-table-sort
...
fix(query): Tables are sorted by Partition Key
2018-05-30 12:42:56 -06:00
Nathaniel Cook
27b472a681
Merged pull request #70 from influxdata/nc-window
...
fix(query/functions/window): Fix window asignment bug
2018-05-30 10:25:03 -06:00
Nathaniel Cook
cbd219941a
feat(query/functions/limit): Add offset to limit functions
2018-05-30 10:19:39 -06:00
Nathaniel Cook
c583a23f6c
fix(query): Tables are sorted by Partition Key
2018-05-29 16:41:46 -06:00
Nathaniel Cook
ffa065abc2
fix(query/functions/window): Fix window asignment bug
2018-05-29 14:54:16 -06:00
Stuart Carnie
bd7c237aa5
Merge pull request #69 from influxdata/sgc-metaqueries
...
chore(storage): Update RPC protobuf definitions
2018-05-29 11:00:38 -07:00
Stuart Carnie
d7db5f3218
chore(storage): Update RPC protobuf
2018-05-29 10:50:51 -07:00
Jonathan A. Sternberg
8dad62bbbf
Merge pull request #55 from influxdata/js-multi-result-encoder-close
...
fix(http): keep the http response body open until the result has been read
2018-05-29 10:10:11 -05:00
j. Emrys Landivar (docmerlin)
97652242e8
Remove commented-out code
2018-05-29 09:53:56 -05:00
j. Emrys Landivar (docmerlin)
fce46a3cbd
a toKafka function
2018-05-28 02:33:40 -05:00
Nathaniel Cook
15a801e9a2
fix(query): Fix default group mode
2018-05-25 15:16:11 -06:00
Jonathan A. Sternberg
911f053dd6
fix(http): keep the http response body open until the result has been read
...
This modifies the `MultiResultDecoder` interface to accept an
`io.ReadCloser` so the `ResultIterator` can close the `io.Reader`
instead of doing it through a defer call. It then makes it so the
`Cancel()` method will close the reader or the reader will be
automatically closed when `More()` returns false.
2018-05-25 15:03:52 -05:00
Nathaniel Cook
cf7d3c1864
fix(query/querytest): Use t.Run to give tests clear names
2018-05-25 13:18:02 -06:00
Adam
c5e0477b74
feat(query/querytest): test framework improvements to help generate output ( #51 )
...
updated helper program so users can now start with a .in.csv file, and a .ifql file, and
generate output. program asks user to verify output before writing. Also refactored the
location of test files from query_test to querytest and put helper functions in new file
querytest/execute.go.
2018-05-25 14:38:50 -04:00
Jonathan A. Sternberg
c1ff42857c
Merge pull request #50 from influxdata/js-csv-decoder-fix
...
fix(query/csv): the csv decoder should return false from More() if an error happens
2018-05-25 12:45:09 -05:00
Jonathan A. Sternberg
1cf63b1070
fix(query/csv): the csv decoder should return false from More() if an error happens
2018-05-25 12:42:39 -05:00
Nathaniel Cook
44ea17cab3
feat(query/functions/map): Add mergeKey argument to map
...
In order to facilitate this change the query.PartitionKey
interface was changed to use the values.Value interface.
Additionally map was previously broken when it needed to repartition.
Tests have been added.
2018-05-25 11:08:31 -06:00
Nathaniel Cook
99f4e4a8b4
fix(query/csv): Encode result iterator errors
...
This change also adds Name() to the Result interface to allow for
correct MultiResultEncoding.
2018-05-24 16:38:50 -06:00
Jonathan A. Sternberg
ea6e96bd09
Merge pull request #32 from influxdata/js-transpiler-error-handling
...
feat(http): perform error handling in the transpiler and the query service
2018-05-24 17:18:01 -05:00
Jonathan A. Sternberg
e18879370b
feat(http): perform error handling in the transpiler and the query service
...
The query service now handles some errors (not all) from the ifqld
service. This way, the transpiler, which uses the query service, can
report when it encounters an error from ifqld.
The transpiler will now correctly return errors in the JSON response.
2018-05-24 17:14:16 -05:00
Stuart Carnie
11004024cb
Merge pull request #43 from influxdata/sgc-metaqueries
...
fix(query): Utilize improvements storage RPC API
2018-05-24 15:11:00 -07:00
Jonathan A. Sternberg
174ce83f5d
feat(query/influxql): use yield name to specify the statement id
...
The transpiler will now yield each statement using the statement id so
the result encoder can properly order the results and encode the
statement id. This behavior is now in the transpiler spec.
2018-05-24 16:33:51 -05:00
Stuart Carnie
6e12d6634d
fix(query): Utilize improvements storage RPC API
...
* clarifies grouping behavior in data types, matching RPC
2018-05-24 12:14:47 -07:00
Nathaniel Cook
60618ad521
Merged pull request #34 from influxdata/nc-ifql-format-col-order
...
fix(query/execute): Update formatted sort order of cols
2018-05-24 12:19:44 -06:00
Nathaniel Cook
8c6726cad2
fix(query): Add Empty to blocks
...
Using Empty the csv encoder can now correctly encode empty blocks.
2018-05-24 10:16:36 -06:00
Adam
5705f33f55
feat(cmd/ifqld): enforce fixed ordering on results iterator ( #39 )
...
sort hash keys in the partition_lookup.Range() function so that returned results are in a deterministic, though arbitrary, order.
2018-05-24 10:59:37 -04:00
Nathaniel Cook
afa2aef16f
fix(query/execute): Update formatted sort order of cols
...
Now columns are ordered the same as the partition key.
2018-05-23 11:12:59 -06:00
j. Emrys Landivar (docmerlin)
b08e61bb55
addr -> url
2018-05-23 03:27:08 -05:00
j. Emrys Landivar (docmerlin)
e11c351853
make sure we are done processsing block before process exits
2018-05-23 00:41:24 -05:00
j. Emrys Landivar (docmerlin)
32118f36c7
toHTTP function moved from github.com/influxdata/ifql PR 362
2018-05-23 00:28:44 -05:00
Adam
1495b7291a
feat(cmd/ifqld): fromCSV reads files now
...
extended fromCSV to have an optional file: parameter so that larger blocks of text can be given by filename instead of a blob of text
2018-05-22 16:56:27 -04:00
Nathaniel Cook
c8ff490338
chore: Add Makefile
2018-05-22 14:45:23 -06:00
Nathaniel Cook
0e2c213517
fix(query): Add _stop, _start to partition key
2018-05-22 12:59:07 -06:00
Nathaniel Cook
affc7e3976
move types around to avoid cyclic imports
2018-05-21 17:02:42 -06:00
Nathaniel Cook
20345b8701
rewrite imports
2018-05-21 15:20:06 -06:00
Nathaniel Cook
51b8aebebf
initial copy of ifql repo
2018-05-21 15:18:56 -06:00
Nathaniel Cook
c0b01f16f8
update transpiler and influxql encoders
2018-05-19 15:28:37 -06:00
Nathaniel Cook
1833601dbb
fix(query/csv): update CSV encoders/decoders for final SPEC
2018-05-18 16:54:25 -06:00
Adam
64e3c840ea
Relocated several source files from private repo to here.
2018-05-17 11:35:53 -04:00