This is an automated email from the ASF dual-hosted git repository. jackietien pushed a commit to branch ty/SupportNoMeasurementColumn in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 7aff25dcc3553463ba972820117679847c93d7df Merge: b9154ca69f8 3ca3f44aec1 Author: JackieTien97 <[email protected]> AuthorDate: Fri Sep 20 20:19:18 2024 +0800 resolve conflicts .../org/apache/iotdb/db/it/IoTDBLoadTsFileIT.java | 8 +- .../pipe/it/autocreate/IoTDBPipeSyntaxIT.java | 11 + .../it/query/recent/IoTDBNullIdQueryIT.java | 50 ++++ .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 22 +- .../confignode/manager/load/cache/LoadCache.java | 14 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 2 +- .../connector/protocol/opcua/OpcUaConnector.java | 16 +- .../common/tablet/PipeRawTabletInsertionEvent.java | 6 +- .../common/tsfile/PipeTsFileInsertionEvent.java | 6 +- .../scan/TsFileInsertionScanDataContainer.java | 16 +- .../PipeHistoricalDataRegionTsFileExtractor.java | 2 +- .../realtime/assigner/PipeDataRegionAssigner.java | 13 +- .../PipeTimePartitionProgressIndexKeeper.java | 8 +- .../processor/aggregate/AggregateProcessor.java | 14 +- .../twostage/plugin/TwoStageCountProcessor.java | 12 +- .../operator/source/AlignedSeriesScanOperator.java | 3 +- .../operator/source/AlignedSeriesScanUtil.java | 7 +- .../source/relational/TableScanOperator.java | 3 +- .../db/queryengine/plan/parser/ASTVisitor.java | 33 ++- .../plan/planner/plan/node/PlanGraphPrinter.java | 28 +- .../plan/node/write/InsertMultiTabletsNode.java | 2 +- .../plan/planner/plan/node/write/InsertNode.java | 2 +- .../planner/plan/node/write/InsertRowsNode.java | 4 +- .../plan/node/write/InsertRowsOfOneDeviceNode.java | 2 +- .../plan/relational/sql/parser/AstBuilder.java | 14 +- .../plan/statement/crud/LoadTsFileStatement.java | 18 ++ .../apache/iotdb/db/schemaengine/SchemaEngine.java | 2 +- .../iotdb/db/service/RegionMigrateService.java | 36 +-- .../db/storageengine/dataregion/DataRegion.java | 8 +- .../execute/performer/ICompactionPerformer.java | 2 + .../performer/impl/FastCompactionPerformer.java | 13 +- .../impl/ReadChunkCompactionPerformer.java | 11 +- .../impl/ReadPointCompactionPerformer.java | 10 +- .../RepairUnsortedFileCompactionPerformer.java | 3 +- .../task/RepairUnsortedFileCompactionTask.java | 20 +- .../subtask/FastCompactionPerformerSubTask.java | 13 +- .../execute/utils/MultiTsFileDeviceIterator.java | 42 ++- ...BatchedFastAlignedSeriesCompactionExecutor.java | 56 ++-- ...edReadChunkAlignedSeriesCompactionExecutor.java | 60 ++-- .../utils/AlignedSeriesBatchCompactionUtils.java | 20 +- ... CompactionAlignedPageLazyLoadPointReader.java} | 49 ++-- .../fast/FastAlignedSeriesCompactionExecutor.java | 19 +- .../fast/reader/CompactionAlignedChunkReader.java | 79 +++--- .../ReadChunkAlignedSeriesCompactionExecutor.java | 85 +++--- .../compaction/repair/RepairDataFileScanUtil.java | 2 +- .../repair/RepairTimePartitionScanTask.java | 6 +- .../schedule/CompactionScheduleContext.java | 40 ++- .../compaction/schedule/CompactionScheduler.java | 15 +- .../selector/constant/CrossCompactionSelector.java | 6 +- .../constant/InnerSequenceCompactionSelector.java | 2 +- .../InnerUnsequenceCompactionSelector.java | 2 +- .../impl/NewSizeTieredCompactionSelector.java | 4 +- .../impl/RewriteCrossSpaceCompactionSelector.java | 15 +- .../selector/impl/SettleSelectorImpl.java | 16 +- .../impl/SizeTieredCompactionSelector.java | 21 +- .../utils/CrossSpaceCompactionCandidate.java | 4 +- .../selector/utils/TsFileResourceCandidate.java | 1 + .../dataregion/tsfile/TsFileResource.java | 4 +- .../load/config/LoadTsFileConfigurator.java | 100 +++++++ .../relational/planner/assertions/PlanAssert.java | 3 +- .../TsFileResourceProgressIndexTest.java | 64 +++-- .../compaction/AbstractCompactionTest.java | 3 +- .../CrossSpaceCompactionWithUnusualCasesTest.java | 37 ++- ...InconsistentCompressionTypeAndEncodingTest.java | 3 +- .../FastInnerCompactionPerformerTest.java | 2 +- .../cross/CrossSpaceCompactionSelectorTest.java | 63 +++-- .../CrossSpaceCompactionWithFastPerformerTest.java | 10 +- ...eCompactionWithFastPerformerValidationTest.java | 136 +++++---- ...sSpaceCompactionWithReadPointPerformerTest.java | 10 +- ...actionWithReadPointPerformerValidationTest.java | 130 +++++---- .../InsertionCrossSpaceCompactionRecoverTest.java | 13 +- .../InsertionCrossSpaceCompactionSelectorTest.java | 105 ++++--- .../cross/InsertionCrossSpaceCompactionTest.java | 15 +- .../compaction/cross/MergeUpgradeTest.java | 4 +- .../cross/RewriteCompactionFileSelectorTest.java | 42 +-- .../inner/InnerSpaceCompactionSelectorTest.java | 25 +- .../SizeTieredCompactionSelectorTest.java | 7 +- .../repair/RepairUnsortedFileCompactionTest.java | 28 +- .../settle/SettleCompactionSelectorTest.java | 63 +++-- .../settle/SettleCompactionTaskTest.java | 4 +- .../tablemodel/CompactionWithAllNullRowsTest.java | 315 +++++++++++++++++++++ .../compaction/utils/BatchCompactionUtilsTest.java | 13 +- .../compaction/utils/CompactionCheckerUtils.java | 3 +- .../utils/MultiTsFileDeviceIteratorTest.java | 38 +-- .../commons/consensus/index/ProgressIndex.java | 43 ++- .../consensus/index/impl/HybridProgressIndex.java | 41 ++- .../consensus/index/impl/IoTProgressIndex.java | 17 +- .../consensus/index/impl/MetaProgressIndex.java | 25 +- .../consensus/index/impl/MinimumProgressIndex.java | 7 +- .../consensus/index/impl/RecoverProgressIndex.java | 27 +- .../consensus/index/impl/SimpleProgressIndex.java | 9 +- .../consensus/index/impl/StateProgressIndex.java | 29 +- .../index/impl/TimeWindowStateProgressIndex.java | 47 ++- .../commons/pipe/task/meta/PipeMetaDeSerTest.java | 13 +- .../db/relational/grammar/sql/RelationalSql.g4 | 15 +- pom.xml | 2 +- 96 files changed, 1674 insertions(+), 819 deletions(-) diff --cc integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBNullIdQueryIT.java index 1934fd5f31f,d3565d40302..cf25973b037 --- a/integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBNullIdQueryIT.java +++ b/integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBNullIdQueryIT.java @@@ -312,104 -311,53 +312,154 @@@ public class IoTDBNullIdQueryIT } @Test + public void noMeasurementColumnsSelectTest() { + String[] expectedHeader = new String[] {"time"}; + String[] retArray = + new String[] { + "1970-01-01T00:00:00.001Z,", + "1970-01-01T00:00:00.002Z,", + "1970-01-01T00:00:00.003Z,", + "1970-01-01T00:00:00.004Z,", + "1970-01-01T00:00:00.005Z,", + "1970-01-01T00:00:00.006Z,", + "1970-01-01T00:00:00.007Z," + }; + tableResultSetEqualTest("select time from table1", expectedHeader, retArray, DATABASE_NAME); + + expectedHeader = new String[] {"device_id"}; + retArray = new String[] {"d1,", "d1,", "d1,", "d1,", "d1,", "d1,"}; + tableResultSetEqualTest( + "select device_id from table1 where time > 1", expectedHeader, retArray, DATABASE_NAME); + + expectedHeader = new String[] {"color"}; + retArray = new String[] {"green,", "green,", "green,", "green,", "green,", "green,"}; + tableResultSetEqualTest( + "select color from table1 where time > 1", expectedHeader, retArray, DATABASE_NAME); + + expectedHeader = new String[] {"time", "device_id"}; + retArray = + new String[] { + "1970-01-01T00:00:00.001Z,d1,", + "1970-01-01T00:00:00.002Z,d1,", + "1970-01-01T00:00:00.003Z,d1,", + "1970-01-01T00:00:00.004Z,d1,", + "1970-01-01T00:00:00.005Z,d1,", + "1970-01-01T00:00:00.006Z,d1,", + }; + tableResultSetEqualTest( + "select time, device_id from table1 where time < 7", + expectedHeader, + retArray, + DATABASE_NAME); + + expectedHeader = new String[] {"time", "device_id", "color"}; + retArray = + new String[] { + "1970-01-01T00:00:00.001Z,d1,green,", + "1970-01-01T00:00:00.002Z,d1,green,", + "1970-01-01T00:00:00.003Z,d1,green,", + "1970-01-01T00:00:00.004Z,d1,green,", + "1970-01-01T00:00:00.005Z,d1,green,", + "1970-01-01T00:00:00.006Z,d1,green,", + }; + tableResultSetEqualTest( + "select time, device_id, color from table1 where time < 7", + expectedHeader, + retArray, + DATABASE_NAME); + + expectedHeader = new String[] {"device_id", "color"}; + retArray = + new String[] { + "d1,green,", + }; + tableResultSetEqualTest( + "select device_id, color from table1 where device_id='d1' limit 1", + expectedHeader, + retArray, + DATABASE_NAME); + + expectedHeader = new String[] {"color"}; + retArray = + new String[] { + "green,", + }; + tableResultSetEqualTest( + "select color from table1 where device_id='d1' limit 1", + expectedHeader, + retArray, + DATABASE_NAME); + + expectedHeader = new String[] {"time"}; + retArray = + new String[] { + "1970-01-01T00:00:00.003Z,", "1970-01-01T00:00:00.004Z,", "1970-01-01T00:00:00.005Z,", + }; + tableResultSetEqualTest( + "select time from table1 where time >= 3 and time <= 5 and device_id='d1'", + expectedHeader, + retArray, + DATABASE_NAME); + + expectedHeader = new String[] {"time"}; + retArray = + new String[] { + "1970-01-01T00:00:00.003Z,", "1970-01-01T00:00:00.004Z,", "1970-01-01T00:00:00.005Z,", + }; + tableResultSetEqualTest( + "select time from table1 where time >= 3 and time < 6 and color='green'", + expectedHeader, + retArray, + DATABASE_NAME); + } ++ + public void limitOffsetTest() { + String[] expectedHeader = new String[] {"time", "device_id", "s2", "s3"}; + String[] retArray = + new String[] { + "1970-01-01T00:00:00.003Z,d1,null,null,", + }; + tableResultSetEqualTest( + "select time, device_id, s2, s3 from table1 OFFSET 2 limit 1", + expectedHeader, + retArray, + DATABASE_NAME); + + expectedHeader = new String[] {"time", "device_id", "s2", "s3"}; + retArray = + new String[] { + "1970-01-01T00:00:00.003Z,d1,null,null,", + }; + tableResultSetEqualTest( + "select time, device_id, s2, s3 from table1 limit 1 OFFSET 2", + expectedHeader, + retArray, + DATABASE_NAME); + + expectedHeader = new String[] {"time", "device_id", "s2", "s3"}; + retArray = + new String[] { + "1970-01-01T00:00:00.003Z,d1,null,null,", + "1970-01-01T00:00:00.004Z,d1,true,44,", + "1970-01-01T00:00:00.005Z,d1,null,null,", + "1970-01-01T00:00:00.006Z,d1,null,null,", + "1970-01-01T00:00:00.007Z,d1,false,77," + }; + tableResultSetEqualTest( + "select time, device_id, s2, s3 from table1 OFFSET 2", + expectedHeader, + retArray, + DATABASE_NAME); + + expectedHeader = new String[] {"time", "device_id", "s2", "s3"}; + retArray = + new String[] { + "1970-01-01T00:00:00.001Z,d1,false,11,", "1970-01-01T00:00:00.002Z,d1,null,null,", + }; + tableResultSetEqualTest( + "select time, device_id, s2, s3 from table1 limit 2", + expectedHeader, + retArray, + DATABASE_NAME); + } } diff --cc pom.xml index 0e46b02a076,88a6e1007ab..cf45ff69e1a --- a/pom.xml +++ b/pom.xml @@@ -166,7 -166,7 +166,7 @@@ <thrift.version>0.14.1</thrift.version> <xz.version>1.9</xz.version> <zstd-jni.version>1.5.6-3</zstd-jni.version> - <tsfile.version>1.2.0-4467fa07-SNAPSHOT</tsfile.version> - <tsfile.version>1.2.0-240920-SNAPSHOT</tsfile.version> ++ <tsfile.version>1.2.0-c3437a41-SNAPSHOT</tsfile.version> </properties> <!-- if we claim dependencies in dependencyManagement, then we do not claim
