fn validate_remote_schema(
expected: &Schema,
actual: &Schema,
source: &str,
) -> Result<()>Expand description
Validates the remote schema before positional column handling.
Field metadata (indexing/encoding/compression hints) is non-semantic at
this boundary and is ignored: two fields are equal when their name and
data type match and their nullability is compatible (see
fields_semantically_equal). A timestamp timezone difference is the only
intentional exception, accepted when the fields share the same timestamp
unit, distinct timezones, equal name, and compatible nullability.
Top-level Arrow schema metadata is non-semantic at this boundary as well.
JSON columns are compared semantically (see json_fields_compatible)
because their wire and decoded representations use different physical
arrow types.