0279461738
* feat: impl datafusion traits on last cache Created a new module for the DataFusion table function implementations. The TableProvider impl for LastCache was moved there, and new code that implements the TableFunctionImpl trait to make the last cache queryable was also written. The LastCacheProvider and LastCache were augmented to make this work: - The provider stores an Arc<LastCache> instead of a LastCache - The LastCache uses interior mutability via an RwLock, to make the above possible. * feat: register last_cache UDTF on query context * refactor: make server accept listener instead of socket addr The server used to accept a socket address and bind it directly, returning error if the bind fails. This commit changes that so the ServerBuilder accepts a TcpListener. The behaviour is essentially the same, but this allows us to bind the address from tests when instantiating the server, so we can easily assign unused ports. Tests in the influxdb3_server were updated to exploit this in order to use port 0 auto assignment and stop flaky test failures. A new, failing, test was also added to that module for the last cache. * refactor: naive implementation of last cache key columns Committing here as the last cache is in a working state, but it is naively implemented as it just stores all key columns again (still with the hierarchy) * refactor: make the last cache work with the query executor * chore: fix my own feedback and appease clippy * refactor: remove lower lock in last cache * chore: cargo update * refactor: rename function * fix: broken doc comment |
||
---|---|---|
.cargo | ||
.circleci | ||
.github | ||
assets | ||
docker | ||
influxdb3 | ||
influxdb3_client | ||
influxdb3_load_generator | ||
influxdb3_process | ||
influxdb3_server | ||
influxdb3_write | ||
iox_query_influxql_rewrite | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.kodiak.toml | ||
CONTRIBUTING.md | ||
Cargo.lock | ||
Cargo.toml | ||
Dockerfile | ||
Dockerfile.dockerignore | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md | ||
SECURITY.md | ||
deny.toml | ||
rust-toolchain.toml | ||
rustfmt.toml |
README.md
InfluxDB is the leading open source time series database for metrics, events, and real-time analytics.
Project Status
This main branch contains InfluxDB v3 in pre-release and under active development. Build artifacts are not yet generally available and official installation instructions will be coming later this year. For now, a Dockerfile is provided and can be adapted or used for inspiration by intrepid users.
Learn InfluxDB
Documentation | Community Forum | Community Slack | Blog | InfluxDB University | YouTube
Try InfluxDB Cloud for free and get started fast with no local setup required. Click here to start building your application on InfluxDB Cloud.
Installation
We have nightly and versioned Docker images, Debian packages, RPM packages, and tarballs of InfluxDB available on the InfluxData downloads page. We also provide the InfluxDB command line interface (CLI) client as a separate binary available at the same location.
- For v1 installation, use the main 1.x branch or install InfluxDB OSS directly.
- For v2 installation, use the main 2.x branch.
- v3 development is on this main branch. This project is actively under development and is not considered stable.
If you are interested in building from source, see the building from source guide for contributors.
To begin using InfluxDB, visit our Getting Started with InfluxDB documentation.
License
The open source software we build is licensed under the permissive MIT and Apache 2 licenses. We’ve long held the view that our open source code should be truly open and our commercial code should be separate and closed.
Interested in joining the team building InfluxDB?
Check out current job openings at www.influxdata.com/careers today!