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
//! [`WireType`]: source-independent semantic column type.
/// Semantic column type used to select a decoder, independent of any
/// wire source's native type identity.
///
/// The schema side declares one of these per column (via
/// [`WireColumnTypes`](super::WireColumnTypes)) and
/// [`TypeMap`](super::TypeMap) dispatches on it. This replaces the older
/// per-source native key (`Oid` for pg_walstream, type-name strings for
/// wal2json and maxwell): a single catalog carrying semantic types now
/// drives every source without a per-source translation table.
///
/// The set covers every decoder the crate ships. `Json` and `Jsonb`
/// stay distinct so a downstream that treats them differently can
/// register different decoders. Decoder policy variants (for example
/// [`UuidText36Decoder`](super::UuidText36Decoder) versus
/// [`UuidBlob16Decoder`](super::UuidBlob16Decoder), or
/// [`JsonVerbatimDecoder`](super::JsonVerbatimDecoder) versus
/// [`JsonCanonicalDecoder`](super::JsonCanonicalDecoder)) are chosen at
/// registration under the one semantic key, not by adding more keys.