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

xiangweiwei pushed a commit to branch RequeryV2
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 2fe872483c75291474e6ba18f4c4ad84ee824201
Merge: 0ba9a37 222396c
Author: Alima777 <[email protected]>
AuthorDate: Tue May 18 22:01:49 2021 +0800

    Merge master and fix conflicts

 .github/workflows/client.yml                       |   7 +-
 .github/workflows/main-unix.yml                    |   2 +-
 .github/workflows/main-win.yml                     |   2 +-
 .../ContributeGuide.md => CONTRIBUTING.md          |  63 +++---
 Jenkinsfile                                        |   2 +-
 LICENSE-binary                                     |   2 +-
 README.md                                          |  22 +-
 README_ZH.md                                       |  16 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4   |  19 +-
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |   3 +
 client-cpp/src/main/CMakeLists.txt                 |   2 +-
 client-cpp/src/test/CMakeLists.txt                 |   2 +-
 client-py/README.md                                |   5 +-
 cluster/pom.xml                                    |   2 +-
 .../resources/conf/iotdb-cluster.properties        |   3 +
 .../java/org/apache/iotdb/cluster/ClusterMain.java |  13 ++
 .../cluster/client/async/AsyncDataClient.java      |   4 +-
 .../client/async/AsyncDataHeartbeatClient.java     |   4 +-
 .../cluster/client/async/AsyncMetaClient.java      |   4 +-
 .../client/async/AsyncMetaHeartbeatClient.java     |   4 +-
 .../iotdb/cluster/client/sync/SyncDataClient.java  |   2 +
 .../client/sync/SyncDataHeartbeatClient.java       |   2 +
 .../iotdb/cluster/client/sync/SyncMetaClient.java  |   2 +
 .../client/sync/SyncMetaHeartbeatClient.java       |   2 +
 .../apache/iotdb/cluster/config/ClusterConfig.java |   9 +
 .../iotdb/cluster/config/ClusterDescriptor.java    |   9 +-
 .../iotdb/cluster/log/applier/BaseApplier.java     |  37 +++-
 .../apache/iotdb/cluster/metadata/CMManager.java   |  12 +-
 .../cluster/query/ClusterDataQueryExecutor.java    |   5 +-
 .../cluster/query/reader/ClusterReaderFactory.java |  12 +-
 .../query/reader/mult/RemoteMultSeriesReader.java  |   7 +-
 .../iotdb/cluster/server/MetaClusterServer.java    |  27 ++-
 .../server/clusterinfo/ClusterInfoServer.java      |  94 ++++++++
 .../server/clusterinfo/ClusterInfoServerMBean.java |  23 +-
 .../server/clusterinfo/ClusterInfoServiceImpl.java |  71 ++++++
 .../ClusterInfoServiceThriftHandler.java           |  55 +++++
 .../cluster/utils/nodetool/ClusterMonitor.java     |   2 +
 .../utils/nodetool/ClusterMonitorMBean.java        |   2 +-
 .../cluster/client/sync/SyncDataClientTest.java    |   6 +-
 .../cluster/client/sync/SyncMetaClientTest.java    |   6 +-
 .../cluster/common/TestAsyncClientFactory.java     |   4 +-
 .../cluster/common/TestSyncClientFactory.java      |  13 ++
 .../cluster/log/applier/DataLogApplierTest.java    |  35 +++
 .../cluster/log/snapshot/DataSnapshotTest.java     |  14 ++
 .../cluster/log/snapshot/PullSnapshotTaskTest.java |  14 ++
 .../query/groupby/MergeGroupByExecutorTest.java    |  23 +-
 .../query/groupby/RemoteGroupByExecutorTest.java   |  23 +-
 .../server/clusterinfo/ClusterInfoServerTest.java  |  96 ++++++++
 .../clusterinfo/ClusterInfoServiceImplTest.java    |  98 +++++++++
 .../cluster/server/member/DataGroupMemberTest.java |  28 ++-
 .../cluster/server/member/MetaGroupMemberTest.java |  20 +-
 .../resources/node1conf/iotdb-cluster.properties   |   1 +
 .../resources/node2conf/iotdb-cluster.properties   |   1 +
 .../resources/node3conf/iotdb-cluster.properties   |   1 +
 compile-tools/thrift/pom.xml                       |   2 +-
 docs/Development/ContributeGuide.md                |  62 +++---
 docs/UserGuide/API/Programming-Java-Native-API.md  |  98 +++++++++
 .../Administration-Management/Administration.md    |   7 +-
 docs/UserGuide/Cluster/Cluster-Setup.md            |   9 +
 .../Data-Concept/Data-Model-and-Terminology.md     |   4 +-
 .../Ecosystem Integration/Zeppelin-IoTDB.md        |   2 +-
 .../DDL-Data-Definition-Language.md                |   2 +-
 .../DML-Data-Manipulation-Language.md              |  14 ++
 docs/zh/Development/ContributeGuide.md             |  26 +--
 .../UserGuide/API/Programming-Java-Native-API.md   |  95 ++++++++
 .../Administration-Management/Administration.md    |   5 +-
 docs/zh/UserGuide/Cluster/Cluster-Setup.md         |   9 +
 .../Data-Concept/Data-Model-and-Terminology.md     |   4 +-
 .../Ecosystem Integration/Zeppelin-IoTDB.md        |   2 +-
 .../DDL-Data-Definition-Language.md                |   2 +-
 .../DML-Data-Manipulation-Language.md              |  14 ++
 example/pom.xml                                    |   6 +
 {thrift-sync => example/rabbitmq}/pom.xml          |  42 +---
 example/rabbitmq/readme.md                         |  63 ++++++
 .../java/org/apache/iotdb/rabbitmq/Constant.java   |  68 ++++++
 .../iotdb/rabbitmq/RabbitMQChannelUtils.java       |  49 +++++
 .../apache/iotdb/rabbitmq/RabbitMQConsumer.java    | 132 +++++++++++
 .../apache/iotdb/rabbitmq/RabbitMQProducer.java    |  49 +++++
 example/trigger/pom.xml                            |  66 +++---
 .../apache/iotdb/tsfile/TsFileSequenceRead.java    |   5 +
 example/udf/pom.xml                                |  66 +++---
 jdbc/src/main/feature/feature.xml                  |   2 +-
 .../org/apache/iotdb/jdbc/IoTDBConnection.java     |   9 +-
 .../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java     |   9 +-
 .../java/org/apache/iotdb/jdbc/IoTDBStatement.java |  24 +-
 pom.xml                                            |  25 ++-
 server/pom.xml                                     |  12 +-
 .../resources/conf/iotdb-engine.properties         |  13 +-
 .../apache/iotdb/db/auth/entity/PrivilegeType.java |   1 +
 .../org/apache/iotdb/db/concurrent/ThreadName.java |   3 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  34 ++-
 .../org/apache/iotdb/db/conf/IoTDBConfigCheck.java |  28 ++-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  19 ++
 .../db/engine/cache/TimeSeriesMetadataCache.java   | 121 +++++++++++
 .../db/engine/compaction/TsFileManagement.java     |  21 +-
 .../level/LevelCompactionTsFileManagement.java     |  51 +++--
 .../engine/compaction/utils/CompactionUtils.java   |  81 +++++--
 .../engine/storagegroup/StorageGroupProcessor.java |  42 +++-
 .../db/engine/storagegroup/TsFileResource.java     |  15 +-
 .../org/apache/iotdb/db/metadata/MManager.java     |  64 ++++--
 .../org/apache/iotdb/db/metadata/PartialPath.java  |  15 ++
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |   9 +-
 .../iotdb/db/qp/logical/crud/QueryOperator.java    |  22 ++
 .../org/apache/iotdb/db/qp/physical/BatchPlan.java |  54 +++--
 .../db/qp/physical/crud/InsertMultiTabletPlan.java |  39 +++-
 .../physical/crud/InsertRowsOfOneDevicePlan.java   |  33 ++-
 .../iotdb/db/qp/physical/crud/InsertRowsPlan.java  |  39 +++-
 .../iotdb/db/qp/physical/crud/QueryPlan.java       |  22 ++
 .../qp/physical/sys/CreateMultiTimeSeriesPlan.java |  39 +++-
 .../apache/iotdb/db/qp/physical/sys/ShowPlan.java  |   1 -
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    | 147 ++++++-------
 .../iotdb/db/qp/strategy/PhysicalGenerator.java    |   5 +-
 .../apache/iotdb/db/qp/utils/DatetimeUtils.java    |  33 ++-
 .../dataset/RawQueryDataSetWithoutValueFilter.java |  79 +++++--
 .../apache/iotdb/db/query/dataset/ShowDataSet.java |  12 +-
 .../db/query/executor/fill/LastPointReader.java    |  51 ++---
 .../chunk/metadata/DiskChunkMetadataLoader.java    |   2 +-
 .../query/reader/series/SeriesAggregateReader.java |   2 +-
 .../reader/series/SeriesRawDataBatchReader.java    |   4 +-
 .../iotdb/db/query/reader/series/SeriesReader.java |  13 +-
 .../reader/series/SeriesReaderByTimestamp.java     |   2 +-
 .../query/reader/series/SeriesReaderFactory.java   |  94 --------
 .../db/query/reader/series/VectorSeriesReader.java | 144 ------------
 .../org/apache/iotdb/db/service/ServiceType.java   |   5 +-
 .../org/apache/iotdb/db/service/TSServiceImpl.java |   3 +-
 .../apache/iotdb/db/sync/conf/SyncConstant.java    |   5 +-
 .../iotdb/db/sync/sender/transfer/SyncClient.java  |  27 ++-
 .../java/org/apache/iotdb/db/utils/AuthUtils.java  |   2 -
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java |  94 +++++++-
 .../apache/iotdb/db/utils/QueryDataSetUtils.java   |  18 +-
 .../iotdb/db/utils/datastructure/VectorTVList.java |   6 +-
 .../apache/iotdb/db/auth/AuthorityCheckerTest.java |   2 -
 .../auth/authorizer/LocalFileAuthorizerTest.java   |   6 +-
 .../db/engine/compaction/CompactionChunkTest.java  |   4 +-
 .../compaction/LevelCompactionCacheTest.java       |   3 +-
 .../engine/compaction/LevelCompactionLogTest.java  |   3 +-
 .../compaction/LevelCompactionMergeTest.java       |  83 ++++++-
 .../compaction/LevelCompactionMoreDataTest.java    |   3 +-
 .../NoCompactionTsFileManagementTest.java          |   4 +-
 .../iotdb/db/integration/IoTDBGroupByMonthIT.java  |  29 +++
 .../iotdb/db/integration/IoTDBSimpleQueryIT.java   |  36 +++
 .../db/integration/IoTDBWithoutAllNullIT.java      | 192 ++++++++++++++++
 .../db/integration/IoTDBWithoutAnyNullIT.java      | 221 +++++++++++++++++++
 .../iotdb/db/metadata/MManagerBasicTest.java       | 242 +++++++++++++++++++++
 .../db/qp/utils/DatetimeQueryDataSetUtilsTest.java |  28 +++
 .../org/apache/iotdb/db/script/EnvScriptIT.java    |   6 +-
 .../apache/iotdb/db/sink/LocalIoTDBSinkTest.java   |   3 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |  12 +-
 .../iotdb/rpc/AutoScalingBufferReadTransport.java  |  13 ++
 .../iotdb/rpc/AutoScalingBufferWriteTransport.java |  15 ++
 .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java |  20 +-
 .../org/apache/iotdb/rpc/RpcTransportFactory.java  |   3 +-
 .../rpc/TCompressedElasticFramedTransport.java     |   2 +-
 .../org/apache/iotdb/rpc/TConfigurationConst.java  |  28 +--
 .../apache/iotdb/rpc/TElasticFramedTransport.java  |  20 +-
 .../iotdb/rpc/TNonblockingSocketWrapper.java       |  60 +++++
 .../java/org/apache/iotdb/rpc/TSocketWrapper.java  |  68 ++++++
 .../apache/iotdb/session/SessionConnection.java    |  13 +-
 .../apache/iotdb/session/pool/SessionPoolTest.java | 117 +++++++---
 session/src/test/resources/logback.xml             |  40 ++++
 .../test/java/org/apache/iotdb/db/sql/Cases.java   | 149 +++++++++++++
 .../java/org/apache/iotdb/db/sql/ClusterIT.java    | 150 +++++--------
 .../java/org/apache/iotdb/db/sql/SingleNodeIT.java |  92 ++------
 .../iotdb/db/sql/node1/OneNodeClusterIT.java       |  54 +++++
 .../db/sql/nodes3/AbstractThreeNodeClusterIT.java  |  61 ++++++
 .../iotdb/db/sql/nodes3/ThreeNodeCluster1IT.java   |  24 +-
 .../iotdb/db/sql/nodes3/ThreeNodeCluster2IT.java   |  27 +--
 .../db/sql/nodes5/AbstractFiveNodeClusterIT.java   |  85 ++++++++
 .../iotdb/db/sql/nodes5/FiveNodeCluster1IT.java    |  24 +-
 .../iotdb/db/sql/nodes5/FiveNodeCluster2IT.java    |  27 +--
 .../iotdb/db/sql/nodes5/FiveNodeCluster4IT.java    |  27 +--
 .../test/resources/1node/iotdb-cluster.properties  |   2 +-
 thrift-cluster/src/main/thrift/cluster.thrift      |  52 ++++-
 thrift-sync/pom.xml                                |   5 -
 .../tsfile/common/constant/TsFileConstant.java     |   3 +
 .../iotdb/tsfile/file/metadata/ChunkMetadata.java  |  16 ++
 .../iotdb/tsfile/file/metadata/IChunkMetadata.java |   6 +
 .../tsfile/file/metadata/ITimeSeriesMetadata.java  |   3 +
 .../file/metadata/MetadataIndexConstructor.java    |  54 ++++-
 .../tsfile/file/metadata/MetadataIndexNode.java    |   2 +-
 .../tsfile/file/metadata/TimeseriesMetadata.java   |  20 +-
 .../tsfile/file/metadata/VectorChunkMetadata.java  |  24 ++
 .../file/metadata/VectorTimeSeriesMetadata.java    |  16 ++
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |  80 +++++--
 .../apache/iotdb/tsfile/read/common/RowRecord.java |  38 +++-
 .../tsfile/read/query/dataset/QueryDataSet.java    |  29 ++-
 .../tsfile/v2/file/metadata/TsFileMetadataV2.java  |   9 +-
 .../tsfile/v2/read/TsFileSequenceReaderForV2.java  |  16 +-
 .../iotdb/tsfile/write/chunk/TimeChunkWriter.java  |   3 +-
 .../iotdb/tsfile/write/chunk/ValueChunkWriter.java |   3 +-
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  | 121 ++++++++---
 191 files changed, 4597 insertions(+), 1336 deletions(-)

diff --cc server/pom.xml
index 4d0f08d,08944e2..07219f6
--- a/server/pom.xml
+++ b/server/pom.xml
@@@ -213,12 -213,6 +213,12 @@@
              <version>4.3.5</version>
              <scope>compile</scope>
          </dependency>
-       <dependency>
-         <groupId>org.apache.calcite</groupId>
-         <artifactId>calcite-linq4j</artifactId>
-         <version>1.10.0</version>
-         <scope>compile</scope>
-       </dependency>
++        <dependency>
++            <groupId>org.apache.calcite</groupId>
++            <artifactId>calcite-linq4j</artifactId>
++            <version>1.10.0</version>
++            <scope>compile</scope>
++        </dependency>
      </dependencies>
      <build>
          <plugins>
diff --cc 
server/src/main/java/org/apache/iotdb/db/qp/logical/crud/QueryOperator.java
index e52dd92,c640470..7e3055b
--- 
a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/QueryOperator.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/QueryOperator.java
@@@ -279,15 -257,19 +285,31 @@@ public class QueryOperator extends Root
      this.ascending = ascending;
    }
  
 +  public boolean isLastQuery() {
 +    return selectOperator.isLastQuery();
 +  }
 +
 +  public boolean hasAggregationFunction() {
 +    return selectOperator.hasAggregationFunction();
 +  }
 +
 +  public boolean hasTimeSeriesGeneratingFunction() {
 +    return selectOperator.hasTimeSeriesGeneratingFunction();
 +  }
++
+   public boolean isWithoutAnyNull() {
+     return withoutAnyNull;
+   }
+ 
+   public void setWithoutAnyNull(boolean withoutAnyNull) {
+     this.withoutAnyNull = withoutAnyNull;
+   }
+ 
+   public boolean isWithoutAllNull() {
+     return withoutAllNull;
+   }
+ 
+   public void setWithoutAllNull(boolean withoutAllNull) {
+     this.withoutAllNull = withoutAllNull;
+   }
  }
diff --cc 
server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryPlan.java
index 6bd6ce4,a13de6f..d43413f
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryPlan.java
@@@ -157,11 -157,19 +163,27 @@@ public abstract class QueryPlan extend
      this.vectorPathToIndex = vectorPathToIndex;
    }
  
 +  public List<ResultColumn> getResultColumns() {
 +    return resultColumns;
 +  }
 +
 +  public void setResultColumns(List<ResultColumn> resultColumns) {
 +    this.resultColumns = resultColumns;
 +  }
++
+   public boolean isWithoutAnyNull() {
+     return withoutAnyNull;
+   }
+ 
+   public void setWithoutAnyNull(boolean withoutAnyNull) {
+     this.withoutAnyNull = withoutAnyNull;
+   }
+ 
+   public boolean isWithoutAllNull() {
+     return withoutAllNull;
+   }
+ 
+   public void setWithoutAllNull(boolean withoutAllNull) {
+     this.withoutAllNull = withoutAllNull;
+   }
  }
diff --cc server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
index 82ef1e0,faa4499..44d9131
--- a/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
@@@ -78,9 -78,11 +78,9 @@@ import org.apache.iotdb.db.qp.logical.s
  import org.apache.iotdb.db.qp.logical.sys.StopTriggerOperator;
  import org.apache.iotdb.db.qp.logical.sys.TracingOperator;
  import org.apache.iotdb.db.qp.physical.crud.GroupByTimePlan;
 -import org.apache.iotdb.db.qp.sql.SqlBaseParser.AggregationCallContext;
 -import org.apache.iotdb.db.qp.sql.SqlBaseParser.AggregationElementContext;
  import org.apache.iotdb.db.qp.sql.SqlBaseParser.AliasClauseContext;
- import 
org.apache.iotdb.db.qp.sql.SqlBaseParser.AlignByDeviceClauseOrDisableAlignInSpecialLimitContext;
- import 
org.apache.iotdb.db.qp.sql.SqlBaseParser.AlignByDeviceStatementOrDisableAlignInSpecialClauseContext;
+ import 
org.apache.iotdb.db.qp.sql.SqlBaseParser.AlignByDeviceClauseOrDisableAlignContext;
+ import 
org.apache.iotdb.db.qp.sql.SqlBaseParser.AlignByDeviceClauseOrDisableAlignStatementContext;
  import org.apache.iotdb.db.qp.sql.SqlBaseParser.AlterClauseContext;
  import org.apache.iotdb.db.qp.sql.SqlBaseParser.AlterTimeseriesContext;
  import org.apache.iotdb.db.qp.sql.SqlBaseParser.AlterUserContext;
@@@ -206,8 -212,11 +206,9 @@@ import org.apache.iotdb.db.qp.sql.SqlBa
  import org.apache.iotdb.db.qp.sql.SqlBaseParser.TracingOnContext;
  import org.apache.iotdb.db.qp.sql.SqlBaseParser.TriggerAttributeContext;
  import org.apache.iotdb.db.qp.sql.SqlBaseParser.TypeClauseContext;
 -import org.apache.iotdb.db.qp.sql.SqlBaseParser.UdfAttributeContext;
 -import org.apache.iotdb.db.qp.sql.SqlBaseParser.UdfCallContext;
  import org.apache.iotdb.db.qp.sql.SqlBaseParser.UnsetTTLStatementContext;
  import org.apache.iotdb.db.qp.sql.SqlBaseParser.WhereClauseContext;
+ import org.apache.iotdb.db.qp.sql.SqlBaseParser.WithoutNullStatementContext;
  import org.apache.iotdb.db.qp.utils.DatetimeUtils;
  import org.apache.iotdb.db.query.executor.fill.IFill;
  import org.apache.iotdb.db.query.executor.fill.LinearFill;
diff --cc 
server/src/main/java/org/apache/iotdb/db/qp/strategy/PhysicalGenerator.java
index 9bfc7e1,217a3bb..5c81c6e
--- 
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
@@@ -540,9 -540,9 +540,9 @@@ public class PhysicalGenerator 
  
    @SuppressWarnings("squid:S3776") // Suppress high Cognitive Complexity 
warning
    private PhysicalPlan transformQuery(QueryOperator queryOperator) throws 
QueryProcessException {
-     QueryPlan queryPlan = null;
+     QueryPlan queryPlan;
  
 -    if (queryOperator.hasAggregation()) {
 +    if (queryOperator.hasAggregationFunction()) {
        queryPlan = new AggPhysicalPlanRule().transform(queryOperator);
      } else if (queryOperator.isFill()) {
        queryPlan = new FillPhysicalPlanRule().transform(queryOperator);

Reply via email to