Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -271,10 +271,8 @@ jobs:
command: cargo install cargo-deny --locked
- run:
name: cargo-deny Checks
# `--warn unsound` downgrades RustSec `informational = "unsound"`
# advisories to warnings, they flag API soundness concerns, not
# exploitable vulnerabilities, so we don't want them to fail CI.
command: cargo deny check -s --warn unsound

doc:
docker:
- image: quay.io/influxdb/rust:ci
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,10 @@
# URL of plugin repository (env: INFLUXDB3_PLUGIN_REPO)
#plugin-repo="<URL>"

# Restrict plugin triggers to the provided trigger type(s). Comma-separated
# list of: wal, schedule, request (env: INFLUXDB3_RESTRICT_PLUGIN_TRIGGERS_TO)
#restrict-plugin-triggers-to="<TYPES>"

# =============================================================================
# Data Lifecycle & Retention
# =============================================================================
Expand Down
37 changes: 20 additions & 17 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ regex = "1.11.1"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "stream", "json"] }
rstest = "0.26"
rustls = { version = "0.23", default-features = false, features = ["logging", "ring", "std", "tls12"] }
rustls-webpki = { version = "0.103.12", default-features = false, features = ["ring", "std"] }
rustls-webpki = { version = "0.103.13", default-features = false, features = ["ring", "std"] }
secrecy = "0.8.0"
serde = { version = "1.0", features = ["derive"] }
# serde_json is set to 1.0.127 to prevent a conflict with core, if that gets updated upstream, this
Expand Down
21 changes: 21 additions & 0 deletions core/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# `oss/core`

`oss/core` contains the lower-level shared crates shared across:

- InfluxDB 3 Core
- InfluxDB 3 Enterprise
- InfluxDB 3 IOx

These crates provide common building blocks such as query execution, schema and data
types, HTTP and gRPC utilities, observability helpers, and supporting Arrow and Parquet
infrastructure.


Examples of crates in this directory include:

- query and planner crates such as `iox_query`, `iox_query_influxql`, and `query_functions`
- shared data model crates such as `data_types`, `schema`, and `mutable_batch`
- service and protocol crates such as `generated_types`, `service_grpc_flight`, and `iox_http`
- common runtime and observability crates such as `executor`, `metric`, `trace`, and `trogging`

As a rule of thumb, code belongs in `core` when it is product-agnostic infrastructure.
19 changes: 19 additions & 0 deletions core/data_types/src/columns.rs
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,25 @@ impl std::fmt::Display for ColumnType {
}
}

impl std::str::FromStr for ColumnType {
type Err = String;

fn from_str(s: &str) -> Result<Self, Self::Err> {
match s {
"i64" => Ok(Self::I64),
"u64" => Ok(Self::U64),
"f64" => Ok(Self::F64),
"bool" => Ok(Self::Bool),
"string" => Ok(Self::String),
"time" => Ok(Self::Time),
"tag" => Ok(Self::Tag),
_ => Err(format!(
"invalid column type '{s}': valid types are i64, u64, f64, bool, string, time, tag"
)),
}
}
}

impl TryFrom<&ArrowDataType> for ColumnType {
type Error = &'static str;

Expand Down
Loading
Loading