You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2020/06/10 07:39:24 UTC

[incubator-iotdb] branch change-doc updated (a93a8b7 -> 2e7194b)

This is an automated email from the ASF dual-hosted git repository.

hxd pushed a change to branch change-doc
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git.


    from a93a8b7  fix doc for releasing v0.10
     add 1e3c65b  [To rel/0.10] add config description (#1320)
     add 27c2ce0  [IOTDB-622] add count records for all databases
     add 2e5d682  [IOTDB-622] split group by level to two parts
     add 4f98a51  fix enable_parameter_adapter comment
     add 1079e2e0 Premerge for the distributed version (#1169)
     add 92f014f  [IOTDB-753] Add a judgement before removing entry from tag inverted index (#1328)
     add 5cb248b  IOTDB-734 Add Support for NaN in Double / Floats in SQL Syntax. (#1305)
     add 6a927f4  IOTDB-750 Allow SubDevices in IoTDB.
     add a7ac8c1  [IOTDB-755] Fix count bug (#1335)
     new 2e7194b  merge master

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 docs/SystemDesign/DataQuery/AggregationQuery.md    |  22 +
 docs/SystemDesign/DataQuery/AlignByDeviceQuery.md  |   4 +-
 docs/SystemDesign/DataQuery/GroupByQuery.md        |  25 +-
 .../DML Data Manipulation Language.md              |  82 ++++
 docs/UserGuide/Operation Manual/SQL Reference.md   |   5 +-
 docs/zh/SystemDesign/DataQuery/AggregationQuery.md |  20 +
 .../SystemDesign/DataQuery/AlignByDeviceQuery.md   |   4 +-
 docs/zh/SystemDesign/DataQuery/GroupByQuery.md     |  24 +-
 .../DML Data Manipulation Language.md              |  85 +++-
 .../zh/UserGuide/Operation Manual/SQL Reference.md |   5 +-
 .../iotdb/flink/tsfile/RowRowRecordParser.java     |   2 +-
 .../org/apache/iotdb/jdbc/IoTDBConnection.java     |   7 +-
 .../java/org/apache/iotdb/jdbc/IoTDBStatement.java |   9 +-
 server/pom.xml                                     |  10 +
 .../org/apache/iotdb/db/qp/strategy/SqlBase.g4     |  22 +-
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |   2 +-
 .../iotdb/db/auth/authorizer/BasicAuthorizer.java  |  73 ++-
 .../iotdb/db/auth/authorizer/IAuthorizer.java      | 186 ++++----
 .../apache/iotdb/db/auth/entity/PathPrivilege.java |  26 +-
 .../java/org/apache/iotdb/db/auth/entity/Role.java |  35 +-
 .../java/org/apache/iotdb/db/auth/entity/User.java |  51 ++-
 .../iotdb/db/auth/role/BasicRoleManager.java       |  18 +
 .../apache/iotdb/db/auth/role/IRoleManager.java    |  30 +-
 .../iotdb/db/auth/user/BasicUserManager.java       |  20 +
 .../apache/iotdb/db/auth/user/IUserManager.java    |  96 ++--
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  15 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  37 +-
 .../db/conf/adapter/IoTDBConfigDynamicAdapter.java |   2 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  |  82 +++-
 .../iotdb/db/engine/merge/task/MergeFileTask.java  |   8 +-
 .../iotdb/db/engine/merge/task/MergeTask.java      |   4 +-
 .../db/engine/modification/ModificationFile.java   |  40 +-
 .../engine/storagegroup/StorageGroupProcessor.java | 187 ++++++--
 .../iotdb/db/engine/storagegroup/TsFileLock.java   | 111 +++++
 .../db/engine/storagegroup/TsFileResource.java     | 112 ++++-
 .../iotdb/db/engine/upgrade/UpgradeTask.java       |   8 +-
 .../version/SimpleFileVersionController.java       |   1 -
 .../iotdb/db/engine/version/VersionController.java |   1 +
 .../org/apache/iotdb/db/metadata/MManager.java     | 202 +++++++--
 .../java/org/apache/iotdb/db/metadata/MTree.java   | 111 +++--
 .../org/apache/iotdb/db/metadata/MetaUtils.java    |   2 +-
 .../iotdb/db/metadata/mnode/InternalMNode.java     |   2 +-
 .../{LeafMNode.java => MeasurementMNode.java}      |  57 +--
 .../apache/iotdb/db/qp/constant/SQLConstant.java   |   3 +
 .../apache/iotdb/db/qp/executor/IPlanExecutor.java |   3 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  | 190 +++++---
 .../org/apache/iotdb/db/qp/logical/Operator.java   |   2 +-
 .../iotdb/db/qp/logical/crud/QueryOperator.java    |  27 +-
 .../qp/logical/sys/LoadConfigurationOperator.java  |  13 +-
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  | 127 +++++-
 .../iotdb/db/qp/physical/crud/AggregationPlan.java |  10 +
 .../db/qp/physical/crud/AlignByDevicePlan.java     |  15 +-
 .../iotdb/db/qp/physical/crud/DeletePlan.java      |  21 +-
 ...oupByFillPlan.java => GroupByTimeFillPlan.java} |   4 +-
 .../{GroupByPlan.java => GroupByTimePlan.java}     |   7 +-
 .../iotdb/db/qp/physical/crud/InsertPlan.java      |  28 +-
 .../db/qp/physical/crud/InsertTabletPlan.java      |   6 +-
 .../iotdb/db/qp/physical/sys/AuthorPlan.java       | 189 +++++++-
 .../db/qp/physical/sys/CreateTimeSeriesPlan.java   |   8 +-
 .../iotdb/db/qp/physical/sys/DataAuthPlan.java     |  53 ++-
 .../db/qp/physical/sys/DeleteStorageGroupPlan.java |  36 ++
 .../db/qp/physical/sys/DeleteTimeSeriesPlan.java   |  48 +-
 .../db/qp/physical/sys/LoadConfigurationPlan.java  | 102 ++++-
 .../db/qp/physical/sys/SetStorageGroupPlan.java    |   4 +-
 .../iotdb/db/qp/physical/sys/SetTTLPlan.java       |  29 ++
 .../db/qp/physical/sys/ShowChildPathsPlan.java     |   2 +-
 .../db/qp/physical/sys/ShowTimeSeriesPlan.java     |  31 ++
 .../iotdb/db/qp/strategy/LogicalGenerator.java     |  39 +-
 .../iotdb/db/qp/strategy/PhysicalGenerator.java    |  91 ++--
 .../db/query/aggregation/AggregateResult.java      |   7 +-
 .../iotdb/db/query/control/FileReaderManager.java  |   4 +-
 .../db/query/dataset/AlignByDeviceDataSet.java     |  42 +-
 .../db/query/dataset/ShowTimeSeriesResult.java     |  79 +++-
 .../iotdb/db/query/dataset/SingleDataSet.java      |   4 +-
 .../dataset/groupby/GroupByEngineDataSet.java      |  16 +-
 .../query/dataset/groupby/GroupByFillDataSet.java  |  10 +-
 .../query/dataset/groupby/GroupByTimeDataSet.java  |  96 ++++
 .../groupby/GroupByWithValueFilterDataSet.java     |  26 +-
 .../groupby/GroupByWithoutValueFilterDataSet.java  |  16 +-
 .../dataset/groupby/LocalGroupByExecutor.java      |  11 +-
 .../db/query/executor/AggregationExecutor.java     |  30 +-
 .../iotdb/db/query/executor/FillQueryExecutor.java |   9 +-
 .../iotdb/db/query/executor/IQueryRouter.java      |   4 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |   6 +-
 .../iotdb/db/query/executor/QueryRouter.java       |  78 +++-
 .../apache/iotdb/db/query/executor/fill/IFill.java |  15 +-
 .../db/query/executor/fill/LastPointReader.java    |  17 +-
 .../iotdb/db/query/executor/fill/LinearFill.java   |  39 +-
 .../iotdb/db/query/reader/series/SeriesReader.java |   8 +-
 .../org/apache/iotdb/db/service/JMXService.java    |   2 +-
 .../org/apache/iotdb/db/service/RPCService.java    |   2 +
 .../org/apache/iotdb/db/service/TSServiceImpl.java |  37 +-
 .../org/apache/iotdb/db/utils/FilePathUtils.java   |  87 ++++
 .../org/apache/iotdb/db/utils/OpenFileNumUtil.java |   2 +-
 .../org/apache/iotdb/db/utils/SerializeUtils.java  | 497 +++++++++++++++++++++
 .../org/apache/iotdb/db/utils/UpgradeUtils.java    |   4 +-
 .../writelog/manager/MultiFileLogNodeManager.java  |   4 +-
 .../db/writelog/node/ExclusiveWriteLogNode.java    |   4 +-
 .../iotdb/db/engine/storagegroup/TTLTest.java      |   3 +-
 .../iotdb/db/integration/IoTDBAddSubDeviceIT.java  | 203 +++++++++
 .../apache/iotdb/db/integration/IoTDBLastIT.java   |  12 +-
 .../iotdb/db/metadata/MManagerAdvancedTest.java    |  62 ++-
 .../iotdb/db/metadata/MManagerImproveTest.java     |   4 +-
 .../org/apache/iotdb/db/metadata/MTreeTest.java    |  77 ++--
 .../java/org/apache/iotdb/db/qp/PlannerTest.java   |   2 +-
 .../apache/iotdb/db/qp/plan/PhysicalPlanTest.java  | 120 +++--
 .../db/query/dataset/GroupByLevelDataSetTest.java  | 169 +++++++
 .../db/query/dataset/GroupByTimeDataSetTest.java   | 186 ++++++++
 .../query/executor/GroupByEngineDataSetTest.java   |  62 +--
 .../org/apache/iotdb/db/tools/WalCheckerTest.java  |   4 +-
 .../iotdb/db/writelog/io/LogWriterReaderTest.java  |   2 +-
 .../db/writelog/io/MultiFileLogReaderTest.java     |   2 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |   9 +
 service-rpc/src/main/thrift/cluster.thrift         | 387 ++++++++++++++++
 .../java/org/apache/iotdb/session/Session.java     |   9 +-
 .../apache/iotdb/tsfile/common/cache/LRUCache.java |  10 +-
 .../apache/iotdb/tsfile/read/TimeValuePair.java    |   1 -
 .../apache/iotdb/tsfile/read/common/RowRecord.java |   8 +
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |   9 +
 119 files changed, 4523 insertions(+), 907 deletions(-)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileLock.java
 rename server/src/main/java/org/apache/iotdb/db/metadata/mnode/{LeafMNode.java => MeasurementMNode.java} (72%)
 rename server/src/main/java/org/apache/iotdb/db/qp/physical/crud/{GroupByFillPlan.java => GroupByTimeFillPlan.java} (93%)
 rename server/src/main/java/org/apache/iotdb/db/qp/physical/crud/{GroupByPlan.java => GroupByTimePlan.java} (93%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/GroupByTimeDataSet.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/SerializeUtils.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBAddSubDeviceIT.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/dataset/GroupByLevelDataSetTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/dataset/GroupByTimeDataSetTest.java
 create mode 100644 service-rpc/src/main/thrift/cluster.thrift


[incubator-iotdb] 01/01: merge master

Posted by hx...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hxd pushed a commit to branch change-doc
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git

commit 2e7194bc66f4bb1c2b7151466906611a7b7c0fbf
Merge: a93a8b7 a7ac8c1
Author: xiangdong huang <sa...@gmail.com>
AuthorDate: Wed Jun 10 15:36:46 2020 +0800

    merge master

 docs/SystemDesign/DataQuery/AggregationQuery.md    |  22 +
 docs/SystemDesign/DataQuery/AlignByDeviceQuery.md  |   4 +-
 docs/SystemDesign/DataQuery/GroupByQuery.md        |  25 +-
 .../DML Data Manipulation Language.md              |  82 ++++
 docs/UserGuide/Operation Manual/SQL Reference.md   |   5 +-
 docs/zh/SystemDesign/DataQuery/AggregationQuery.md |  20 +
 .../SystemDesign/DataQuery/AlignByDeviceQuery.md   |   4 +-
 docs/zh/SystemDesign/DataQuery/GroupByQuery.md     |  24 +-
 .../DML Data Manipulation Language.md              |  85 +++-
 .../zh/UserGuide/Operation Manual/SQL Reference.md |   5 +-
 .../iotdb/flink/tsfile/RowRowRecordParser.java     |   2 +-
 .../org/apache/iotdb/jdbc/IoTDBConnection.java     |   7 +-
 .../java/org/apache/iotdb/jdbc/IoTDBStatement.java |   9 +-
 server/pom.xml                                     |  10 +
 .../org/apache/iotdb/db/qp/strategy/SqlBase.g4     |  22 +-
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |   2 +-
 .../iotdb/db/auth/authorizer/BasicAuthorizer.java  |  73 ++-
 .../iotdb/db/auth/authorizer/IAuthorizer.java      | 186 ++++----
 .../apache/iotdb/db/auth/entity/PathPrivilege.java |  26 +-
 .../java/org/apache/iotdb/db/auth/entity/Role.java |  35 +-
 .../java/org/apache/iotdb/db/auth/entity/User.java |  51 ++-
 .../iotdb/db/auth/role/BasicRoleManager.java       |  18 +
 .../apache/iotdb/db/auth/role/IRoleManager.java    |  30 +-
 .../iotdb/db/auth/user/BasicUserManager.java       |  20 +
 .../apache/iotdb/db/auth/user/IUserManager.java    |  96 ++--
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  15 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  37 +-
 .../db/conf/adapter/IoTDBConfigDynamicAdapter.java |   2 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  |  82 +++-
 .../iotdb/db/engine/merge/task/MergeFileTask.java  |   8 +-
 .../iotdb/db/engine/merge/task/MergeTask.java      |   4 +-
 .../db/engine/modification/ModificationFile.java   |  40 +-
 .../engine/storagegroup/StorageGroupProcessor.java | 187 ++++++--
 .../iotdb/db/engine/storagegroup/TsFileLock.java   | 111 +++++
 .../db/engine/storagegroup/TsFileResource.java     | 112 ++++-
 .../iotdb/db/engine/upgrade/UpgradeTask.java       |   8 +-
 .../version/SimpleFileVersionController.java       |   1 -
 .../iotdb/db/engine/version/VersionController.java |   1 +
 .../org/apache/iotdb/db/metadata/MManager.java     | 202 +++++++--
 .../java/org/apache/iotdb/db/metadata/MTree.java   | 111 +++--
 .../org/apache/iotdb/db/metadata/MetaUtils.java    |   2 +-
 .../iotdb/db/metadata/mnode/InternalMNode.java     |   2 +-
 .../{LeafMNode.java => MeasurementMNode.java}      |  57 +--
 .../apache/iotdb/db/qp/constant/SQLConstant.java   |   3 +
 .../apache/iotdb/db/qp/executor/IPlanExecutor.java |   3 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  | 190 +++++---
 .../org/apache/iotdb/db/qp/logical/Operator.java   |   2 +-
 .../iotdb/db/qp/logical/crud/QueryOperator.java    |  27 +-
 .../qp/logical/sys/LoadConfigurationOperator.java  |  13 +-
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  | 127 +++++-
 .../iotdb/db/qp/physical/crud/AggregationPlan.java |  10 +
 .../db/qp/physical/crud/AlignByDevicePlan.java     |  15 +-
 .../iotdb/db/qp/physical/crud/DeletePlan.java      |  21 +-
 ...oupByFillPlan.java => GroupByTimeFillPlan.java} |   4 +-
 .../{GroupByPlan.java => GroupByTimePlan.java}     |   7 +-
 .../iotdb/db/qp/physical/crud/InsertPlan.java      |  28 +-
 .../db/qp/physical/crud/InsertTabletPlan.java      |   6 +-
 .../iotdb/db/qp/physical/sys/AuthorPlan.java       | 189 +++++++-
 .../db/qp/physical/sys/CreateTimeSeriesPlan.java   |   8 +-
 .../iotdb/db/qp/physical/sys/DataAuthPlan.java     |  53 ++-
 .../db/qp/physical/sys/DeleteStorageGroupPlan.java |  36 ++
 .../db/qp/physical/sys/DeleteTimeSeriesPlan.java   |  48 +-
 .../db/qp/physical/sys/LoadConfigurationPlan.java  | 102 ++++-
 .../db/qp/physical/sys/SetStorageGroupPlan.java    |   4 +-
 .../iotdb/db/qp/physical/sys/SetTTLPlan.java       |  29 ++
 .../db/qp/physical/sys/ShowChildPathsPlan.java     |   2 +-
 .../db/qp/physical/sys/ShowTimeSeriesPlan.java     |  31 ++
 .../iotdb/db/qp/strategy/LogicalGenerator.java     |  39 +-
 .../iotdb/db/qp/strategy/PhysicalGenerator.java    |  91 ++--
 .../db/query/aggregation/AggregateResult.java      |   7 +-
 .../iotdb/db/query/control/FileReaderManager.java  |   4 +-
 .../db/query/dataset/AlignByDeviceDataSet.java     |  42 +-
 .../db/query/dataset/ShowTimeSeriesResult.java     |  79 +++-
 .../iotdb/db/query/dataset/SingleDataSet.java      |   4 +-
 .../dataset/groupby/GroupByEngineDataSet.java      |  16 +-
 .../query/dataset/groupby/GroupByFillDataSet.java  |  10 +-
 .../query/dataset/groupby/GroupByTimeDataSet.java  |  96 ++++
 .../groupby/GroupByWithValueFilterDataSet.java     |  26 +-
 .../groupby/GroupByWithoutValueFilterDataSet.java  |  16 +-
 .../dataset/groupby/LocalGroupByExecutor.java      |  11 +-
 .../db/query/executor/AggregationExecutor.java     |  30 +-
 .../iotdb/db/query/executor/FillQueryExecutor.java |   9 +-
 .../iotdb/db/query/executor/IQueryRouter.java      |   4 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |   6 +-
 .../iotdb/db/query/executor/QueryRouter.java       |  78 +++-
 .../apache/iotdb/db/query/executor/fill/IFill.java |  15 +-
 .../db/query/executor/fill/LastPointReader.java    |  17 +-
 .../iotdb/db/query/executor/fill/LinearFill.java   |  39 +-
 .../iotdb/db/query/reader/series/SeriesReader.java |   8 +-
 .../org/apache/iotdb/db/service/JMXService.java    |   2 +-
 .../org/apache/iotdb/db/service/RPCService.java    |   2 +
 .../org/apache/iotdb/db/service/TSServiceImpl.java |  37 +-
 .../org/apache/iotdb/db/utils/FilePathUtils.java   |  87 ++++
 .../org/apache/iotdb/db/utils/OpenFileNumUtil.java |   2 +-
 .../org/apache/iotdb/db/utils/SerializeUtils.java  | 497 +++++++++++++++++++++
 .../org/apache/iotdb/db/utils/UpgradeUtils.java    |   4 +-
 .../writelog/manager/MultiFileLogNodeManager.java  |   4 +-
 .../db/writelog/node/ExclusiveWriteLogNode.java    |   4 +-
 .../iotdb/db/engine/storagegroup/TTLTest.java      |   3 +-
 .../iotdb/db/integration/IoTDBAddSubDeviceIT.java  | 203 +++++++++
 .../apache/iotdb/db/integration/IoTDBLastIT.java   |  12 +-
 .../iotdb/db/metadata/MManagerAdvancedTest.java    |  62 ++-
 .../iotdb/db/metadata/MManagerImproveTest.java     |   4 +-
 .../org/apache/iotdb/db/metadata/MTreeTest.java    |  77 ++--
 .../java/org/apache/iotdb/db/qp/PlannerTest.java   |   2 +-
 .../apache/iotdb/db/qp/plan/PhysicalPlanTest.java  | 120 +++--
 .../db/query/dataset/GroupByLevelDataSetTest.java  | 169 +++++++
 .../db/query/dataset/GroupByTimeDataSetTest.java   | 186 ++++++++
 .../query/executor/GroupByEngineDataSetTest.java   |  62 +--
 .../org/apache/iotdb/db/tools/WalCheckerTest.java  |   4 +-
 .../iotdb/db/writelog/io/LogWriterReaderTest.java  |   2 +-
 .../db/writelog/io/MultiFileLogReaderTest.java     |   2 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |   9 +
 service-rpc/src/main/thrift/cluster.thrift         | 387 ++++++++++++++++
 .../java/org/apache/iotdb/session/Session.java     |   9 +-
 .../apache/iotdb/tsfile/common/cache/LRUCache.java |  10 +-
 .../apache/iotdb/tsfile/read/TimeValuePair.java    |   1 -
 .../apache/iotdb/tsfile/read/common/RowRecord.java |   8 +
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |   9 +
 119 files changed, 4523 insertions(+), 907 deletions(-)

diff --cc server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AlignByDevicePlan.java
index cce4b5d,5fde38f..cf1e550
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AlignByDevicePlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AlignByDevicePlan.java
@@@ -39,8 -39,7 +39,8 @@@ public class AlignByDevicePlan extends 
    // to record the real type of the measurement
    private Map<String, TSDataType> measurementDataTypeMap;
  
-   private GroupByPlan groupByPlan;
+   private GroupByTimePlan groupByTimePlan;
++
    private FillQueryPlan fillQueryPlan;
    private AggregationPlan aggregationPlan;
  
@@@ -98,13 -97,13 +98,14 @@@
      this.measurementDataTypeMap = measurementDataTypeMap;
    }
  
-   public GroupByPlan getGroupByPlan() {
-     return groupByPlan;
++
+   public GroupByTimePlan getGroupByTimePlan() {
+     return groupByTimePlan;
    }
  
-   public void setGroupByPlan(GroupByPlan groupByPlan) {
-     this.groupByPlan = groupByPlan;
-     this.setOperatorType(OperatorType.GROUPBY);
+   public void setGroupByTimePlan(GroupByTimePlan groupByTimePlan) {
+     this.groupByTimePlan = groupByTimePlan;
+     this.setOperatorType(OperatorType.GROUPBYTIME);
    }
  
    public FillQueryPlan getFillQueryPlan() {
diff --cc server/src/main/java/org/apache/iotdb/db/qp/strategy/PhysicalGenerator.java
index 4a78844,cff982c..7ce9df9
--- a/server/src/main/java/org/apache/iotdb/db/qp/strategy/PhysicalGenerator.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/strategy/PhysicalGenerator.java
@@@ -276,7 -281,20 +281,19 @@@ public class PhysicalGenerator 
      }
    }
  
 -
+   protected PhysicalPlan generateLoadConfigurationPlan(LoadConfigurationOperatorType type)
+       throws QueryProcessException {
+     switch (type) {
+       case GLOBAL:
+         return new LoadConfigurationPlan(LoadConfigurationPlanType.GLOBAL);
+       case LOCAL:
+         return new LoadConfigurationPlan(LoadConfigurationPlanType.LOCAL);
+       default:
+         throw new QueryProcessException(
+             String.format("Unrecognized load configuration operator type, %s", type.name()));
+     }
  
+   }
  
    /**
     * get types for path list
@@@ -325,22 -343,31 +342,32 @@@
            throw new QueryProcessException("Group By Fill only support last_value function");
          }
        }
-       ((GroupByFillPlan) queryPlan).setFillType(queryOperator.getFillTypes());
-     } else if (queryOperator.isGroupBy()) {
-       queryPlan = new GroupByPlan();
-       ((GroupByPlan) queryPlan).setInterval(queryOperator.getUnit());
-       ((GroupByPlan) queryPlan).setSlidingStep(queryOperator.getSlidingStep());
-       ((GroupByPlan) queryPlan).setLeftCRightO(queryOperator.isLeftCRightO());
+       ((GroupByTimeFillPlan) queryPlan).setFillType(queryOperator.getFillTypes());
+     } else if (queryOperator.isGroupByTime()) {
+       queryPlan = new GroupByTimePlan();
+       ((GroupByTimePlan) queryPlan).setInterval(queryOperator.getUnit());
+       ((GroupByTimePlan) queryPlan).setSlidingStep(queryOperator.getSlidingStep());
+       ((GroupByTimePlan) queryPlan).setLeftCRightO(queryOperator.isLeftCRightO());
        if (!queryOperator.isLeftCRightO()) {
-         ((GroupByPlan) queryPlan).setStartTime(queryOperator.getStartTime() + 1);
-         ((GroupByPlan) queryPlan).setEndTime(queryOperator.getEndTime() + 1);
+         ((GroupByTimePlan) queryPlan).setStartTime(queryOperator.getStartTime() + 1);
+         ((GroupByTimePlan) queryPlan).setEndTime(queryOperator.getEndTime() + 1);
        } else {
-         ((GroupByPlan) queryPlan).setStartTime(queryOperator.getStartTime());
-         ((GroupByPlan) queryPlan).setEndTime(queryOperator.getEndTime());
+         ((GroupByTimePlan) queryPlan).setStartTime(queryOperator.getStartTime());
+         ((GroupByTimePlan) queryPlan).setEndTime(queryOperator.getEndTime());
        }
-       ((GroupByPlan) queryPlan)
+       ((GroupByTimePlan) queryPlan)
            .setAggregations(queryOperator.getSelectOperator().getAggregations());
 +
+       ((GroupByTimePlan) queryPlan).setLevel(queryOperator.getLevel());
+ 
+       if (queryOperator.getLevel() >= 0) {
+         for (int i = 0; i < queryOperator.getSelectOperator().getAggregations().size(); i++) {
+           if (!SQLConstant.COUNT
+               .equals(queryOperator.getSelectOperator().getAggregations().get(i))) {
+             throw new QueryProcessException("group by level only support count now.");
+           }
+         }
+       }
      } else if (queryOperator.isFill()) {
        queryPlan = new FillQueryPlan();
        FilterOperator timeFilter = queryOperator.getFilterOperator();