* feat: WIP drag to resize results
* refactor: WIP make dragging smoother
* refactor: make resizing cells nice and smooth
* refactor: move height/visibility update handlers into results component
* refactor: use vanilla Math instead of lodash
* refactor: consolidate visibility and resizing code in Resizer component
* refactor: rename resizer components to be more generic
* fix: use updated component name
* refactor: use PipeData type instead of any
* chore: misc cleanup
Installing `osxcross` to `/opt` requires superuser permissions. This is
built as root in flux, but requires `sudo` for circleCI. Additionally,
there was a problem with `o64-clang` not being on the `PATH` that we
would have discovered the next time we tried to release.
The tables produced by `storage/flux` didn't previously pass our table
tests. The `Empty()` call is supposed to return false if the table was
ever not empty, but reading the table or calling `Done()` would cause
the table implementations here to return that they were always empty.
This messes up the csv encoder which then believes that it just emitted
an empty table.
The table tests for valid table implementations states that this is an
error for the table implementation. This change introduces a simple test
for `ReadFilter` and also runs the table tests on the filter iterator.
This enables a new rule that will push down the full `aggregateWindow`
query including the `duplicate` and `window(every: inf)` that recombines
the tables. When the full rule is used, the table is not split into
tables for each window and instead retains itself as a single table. The
start or stop column is renamed to `_time` and `_start` and `_stop` will
be the boundaries of the query.
My original PR influxdata/influxdb#18207 attempted to address the
aggressiveness of our .gitignore matches for known binary names.
Unfortunately, new directories with these names are now being ignored
when they shouldn't (thanks @jsternberg). Upon further investigation, it
looks like the only problematic patterns in the original code were the
plain (non-globbed) patterns like `influxd` and `influxdb`.
Returning the globbed patterns to their original order fixes the problem
while still holding onto the characteristic of being able to see
directories like `cmd/influxd/launcher` via tools that use .gitignore
for exclusion patterns. Below is an overview of how I've verified the
changes.
Regular files matching know binary names should be ignored anywhere in
the tree:
$ echo "hello" > influxd
$ echo "hello" > dbrp/influxd
$ git status
## bb/reorder-exclusion
Directories matching known binary names should not be ignored anywhere
in the tree:
$ mkdir influxd
$ echo "hello" > influxd/hello.txt
$ mkdir dbrp/influxd
$ echo "hello" > dbrp/influxd/hello.txt
$ git status
## bb/reorder-exclusion
?? dbrp/influxd/
?? influxd/
$ git status --untracked-files
## bb/reorder-exclusion
?? dbrp/influxd/hello.txt
?? influxd/hello.txt
New files in existing directories matching known binary names should not
be ignored:
$ echo "hello" > cmd/influx/hello.txt
$ git status
## bb/reorder-exclusion
?? cmd/influx/hello.txt
I've also made changes to already indexed files like
`cmd/influxd/launcher/engine.go` and those changes aren't ignored.
This adds a launcher test for the read window aggregate push down to
verify that it is done when a query is sent with the appropriate
pattern, the output is correct, and that the metric is incremented that
signals the push down happened.