Skip to content

Conversation

@geruh
Copy link
Contributor

@geruh geruh commented Nov 26, 2025

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

@Aniketsy
Copy link
Contributor

@geruh Thanks a lot for getting the tests to pass and moving this forward.

Copy link
Contributor

@Fokko Fokko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you both @geruh and @Aniketsy for fixing this! Let's move this forward 🚀

@Fokko Fokko merged commit d1826f1 into apache:main Nov 26, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants