1、这是项目的第一天,勉强按照网上的几个示例建立了一个可运行的apache calcite的adapter的例子工程;
=========================================================
2、主要收获----主流程
获取model文件

这是一个json的定义

里面最重要的是指定一个工厂类
然后使用DriverManger来启动工厂类

启动之后就是标准的sql了,calcite 应该是在底层用了一个叫linq4j的库,当然这个库其实本质上很早就不维护了
calcite直接将该库引入到工程内部,持续更新
=========================================================
3、adapter内部

等于是用model去指定数据库(SchemaFactory),然后由工厂类,去生成新的具体的HttpSchema
然后HttpScheme实际上就是简单的装配出来了一个map
里面包含了所有的表明和具体的HttpTable对象

最后就是HttpTable对象

一个是实际的数据生成方法scan,扫表
另外一个方法定义了元数据

可枚举类里主要实现的就是三个方法
一个是获取数据的pullRecords方法
一个是枚举类的当前对象方法
和一个moveNext()
总的来说其实还是比较清晰的