Skip to content

Support readTsFile table function for external TsFiles#17951

Open
shuwenwei wants to merge 43 commits into
masterfrom
read_tsfile_table_function
Open

Support readTsFile table function for external TsFiles#17951
shuwenwei wants to merge 43 commits into
masterfrom
read_tsfile_table_function

add comments

85bbcd3
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed Jun 17, 2026 in 8m 46s

Quality Gate failed

Failed conditions
D Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Annotations

Check warning on line 230 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/read_tsfile/ReadTsFileTableFunction.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this usage of 'Stream.collect(Collectors.toList())' with 'Stream.toList()' and ensure that the list is unmodified.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXfy98JVNcsmiS90v&open=AZ7PXfy98JVNcsmiS90v&pullRequest=17951

Check warning on line 219 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/buffer/BloomFilterCache.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this unused private "BloomFilterLoader" constructor.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXfre8JVNcsmiS9z6&open=AZ7PXfre8JVNcsmiS9z6&pullRequest=17951

Check failure on line 1972 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributedPlanGenerator.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this method to reduce its Cognitive Complexity from 34 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXfw18JVNcsmiS90T&open=AZ7PXfw18JVNcsmiS90T&pullRequest=17951

Check warning on line 61 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/read_tsfile/ReadTsFileTableFunction.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Abbreviation in name 'setMPPQueryContext' must contain no more than '2' consecutive capital letters.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7P6t7FcUJAa9XOGMb1&open=AZ7P6t7FcUJAa9XOGMb1&pullRequest=17951

Check warning on line 127 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/read_tsfile/TsFileSchemaCollector.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

All overloaded methods should be placed next to each other. Placing non-overloaded methods in between overloaded methods with the same type is a violation. Previous overloaded method located at line '64'.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXfys8JVNcsmiS90j&open=AZ7PXfys8JVNcsmiS90j&pullRequest=17951

Check failure on line 186 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushLimitOffsetIntoTableScan.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this method to reduce its Cognitive Complexity from 16 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7UoaViL_w-MbTZgu1p&open=AZ7UoaViL_w-MbTZgu1p&pullRequest=17951

Check warning on line 169 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/read_tsfile/ReadTsFileTableFunction.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this usage of 'Stream.collect(Collectors.toList())' with 'Stream.toList()' and ensure that the list is unmodified.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXfy98JVNcsmiS90t&open=AZ7PXfy98JVNcsmiS90t&pullRequest=17951

Check warning on line 106 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/ExternalTsFileScanNode.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use super.clone() to create and seed the cloned instance to be returned.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXftP8JVNcsmiS9z_&open=AZ7PXftP8JVNcsmiS9z_&pullRequest=17951

Check warning on line 227 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/read_tsfile/ReadTsFileTableFunction.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this usage of 'Stream.collect(Collectors.toList())' with 'Stream.toList()' and ensure that the list is unmodified.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXfy98JVNcsmiS90u&open=AZ7PXfy98JVNcsmiS90u&pullRequest=17951

Check warning on line 43 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/ExternalTsFileAggTableScanOperator.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

This class has 7 parents which is greater than 5 authorized.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXf278JVNcsmiS904&open=AZ7PXf278JVNcsmiS904&pullRequest=17951

Check warning on line 5056 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this instanceof check and cast with 'instanceof ReadTsFileTableFunction readtsfiletablefunction'

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7P6t0ycUJAa9XOGMbw&open=AZ7P6t0ycUJAa9XOGMbw&pullRequest=17951

Check warning on line 155 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/read_tsfile/ReadTsFileTableFunction.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this usage of 'Stream.collect(Collectors.toList())' with 'Stream.toList()' and ensure that the list is unmodified.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXfy98JVNcsmiS90s&open=AZ7PXfy98JVNcsmiS90s&pullRequest=17951

Check warning on line 233 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/ParallelizeGrouping.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this instanceof check and cast with 'instanceof ExternalTsFileScanNode externaltsfilescannode'

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7UoaVTL_w-MbTZgu1n&open=AZ7UoaVTL_w-MbTZgu1n&pullRequest=17951

Check warning on line 2059 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributedPlanGenerator.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this instanceof check and cast with 'instanceof ExternalTsFileScanNode externaltsfilescannode'

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7UoaXyL_w-MbTZgu1s&open=AZ7UoaXyL_w-MbTZgu1s&pullRequest=17951

Check warning on line 256 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractAggTableScanOperator.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this if-then-else statement by a single method invocation.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXf128JVNcsmiS900&open=AZ7PXf128JVNcsmiS900&pullRequest=17951

Check warning on line 46 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/ExternalTsFileAggregationScanNode.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

This class has 6 parents which is greater than 5 authorized.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXftX8JVNcsmiS90B&open=AZ7PXftX8JVNcsmiS90B&pullRequest=17951

Check warning on line 103 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/read_tsfile/ReadTsFileTableFunction.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this usage of 'Stream.collect(Collectors.toList())' with 'Stream.toList()' and ensure that the list is unmodified.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXfy98JVNcsmiS90q&open=AZ7PXfy98JVNcsmiS90q&pullRequest=17951

Check warning on line 513 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this instanceof check and cast with 'instanceof DeviceTableScanNode devicetablescannode'

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXfvY8JVNcsmiS90M&open=AZ7PXfvY8JVNcsmiS90M&pullRequest=17951

Check warning on line 534 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this instanceof check and cast with 'instanceof DeviceTableScanNode devicetablescannode'

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXfvY8JVNcsmiS90O&open=AZ7PXfvY8JVNcsmiS90O&pullRequest=17951

Check warning on line 151 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/buffer/ChunkCache.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Method has 8 parameters, which is greater than 7 authorized.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXfmV8JVNcsmiS9z5&open=AZ7PXfmV8JVNcsmiS9z5&pullRequest=17951

Check failure on line 243 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Fix this call that leads to an IllegalArgumentException.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXfyN8JVNcsmiS90X&open=AZ7PXfyN8JVNcsmiS90X&pullRequest=17951

Check warning on line 108 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/ExternalTsFileAggregationScanNode.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use super.clone() to create and seed the cloned instance to be returned.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXftX8JVNcsmiS90E&open=AZ7PXftX8JVNcsmiS90E&pullRequest=17951

Check warning on line 451 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/read_tsfile/ExternalTsFileQueryResource.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Move this method into "DeviceTaskPartition".

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXfyi8JVNcsmiS90f&open=AZ7PXfyi8JVNcsmiS90f&pullRequest=17951

Check warning on line 58 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/DataNodeTableBuiltinTableFunction.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this "switch" statement by "if" statements to increase readability.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7PXfyW8JVNcsmiS90Y&open=AZ7PXfyW8JVNcsmiS90Y&pullRequest=17951

Check warning on line 20 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/read_tsfile/ExternalTsFileDeviceFilterVisitor.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Package name 'org.apache.iotdb.db.queryengine.plan.relational.function.tvf.read_tsfile' must match pattern '^[a-z]+(\.[a-z][a-z0-9]*)*$'.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ7Ud-fOpFCIhe324pDQ&open=AZ7Ud-fOpFCIhe324pDQ&pullRequest=17951