Skip to content

Conversation

@polyzos
Copy link
Contributor

@polyzos polyzos commented Jan 28, 2026

This closes #2496 and sets the foundation for predicate pushdown

1. Protobuf Integration for Predicates

2. Predicate Serialization Utilities

  • PbPredicateConverter
  • PredicateMessageUtils: A utility class for converting between internal models and RPC messages. It includes entry points for Filter and Predicate serialization/deserialization, ensuring the server can evaluate predicates sent by clients.
  • CommonRpcMessageUtils: Standardized DataType $\leftrightarrow$ PbDataType conversions were centralized here to promote reuse across the RPC module.

3. Schema-Aware Filtering and Statistics

  • Filter Class: Introduced a schema-aware Filter that wraps predicates with a schemaId. This ensures that filtering logic is only applied when the data schema matches the expected filter schema, preventing errors during schema evolution.
  • Statistics Integration: Added the LogRecordBatchStatistics interface and integrated it into the Filter logic.

@polyzos
Copy link
Contributor Author

polyzos commented Jan 28, 2026

FYI @platinumhamburg @wuchong

@polyzos polyzos requested a review from wuchong January 28, 2026 10:33
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.

Introduce Predicate in Protobuf and RPC Layer

1 participant