Michael>Tests are running quite slowly, but I left it overnight and haven't found any crashes
There's https://github.com/anse1/sqlsmith which is supposed to be used against PostgreSQL. However, we could configure Calcite to be a proxy to the PostgreSQL, so sqlsmith would use Calcite as if it was PostgreSQL. Second option is to call sqlsmith to generate some queries, and then execute it via Java-based API. The third option is to implement Java-based (or Kotlin-based) fuzzer. I think it might stress more aspects. For instance, Calcite has various quoting rules, and sqlsmith just does not support that. Michael>Any suggestions on other things that might be relatively straightforward to test? My RexFuzzer.java is about 200-300 lines of straight-forward Java code that produces random RexNodes, and it does find multiple bugs in RexSimplify in a minute. I think we might want to have a fuzzer for RelBuilder as well. It should be more-or-less trivial, and it might find interesting cases. As a bonus point, we can run the same SQL through regular PostgreSQL and compare the outputs. Vladimir
