This is an automated email from the ASF dual-hosted git repository. jiangtian pushed a commit to branch expr in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 918a7056697d2b859d5ac8c1536f70f5e04a9f46 Merge: f505f20 461d22b Author: jt <[email protected]> AuthorDate: Mon Nov 1 14:28:29 2021 +0800 Merge branch 'master' into expr # Conflicts: # server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java # server/src/main/java/org/apache/iotdb/db/qp/logical/Operator.java # server/src/main/java/org/apache/iotdb/db/qp/physical/PhysicalPlan.java .asf.yaml | 2 +- .github/dependabot.yml | 71 + .gitignore | 5 + .mvn/wrapper/MavenWrapperDownloader.java | 2 +- .../org/apache/iotdb/db/qp/sql/IoTDBSqlLexer.g4 | 950 ++++++ .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 836 +++++ .../antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4 | 1602 --------- cli/pom.xml | 2 +- .../java/org/apache/iotdb/cli/AbstractCli.java | 67 + .../main/java/org/apache/iotdb/tool/ImportCsv.java | 88 +- client-cpp/pom.xml | 2 +- .../cluster/client/sync/SyncClientAdaptor.java | 10 + .../iotdb/cluster/log/StableEntryManager.java | 6 + .../cluster/log/manage/CommittedEntryManager.java | 12 + .../manage/FilePartitionedSnapshotLogManager.java | 12 +- .../iotdb/cluster/log/manage/RaftLogManager.java | 6 +- .../serializable/SyncLogDequeSerializer.java | 25 + .../iotdb/cluster/log/snapshot/FileSnapshot.java | 13 +- .../apache/iotdb/cluster/metadata/CMManager.java | 85 +- .../iotdb/cluster/query/ClusterPlanExecutor.java | 138 + .../iotdb/cluster/query/ClusterPlanRouter.java | 57 +- .../iotdb/cluster/query/LocalQueryExecutor.java | 53 +- .../cluster/query/filter/SlotTsFileFilter.java | 5 +- .../cluster/query/reader/ClusterReaderFactory.java | 24 +- .../iotdb/cluster/server/DataClusterServer.java | 15 + .../cluster/server/member/DataGroupMember.java | 2 +- .../cluster/server/service/DataAsyncService.java | 12 + .../cluster/server/service/DataSyncService.java | 9 + .../iotdb/cluster/utils/ClusterQueryUtils.java | 43 + .../cluster/client/sync/SyncClientAdaptorTest.java | 14 +- .../org/apache/iotdb/cluster/common/TestUtils.java | 2 +- .../iotdb/cluster/integration/SingleNodeTest.java | 2 +- .../cluster/log/snapshot/PullSnapshotTaskTest.java | 13 +- .../cluster/partition/SlotPartitionTableTest.java | 37 - .../apache/iotdb/cluster/query/BaseQueryTest.java | 9 +- .../cluster/server/member/DataGroupMemberTest.java | 11 +- compile-tools/thrift/pom.xml | 2 +- docker/ReadMe.md | 44 + .../main/DockerCompose/docker-compose-grafana.yml | 50 + docker/src/main/Dockerfile-0.12.2-grafana | 41 + docs/SystemDesign/StorageEngine/MergeManager.md | 6 +- docs/UserGuide/API/Programming-Java-Native-API.md | 10 + .../Administration-Management/Administration.md | 8 +- docs/UserGuide/Advanced-Features/Triggers.md | 12 +- .../Advanced-Features/UDF-User-Defined-Function.md | 6 +- docs/UserGuide/Appendix/SQL-Reference.md | 24 +- .../Data-Concept/Data-Model-and-Terminology.md | 70 +- .../UserGuide/Ecosystem Integration/Spark IoTDB.md | 18 +- .../DML-Data-Manipulation-Language.md | 12 +- .../IoTDB-SQL-Language/Syntax-Conventions.md | 115 + .../UserGuide/System-Tools/Load-External-Tsfile.md | 38 +- .../System-Tools/Monitor-and-Log-Tools.md | 2 +- .../System-Tools/Performance-Tracing-Tool.md | 56 +- docs/UserGuide/System-Tools/Watermark-Tool.md | 2 +- docs/zh/SystemDesign/StorageEngine/MergeManager.md | 6 +- docs/zh/UserGuide/API/InfluxDB-Protocol.md | 216 +- .../UserGuide/API/Programming-Java-Native-API.md | 16 +- .../Administration-Management/Administration.md | 8 +- docs/zh/UserGuide/Advanced-Features/Triggers.md | 12 +- .../Advanced-Features/UDF-User-Defined-Function.md | 6 +- docs/zh/UserGuide/Appendix/Config-Manual.md | 18 - docs/zh/UserGuide/Appendix/SQL-Reference.md | 24 +- docs/zh/UserGuide/Cluster/Cluster-Setup.md | 8 +- .../Data-Concept/Data-Model-and-Terminology.md | 69 +- .../UserGuide/Ecosystem Integration/Spark IoTDB.md | 18 +- .../DML-Data-Manipulation-Language.md | 12 +- .../IoTDB-SQL-Language/Syntax-Conventions.md | 116 + .../UserGuide/System-Tools/Load-External-Tsfile.md | 38 +- .../System-Tools/Monitor-and-Log-Tools.md | 10 +- .../System-Tools/Performance-Tracing-Tool.md | 58 +- docs/zh/UserGuide/System-Tools/Watermark-Tool.md | 2 +- .../main/java/org/apache/iotdb/JDBCExample.java | 6 +- .../org/apache/iotdb/PrepareStatementDemo.java | 2 +- example/trigger/pom.xml | 2 +- example/udf/pom.xml | 2 +- .../flink/tsfile/RowTsFileInputFormatTest.java | 14 +- hive-connector/pom.xml | 4 +- influxdb-protocol/pom.xml | 29 + .../influxdb/protocol/input/InfluxLineProtocol.g4 | 93 + .../org/apache/iotdb/influxdb/IoTDBInfluxDB.java | 172 +- .../iotdb/influxdb/IoTDBInfluxDBFactory.java | 17 +- .../iotdb/influxdb/example/InfluxDBExample.java | 2 +- .../protocol/constant/InfluxDBConstant.java | 14 +- .../iotdb/influxdb/protocol/dto/IoTDBPoint.java | 55 +- .../iotdb/influxdb/protocol/dto/SessionPoint.java | 47 +- .../protocol/impl/IoTDBInfluxDBService.java | 148 + .../influxdb/protocol/input/InfluxLineParser.java | 165 + .../iotdb/influxdb/protocol/meta/MetaManager.java | 181 ++ .../influxdb/protocol/meta/MetaManagerHolder.java | 54 + .../influxdb/protocol/meta/TagInfoRecords.java | 85 + .../influxdb/protocol/util/DataTypeUtils.java | 86 + .../util/ParameterUtils.java} | 4 +- .../influxdb/integration/IoTDBInfluxDBIT.java | 136 +- .../protocol/input/InfluxLineParserTest.java | 55 + .../iotdb/jdbc/AbstractIoTDBJDBCResultSet.java | 22 + .../main/java/org/apache/iotdb/jdbc/Constant.java | 12 + .../org/apache/iotdb/jdbc/IoTDBConnection.java | 6 +- .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 25 + .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java | 11 + .../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java | 6 + .../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 4 + .../org/apache/iotdb/jdbc/IoTDBTracingInfo.java | 103 + jenkins.pom | 2 +- pom.xml | 76 +- server/pom.xml | 3 +- .../resources/conf/iotdb-engine.properties | 91 +- server/src/assembly/resources/conf/logback.xml | 20 + .../resources/tools/tsfileToolSet/settle.bat | 62 + .../resources/tools/tsfileToolSet/settle.sh | 43 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 277 +- .../org/apache/iotdb/db/conf/IoTDBConfigCheck.java | 6 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 96 +- .../iotdb/db/conf/adapter/CompressionRatio.java | 2 +- .../db/cq/ContinuousQueryTaskPoolManager.java | 2 +- .../org/apache/iotdb/db/engine/StorageEngine.java | 35 +- .../apache/iotdb/db/engine/cache/ChunkCache.java | 4 +- .../db/engine/cache/TimeSeriesMetadataCache.java | 15 +- .../compaction/CompactionMergeTaskPoolManager.java | 195 -- .../CompactionPriority.java} | 11 +- .../db/engine/compaction/CompactionScheduler.java | 299 ++ .../compaction/CompactionTaskComparator.java | 109 + .../engine/compaction/CompactionTaskManager.java | 265 ++ .../db/engine/compaction/TsFileManagement.java | 460 --- .../AbstractCrossSpaceCompactionRecoverTask.java} | 20 +- .../AbstractCrossSpaceCompactionSelector.java | 51 + .../cross/AbstractCrossSpaceCompactionTask.java | 96 + .../compaction/cross/CrossCompactionStrategy.java | 117 + .../cross/CrossSpaceCompactionTaskFactory.java | 58 + .../inplace/InplaceCompactionRecoverTask.java | 109 + .../cross/inplace/InplaceCompactionSelector.java | 152 + .../cross/inplace/InplaceCompactionTask.java | 251 ++ .../inplace/manage/CrossSpaceMergeContext.java} | 6 +- .../inplace/manage/CrossSpaceMergeResource.java} | 17 +- .../cross/inplace}/manage/MergeFuture.java | 10 +- .../cross/inplace}/manage/MergeManager.java | 66 +- .../cross/inplace}/manage/MergeManagerMBean.java | 2 +- .../cross/inplace}/manage/MergeThreadPool.java | 14 +- .../cross/inplace}/recover/LogAnalyzer.java | 34 +- .../cross/inplace}/recover/MergeLogger.java | 15 +- .../selector/ICrossSpaceMergeFileSelector.java} | 4 +- .../selector/IFileQueryMemMeasurement.java | 2 +- .../inplace}/selector/IMergePathSelector.java | 2 +- .../selector/MaxFileMergeFileSelector.java | 25 +- .../selector/MaxSeriesMergeFileSelector.java | 6 +- .../cross/inplace}/selector/MergeFileStrategy.java | 2 +- .../cross/inplace}/selector/NaivePathSelector.java | 2 +- .../cross/inplace/task/CrossSpaceMergeTask.java} | 40 +- .../cross/inplace}/task/MergeCallback.java | 2 +- .../cross/inplace}/task/MergeFileTask.java | 24 +- .../cross/inplace}/task/MergeMultiChunkTask.java | 43 +- .../cross/inplace/task/RecoverCrossMergeTask.java} | 24 +- .../AbstractInnerSpaceCompactionSelector.java | 52 + .../inner/AbstractInnerSpaceCompactionTask.java | 131 + .../compaction/inner/InnerCompactionStrategy.java | 108 + .../inner/InnerSpaceCompactionTaskFactory.java | 51 + .../SizeTieredCompactionRecoverTask.java | 151 + .../sizetiered/SizeTieredCompactionSelector.java | 200 ++ .../inner/sizetiered/SizeTieredCompactionTask.java | 239 ++ .../utils/InnerSpaceCompactionUtils.java} | 189 +- .../utils/SizeTieredCompactionLogAnalyzer.java} | 40 +- .../utils/SizeTieredCompactionLogger.java} | 19 +- .../level/LevelCompactionTsFileManagement.java | 899 ----- .../no/NoCompactionTsFileManagement.java | 298 -- .../task/AbstractCompactionSelector.java} | 22 +- .../compaction/task/AbstractCompactionTask.java | 89 + .../compaction/task/CompactionRecoverTask.java | 101 + .../engine/flush/pool/FlushSubTaskPoolManager.java | 1 + .../db/engine/flush/pool/FlushTaskPoolManager.java | 1 + .../iotdb/db/engine/memtable/AbstractMemTable.java | 16 +- .../db/engine/modification/ModificationFile.java | 11 + .../apache/iotdb/db/engine/settle/SettleLog.java | 116 + .../apache/iotdb/db/engine/settle/SettleTask.java | 108 + .../engine/storagegroup/StorageGroupProcessor.java | 546 ++-- .../db/engine/storagegroup/TsFileManager.java | 312 ++ .../engine/storagegroup/TsFileNameGenerator.java | 248 ++ .../db/engine/storagegroup/TsFileProcessor.java | 3 + .../db/engine/storagegroup/TsFileResource.java | 246 +- .../db/engine/storagegroup/TsFileResourceList.java | 443 +++ .../storagegroup/timeindex/DeviceTimeIndex.java | 2 +- .../storagegroup/timeindex/FileTimeIndex.java | 2 +- .../virtualSg/VirtualStorageGroupManager.java | 33 +- .../WriteLockFailedException.java} | 9 +- .../metadata/DifferentTemplateException.java} | 23 +- .../metadata/NoTemplateOnMNodeException.java} | 15 +- .../metadata/TemplateIsInUseException.java} | 15 +- .../org/apache/iotdb/db/metadata/MManager.java | 110 +- .../org/apache/iotdb/db/metadata/PartialPath.java | 18 +- .../iotdb/db/metadata/logfile/MLogUpgrader.java | 290 ++ .../iotdb/db/metadata/logfile/MLogWriter.java | 205 +- .../iotdb/db/metadata/mnode/IEntityMNode.java | 19 - .../org/apache/iotdb/db/metadata/mnode/IMNode.java | 4 +- .../iotdb/db/metadata/mnode/InternalMNode.java | 13 - .../org/apache/iotdb/db/metadata/mnode/MNode.java | 10 + .../mnode/{IEntityMNode.java => MNodeUtils.java} | 58 +- .../iotdb/db/metadata/mnode/MeasurementMNode.java | 5 - .../org/apache/iotdb/db/metadata/mtree/MTree.java | 96 +- .../iotdb/db/metadata/utils/MetaFormatUtils.java | 2 +- .../apache/iotdb/db/metadata/utils/MetaUtils.java | 36 +- .../org/apache/iotdb/db/monitor/StatMonitor.java | 2 +- .../iotdb/db/qp/constant/FilterConstant.java | 20 +- .../apache/iotdb/db/qp/constant/SQLConstant.java | 4 + .../apache/iotdb/db/qp/executor/PlanExecutor.java | 96 +- .../org/apache/iotdb/db/qp/logical/Operator.java | 3 + .../qp/logical/crud/AggregationQueryOperator.java | 12 +- .../iotdb/db/qp/logical/crud/QueryOperator.java | 37 +- .../db/qp/logical/crud/SpecialClauseComponent.java | 21 +- .../iotdb/db/qp/logical/sys/SettleOperator.java | 71 + .../apache/iotdb/db/qp/physical/PhysicalPlan.java | 3 +- .../iotdb/db/qp/physical/crud/AggregationPlan.java | 81 +- .../iotdb/db/qp/physical/crud/InsertPlan.java | 3 + .../iotdb/db/qp/physical/crud/QueryPlan.java | 17 +- .../qp/physical/crud/UnsetSchemaTemplatePlan.java | 96 + .../physical/sys/SettlePlan.java} | 56 +- .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 3435 ++++++++++---------- .../iotdb/db/qp/strategy/LogicalGenerator.java | 31 +- .../qp/strategy/optimizer/ConcatPathOptimizer.java | 20 +- .../iotdb/db/qp/utils/GroupByLevelController.java | 150 + .../apache/iotdb/db/qp/utils/WildcardsRemover.java | 3 +- .../db/query/aggregation/impl/SumAggrResult.java | 70 +- .../iotdb/db/query/context/QueryContext.java | 9 + .../iotdb/db/query/control/FileReaderManager.java | 2 - .../db/query/control/QueryResourceManager.java | 34 +- .../apache/iotdb/db/query/control/TracingInfo.java | 85 - .../iotdb/db/query/control/TracingManager.java | 229 -- .../control/tracing/TracingConstant.java} | 21 +- .../db/query/control/tracing/TracingInfo.java | 156 + .../db/query/control/tracing/TracingManager.java | 82 + .../db/query/dataset/AlignByDeviceDataSet.java | 4 +- .../dataset/groupby/GroupByEngineDataSet.java | 6 + ...ByTimeDataSet.java => GroupByLevelDataSet.java} | 59 +- .../groupby/GroupByWithValueFilterDataSet.java | 26 +- .../groupby/GroupByWithoutValueFilterDataSet.java | 25 +- .../db/query/executor/AggregationExecutor.java | 33 +- .../iotdb/db/query/executor/QueryRouter.java | 21 +- .../db/query/executor/RawDataQueryExecutor.java | 1 + .../query/expression/unary/FunctionExpression.java | 7 + .../iotdb/db/query/pool/QueryTaskPoolManager.java | 2 +- .../resource/CachedUnseqResourceMergeReader.java | 1 + .../iotdb/db/query/reader/series/SeriesReader.java | 24 +- .../reader/universal/PriorityMergeReader.java | 13 +- .../iotdb/db/query/udf/core/layer/SafetyLine.java | 3 + .../row/ElasticSerializableRowRecordList.java | 33 +- .../row/SerializableRowRecordList.java | 8 + .../flush/pool => rescon}/AbstractPoolManager.java | 2 +- .../java/org/apache/iotdb/db/service/IoTDB.java | 11 +- .../org/apache/iotdb/db/service/ServiceType.java | 1 + .../org/apache/iotdb/db/service/SettleService.java | 190 ++ .../org/apache/iotdb/db/service/TSServiceImpl.java | 106 +- .../receiver/recover/SyncReceiverLogAnalyzer.java | 2 +- .../db/sync/receiver/transfer/SyncServiceImpl.java | 46 +- .../db/sync/sender/manage/SyncFileManager.java | 4 +- .../iotdb/db/sync/sender/transfer/SyncClient.java | 59 +- .../apache/iotdb/db/tools/TsFileRewriteTool.java | 117 +- .../db/tools/settle/TsFileAndModSettleTool.java | 360 ++ .../db/tools/upgrade/TsFileOnlineUpgradeTool.java | 73 +- .../org/apache/iotdb/db/utils/FilePathUtils.java | 261 -- .../java/org/apache/iotdb/db/utils/MergeUtils.java | 8 +- .../runtime/WindowEvaluationTaskPoolManager.java | 2 +- .../db/writelog/node/ExclusiveWriteLogNode.java | 1 - .../db/conf/adapter/CompressionRatioTest.java | 2 +- .../org/apache/iotdb/db/constant/TestConstant.java | 30 + .../MergeTest.java => cache/ChunkCacheTest.java} | 196 +- .../engine/compaction/CompactionSchedulerTest.java | 2093 ++++++++++++ .../compaction/CompactionTaskComparatorTest.java | 313 ++ .../compaction/LevelCompactionMergeTest.java | 375 --- .../engine/compaction/LevelCompactionModsTest.java | 135 - .../compaction/LevelCompactionSelectorTest.java | 76 - .../LevelCompactionTsFileManagementTest.java | 228 -- .../NoCompactionTsFileManagementTest.java | 235 -- .../compaction/cross/CrossSpaceCompactionTest.java | 720 ++++ .../cross}/MaxFileMergeFileSelectorTest.java | 45 +- .../cross}/MaxSeriesMergeFileSelectorTest.java | 18 +- .../{merge => compaction/cross}/MergeLogTest.java | 12 +- .../cross}/MergeManagerTest.java | 40 +- .../cross}/MergeOverLapTest.java | 62 +- .../{merge => compaction/cross}/MergePerfTest.java | 12 +- .../{merge => compaction/cross}/MergeTaskTest.java | 79 +- .../{merge => compaction/cross}/MergeTest.java | 50 +- .../cross}/MergeUpgradeTest.java | 8 +- .../InnerCompactionCacheTest.java} | 71 +- .../InnerCompactionChunkTest.java} | 66 +- .../InnerCompactionLogTest.java} | 38 +- .../InnerCompactionMoreDataTest.java} | 102 +- .../inner/InnerCompactionSchedulerTest.java | 135 + .../InnerCompactionTest.java} | 121 +- .../compaction/inner/InnerSeqCompactionTest.java | 934 ++++++ .../inner/InnerSpaceCompactionUtilsTest.java | 135 + .../compaction/inner/InnerUnseqCompactionTest.java | 780 +++++ .../SizeTieredCompactionRecoverTest.java} | 580 ++-- .../sizetiered/SizeTieredCompactionTest.java} | 100 +- .../task/FakedCrossSpaceCompactionTask.java | 71 + .../task/FakedCrossSpaceCompactionTaskFactory.java | 56 + .../task/FakedInnerSpaceCompactionTask.java | 90 + .../task/FakedInnerSpaceCompactionTaskFactory.java | 51 + .../compaction/utils/CompactionCheckerUtils.java | 472 +++ .../compaction/utils/CompactionClearUtils.java | 59 + .../utils/CompactionFileGeneratorUtils.java | 246 ++ .../compaction/utils/CompactionOverlapType.java} | 12 +- .../utils/CompactionTimeseriesType.java} | 11 +- .../engine/modification/DeletionFileNodeTest.java | 10 - .../db/engine/modification/DeletionQueryTest.java | 12 - .../engine/storagegroup/FakedTsFileResource.java | 76 + .../storagegroup/StorageGroupProcessorTest.java | 48 +- .../iotdb/db/engine/storagegroup/TTLTest.java | 9 - .../db/engine/storagegroup/TsFileManagerTest.java | 240 ++ .../engine/storagegroup/TsFileProcessorTest.java | 15 +- .../storagegroup/TsFileResourceListTest.java | 185 ++ .../iotdb/db/integration/IOTDBGroupByIT.java | 156 +- .../integration/IOTDBGroupByInnerIntervalIT.java | 2 +- .../iotdb/db/integration/IoTDBAlignByDeviceIT.java | 8 - .../iotdb/db/integration/IoTDBArithmeticIT.java | 7 +- .../db/integration/IoTDBContinuousQueryIT.java | 48 +- .../db/integration/IoTDBCreateStorageGroupIT.java | 2 +- .../db/integration/IoTDBDeleteTimeseriesIT.java | 7 - .../iotdb/db/integration/IoTDBDeletionIT.java | 16 +- .../iotdb/db/integration/IoTDBFilePathUtilsIT.java | 8 +- .../apache/iotdb/db/integration/IoTDBFillIT.java | 6 - .../iotdb/db/integration/IoTDBGroupByMonthIT.java | 10 +- .../iotdb/db/integration/IoTDBGroupByUnseqIT.java | 4 - .../org/apache/iotdb/db/integration/IoTDBInIT.java | 24 +- .../iotdb/db/integration/IoTDBLargeDataIT.java | 7 - ...IoTDBLoadExternalTsFileWithTimePartitionIT.java | 34 +- .../db/integration/IoTDBLoadExternalTsfileIT.java | 62 +- .../integration/IoTDBManageTsFileResourceIT.java | 15 +- .../apache/iotdb/db/integration/IoTDBMergeIT.java | 89 +- .../iotdb/db/integration/IoTDBMultiDeviceIT.java | 7 - .../IoTDBMultiOverlappedChunkInUnseqIT.java | 11 +- .../db/integration/IoTDBMultiOverlappedPageIT.java | 7 - .../iotdb/db/integration/IoTDBMultiSeriesIT.java | 7 - .../db/integration/IoTDBMultiStatementsIT.java | 7 - .../iotdb/db/integration/IoTDBNestedQueryIT.java | 28 +- .../db/integration/IoTDBNewTsFileCompactionIT.java | 51 +- .../db/integration/IoTDBOverlappedPageIT.java | 11 - .../iotdb/db/integration/IoTDBQueryDemoIT.java | 20 +- .../iotdb/db/integration/IoTDBQuotedPathIT.java | 35 +- .../db/integration/IoTDBRemovePartitionIT.java | 4 +- .../iotdb/db/integration/IoTDBRestartIT.java | 4 +- .../iotdb/db/integration/IoTDBSeriesReaderIT.java | 7 - .../IoTDBSetSystemReadOnlyWritableIT.java | 20 +- .../apache/iotdb/db/integration/IoTDBSettleIT.java | 94 + .../iotdb/db/integration/IoTDBSimpleQueryIT.java | 39 +- ...ionIT.java => IoTDBSizeTieredCompactionIT.java} | 498 ++- .../iotdb/db/integration/IoTDBTracingIT.java | 62 +- .../db/integration/IoTDBTriggerExecutionIT.java | 314 +- .../db/integration/IoTDBTriggerManagementIT.java | 172 +- .../iotdb/db/integration/IoTDBUDFManagementIT.java | 26 +- .../db/integration/IoTDBUDFWindowQueryIT.java | 20 +- .../integration/IoTDBUDTFAlignByTimeQueryIT.java | 18 +- .../db/integration/IoTDBUDTFHybridQueryIT.java | 10 +- .../db/integration/IoTDBUDTFNonAlignQueryIT.java | 6 +- .../aggregation/IoTDBAggregationByLevelIT.java | 222 +- .../aggregation/IoTDBAggregationIT.java | 7 - .../aggregation/IoTDBAggregationLargeDataIT.java | 7 - .../aggregation/IoTDBAggregationSmallDataIT.java | 10 +- .../db/integration/auth/IoTDBAuthorizationIT.java | 118 +- .../iotdb/db/metadata/MManagerAdvancedTest.java | 12 +- .../iotdb/db/metadata/MManagerBasicTest.java | 113 +- .../org/apache/iotdb/db/metadata/MTreeTest.java | 18 +- .../apache/iotdb/db/metadata/MetaUtilsTest.java | 30 +- .../apache/iotdb/db/metadata/PartialPathTest.java | 7 + .../iotdb/db/metadata/mlog/MLogUpgraderTest.java | 104 + .../iotdb/db/monitor/IoTDBStatMonitorTest.java | 4 +- .../java/org/apache/iotdb/db/qp/PlannerTest.java | 4 +- .../iotdb/db/qp/logical/IndexLogicalPlanTest.java | 156 - .../iotdb/db/qp/other/TSPlanContextAuthorTest.java | 8 +- .../physical/IndexSubMatchingPhysicalPlanTest.java | 163 - .../IndexWholeMatchingPhysicalPlanTest.java | 168 - .../iotdb/db/qp/physical/PhysicalPlanTest.java | 36 +- .../iotdb/db/qp/sql/IoTDBsqlVisitorTest.java | 12 +- .../iotdb/db/query/control/TracingManagerTest.java | 115 - .../iotdb/db/query/dataset/ListDataSetTest.java | 2 +- .../iotdb/db/query/dataset/SingleDataSetTest.java | 2 +- .../query/dataset/UDTFAlignByTimeDataSetTest.java | 8 +- .../dataset/groupby/GroupByLevelDataSetTest.java | 9 +- .../dataset/groupby/GroupByTimeDataSetTest.java | 9 +- .../query/reader/series/SeriesReaderTestUtil.java | 47 +- .../db/sync/sender/manage/SyncFileManagerTest.java | 2 +- .../sender/recover/SyncSenderLogAnalyzerTest.java | 2 +- .../db/sync/sender/transfer/SyncClientTest.java | 2 +- .../iotdb/db/tools/TsFileAndModSettleToolTest.java | 238 ++ .../apache/iotdb/db/utils/EnvironmentUtils.java | 12 +- .../iotdb/db/utils/TsFileRewriteToolTest.java | 76 +- .../db/writelog/recover/SeqTsFileRecoverTest.java | 10 +- .../java/org/apache/iotdb/rpc/TSStatusCode.java | 3 + .../main/java/org/apache/iotdb/session/Config.java | 4 + .../org/apache/iotdb/session/InsertConsumer.java | 21 +- .../java/org/apache/iotdb/session/Session.java | 252 +- .../apache/iotdb/session/SessionConnection.java | 21 + .../org/apache/iotdb/session/pool/SessionPool.java | 37 +- .../iotdb/session/{ => util}/SessionUtils.java | 2 +- .../org/apache/iotdb/session/util/ThreadUtils.java | 45 + .../iotdb/session/IoTDBSessionComplexIT.java | 12 +- .../apache/iotdb/session/IoTDBSessionSimpleIT.java | 3 +- .../session/IoTDBSessionVectorABDeviceIT.java | 7 +- .../session/IoTDBSessionVectorAggregationIT.java | 7 +- .../IoTDBSessionVectorAggregationWithUnSeqIT.java | 7 +- .../java/org/apache/iotdb/session/SessionTest.java | 94 + .../apache/iotdb/session/pool/SessionPoolTest.java | 35 +- .../apache/iotdb/session/util/ThreadUtilsTest.java | 24 +- site/pom.xml | 12 +- site/src/main/.vuepress/config.js | 6 +- spark-iotdb-connector/Readme.md | 168 - spark-tsfile/README.md | 335 -- .../test/java/org/apache/iotdb/db/sql/Cases.java | 190 +- thrift-cluster/src/main/thrift/cluster.thrift | 8 +- thrift/rpc-changelist.md | 22 + thrift/src/main/thrift/rpc.thrift | 25 +- .../iotdb/tsfile/file/metadata/ChunkMetadata.java | 17 +- .../read/controller/CachedChunkLoaderImpl.java | 3 +- .../apache/iotdb/tsfile/utils/FilePathUtils.java | 126 + .../tsfile/write/chunk/ChunkGroupWriterImpl.java | 2 +- .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java | 2 +- .../iotdb/tsfile/write/chunk/IChunkWriter.java | 2 +- .../tsfile/write/chunk/VectorChunkWriterImpl.java | 3 +- .../write/writer/RestorableTsFileIOWriter.java | 41 + .../iotdb/tsfile/write/writer/TsFileIOWriter.java | 2 +- .../apache/iotdb/tsfile/constant/TestConstant.java | 4 + .../iotdb/tsfile/read/ReadOnlyTsFileTest.java | 7 +- .../org/apache/iotdb/tsfile/read/ReadTest.java | 3 +- .../iotdb/tsfile/read/TimePlainEncodeReadTest.java | 3 +- .../read/query/timegenerator/ReadWriteTest.java | 8 +- .../timegenerator/TimeGeneratorReadEmptyTest.java | 7 +- .../timegenerator/TimeGeneratorReadWriteTest.java | 7 +- .../TsFileGeneratorForSeriesReaderByTimestamp.java | 21 +- .../apache/iotdb/tsfile/utils/FileGenerator.java | 36 +- .../iotdb/tsfile}/utils/FilePathUtilsTest.java | 36 +- .../iotdb/tsfile/utils/TsFileGeneratorForTest.java | 39 +- .../tsfile/write/DefaultSchemaTemplateTest.java | 6 +- ...SameMeasurementsWithDifferentDataTypesTest.java | 7 +- .../iotdb/tsfile/write/TsFileIOWriterTest.java | 142 +- .../iotdb/tsfile/write/TsFileReadWriteTest.java | 7 +- .../iotdb/tsfile/write/TsFileWriterTest.java | 17 +- .../write/writer/ForceAppendTsFileWriterTest.java | 8 +- .../write/writer/RestorableTsFileIOWriterTest.java | 79 +- .../write/writer/VectorChunkWriterImplTest.java | 4 +- zeppelin-interpreter/pom.xml | 2 +- 436 files changed, 24533 insertions(+), 12805 deletions(-) diff --cc server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java index 3348b9b,fe4c59f..36627c7 --- a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java +++ b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java @@@ -373,8 -370,9 +370,11 @@@ public class PlanExecutor implements IP return operateCreateContinuousQuery((CreateContinuousQueryPlan) plan); case DROP_CONTINUOUS_QUERY: return operateDropContinuousQuery((DropContinuousQueryPlan) plan); + case EMPTY: + return true; + case SETTLE: + settle((SettlePlan) plan); + return true; default: throw new UnsupportedOperationException( String.format("operation %s is not supported", plan.getOperatorType())); diff --cc server/src/main/java/org/apache/iotdb/db/qp/logical/Operator.java index 952df57,483415e..8e03bae --- a/server/src/main/java/org/apache/iotdb/db/qp/logical/Operator.java +++ b/server/src/main/java/org/apache/iotdb/db/qp/logical/Operator.java @@@ -173,6 -173,8 +173,9 @@@ public abstract class Operator SHOW_CONTINUOUS_QUERIES, SET_SYSTEM_MODE, + EMPTY, + SETTLE, + + UNSET_SCHEMA_TEMPLATE } } diff --cc server/src/main/java/org/apache/iotdb/db/qp/physical/PhysicalPlan.java index b4801b5,e0371ef..464d9cf --- a/server/src/main/java/org/apache/iotdb/db/qp/physical/PhysicalPlan.java +++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/PhysicalPlan.java @@@ -488,8 -484,8 +488,9 @@@ public abstract class PhysicalPlan CREATE_FUNCTION, DROP_FUNCTION, SELECT_INTO, + DUMMY, - SET_SYSTEM_MODE + SET_SYSTEM_MODE, + UNSET_SCHEMA_TEMPLATE } public long getIndex() {
