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

Reply via email to