Commit Graph

340 Commits (2bb809dfc02096238f72539f848e60694fcde068)

Author SHA1 Message Date
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 c12e9675c0
Merge pull request #112 from influxdata/js-transpiler-conditions
feat(query/influxql): implement filter conditions for tags in the transpiler
2018-06-08 16:00:23 -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
kelwang fc8933bf08
Merge pull request #102 from influxdata/fix/auth_header
fix(http): fix auth header
2018-06-04 15:37:11 -07:00
Kelvin Wang 22a63de92a fix(http): fix auth header 2018-06-04 15:26:50 -07:00
Michael Desa c3c6381c9d
Merge pull request #91 from influxdata/feat/dashboards
Add dashboard service
2018-06-04 11:28:40 -04:00
Michael Desa d0a2f84c07 feat(platform): add dashboards service
feat(platform): add dashboard service interface and associated types

feat(bolt): add bolt implementation ofplatform dashboard service

feat(http): add dashboard http handler and http implementation dashboard service

feat(cmd/idpd): use bolt dashboard service in idpd

test(testing): add conformance test for dashboard service

test(bolt): ensure conforms dashboard service conforms to tests

fix(platform): rename DashboardContents to DashboardCellContents in test

fix(bolt): correct mispelled comments
2018-06-04 08:26:19 -07: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 b2af5f95f8
Merge pull request #88 from influxdata/js-transpiler-json-encode
feat(query/influxql): encode influxql json results correctly
2018-05-31 11:23:32 -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 0a6b1cbdb9 fix(cmd/ifqld): Expose verbose flag via CLI/ENV config 2018-05-30 17:22:52 -06:00
Jonathan A. Sternberg e18ca56fb5
Merge pull request #84 from influxdata/js-transpiler-fix-org-parameter
fix(cmd/transpilerd): fix transpilerd to use only --org-id
2018-05-30 16:54:56 -05:00
Jonathan A. Sternberg d340721b31 fix(cmd/transpilerd): fix transpilerd to use only --org-id
This removes the `--org` parameter because we can't properly decode the
name into an organization id without access to the idp daemon. We will
either have to open access to that or not have that feature.
2018-05-30 16:52:43 -05:00
Jonathan A. Sternberg 6231326f8d
Merge pull request #83 from influxdata/nc-transpiler-orgid-missing
fix(http/transpiler): OrgID was being dropped
2018-05-30 16:27:13 -05:00
Nathaniel Cook bc4d9aface Merged pull request #81 from influxdata/nc-transpilerd-make
chore(cmd/transpilerd): Add transpilerd to the Makefile
2018-05-30 15:03:47 -06: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 555ec3e5ae fix(http/transpiler): OrgID was being dropped 2018-05-30 13:57:56 -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 c2c9e10059 chore(cmd/transpilerd): Add transpilerd to the Makefile 2018-05-30 12:47:10 -06: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
Jade McGough 6e7a1296a2
feat(http): add swagger docs for tasks 2018-05-29 16:25:27 -07: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 a2eb4bb762
Merge pull request #64 from influxdata/js-transpiler-remove-org-parameter
fix(http): remove the orgID parameter from the transpiler handler
2018-05-29 11:06:22 -05:00
Jonathan A. Sternberg bde1a71bab fix(http): remove the orgID parameter from the transpiler handler
The /query endpoint didn't have an orgID parameter so we can't have one
in the transpiler endpoint. This removes the parameter and replaces it
with a command line parameter that sets which organization we are using
for querying ifql.
2018-05-29 11:01:46 -05: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) d495e46125 update lockfile 2018-05-28 02:40:35 -05:00
j. Emrys Landivar (docmerlin) fce46a3cbd a toKafka function 2018-05-28 02:33:40 -05:00