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]

Reply via email to