JunRuiLee opened a new issue, #495: URL: https://github.com/apache/paimon-rust/issues/495
### Motivation Spark + Java Paimon already support **case-insensitive column matching** on reads: with `spark.sql.caseSensitive = false` (Spark's default), Catalyst resolves projection and filter column references case-insensitively and normalizes them to the schema's field names before pushing down to the connector. The Rust implementation (`paimon-rust`) has no equivalent — projection and predicate column resolution are always exact-case. Engines that read Paimon through the Rust core / C bindings / DataFusion / Python (e.g. Apache Doris) therefore cannot offer the case-insensitive behavior users get from Spark. A user querying `SELECT NAME` or `WHERE NAME = ...` against a schema field `name` fails, even though the same query works via Spark. ### Proposal Add a `case-sensitive` table option (default `true`, matching Java Paimon and preserving today's exact-match behavior). When set to `false`, column-name resolution on the **read path** matches by ASCII case-folding and reports an error when a name is ambiguous (multiple schema fields collide under folding), mirroring Spark's `AMBIGUOUS` behavior. This lets a reader control, per table, whether column matching ignores case. Scope (read path, top-level columns): - Core projection resolution and `PredicateBuilder`. - DataFusion filter pushdown (translation + `supports_filters_pushdown` classification). - Python `with_filter` predicate conversion. - C binding predicate construction (used by Doris and the Go binding). Out of scope for the initial change: - Nested/dotted column paths (top-level only). - The `_ROW_ID` system column stays an exact reserved name. - Write path / DDL. ### Notes Default stays `true`, so existing behavior is unchanged unless a table explicitly opts in with `case-sensitive = false`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
