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

Reply via email to