1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//! `reddb-io-types` — the neutral keystone crate for RedDB's logical type
//! system (ADR 0052).
//!
//! This crate sits at the **bottom of the workspace crate graph**: every
//! authority crate (`reddb-io-file`, `reddb-io-wire`, the planned
//! `reddb-io-rql` and `reddb-io-crypto`) may depend on it, but it depends on
//! **no other workspace crate**. It owns the core type vocabulary —
//! [`Value`], [`DataType`], [`SqlTypeName`], [`TypeModifier`],
//! [`TypeCategory`], [`ValueError`], and [`Row`] — together with the
//! [`value_codec`] serialization that `Value::to_bytes`/`from_bytes` delegate
//! to.
//!
//! The `reddb-server` `storage::schema` module keeps a re-export shim so the
//! ~180 existing call-sites across the workspace stay untouched.
// The byte-faithful re-home (ADR 0052) preserves `types`/`value_codec`
// exactly as they were authored under the server's crate-level
// `#![allow(unused_imports)]`. `types.rs` keeps `std::net::{Ipv4Addr,
// Ipv6Addr}` in its module-level `use` even though the non-test paths
// reference them fully-qualified and the test module re-imports them
// locally; carrying the allow here keeps the move a pure relocation.
// Legacy allow for the too_many_lines ratchet (PRD #1252): pre-existing
// codec/type functions exceed the 120-line threshold. The lint bites on
// new/changed code; remove once those functions are split up.
// Legacy allow for the cast_possible_truncation ratchet (PRD #1252):
// pre-existing codec/coercion functions truncate via `as` on lengths and
// numeric narrowing. The lint bites on new/changed code; remove once those
// casts become explicit checked conversions.
pub use ;
pub use BinOp;
pub use ;