I am developing an application that allows end users to interactively construct
and execute relational expressions that span multiple data sources using
Calcite. My current implementation utilizes my own relational algebra JSON
format which I then convert to a RelNode using a RelBuilder. It would vastly
simplify my project if I could just use Calcite's own RelJson format to
construct and persist relational expressions, but I am concerned that the
format is both undocumented, and, aside from RelWriterTest.java, does not have
much in the way of future guarantees that the format will remain stable.
Is the RelJson format intended the be used for long-term storage? Are there any
known applications that are using this as a serialization format for their
relational expressions?
If the consensus is that this format should be stable, then I can do some work
towards documenting it, as well as implementing some additional test cases to
ensure that RelNodes that are round-tripped through JSON serialization maintain
fidelity.
-Marc