JingsongLi opened a new pull request, #1288: URL: https://github.com/apache/paimon-rust/pull/1288
### Purpose Closes #1282. DataFusion's default SQL type planner rejects BINARY and VARBINARY query casts. SQLContext can declare these Paimon column types but cannot use the corresponding casts. ### Brief change log - Map binary SQL types to Arrow Binary through the native type-planner extension. - Apply declared byte widths: truncate bounded casts, zero-pad BINARY(n), and preserve native CAST/TRY_CAST conversion and NULL behavior. - Apply lowering consistently to expressions and stored-query planning while preserving portable REST view/function definitions. ### Tests - Regression coverage: UTF-8 and non-UTF-8 bytes, fixed/variable widths, truncation/padding, NULLs, nested casts, column inputs, invalid lengths, native views and portable persistent-view definitions. - Reproduced the missing behavior on the original main before implementation. - Passed the complete DataFusion suite with `TZ=UTC RUST_MIN_STACK=16777216 CARGO_BUILD_JOBS=3 cargo test --locked -p paimon-datafusion --all-targets -- --test-threads=4`. - Passed Rust 1.98 Clippy for this crate and all its targets with `--no-deps -- -D warnings`, formatting and diff checks. ### API and Format Adds SQLContext SQL capabilities. No storage-format or Rust public API changes. ### Documentation Documented syntax, type/null/error behavior and supported limits in `docs/src/sql.md`. -- 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]
