Currently most of the programs would fail to compile to JSON; we have tested Map and Filter operators successfully.
There are many TODOs in the code, which will be filled as I get more understanding of the exact JIT constraints.
But this commit allows the JIT compiler to progress and provides test cases for it.
When that compiler is mature enough we will run side-by-side Rust and JITted code to compare the results.
Rebasing this on main becomes harder and harder as the number of commits grows, so I will resolve the conflicts and merge this branch into main if everything works fine.
Instead of serializing the Java representation as JSON, we actually generate a custom JSON representation of a pipeline to match the expectations of the JIT compiler, which is defined as code here and in the related files: https://github.com/vmware/database-stream-processor/blob/dataflow-jit/crates/dataflow-jit/src/ir
Currently most of the programs would fail to compile to JSON; we have tested Map and Filter operators successfully. There are many TODOs in the code, which will be filled as I get more understanding of the exact JIT constraints. But this commit allows the JIT compiler to progress and provides test cases for it. When that compiler is mature enough we will run side-by-side Rust and JITted code to compare the results.