DataQL 服务聚合查询引擎,本次 4.1.0 发布。几乎重构,语法上有少许变化。详细参考:语法手册
本次更新增加了一个可以混合外部语法片段的新的特性,这使得在编写 DataQL 的时候可以同时混合类似 SQL 这样的查询语句。例如:
1 2 3 4 5 6 |
var dataSet = @@sql(item_code) <% select * from category where co_code = :item_code %> return dataSet() => [ { "id","name","code","body" } ] |
下面是本次更新的详细内容
- 重构,放弃 javacc 更换成 antlr4。antlr4 更加智能。AST 模型仍然不变。重构后单测覆盖率达到 90%。
- DataQL 大量新语法新特性。具体参看语法参考手册。一些老的语法形式也不在支持,因此 DataQL 的语法和以前有明显变化。
- 运行时内存模型:确定为 两栈一堆
- 指令集系统:不在需要 ASM、ASA、ASO 三个指令,取而代之的是更严谨的指令集。
- SDK:函数包能力
- DataModel数据模型:增加 unwrap 方法,用来解开 DataModel 包裹
- 新增 Fragment 机制允许 DataQL 执行外部非 DataQL 语法的代码片段。
- BeanContainer 改为 Finder,删掉 UdfSource、UdfManager、UdfResult 不在需要这些概念。
转自 https://www.oschina.net/news/113150/dataql-4-1-0-released