Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
d8aef23
Add type services
jt2594838 Jul 13, 2026
6f47103
remove switches
jt2594838 Jul 13, 2026
7414025
remove switches
jt2594838 Jul 14, 2026
bd99532
remove switches
jt2594838 Jul 14, 2026
e3ab985
refactor calculateValueLength
jt2594838 Jul 14, 2026
5e179c0
refactor calculateCapacity
jt2594838 Jul 14, 2026
f2925d0
refactor calculateCapacity
jt2594838 Jul 14, 2026
9312f56
refactor TabletExample
jt2594838 Jul 14, 2026
6138d92
refactor IoTDBDescriptor.getDefaultEncodingByType
jt2594838 Jul 14, 2026
4000fe9
refactor estimateSingleValueArrayMemoryUsageInBytes
jt2594838 Jul 14, 2026
9d76c8a
refactor estimateTsPrimitiveTypeValueMemoryUsageInBytes
jt2594838 Jul 14, 2026
1a5ece5
refactor parse
jt2594838 Jul 14, 2026
308061a
fix compilation
jt2594838 Jul 15, 2026
1fa4125
refactor convertTsDataType2VariantType
jt2594838 Jul 15, 2026
16460a4
refactor initResultTsBlock
jt2594838 Jul 15, 2026
f453368
refactor getRowSkipPrefixNulls
jt2594838 Jul 15, 2026
6af8fc2
refactor TwoSum
jt2594838 Jul 15, 2026
2a3c35f
refactor UDAFAvg
jt2594838 Jul 15, 2026
cc63846
refactor UDAFSum
jt2594838 Jul 15, 2026
236b866
refactor encodeRecord
jt2594838 Jul 15, 2026
a4b417a
refactor fillMeasurementValueColumns
jt2594838 Jul 15, 2026
88a6514
refactor copyValueList
jt2594838 Jul 15, 2026
2bd4b6c
refactor transferTabletForPubSubModel
jt2594838 Jul 15, 2026
253a4e0
refactor PRIMITIVE_TYPE_VALUE_EXTRACTOR_SERVICE
jt2594838 Jul 15, 2026
308571b
refactor reorderValueListAndBitMap
jt2594838 Jul 15, 2026
3e250e4
refactor writeIntermediateToStream
jt2594838 Jul 15, 2026
dfe6aec
refactor constructInsertTabletStatement
jt2594838 Jul 15, 2026
706092b
refactor processColumn
jt2594838 Jul 15, 2026
83d027b
refactor getColumnsBytes
jt2594838 Jul 16, 2026
46dfe11
refactor addTimeValuePairToResult
jt2594838 Jul 16, 2026
010db8c
refactor getValue
jt2594838 Jul 16, 2026
c62db59
refactor putDataTypesAndValues
jt2594838 Jul 16, 2026
273451a
refactor putDataTypesAndValues
jt2594838 Jul 16, 2026
ef7442c
refactor serializeMeasurementsAndValuesSize
jt2594838 Jul 16, 2026
a17cec9
refactor fillDataTypesAndValues
jt2594838 Jul 16, 2026
71f5fff
add WAL_VALUE_WRITER_SERVICE
jt2594838 Jul 16, 2026
a585dab
refactor fillDataTypesAndValuesFromWAL
jt2594838 Jul 16, 2026
7ff8232
refactor initTabletValues
jt2594838 Jul 17, 2026
1e4081d
refactor serializeColumn
jt2594838 Jul 17, 2026
5ce3eb1
enhance type check
jt2594838 Jul 17, 2026
f4e4fd0
refactor
jt2594838 Jul 17, 2026
af79a91
refactor serializeColumn
jt2594838 Jul 17, 2026
1d18833
refactor equals
jt2594838 Jul 17, 2026
5792d99
refactor composeTimeValuePair
jt2594838 Jul 17, 2026
04ef73e
refactor getValue
jt2594838 Jul 17, 2026
675ed47
refactor fetchUncorrelatedSubqueryResultForPredicate
jt2594838 Jul 17, 2026
cc0678d
refactor convertTableColumn
jt2594838 Jul 17, 2026
9f4df50
refactor ConstantInputReader
jt2594838 Jul 17, 2026
1a33cbc
refactor TransformUtils
jt2594838 Jul 17, 2026
572b6f6
refactor writeDataPoint
jt2594838 Jul 17, 2026
5135985
refactor initChunkMetaFromTvLists
jt2594838 Jul 21, 2026
016cb9b
refactor writeValidValuesIntoTsBlock
jt2594838 Jul 21, 2026
e05341d
refactor initChunkMetaFromTvLists
jt2594838 Jul 21, 2026
fe7ada0
refactor ReadOnlyMemChunk writeValidValuesIntoTsBlock
jt2594838 Jul 21, 2026
5fd1b43
refactor writeNonAlignedTablet
jt2594838 Jul 21, 2026
2bee470
refactor writeDecodeValuePage
jt2594838 Jul 21, 2026
04e81ef
refactor writeDecodeValuePage
jt2594838 Jul 21, 2026
1240310
refactor createPrimitiveArray
jt2594838 Jul 21, 2026
c25d827
refactor createDataListsByType
jt2594838 Jul 21, 2026
aee7a5e
refactor switch(datatype)
jt2594838 Jul 22, 2026
b9bea3f
multiple refactors
jt2594838 Jul 22, 2026
2913ec2
multiple refactors
jt2594838 Jul 22, 2026
c22b421
multiple refactors
jt2594838 Jul 22, 2026
f622942
multiple refactors
jt2594838 Jul 23, 2026
8c1245f
multiple refactors
jt2594838 Jul 23, 2026
1126d0d
multiple refactors
jt2594838 Jul 23, 2026
7248a24
multiple refactors
jt2594838 Jul 23, 2026
225ef1b
multiple refactors
jt2594838 Jul 23, 2026
d902465
multiple refactors
jt2594838 Jul 28, 2026
784038c
multiple refactors
jt2594838 Jul 28, 2026
700e56e
multiple refactors
jt2594838 Jul 28, 2026
d6954bb
multiple refactors
jt2594838 Jul 28, 2026
50ebd3f
multiple refactors
jt2594838 Jul 29, 2026
f3d7c8f
multiple refactors
jt2594838 Jul 29, 2026
bcbb8e7
multiple refactors
jt2594838 Jul 29, 2026
6032c83
multiple refactors
jt2594838 Jul 29, 2026
0d33c64
multiple refactors
jt2594838 Jul 29, 2026
c4ac011
multiple refactors
jt2594838 Jul 29, 2026
58305c1
multiple refactors
jt2594838 Jul 29, 2026
11a2f60
multiple refactors
jt2594838 Jul 29, 2026
99ec908
multiple refactors
jt2594838 Jul 29, 2026
f0ecbe3
multiple refactors
jt2594838 Jul 29, 2026
254c455
multiple refactors
jt2594838 Jul 30, 2026
1ec1544
multiple refactors
jt2594838 Jul 30, 2026
ffb96ec
multiple refactors
jt2594838 Jul 30, 2026
47d41ac
multiple refactors
jt2594838 Aug 12, 2026
677fb80
multiple refactors
jt2594838 Aug 12, 2026
9e58ae0
multiple refactors
jt2594838 Aug 13, 2026
b239e8a
multiple refactors
jt2594838 Aug 24, 2026
bf032de
multiple refactors
jt2594838 Aug 24, 2026
d8b157e
multiple refactors
jt2594838 Aug 24, 2026
616b34b
multiple refactors
jt2594838 Aug 25, 2026
93a97ed
multiple refactors
jt2594838 Aug 25, 2026
85010f7
multiple refactors
jt2594838 Aug 26, 2026
ec6e5de
multiple refactors
jt2594838 Aug 26, 2026
e1f2247
multiple refactors
jt2594838 Aug 26, 2026
652cb02
multiple refactors
jt2594838 Aug 26, 2026
d54e316
multiple refactors
jt2594838 Aug 26, 2026
954731b
multiple refactors
jt2594838 Aug 26, 2026
814cb3c
multiple refactors
jt2594838 Aug 27, 2026
286f049
multiple refactors
jt2594838 Aug 27, 2026
ade03e2
multiple refactors
jt2594838 Aug 27, 2026
58a688e
multiple refactors
jt2594838 Aug 27, 2026
49a2e7a
multiple refactors
jt2594838 Aug 28, 2026
f671bea
multiple refactors
jt2594838 Sep 2, 2026
64e1313
multiple refactors
jt2594838 Sep 7, 2026
a6aacb1
multiple refactors
jt2594838 Sep 8, 2026
66d61e4
forbid new usages of switch
jt2594838 Sep 8, 2026
08dde1b
Merge master and refactor TSDataType switch handling
jt2594838 Sep 8, 2026
f91f38f
update tsfile version
jt2594838 Sep 9, 2026
0b6c4eb
Merge branch 'master' into remove_swtich_type
jt2594838 Sep 9, 2026
9f4c0f0
fix GROUPED_MAX_MIN_BY_INPUT_SERVICE
jt2594838 Sep 9, 2026
451f087
fix service
jt2594838 Sep 9, 2026
dbcabdb
fix test
jt2594838 Sep 10, 2026
c81afc5
fix test
jt2594838 Sep 10, 2026
5eb7694
Fix TypeService review feedback and serialization compatibility
jt2594838 Sep 10, 2026
865a88a
Merge branch 'master' into remove_swtich_type
jt2594838 Sep 10, 2026
99c1c8e
fix test
jt2594838 Sep 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
284 changes: 284 additions & 0 deletions architecture-test/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,284 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-parent</artifactId>
<version>2.0.11-SNAPSHOT</version>
</parent>
<artifactId>iotdb-architecture-test</artifactId>
<name>IoTDB: Repository Architecture Tests</name>
<dependencies>
<dependency>
<groupId>org.apache.tsfile</groupId>
<artifactId>common</artifactId>
<version>${tsfile.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tsfile</groupId>
<artifactId>tsfile</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit</artifactId>
<version>1.3.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>udf-api</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>external-service-api</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>external-api</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>pipe-api</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>trigger-api</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-cli</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-jdbc</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-session</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>isession</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>service-rpc</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-subscription</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>library-udf</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-relational-grammar</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>node-commons</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>calc-commons</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>metrics-interface</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>metrics-core</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-consensus</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-confignode</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-server</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>rest</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>rest-openapi</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>mqtt</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>udf-example</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>trigger-example</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>subscription-example</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>client-example</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>schema-example</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>customize-mqtt-example</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>mqtt-example</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>pipe-opc-ua-sink-example</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>pipe-count-point-processor-example</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>jdbc-example</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>rest-java-example</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-antlr</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<!-- ArchUnit scans IoTDB bytecode at runtime, so these dependencies have no
direct references for the dependency analyzer to detect. Keep checking
undeclared dependencies and incorrect scopes. -->
<ignoredUnusedDeclaredDependencies>
<ignoredUnusedDeclaredDependency>org.apache.iotdb:*</ignoredUnusedDeclaredDependency>
</ignoredUnusedDeclaredDependencies>
</configuration>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

package org.apache.iotdb.db.utils;

import com.tngtech.archunit.core.importer.ClassFileImporter;
import com.tngtech.archunit.core.importer.ImportOption;
import org.junit.Test;

public class TSDataTypeSwitchArchitectureTest {

@Test
public void repositoryProductionCodeMustUseTypeService() {
// This aggregate module depends on every Java production module, so the scan is
// repository-wide.
TSDataTypeSwitchRule.RULE.check(
new ClassFileImporter()
.withImportOption(new ImportOption.DoNotIncludeTests())
.withImportOption(location -> TSDataTypeSwitchRule.hasSwitch(location.asURI()))
.importPackages("org.apache.iotdb"));
}
}
Loading
Loading