6. DataQL 引擎6.1. 介绍6.2. 语法手册6.3. 使用手册6.4. 内置函数库(SDK)6.5. 样例集锦6.6. QIL指令集6.7. 附录6. DataQL 引擎6.1. 介绍 什么是DataQL?架构特性 6.2. 语法手册 词法记号 源码文本空白字符关键字标识符分割符运算符 类型系统 类型定义数据的表示类型提升 数值 表示范围默认数值宽度舍入问题 表达式 一元运算二元运算三元运算 取值与赋值 对象取值字典下标取值数组下标取值对象赋值 结果转换 对象到数组数组到数组数组到对象多维数组的转换对象数组转换基础类型数组对象到对象 函数 外部函数定义函数Lambda 外部代码片段查询命令 import - 资源导入var - 定义变量run - 仅执行三大退出语句if - 分支选择语句hint - 选项语句 访问符 取值域获取程序传来的参数表达式访问符原理表达式中的访问符 6.3. 使用手册 执行查询 引入依赖通过Hasor使用DataQL通过JSR223使用DataQL基于底层接口使用DataQL查询接口(Query)查询结果(QueryResult) 数据模型 DataModelValueModelListModelObjectModelUdfModel 全局变量函数/函数包 开发Udf参数中的Udf函数包(UdfSource)import导入(函数/函数包)使用注解批量注册 外部代码片段(FragmentProcess)资源加载器(Finder)DataQL Maven 插件 6.4. 内置函数库(SDK) CollectionUdfSourceDateTimeUdfSourceIdentifierUdfSourceStateUdfSourceStringUdfSource 6.5. 样例集锦 生成 Tree 结构Tree 到 Tree 的变换高维数组转为一维模拟 SQL 的 left join 6.6. QIL指令集 构造指令 LDC_DLDC_BLDC_SLDC_NNEW_ONEW_A 存储指令 STORELOADGETPUTPULLPUSHCOPY 结束指令 EXITRETURNTHROW 计算指令 UODOTYPEOF 控制指令 IFGOTOHINTCAST_ICAST_OLOAD_CPOPE_PUSHE_POPE_LOAD 函数指令 CALLM_DEFM_TYPM_FRAGM_REFLOCAL 其它指令 LABELLINE 6.7. 附录 DataQL指令助记符Hint 选项表