This logic here does not provide helpful error message:
https://github.com/lancedb/lance/blob/e0d3179bcc6e6ce5f9c5fcfeb4398789a7005467/rust/lance/src/dataset/write/merge_insert.rs#L387-L397
When checking for subschema, it tries to detect it, but if there is a mismatch, it returns the error message assuming it is the full schema.
Instead, we should be returning an error message from a check for subschema.
This logic here does not provide helpful error message:
https://github.com/lancedb/lance/blob/e0d3179bcc6e6ce5f9c5fcfeb4398789a7005467/rust/lance/src/dataset/write/merge_insert.rs#L387-L397
When checking for subschema, it tries to detect it, but if there is a mismatch, it returns the error message assuming it is the full schema.
Instead, we should be returning an error message from a check for subschema.