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