Commit d1826f1
feat: Make
Related to: #2518, #2775
# Rationale for this change
This work was done by @Aniketsy, I just opened this to get the tests
passing, and we can merge for scan planning.
But, this PR allows `And` expressions to be deserialized from JSON
through Pydantic.
This PR aligns the `And` expression with the `Or`/`Not` pattern by
adding `IcebergBaseModel` as an inherited class. This gets teh And
expression into a proven serializable state, preparing it for the full
expression tree [de]serializability work in #2783.
## Are these changes tested?
Yes added a test and ensure that they align with EpressionParser in
Iceberg Java
## Are there any user-facing changes?
No this is just serialization
cc: @kevinjqliu @Fokko
---------
Co-authored-by: Aniket Singh Yadav <[email protected]>and expression JSON serializable (#2784)1 parent 9610b41 commit d1826f1
File tree
2 files changed
+17
-3
lines changed- pyiceberg/expressions
- tests/expressions
2 files changed
+17
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
237 | 237 | | |
238 | 238 | | |
239 | 239 | | |
240 | | - | |
| 240 | + | |
241 | 241 | | |
242 | 242 | | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
243 | 246 | | |
244 | 247 | | |
245 | 248 | | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
246 | 253 | | |
247 | 254 | | |
248 | 255 | | |
| |||
254 | 261 | | |
255 | 262 | | |
256 | 263 | | |
257 | | - | |
258 | | - | |
259 | 264 | | |
260 | 265 | | |
261 | 266 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
725 | 725 | | |
726 | 726 | | |
727 | 727 | | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
728 | 737 | | |
729 | 738 | | |
730 | 739 | | |
| |||
0 commit comments