Expand description
ProtoFieldType: the SINK-direction type system - building outgoing
protobuf descriptors (e.g. for a Zerobus-style ingest wire protocol),
as opposed to twg-proto-schema’s decode-direction mapping (an
INCOMING protobuf descriptor -> Arrow).
Deliberately a much smaller, coarser type set than PgType (7
variants, not ~20): every unsigned integer width collapses to
Int32/Int64, and EVERY date/time/timestamp Arrow variant collapses
to one Timestamp (always wall-clock/no-timezone at the sink -
TIMESTAMP_NTZ in Delta - unlike DeltaType’s own
Timestamp/TimestampNtz split). This is intentional for the sink’s
own purposes: sink schemas use this coarser vocabulary.
SCOPE NOTE: any fixed metadata-column table (which columns exist, what
field numbers they are pinned to) is deliberately NOT modelled here. A
metadata-column contract isn’t generic type-mapping vocabulary - it’s
application-specific configuration data, no different in kind from the
DDL-generation and table-schema bookkeeping already excluded from
pg_type.rs on the same grounds. Such a table belongs in the calling
application, not here.