此仓库已与 claude-stars 合并。 最新示例见 --> claude-stars。
calcite parser代码生成逻辑
- load-parser-jj
- 获取 Calcite 源码中的 Parser.jj 文件
- parser-jj-generator
- 根据 parser-jj 模板文件生成 parser-jj 代码文件
- parser-generator
- 根据 parser-jj 代码文件文件生成 Parser Java代码
- auto-generator
- 根据 parser-jj 模板文件生成 Parser Java代码(不需要对Parser.jj进行定制化修改)。
- new-grammar
- 新增自定义语法的例子工程
- CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] view_name AS query
- JACKY JOB 'query'
- 新增自定义语法的例子工程
- calcite-schema
- 多种数据源加载的示例
- 自定义语法 submit job as query 的示例
- avacita
- 基于 avacita 实现各种数据库jdbc查询的例子
使用 Maven 插件 maven-dependency-plugin 直接从 Calcite 源码包中进行拷贝。
根据 parser-jj 模板生成 parser-jj。
将 parser-jj-generator 模块中生成的 Parser.jj 代码文件生成 Parser Java代码 (路径 target\generated-sources\fmpp\javacc) copy至此项目中。
如果不需要对Parser.jj进行定制化修改,那么可以通过连续运行两个插件, 根据 parser-jj 模板生成 Parser Java代码。
使用 FreeMarker 模版插件根据 config.fmpp 生成 parser.jj 文件,最后使用 JavaCC 编译插件生成最终的解析器代码。
多种数据源加载的示例。
基于 avacita 实现各种数据库jdbc查询的例子
mvn clean initialize
mvn package
mvn clean install
