Commit Graph

1083 Commits (22c6b78c6297aa8a6fa0a62e760f1f261a527ae0)

Author SHA1 Message Date
Daniel Moran 5d84c602c8
build: upgrade staticcheck, fix new linter warnings () 2021-07-27 20:37:23 -04:00
Dane Strandboge c62d4cdc24
refactor: move to `filepath.WalkDir` for slight performance gain in Go 1.16 () 2021-07-16 09:11:11 -05:00
Daniel Moran ae9eb3e847
fix: error instead of panic for statement rewrite failure ()
Co-authored-by: Sam Arnold <sarnold@influxdata.com>
2021-07-06 16:35:34 -04:00
Sam Arnold 2a4dc9e356
fix: remove incorrect optimization for group-by ()
* fix: remove incorrect optimization for group-by

Closes 

* test: add test for the broken group-by

* chore: formatting
2021-06-16 12:23:05 -04:00
Daniel Moran 2e2552f75f
test: move InfluxQL compatibility suites so they're covered by linting & `go test` ()
* Move InfluxQL tests so they're included in normal `go test`
* Fix `staticcheck` errors
* No parallel runs for influxql
2021-06-04 14:40:42 -04:00
Daniel Moran 00afd95cb7
refactor: automated move of errors and id from root to kit ()
Co-authored-by: Sam Arnold <sarnold@influxdata.com>
2021-03-30 14:10:02 -04:00
Daniel Moran b1283bc998
build: fix 'go generate' and regenerate the universe () 2021-03-30 10:32:14 -04:00
Tecker.Yu 643acd4ab1
feat(influxql): rewrite regex conditions in subqueries ()
Co-authored-by: Daniel Moran <danxmoran@gmail.com>
2021-03-15 13:04:38 -04:00
Daniel Moran 2920b55e19
fix(http): fix passing of bucket ID by write-handler client () 2021-02-02 17:34:40 -05:00
Sam Arnold 781fa0e846 chore: add goimports 2021-01-29 14:06:52 -05:00
Daniel Moran 10fcc2bf1d
fix(influxql): set correct Content-Type on v1 query responses () 2021-01-22 07:31:52 -08:00
Daniel Moran 1d3fa70928
fix(influxql): Prevent extra output row from GROUP BY crossing DST boundary ()
Co-authored-by: davidby-influx <dbyrne@influxdata.com>
2021-01-19 08:33:24 -08:00
Daniel Moran afdcb18655
refactor: simplify how we set the top-level influxd logger () 2020-12-21 11:15:08 -08:00
Stuart Carnie 7fec1f9275 fix: PR Feedback 2020-11-17 09:17:28 +11:00
Stuart Carnie 484f606a1e chore: Test to validate expected behavior of SHOW DATABASES 2020-11-17 09:17:28 +11:00
Stuart Carnie 50752f9a6a feat: Empty `Test` that elides writes or a default db / rp
This is useful for validating InfluxQL DDL queries that don't
typically require writes or may have more complex setup requirements.
2020-11-17 09:17:28 +11:00
Stuart Carnie 91acebeab0 chore: Lots of cleanup and response to PR feedback. 2020-11-17 08:14:17 +11:00
Stuart Carnie 9e42444d8a chore: Port InfluxQL test packages from Cloud
This commit copies over the comprehensive tests from Cloud.
2020-11-17 08:14:17 +11:00
Daniel Moran 15b9531273
fix: correct various typos ()
Co-authored-by: kumakichi <xyesan@gmail.com>
2020-11-11 13:54:21 -05:00
Ayan George ca2055c16c
refactor: Replace ctx.Done() with ctx.Err() ()
* refactor: Replace ctx.Done() with ctx.Err()

Prior to this commit we checked for context cancellation with a select
block and context.Context.Done() without multiplexing over any other
channel like:

  select {
    case <-ctx.Done():
      // handle cancellation
    default:
      // fallthrough
  }

This commit replaces those type of blocks with a simple check of
ctx.Err().  This has the following benefits:

* Calling ctx.Err() is much faster than entering a select block.

* ctx.Done() allocates a channel when called for the first time.

* Testing the result of ctx.Err() is a reliable way of determininging if
  a context.Context value has been canceled.

* fix: Fix data race in execDeleteTagValueEntry()
2020-09-16 12:20:09 -04:00
Brett Buddin b917d8d9b0
chore(influxdb): Placate the linter. 2020-08-27 15:46:32 -04:00
Stuart Carnie d20440a09f
fix: go fmt to satisfy go linter 2020-08-26 10:28:35 -07:00
Stuart Carnie 8a7dcc21fb
feat(influxql): Initial implementation of InfluxQL query engine
* Some tests are broken or do not pass; follow up PRs will resolve that
2020-08-14 12:37:30 -07:00
Stuart Carnie b73340a4b1
chore(influxql): Update to latest influxql master-1.x 2020-08-13 11:02:40 -07:00
Stuart Carnie 89532f0c29
refactor: move v2/v1/models to v2/models 2020-08-03 09:20:51 -07:00
Stuart Carnie 92efddbfbe
chore(tsdb): Initial commit of tsdb package
* pulls in 1.x tsdb, compiles and passes test
2020-08-03 09:17:23 -07:00
Stuart Carnie f3d45ba301 influxdata/influxdb/influxql -> influxdata/influxql 2017-10-30 14:40:26 -07:00
Stuart Carnie 7435725e05 move RewriteStatement and neldermead to influxdb/query package 2017-10-30 10:24:15 -07:00
Edd Robinson f7e0e41a94 Simplify representation of statements 2017-10-26 16:22:49 +01:00
Edd Robinson ce00830a29 Typo 2017-10-26 16:22:49 +01:00
Edd Robinson bda6de9817 Add all versions of CARDINALITY commands 2017-10-26 16:22:48 +01:00
Edd Robinson 1342046264 Rewrite sources appropriately 2017-10-26 16:22:31 +01:00
Edd Robinson ba9506764c SHOW FIELD KEY EXACT CARDINALITY 2017-10-26 16:22:31 +01:00
Edd Robinson c57e192984 SHOW TAG VALUES EXACT CARDINALITY 2017-10-26 16:22:31 +01:00
Edd Robinson 47c0840d5b SHOW TAG KEY EXACT CARDINALITY 2017-10-26 16:22:31 +01:00
Edd Robinson f80591bfa1 Implement MEASUREMENT cardinality estimation 2017-10-26 16:22:31 +01:00
Edd Robinson 3079b41f00 Implement series cardinality estimation 2017-10-26 16:22:31 +01:00
Edd Robinson 89a0ddf689 Add EXACT CARDINALITY variation 2017-10-26 16:22:31 +01:00
Andrew Hare 4d6672fa66 Merge with master 2017-09-29 11:07:40 -06:00
Jonathan A. Sternberg d474a0ed9c Handle UnsignedLiteral in the Reduce operations 2017-09-27 15:10:30 -05:00
Jonathan A. Sternberg f0fb0174b6 Implement uint64 logic into eval
Any operation between an int64 and uint64 results in the type becoming a
uint64. This is because the most common will usually be an unsigned
cursor being modified by an int literal. Even in cases where we were to
add an unsigned literal to an integer iterator, that would just result
in it being recast back and overflow.
2017-09-27 15:10:16 -05:00
Jonathan A. Sternberg 963cbfd275 Update eval type for unsigned 2017-09-27 11:31:52 -05:00
Jonathan A. Sternberg 0ef94e0cf0 Add unsigned iterators for all types
This allows unsigned data to be queried from the storage engine.

Binary math is not yet implemented for unsigned types.
2017-09-18 15:09:10 -05:00
Jonathan A. Sternberg 6bd2ae05d4 Merge pull request from influxdata/js-uint-literal-support
Support uint64 literals in the parser
2017-09-15 12:42:43 -05:00
Jonathan A. Sternberg 6e636264f2 Merge pull request from influxdata/js-unsigned-type-data-type
Unsigned data type parsing and prioritization
2017-09-15 12:42:05 -05:00
Joe LeGasse 14f3c1e3d1 auth: fix required permissions for SHOW MEASUREMENTS
When using `SHOW MEASUREMENTS ON <db>`, the required permissions didn't
take into account `<db>` and would only use the `db` parameters from the
HTTP parameters.
2017-09-14 14:22:37 -04:00
Jonathan A. Sternberg 2228b91b0d Unsigned data type parsing and prioritization 2017-09-14 12:28:13 -05:00
Jonathan A. Sternberg 6e60edc4bd Merge pull request from influxdata/js-restore-old-timerange-behavior
This restores the old time range behavior
2017-09-14 12:00:50 -05:00
Jonathan A. Sternberg a978b4fd3e Support uint64 literals in the parser
When an integer cannot be parsed, we attempt to parse it as a uint64. If
that succeeds, we then have an unsigned literal that can then be used to
compare unsigned values.

This method allows us not to introduce new syntax to the language and
continue just doing the right thing at the right time. But, it also
delegates a lot of the heavy lifting to implicit casting in Reduce and
Eval.
2017-09-14 11:16:40 -05:00
Jonathan A. Sternberg c8440b4778 This restores the old time range behavior
All time ranges are combined with AND regardless of context and
regardless of whether it makes any logical sense.

That was the previous behavior and, unfortunately, a lot of people rely
on it.
2017-09-14 09:10:37 -05:00