[workspace] # In alphabetical order members = [ "influxdb3", "influxdb3_catalog", "influxdb3_client", "influxdb3_id", "influxdb3_load_generator", "influxdb3_process", "influxdb3_server", "influxdb3_wal", "influxdb3_write", "iox_query_influxql_rewrite", "influxdb3_telemetry", ] default-members = ["influxdb3"] resolver = "2" exclude = [ "*.md", "*.txt", ".circleci/", ".editorconfig", ".git*", ".github/", ".kodiak.toml", "LICENSE*", ] [workspace.package] version = "0.1.0" authors = ["influxdata Edge Developers"] edition = "2021" license = "MIT OR Apache-2.0" [workspace.dependencies] anyhow = "1.0" arrow = { version = "52.1.0", features = ["prettyprint", "chrono-tz"] } arrow-array = "52.2.0" arrow-buffer = "52.2.0" arrow-csv = "52.2.0" arrow-flight = { version = "52.2.0", features = ["flight-sql-experimental"] } arrow-json = "52.2.0" arrow-schema = "52.2.0" assert_cmd = "2.0.14" async-trait = "0.1" backtrace = "0.3" base64 = "0.22.0" byteorder = "1.3.4" bytes = "1.5" chrono = "0.4" clap = { version = "4", features = ["derive", "env", "string"] } clru = "0.6.2" crc32fast = "1.2.0" crossbeam-channel = "0.5.11" csv = "1.3.0" datafusion = { git = "https://github.com/influxdata/arrow-datafusion.git", rev = "5de0c3577fd30dcf9213f428222a29efae789807" } datafusion-proto = { git = "https://github.com/influxdata/arrow-datafusion.git", rev = "5de0c3577fd30dcf9213f428222a29efae789807" } dashmap = "6.1.0" dotenvy = "0.15.7" flate2 = "1.0.27" futures = "0.3.28" futures-util = "0.3.30" hashbrown = { version = "0.14.5", features = ["serde"] } hex = "0.4.3" http = "0.2.9" humantime = "2.1.0" hyper = "0.14" insta = { version = "1.39", features = ["json", "redactions"] } indexmap = { version = "2.2.6" } libc = { version = "0.2" } mime = "0.3.17" mockito = { version = "1.4.0", default-features = false } num_cpus = "1.16.0" object_store = "0.10.2" parking_lot = "0.12.1" parquet = { version = "52.2.0", features = ["object_store"] } pbjson = "0.6.0" pbjson-build = "0.6.2" pbjson-types = "0.6.0" pin-project-lite = "0.2" pretty_assertions = "1.4.0" prost = "0.12.6" prost-build = "0.12.6" prost-types = "0.12.6" proptest = { version = "1", default-features = false, features = ["std"] } rand = "0.8.5" reqwest = { version = "0.11.24", default-features = false, features = ["rustls-tls", "stream", "json"] } 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 # could be changed back to 1.0 serde_json = "1.0.127" serde_urlencoded = "0.7.0" serde_with = "3.8.1" sha2 = "0.10.8" snap = "1.0.0" sqlparser = "0.48.0" sysinfo = "0.30.8" test-log = { version = "0.2.16", features = ["trace"] } thiserror = "1.0" tokio = { version = "1.40", features = ["full"] } tokio-util = "0.7.9" tonic = { version = "0.11.0", features = ["tls", "tls-roots"] } tonic-build = "0.11.0" tonic-health = "0.11.0" tonic-reflection = "0.11.0" tower = "0.4.13" unicode-segmentation = "1.11.0" url = "2.5.0" urlencoding = "1.1" uuid = { version = "1", features = ["v4"] } num = { version = "0.4.3" } # Core.git crates we depend on arrow_util = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7"} authz = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7", features = ["http"] } clap_blocks = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } data_types = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } datafusion_util = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } influxdb-line-protocol = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7", features = ["v3"] } influxdb_influxql_parser = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } influxdb_iox_client = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } iox_catalog = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } iox_http = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } iox_query = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } iox_query_params = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } iox_query_influxql = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } iox_system_tables = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } iox_time = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } metric = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } metric_exporters = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } observability_deps = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } panic_logging = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } parquet_file = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } schema = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7", features = ["v3"] } service_common = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } service_grpc_flight = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } test_helpers = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } tokio_metrics_bridge = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } trace = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } trace_exporters = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } trace_http = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } tracker = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7" } trogging = { git = "https://github.com/influxdata/influxdb3_core", rev = "1eaa4ed5ea147bc24db98d9686e457c124dfd5b7", default-features = true, features = ["clap"] } [workspace.lints.rust] missing_copy_implementations = "deny" missing_debug_implementations = "deny" rust_2018_idioms = { level = "deny", priority = -1 } unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tokio_unstable)'] } unreachable_pub = "deny" [workspace.lints.clippy] clone_on_ref_ptr = "deny" dbg_macro = "deny" future_not_send = "deny" todo = "deny" [workspace.lints.rustdoc] bare_urls = "deny" broken_intra_doc_links = "deny" # This profile optimizes for runtime performance and small binary size at the expense of longer # build times. It's most suitable for final release builds. [profile.release] lto = "fat" [profile.bench] debug = true # This profile optimizes for short build times at the expense of larger binary size and slower # runtime performance. It's most suitable for development iterations. [profile.quick-release] inherits = "release" codegen-units = 16 lto = false incremental = true # This profile extends the `quick-release` profile with debuginfo turned on in order to # produce more human friendly symbols for profiling tools [profile.quick-bench] inherits = "quick-release" debug = 1 # Per insta docs: https://insta.rs/docs/quickstart/#optional-faster-runs [profile.dev.package.insta] opt-level = 3 [profile.dev.package.similar] opt-level = 3 # Patching Arrow # # Assuming you have a local checkout of Arrow in a directory alongside your local checkout of influxdb3_core, # and you have changes to Arrow in your local checkout that you want to test out with influxdb3_core, # uncomment this `[patch.crates-io]` section to tell Cargo to use your local arrow versions for all # transitive dependencies. The entries for the `arrow-*` crates are needed because `datafusion` has # a direct dependency on them. # # WARNING: Do not merge in a PR uncommenting this change! This is for local testing only! # # [patch.crates-io] # arrow = { path = "../arrow-rs/arrow" } # parquet = { path = "../arrow-rs/parquet" } # arrow-array = { path = "../arrow-rs/arrow-array" } # arrow-schema = { path = "../arrow-rs/arrow-schema" } # arrow-data = { path = "../arrow-rs/arrow-data" } # arrow-buffer = { path = "../arrow-rs/arrow-buffer" } # arrow-ipc = { path = "../arrow-rs/arrow-ipc" }