mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-10-31 01:10:41 +01:00
Without naming a schema, a serialized predicate's column references are ambiguous: the same field name can refer to different field IDs across schema-evolution events, and Substrait field-reference IDs mean nothing without saying which schema they index into. Make the request shape unambiguous: - Add ParquetPushdownRequest.SchemaId (Iceberg schema id) to the proto and to the design's API sketch. - Document the binding contract in the design: the predicate must carry only field-id references; the connector binds before sending, the server checks ids against the schema. - Validation now rejects (predicate set, schema_id == 0) with InvalidArgument before any work is done. Deeper "every field id exists in the snapshot's schema" check needs catalog access and lands in M3. - Update / add tests covering the new gate.