Summary

code generation process in Calcite

How server module extends Calcite’s parser

How to replace the default parser

How validation process utilizes the visitor pattern & how can we replace the default validator


Details

How SqlParserImpl is generated

How core module parses/implements ORDER BY

How server module extends core module to support DDL (e.g. CREATE, DROP)

How to replace the default parser

How validation utilizes the visitor pattern

How SqlNode is converted to RelNode

How to extend SqlNode to support custom features


File Structure Overview