Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents


0.13.0-SNAPSHOT 版本现状

...



尽管IoTDB包含大量的查询类型,但是查询的 operator 只有基类的 QueryOperator,所有查询相关的标志位和参数都存储在同一个类中,包括聚合查询、GroupBy查询、AlignByDevice 等等。

这显然造成了存储的冗余,且结构混乱。因此需要将逻辑查询运算符的子类抽取出来,并对相应的过程逻辑进行相应的修改。一方面,这样类结构更加清晰,方便维护;另一方面,对于不同的查询类型创建不同的查询运算符,有利于之后将复杂的查询计划转换逻辑下放到各个查询运算符内,从而减少外部逻辑,方便计算。


设计方案


查询语句的 SQL 解析按顺序主要分为 4 个部分:

...

而 Group by 查询,select count(s1) from root.sg.d1 group by ([1, 10), 2ms),则由第四部分确定。


总结一下:总结:

第一部分确定的查询类型包括:

    1. 普通查询

    1. 聚合查询

    1. last 查询

    1. UDF 查询

...