jiayuasu opened a new pull request, #807:
URL: https://github.com/apache/sedona-db/pull/807

   Adds the foundation of a Python expression layer that wraps DataFusion's 
logical `Expr` through PyO3, mirroring the pattern used in the R bindings 
(`r/sedonadb/src/rust/src/expression.rs`).
   
   This is the first of four small stacked PRs that together implement Phase P1 
of #791. This one ships only the foundation:
   
   - `sedonadb.expr.Expr` — column-expression wrapper with `alias`, `cast`, 
`is_null`, `is_not_null`, `isin`, `negate`.
   - `sedonadb.expr.col(name)` — reference a column by name.
   - `sedonadb.expr.lit(value)` — wrap a Python value as a literal, reusing the 
existing `Literal` Arrow-array coercion path.
   
   Operator overloading and DataFrame integration land in follow-up PRs. `Expr` 
objects are pure syntax: they are not bound to a DataFrame at construction 
time, and column-validity errors surface only when an `Expr` is consumed by a 
DataFrame method.
   
   ## Test plan
   - [x] 18 unit tests in `tests/expr/test_expression.py` covering 
construction, alias, cast, null checks, `isin`, `negate`, and chaining.
   - [x] No regressions in the existing `tests/test_dataframe.py` (23/23 pass 
locally).
   - [ ] CI green.
   


-- 
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