The GitHub Actions job "CI" on fluss.git/codegen has succeeded.
Run started by GitHub user platinumhamburg (triggered by platinumhamburg).

Head commit for run:
fd6f52c760ffabbf92e3d014cd071d0eade869c0 / ocean.wy <[email protected]>
Add fluss-codegen module for runtime code generation

This commit introduces a new fluss-codegen module that provides runtime
code generation capabilities using Janino compiler.

Core framework:
- CodeGeneratorContext: Manages reusable code fragments and member variables
- JavaCodeBuilder: Type-safe builder for constructing Java source code
  with support for modifiers, parameters, and various code constructs
- CompileUtils: Compiles generated source code using Janino with caching
- GeneratedClass: Wrapper for generated class with source and compiled class
- CodeGenException: Exception for code generation failures

Code generators:
- EqualiserCodeGenerator: Generates RecordEqualiser implementations for
  comparing InternalRow instances, supporting all Fluss data types

Key features:
- Type-safe API with Modifier enum, PrimitiveType enum, and Param class
- Comprehensive support for all Fluss data types including nested types
- Field projection support for partial row comparison
- Compiled class caching for performance
- Janino dependency shaded to avoid classpath conflicts

Testing:
- Comprehensive unit tests for all components
- Generated code snapshot tests for reviewer understanding
- 297 test cases covering edge cases and error handling

License:
- Janino (BSD 3-Clause) license included in META-INF/licenses/

Report URL: https://github.com/apache/fluss/actions/runs/21087196290

With regards,
GitHub Actions via GitBox

Reply via email to