This commit updates the dependencies for influxdb to require v4.0.0-preview1 of
the jwt-go package. This required updating the go.mod and go.sum files as well
as any source file that directly imported that package.
Prior to this commit, the TestHandler_Query_Auth() tests would fail as it
checked for specific error strigns returned by the jwt-go package.
Version 4.0.0-preview1 of the package changed the verbiage of those errors a
bit. This patch updates the test to detect the new error string.
This fixes multi measurement queries that go through the storage service
to correctly pick up all series that apply with the filter. Previously,
negative queries such as `!=`, `!~`, and predicates attempting to match
empty tags did not work correctly with the storage service when multiple
measurements or `OR` conditions were included.
This was because these predicates would be categorized as "multiple
measurements" and then it would attempt to use the field keys iterator
to find the fields for each measurement. The meta queries for these did
not correctly account for negative equality operators or empty tags when
finding appropriate measurements and those could not be changed because
it would cause a breaking change to influxql too.
This modifies the storage service to use new methods that correctly
account for the above situations rather than the field keys iterator.
Some queries that appeared to be single measurement queries also get
considered as multiple measurement queries. Any query with an `OR`
condition will be considered a multiple measurement query.
This bug did not apply to single measurement queries where one
measurement was selected and all of the logical operators were `AND`
values. This is because it used a different code path that correctly
handled these situations.
Backport of #19566.
This updates influxql to a newer version that supports complex bound
parameters. This allows bound parameters to be used as identifiers,
regexes, and durations along with the already existing strings, numbers,
and booleans.
This updates the influxdb client to support passing bound parameters as
part of the parameters json and updates the readme to show how to use
this feature.
* Add .mod and .sum files generated by go mod init
* Use a directory outside of $GOPATH for testing.
* Update docker files to use go 1.13.8 instead of 1.12 for most builds.
* Simplify go installation by piping from wget to tar. This avoids
having to do any cleanup.
* Build and test in a directory outside of GOPATH since we're using
modules now.
* Update Jenkinsfile to build using modules by building directly inside
of $WORKSPACE instead of in $GOPATH.
* Use go mod download instead of dep ensure to collect dependencies
* Remove Gopkg related data files.
* Replace calls to "dep ensure" with "go mod download"
* Replace check for being outside of $GOPATH to a check for being INSIDE
of $GOPATH which is wrong when we're using modules
* Map $DIR to /root/influxdb in docker run command
* Clone source into /root/influxdb which is outside of our $GOPATH.
* run go mod tidy