crates/zu/src/lib.rs:16 re-exports the value types a caller of this crate needs, and Decimal is not among them. zu::query::Value::Decimal holds a zu_common::Decimal, so a caller who matches on that arm cannot name the type they got without adding a second dependency:
zudb = { git = "...", rev = "..." }
zu-common = { git = "...", rev = "..." }
Both clients that support decimals do exactly that today. It works, and it makes the two pins something that has to be kept aligned by hand, which is the kind of thing that goes wrong quietly.
Temporal and DurationKind are in the same position and are already re-exported. Decimal should be too.
Found while adding decimal support to zu-python and zu-node.
crates/zu/src/lib.rs:16re-exports the value types a caller of this crate needs, andDecimalis not among them.zu::query::Value::Decimalholds azu_common::Decimal, so a caller who matches on that arm cannot name the type they got without adding a second dependency:Both clients that support decimals do exactly that today. It works, and it makes the two pins something that has to be kept aligned by hand, which is the kind of thing that goes wrong quietly.
TemporalandDurationKindare in the same position and are already re-exported.Decimalshould be too.Found while adding decimal support to zu-python and zu-node.