Description
Enable querying DuckLake tables whose Parquet files have evolved schemas across snapshots.
Problem
The current implementation assumes all Parquet files for a table share an identical schema, which breaks when columns are added, removed, or renamed across snapshots.
Solution
This change unifies file schemas at query time:
- Uses the resolved snapshot schema as the canonical schema
- Pads missing columns in older files with typed NULLs
- Maps renamed columns using DuckLake column identifiers
- Ensures consistent projection across all files
Result
Queries can safely span multiple snapshots with schema drift