This is an automated email from the ASF dual-hosted git repository.
justinchen pushed a commit to branch UserDefineTime-TsFile
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/UserDefineTime-TsFile by this
push:
new 5797ccef08f fix
5797ccef08f is described below
commit 5797ccef08f2bfd512f67d23e0e4a1fd41924d11
Author: Caideyipi <[email protected]>
AuthorDate: Mon Jan 26 18:49:56 2026 +0800
fix
---
.../fetcher/TableHeaderSchemaValidator.java | 24 +++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java
index 14a5e1cb06d..432670a8c33 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java
@@ -60,6 +60,7 @@ import org.apache.tsfile.read.common.type.TypeFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.ArrayList;
@@ -101,7 +102,7 @@ public class TableHeaderSchemaValidator {
final MPPQueryContext context,
final boolean allowCreateTable,
final boolean isStrictTagColumn,
- final AtomicBoolean needDecode4DifferentTimeColumn)
+ final @Nonnull AtomicBoolean needDecode4DifferentTimeColumn)
throws LoadAnalyzeTableColumnDisorderException {
// The schema cache R/W and fetch operation must be locked together thus
the cache clean
// operation executed by delete timeSeries will be effective.
@@ -175,6 +176,27 @@ public class TableHeaderSchemaValidator {
}
}
}
+ long realTimeIndex = 0;
+ for (final TsTableColumnSchema schema : table.getColumnList()) {
+ if (schema.getColumnCategory() == TsTableColumnCategory.TIME) {
+ break;
+ }
+ if (schema.getColumnCategory() != TsTableColumnCategory.ATTRIBUTE) {
+ ++realTimeIndex;
+ }
+ }
+ long inputTimeIndex = 0;
+ for (final ColumnSchema schema : tableSchema.getColumns()) {
+ if (schema.getColumnCategory() == TsTableColumnCategory.TIME) {
+ break;
+ }
+ if (schema.getColumnCategory() != TsTableColumnCategory.ATTRIBUTE) {
+ ++inputTimeIndex;
+ }
+ }
+ if (inputTimeIndex != realTimeIndex) {
+ needDecode4DifferentTimeColumn.set(true);
+ }
}
boolean refreshed = false;