Hello Calcite developers,
I am a Berkeley student working on a new version for the [Cosette SQL
prover](https://cosette.cs.washington.edu/).
This [new implementation](https://github.com/cosette-solver/cosette-rs)
aims for higher performance and better SQL feature coverage.
One goal for us is to formally check as much rewrite rules in Calcite as
possible, which are those located in
https://github.com/apache/calcite/blob/master/core/src/test/java/org/apache/calcite/test/RelOptRulesTest.java.
The prover initially relies on a custom SQL parser, but we’ve decided
to build a [new one](https://github.com/cosette-solver/cosette-parser)
depending on Calcite’s parser instead.
This parser takes in SQL and use Calcite to get a corresponding RelNode.
Later on the parser translates that RelNode into a JSON format that will
be recognized by the prover.
This makes integrating with the Calcite testing component very feasible,
given a way to extract the RelNode before/after each rewrite test and
send them to the prover in JSON.
I writing to ask if there is any general interest in such integration?
If so, some help on extracting the RelNode from the Calcite test cases
would be appreciated.
Sincerely,
Shuxian Wang