[workspace] members = [ "src/api", "src/auth", "src/cache", "src/catalog", "src/cli", "src/client", "src/cmd", "src/common/base", "src/common/catalog", "src/common/config", "src/common/datasource", "src/common/decimal", "src/common/error", "src/common/event-recorder", "src/common/frontend", "src/common/function", "src/common/greptimedb-telemetry", "src/common/grpc", "src/common/grpc-expr", "src/common/macro", "src/common/mem-prof", "src/common/memory-manager", "src/common/meta", "src/common/options", "src/common/plugins", "src/common/pprof", "src/common/procedure", "src/common/procedure-test", "src/common/query", "src/common/recordbatch", "src/common/runtime", "src/common/session", "src/common/sql", "src/common/stat", "src/common/substrait", "src/common/telemetry", "src/common/test-util", "src/common/time", "src/common/version", "src/common/wal", "src/common/workload", "src/datanode", "src/datatypes", "src/file-engine", "src/flow", "src/frontend", "src/index", "src/log-query", "src/log-store", "src/meta-client", "src/meta-srv", "src/metric-engine", "src/mito-codec", "src/mito2", "src/object-store", "src/operator", "src/partition", "src/pipeline", "src/plugins", "src/promql", "src/puffin", "src/query", "src/standalone", "src/servers", "src/session", "src/sql", "src/store-api", "src/table", "tests-fuzz", "tests-integration", "tests/runner", ] resolver = "2" [workspace.package] version = "1.0.0-beta.3" edition = "2024" license = "Apache-2.0" [workspace.lints] clippy.print_stdout = "warn" clippy.print_stderr = "warn" clippy.dbg_macro = "warn" clippy.implicit_clone = "warn" clippy.result_large_err = "allow" clippy.large_enum_variant = "allow" clippy.doc_overindented_list_items = "allow" clippy.uninlined_format_args = "allow" rust.unknown_lints = "deny" rust.unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tokio_unstable)'] } [workspace.dependencies] # DO_NOT_REMOVE_THIS: BEGIN_OF_EXTERNAL_DEPENDENCIES # We turn off default-features for some dependencies here so the workspaces which inherit them can # selectively turn them on if needed, since we can override default-features = true (from false) # for the inherited dependency but cannot do the reverse (override from true to false). # # See for more detaiils: https://github.com/rust-lang/cargo/issues/11329 ahash = { version = "0.8", features = ["compile-time-rng"] } aquamarine = "0.6" arrow = { version = "56.2", features = ["prettyprint"] } arrow-array = { version = "56.2", default-features = false, features = ["chrono-tz"] } arrow-buffer = "56.2" arrow-flight = "56.2" arrow-ipc = { version = "56.2", default-features = false, features = ["lz4", "zstd"] } arrow-schema = { version = "56.2", features = ["serde"] } async-stream = "0.3" async-trait = "0.1" # Remember to update axum-extra, axum-macros when updating axum axum = "0.8" axum-extra = "0.10" axum-macros = "0.5" backon = "1" base64 = "0.22" bigdecimal = "0.4.2" bitflags = "2.4.1" bytemuck = "1.12" bytes = { version = "1.7", features = ["serde"] } chrono = { version = "0.4", features = ["serde"] } chrono-tz = { version = "0.10.1", features = ["case-insensitive"] } clap = { version = "4.4", features = ["derive"] } config = "0.13.0" const_format = "0.2" crossbeam-utils = "0.8" dashmap = "6.1" datafusion = "50" datafusion-common = "50" datafusion-expr = "50" datafusion-functions = "50" datafusion-functions-aggregate-common = "50" datafusion-optimizer = "50" datafusion-orc = "0.5" datafusion-pg-catalog = "0.12.3" datafusion-physical-expr = "50" datafusion-physical-plan = "50" datafusion-sql = "50" datafusion-substrait = "50" deadpool = "0.12" deadpool-postgres = "0.14" derive_builder = "0.20" derive_more = { version = "2.1", features = ["full"] } dotenv = "0.15" either = "1.15" etcd-client = { version = "0.16.1", features = [ "tls", "tls-roots", ] } fst = "0.4.7" futures = "0.3" futures-util = "0.3" greptime-proto = { git = "https://github.com/GreptimeTeam/greptime-proto.git", rev = "173efe5ec62722089db7c531c0b0d470a072b915" } hex = "0.4" http = "1" humantime = "2.1" humantime-serde = "1.1" hyper = "1.1" hyper-util = "0.1" itertools = "0.14" jsonb = { git = "https://github.com/databendlabs/jsonb.git", rev = "8c8d2fc294a39f3ff08909d60f718639cfba3875", default-features = false } lazy_static = "1.4" local-ip-address = "0.6" loki-proto = { git = "https://github.com/GreptimeTeam/loki-proto.git", rev = "3b7cd33234358b18ece977bf689dc6fb760f29ab" } meter-core = { git = "https://github.com/GreptimeTeam/greptime-meter.git", rev = "5618e779cf2bb4755b499c630fba4c35e91898cb" } mockall = "0.13" moka = "0.12" nalgebra = "0.33" nix = { version = "0.30.1", default-features = false, features = ["event", "fs", "process"] } notify = "8.0" num_cpus = "1.16" object_store_opendal = "0.54" once_cell = "1.18" opentelemetry-proto = { version = "0.30", features = [ "gen-tonic", "metrics", "trace", "with-serde", "logs", ] } ordered-float = { version = "4.3", features = ["serde"] } otel-arrow-rust = { git = "https://github.com/GreptimeTeam/otel-arrow", rev = "2d64b7c0fa95642028a8205b36fe9ea0b023ec59", features = [ "server", ] } parking_lot = "0.12" parquet = { version = "56.2", default-features = false, features = ["arrow", "async", "object_store"] } paste = "1.0" pin-project = "1.0" pretty_assertions = "1.4.0" prometheus = { version = "0.13.3", features = ["process"] } promql-parser = { version = "0.6", features = ["ser"] } prost = { version = "0.13", features = ["no-recursion-limit"] } prost-types = "0.13" raft-engine = { version = "0.4.1", default-features = false } rand = "0.9" ratelimit = "0.10" regex = "1.12" regex-automata = "0.4" reqwest = { version = "0.12", default-features = false, features = [ "json", "rustls-tls-native-roots", "stream", "multipart", ] } # Branch: feat/request-timeout rskafka = { git = "https://github.com/GreptimeTeam/rskafka.git", rev = "f5688f83e7da591cda3f2674c2408b4c0ed4ed50", features = [ "transport-tls", ] } rstest = "0.25" rstest_reuse = "0.7" rust_decimal = "1.33" rustc-hash = "2.0" # It is worth noting that we should try to avoid using aws-lc-rs until it can be compiled on various platforms. hostname = "0.4.0" rustls = { version = "0.23.25", default-features = false } sea-query = "0.32" serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0", features = ["float_roundtrip"] } serde_with = "3" simd-json = "0.15" similar-asserts = "1.6.0" smallvec = { version = "1", features = ["serde"] } snafu = "0.8" sqlparser = { version = "0.58.0", default-features = false, features = ["std", "visitor", "serde"] } sqlx = { version = "0.8", default-features = false, features = ["any", "macros", "json", "runtime-tokio-rustls"] } strum = { version = "0.27", features = ["derive"] } sysinfo = "0.33" tempfile = "3" tokio = { version = "1.47", features = ["full"] } tokio-postgres = "0.7" tokio-rustls = { version = "0.26.2", default-features = false } tokio-stream = "0.1" tokio-util = { version = "0.7", features = ["io-util", "compat"] } toml = "0.8.8" tonic = { version = "0.13", features = ["tls-ring", "gzip", "zstd"] } tower = "0.5" tower-http = "0.6" tracing = "0.1" tracing-appender = "0.2" tracing-opentelemetry = "0.31.0" tracing-subscriber = { version = "0.3", features = ["env-filter", "json", "fmt"] } typetag = "0.2" uuid = { version = "1.17", features = ["serde", "v4", "fast-rng"] } vrl = "0.25" zstd = "0.13" # DO_NOT_REMOVE_THIS: END_OF_EXTERNAL_DEPENDENCIES ## workspaces members api = { path = "src/api" } auth = { path = "src/auth" } cache = { path = "src/cache" } catalog = { path = "src/catalog" } cli = { path = "src/cli" } client = { path = "src/client" } cmd = { path = "src/cmd", default-features = false } common-base = { path = "src/common/base" } common-catalog = { path = "src/common/catalog" } common-config = { path = "src/common/config" } common-datasource = { path = "src/common/datasource" } common-decimal = { path = "src/common/decimal" } common-error = { path = "src/common/error" } common-event-recorder = { path = "src/common/event-recorder" } common-frontend = { path = "src/common/frontend" } common-function = { path = "src/common/function" } common-greptimedb-telemetry = { path = "src/common/greptimedb-telemetry" } common-grpc = { path = "src/common/grpc" } common-grpc-expr = { path = "src/common/grpc-expr" } common-macro = { path = "src/common/macro" } common-mem-prof = { path = "src/common/mem-prof" } common-memory-manager = { path = "src/common/memory-manager" } common-meta = { path = "src/common/meta" } common-options = { path = "src/common/options" } common-plugins = { path = "src/common/plugins" } common-pprof = { path = "src/common/pprof" } common-procedure = { path = "src/common/procedure" } common-procedure-test = { path = "src/common/procedure-test" } common-query = { path = "src/common/query" } common-recordbatch = { path = "src/common/recordbatch" } common-runtime = { path = "src/common/runtime" } common-session = { path = "src/common/session" } common-sql = { path = "src/common/sql" } common-stat = { path = "src/common/stat" } common-telemetry = { path = "src/common/telemetry" } common-test-util = { path = "src/common/test-util" } common-time = { path = "src/common/time" } common-version = { path = "src/common/version" } common-wal = { path = "src/common/wal" } common-workload = { path = "src/common/workload" } datanode = { path = "src/datanode" } datatypes = { path = "src/datatypes" } file-engine = { path = "src/file-engine" } flow = { path = "src/flow" } frontend = { path = "src/frontend", default-features = false } index = { path = "src/index" } log-query = { path = "src/log-query" } log-store = { path = "src/log-store" } meta-client = { path = "src/meta-client" } meta-srv = { path = "src/meta-srv" } metric-engine = { path = "src/metric-engine" } mito-codec = { path = "src/mito-codec" } mito2 = { path = "src/mito2" } object-store = { path = "src/object-store" } operator = { path = "src/operator" } partition = { path = "src/partition" } pipeline = { path = "src/pipeline" } plugins = { path = "src/plugins" } promql = { path = "src/promql" } puffin = { path = "src/puffin" } query = { path = "src/query" } servers = { path = "src/servers" } session = { path = "src/session" } sql = { path = "src/sql" } standalone = { path = "src/standalone" } store-api = { path = "src/store-api" } substrait = { path = "src/common/substrait" } table = { path = "src/table" } [workspace.dependencies.meter-macros] git = "https://github.com/GreptimeTeam/greptime-meter.git" rev = "5618e779cf2bb4755b499c630fba4c35e91898cb" [patch.crates-io] datafusion = { git = "https://github.com/GreptimeTeam/datafusion.git", rev = "fd4b2abcf3c3e43e94951bda452c9fd35243aab0" } datafusion-common = { git = "https://github.com/GreptimeTeam/datafusion.git", rev = "fd4b2abcf3c3e43e94951bda452c9fd35243aab0" } datafusion-expr = { git = "https://github.com/GreptimeTeam/datafusion.git", rev = "fd4b2abcf3c3e43e94951bda452c9fd35243aab0" } datafusion-functions = { git = "https://github.com/GreptimeTeam/datafusion.git", rev = "fd4b2abcf3c3e43e94951bda452c9fd35243aab0" } datafusion-functions-aggregate-common = { git = "https://github.com/GreptimeTeam/datafusion.git", rev = "fd4b2abcf3c3e43e94951bda452c9fd35243aab0" } datafusion-optimizer = { git = "https://github.com/GreptimeTeam/datafusion.git", rev = "fd4b2abcf3c3e43e94951bda452c9fd35243aab0" } datafusion-physical-expr = { git = "https://github.com/GreptimeTeam/datafusion.git", rev = "fd4b2abcf3c3e43e94951bda452c9fd35243aab0" } datafusion-physical-expr-common = { git = "https://github.com/GreptimeTeam/datafusion.git", rev = "fd4b2abcf3c3e43e94951bda452c9fd35243aab0" } datafusion-physical-plan = { git = "https://github.com/GreptimeTeam/datafusion.git", rev = "fd4b2abcf3c3e43e94951bda452c9fd35243aab0" } datafusion-datasource = { git = "https://github.com/GreptimeTeam/datafusion.git", rev = "fd4b2abcf3c3e43e94951bda452c9fd35243aab0" } datafusion-sql = { git = "https://github.com/GreptimeTeam/datafusion.git", rev = "fd4b2abcf3c3e43e94951bda452c9fd35243aab0" } datafusion-substrait = { git = "https://github.com/GreptimeTeam/datafusion.git", rev = "fd4b2abcf3c3e43e94951bda452c9fd35243aab0" } sqlparser = { git = "https://github.com/GreptimeTeam/sqlparser-rs.git", rev = "4b519a5caa95472cc3988f5556813a583dd35af1" } # branch = "v0.58.x" [profile.release] debug = 1 [profile.nightly] inherits = "release" strip = "debuginfo" lto = "thin" debug = false incremental = false [profile.ci] inherits = "dev" strip = true [profile.dev.package.sqlness-runner] debug = false strip = true [profile.dev.package.tests-fuzz] debug = false strip = true