This is an automated email from the ASF dual-hosted git repository.

jt2594838 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new eea7e65c74d Refactor: Renamed the remaining id columns to tag (#17582)
eea7e65c74d is described below

commit eea7e65c74d5e0ff8672a61dd1126f8cf686c4cc
Author: Caideyipi <[email protected]>
AuthorDate: Sat May 9 18:57:05 2026 +0800

    Refactor: Renamed the remaining id columns to tag (#17582)
---
 iotdb-client/client-cpp/src/main/Session.cpp       | 16 +++++------
 iotdb-client/client-cpp/src/main/Session.h         | 10 +++----
 .../schema/source/DevicePredicateHandler.java      |  6 ++--
 .../schema/source/TableDeviceFetchSource.java      |  8 +++---
 .../db/queryengine/plan/analyze/AnalyzeUtils.java  | 32 +++++++++++-----------
 .../schema/CheckSchemaPredicateVisitor.java        |  6 ++--
 .../ConvertSchemaPredicateToFilterVisitor.java     | 30 ++++++++++----------
 .../schema/ExtractPredicateColumnNameVisitor.java  |  2 +-
 .../metadata/fetcher/SchemaPredicateUtil.java      | 16 +++++------
 .../metadata/fetcher/TableDeviceSchemaFetcher.java | 10 +++----
 .../plan/relational/planner/RelationPlanner.java   |  4 +--
 .../planner/node/DeviceTableScanNode.java          |  2 +-
 .../relational/planner/node/TableScanNode.java     |  2 +-
 .../PushAggregationIntoTableScan.java              |  4 +--
 14 files changed, 74 insertions(+), 74 deletions(-)

diff --git a/iotdb-client/client-cpp/src/main/Session.cpp 
b/iotdb-client/client-cpp/src/main/Session.cpp
index 5e175f581b9..b6f6afad0fa 100644
--- a/iotdb-client/client-cpp/src/main/Session.cpp
+++ b/iotdb-client/client-cpp/src/main/Session.cpp
@@ -263,14 +263,14 @@ void Tablet::setAligned(bool isAligned) {
 }
 
 std::shared_ptr<storage::IDeviceID> Tablet::getDeviceID(int row) {
-  std::vector<std::string> id_array(idColumnIndexes.size() + 1);
-  size_t idArrayIdx = 0;
-  id_array[idArrayIdx++] = this->deviceId;
-  for (auto idColumnIndex : idColumnIndexes) {
-    void* strPtr = getValue(idColumnIndex, row, TSDataType::TEXT);
-    id_array[idArrayIdx++] = *static_cast<std::string*>(strPtr);
-  }
-  return std::make_shared<storage::StringArrayDeviceID>(id_array);
+  std::vector<std::string> deviceIdSegments(tagColumnIndexes.size() + 1);
+  size_t deviceIdSegmentIndex = 0;
+  deviceIdSegments[deviceIdSegmentIndex++] = this->deviceId;
+  for (auto tagColumnIndex : tagColumnIndexes) {
+    void* strPtr = getValue(tagColumnIndex, row, TSDataType::TEXT);
+    deviceIdSegments[deviceIdSegmentIndex++] = 
*static_cast<std::string*>(strPtr);
+  }
+  return std::make_shared<storage::StringArrayDeviceID>(deviceIdSegments);
 }
 
 string SessionUtils::getTime(const Tablet& tablet) {
diff --git a/iotdb-client/client-cpp/src/main/Session.h 
b/iotdb-client/client-cpp/src/main/Session.h
index 0ae279f795c..cedfaeba196 100644
--- a/iotdb-client/client-cpp/src/main/Session.h
+++ b/iotdb-client/client-cpp/src/main/Session.h
@@ -135,7 +135,7 @@ public:
   size_t rowSize;      //the number of rows to include in this tablet
   size_t maxRowNumber; // the maximum number of rows for this tablet
   bool isAligned;      // whether this tablet store data of aligned timeseries 
or not
-  std::vector<int> idColumnIndexes;
+  std::vector<int> tagColumnIndexes;
 
   Tablet() = default;
 
@@ -183,10 +183,10 @@ public:
     // create value columns
     values.resize(schemas.size());
     createColumns();
-    // init idColumnIndexs
+    // init tagColumnIndexes
     for (size_t i = 0; i < this->columnTypes.size(); i++) {
       if (this->columnTypes[i] == ColumnCategory::TAG) {
-        idColumnIndexes.push_back(i);
+        tagColumnIndexes.push_back(i);
       }
     }
     // create bitMaps
@@ -205,7 +205,7 @@ public:
       : deviceId(other.deviceId), schemas(other.schemas), 
schemaNameIndex(other.schemaNameIndex),
         columnTypes(other.columnTypes), timestamps(other.timestamps),
         maxRowNumber(other.maxRowNumber), bitMaps(other.bitMaps), 
rowSize(other.rowSize),
-        isAligned(other.isAligned), idColumnIndexes(other.idColumnIndexes) {
+        isAligned(other.isAligned), tagColumnIndexes(other.tagColumnIndexes) {
     values.resize(other.values.size());
     for (size_t i = 0; i < other.values.size(); ++i) {
       if (!other.values[i])
@@ -226,7 +226,7 @@ public:
       maxRowNumber = other.maxRowNumber;
       rowSize = other.rowSize;
       isAligned = other.isAligned;
-      idColumnIndexes = other.idColumnIndexes;
+      tagColumnIndexes = other.tagColumnIndexes;
       bitMaps = other.bitMaps;
       values.resize(other.values.size());
       for (size_t i = 0; i < other.values.size(); ++i) {
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DevicePredicateHandler.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DevicePredicateHandler.java
index ecbcbba8586..db7d0a2b374 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DevicePredicateHandler.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DevicePredicateHandler.java
@@ -47,7 +47,7 @@ public abstract class DevicePredicateHandler implements 
AutoCloseable {
   protected final ColumnTransformer filterOutputTransformer;
   private final List<TSDataType> inputDataTypes;
   private final List<TsTableColumnSchema> columnSchemaList;
-  private final int idIndex;
+  private final int tagIndex;
 
   // Batch logic
   protected static final int DEFAULT_MAX_TS_BLOCK_LINE_NUMBER =
@@ -72,7 +72,7 @@ public abstract class DevicePredicateHandler implements 
AutoCloseable {
         columnSchemaList.stream()
             .map(TsTableColumnSchema::getDataType)
             .collect(Collectors.toList());
-    this.idIndex =
+    this.tagIndex =
         PathUtils.isTableModelDatabase(database)
             ? 3
             : DataNodeTreeViewSchemaUtils.getPatternNodes(table).length;
@@ -100,7 +100,7 @@ public abstract class DevicePredicateHandler implements 
AutoCloseable {
     deviceSchemaBatch.forEach(
         deviceSchemaInfo ->
             transformToTableDeviceTsBlockColumns(
-                deviceSchemaInfo, builder, columnSchemaList, idIndex));
+                deviceSchemaInfo, builder, columnSchemaList, tagIndex));
     curBlock = builder.build();
     if (withoutFilter()) {
       return;
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/TableDeviceFetchSource.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/TableDeviceFetchSource.java
index 1c62a6443dd..23dceb26061 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/TableDeviceFetchSource.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/TableDeviceFetchSource.java
@@ -81,21 +81,21 @@ public class TableDeviceFetchSource implements 
ISchemaSource<IDeviceSchemaInfo>
       final IDeviceSchemaInfo schemaInfo, final TsBlockBuilder builder, final 
String database) {
     builder.getTimeColumnBuilder().writeLong(0L);
     int resultIndex = 0;
-    int idIndex = 0;
+    int tagIndex = 0;
     final String[] pathNodes = schemaInfo.getRawNodes();
     final TsTable table = 
DataNodeTableCache.getInstance().getTable(this.database, tableName);
     TsTableColumnSchema columnSchema;
     for (final ColumnHeader columnHeader : columnHeaderList) {
       columnSchema = table.getColumnSchema(columnHeader.getColumnName());
       if (columnSchema.getColumnCategory().equals(TsTableColumnCategory.TAG)) {
-        if (pathNodes.length <= idIndex + 3 || pathNodes[idIndex + 3] == null) 
{
+        if (pathNodes.length <= tagIndex + 3 || pathNodes[tagIndex + 3] == 
null) {
           builder.getColumnBuilder(resultIndex).appendNull();
         } else {
           builder
               .getColumnBuilder(resultIndex)
-              .writeBinary(new Binary(pathNodes[idIndex + 3], 
TSFileConfig.STRING_CHARSET));
+              .writeBinary(new Binary(pathNodes[tagIndex + 3], 
TSFileConfig.STRING_CHARSET));
         }
-        idIndex++;
+        tagIndex++;
       } else if 
(columnSchema.getColumnCategory().equals(TsTableColumnCategory.ATTRIBUTE)) {
         if 
(Objects.isNull(schemaInfo.getAttributeValue(columnHeader.getColumnName()))) {
           builder.getColumnBuilder(resultIndex).appendNull();
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeUtils.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeUtils.java
index 2005d4fdeb7..32bfbea0329 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeUtils.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeUtils.java
@@ -436,23 +436,23 @@ public class AnalyzeUtils {
     Queue<Expression> expressionQueue = new LinkedList<>();
     expressionQueue.add(expression);
     DeletionPredicate predicate = new DeletionPredicate(table.getTableName());
-    IDPredicate idPredicate = null;
+    IDPredicate tagPredicate = null;
     TimeRange timeRange = new TimeRange(Long.MIN_VALUE, Long.MAX_VALUE, true);
     while (!expressionQueue.isEmpty()) {
       Expression currExp = expressionQueue.remove();
       if (currExp instanceof LogicalExpression) {
         parseAndPredicate(((LogicalExpression) currExp), expressionQueue);
       } else if (currExp instanceof ComparisonExpression) {
-        idPredicate =
-            parseComparison(((ComparisonExpression) currExp), timeRange, 
idPredicate, table);
+        tagPredicate =
+            parseComparison(((ComparisonExpression) currExp), timeRange, 
tagPredicate, table);
       } else if (currExp instanceof IsNullPredicate) {
-        idPredicate = parseIsNull((IsNullPredicate) currExp, idPredicate, 
table);
+        tagPredicate = parseIsNull((IsNullPredicate) currExp, tagPredicate, 
table);
       } else {
         throw new SemanticException("Unsupported expression: " + currExp + " 
in " + expression);
       }
     }
-    if (idPredicate != null) {
-      predicate.setIdPredicate(idPredicate);
+    if (tagPredicate != null) {
+      predicate.setIdPredicate(tagPredicate);
     }
     if (timeRange.getStartTime() > timeRange.getEndTime()) {
       throw new SemanticException(
@@ -479,14 +479,14 @@ public class AnalyzeUtils {
       throw new SemanticException("Left hand expression is not an identifier: 
" + leftHandExp);
     }
     String columnName = ((Identifier) leftHandExp).getValue();
-    int idColumnOrdinal = table.getTagColumnOrdinal(columnName);
-    if (idColumnOrdinal == -1) {
+    int tagColumnOrdinal = table.getTagColumnOrdinal(columnName);
+    if (tagColumnOrdinal == -1) {
       throw new SemanticException(
           "The column '" + columnName + "' does not exist or is not a tag 
column");
     }
 
     // the first segment is the table name, so + 1
-    IDPredicate newPredicate = new SegmentExactMatch(null, idColumnOrdinal + 
1);
+    IDPredicate newPredicate = new SegmentExactMatch(null, tagColumnOrdinal + 
1);
     return combinePredicates(oldPredicate, newPredicate);
   }
 
@@ -548,20 +548,20 @@ public class AnalyzeUtils {
 
       return oldPredicate;
     }
-    // id predicate
+    // tag predicate
     String columnName = identifier.getValue();
-    int idColumnOrdinal = table.getTagColumnOrdinal(columnName);
-    if (idColumnOrdinal == -1) {
+    int tagColumnOrdinal = table.getTagColumnOrdinal(columnName);
+    if (tagColumnOrdinal == -1) {
       throw new SemanticException(
           "The column '" + columnName + "' does not exist or is not a tag 
column");
     }
 
-    IDPredicate newPredicate = getIdPredicate(comparisonExpression, right, 
idColumnOrdinal);
+    IDPredicate newPredicate = getTagPredicate(comparisonExpression, right, 
tagColumnOrdinal);
     return combinePredicates(oldPredicate, newPredicate);
   }
 
-  private static IDPredicate getIdPredicate(
-      ComparisonExpression comparisonExpression, Expression right, int 
idColumnOrdinal) {
+  private static IDPredicate getTagPredicate(
+      ComparisonExpression comparisonExpression, Expression right, int 
tagColumnOrdinal) {
     if (comparisonExpression.getOperator() != 
ComparisonExpression.Operator.EQUAL) {
       throw new SemanticException("The operator of tag predicate must be '=' 
for " + right);
     }
@@ -577,7 +577,7 @@ public class AnalyzeUtils {
           "The right hand value of tag predicate must be a string: " + right);
     }
     // the first segment is the table name, so + 1
-    return new SegmentExactMatch(rightHandValue, idColumnOrdinal + 1);
+    return new SegmentExactMatch(rightHandValue, tagColumnOrdinal + 1);
   }
 
   public interface DataPartitionQueryFunc {
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/CheckSchemaPredicateVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/CheckSchemaPredicateVisitor.java
index c503e7e176b..020e9a8a021 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/CheckSchemaPredicateVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/CheckSchemaPredicateVisitor.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
 
 import java.util.Objects;
 
-// Return whether input expression can not be bounded to a single ID
+// Return whether the input expression can not be bounded by tag-only 
predicates.
 public class CheckSchemaPredicateVisitor
     implements AstVisitor<Boolean, CheckSchemaPredicateVisitor.Context> {
 
@@ -57,7 +57,7 @@ public class CheckSchemaPredicateVisitor
     if (node.getOperator().equals(LogicalExpression.Operator.AND)) {
       if (System.currentTimeMillis() - lastLogTime >= LOG_INTERVAL_MS) {
         LOGGER.info(
-            "And expression encountered during id determined checking, will be 
classified into fuzzy expression. Sql: {}",
+            "And expression encountered during tag-determined checking, will 
be classified into fuzzy expression. Sql: {}",
             context.queryContext.getSql());
         lastLogTime = System.currentTimeMillis();
       }
@@ -75,7 +75,7 @@ public class CheckSchemaPredicateVisitor
     if 
(node.getValue().getExpressionType().equals(TableExpressionType.LOGICAL_EXPRESSION))
 {
       if (System.currentTimeMillis() - lastLogTime >= LOG_INTERVAL_MS) {
         LOGGER.info(
-            "Logical expression type encountered in not expression child 
during id determined checking, will be classified into fuzzy expression. Sql: 
{}",
+            "Logical expression type encountered in not expression child 
during tag-determined checking, will be classified into fuzzy expression. Sql: 
{}",
             context.queryContext.getSql());
         lastLogTime = System.currentTimeMillis();
       }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java
index c07f281f9b5..78227941a52 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java
@@ -68,7 +68,7 @@ import static 
org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate
 /**
  * The {@link ConvertSchemaPredicateToFilterVisitor} will convert a predicate 
to {@link
  * SchemaFilter}. For the predicates which can not be converted, this will 
return {@code null}.
- * However, for IdDeterminedPredicate, this visitor shall never return {@code 
null}.
+ * However, for tag-determined predicates, this visitor shall never return 
{@code null}.
  */
 public class ConvertSchemaPredicateToFilterVisitor
     extends PredicateVisitor<SchemaFilter, 
ConvertSchemaPredicateToFilterVisitor.Context> {
@@ -84,7 +84,7 @@ public class ConvertSchemaPredicateToFilterVisitor
       }
     }
 
-    return wrapIdOrAttributeFilter(
+    return wrapTagOrAttributeFilter(
         new InFilter(
             values.stream()
                 .map(value -> ((StringLiteral) value).getValue())
@@ -95,14 +95,14 @@ public class ConvertSchemaPredicateToFilterVisitor
 
   @Override
   public SchemaFilter visitIsNullPredicate(final IsNullPredicate node, final 
Context context) {
-    return wrapIdOrAttributeFilter(
+    return wrapTagOrAttributeFilter(
         new PreciseFilter((String) null), ((SymbolReference) 
node.getValue()).getName(), context);
   }
 
   @Override
   public SchemaFilter visitIsNotNullPredicate(
       final IsNotNullPredicate node, final Context context) {
-    return wrapIdOrAttributeFilter(
+    return wrapTagOrAttributeFilter(
         new NotFilter(new PreciseFilter((String) null)),
         ((SymbolReference) node.getValue()).getName(),
         context);
@@ -111,12 +111,12 @@ public class ConvertSchemaPredicateToFilterVisitor
   @Override
   public @Nullable SchemaFilter visitLikePredicate(
       final LikePredicate node, final Context context) {
-    // TODO: Support stringLiteral like id/attr?
+    // TODO: Support stringLiteral like tag/attr?
     if (!(node.getValue() instanceof SymbolReference)
         || !(node.getPattern() instanceof StringLiteral)) {
       return null;
     }
-    return wrapIdOrAttributeFilter(
+    return wrapTagOrAttributeFilter(
         new LikeFilter(
             (((StringLiteral) node.getPattern()).getValue()),
             node.getEscape().isPresent()
@@ -174,7 +174,7 @@ public class ConvertSchemaPredicateToFilterVisitor
       return null;
     }
 
-    return wrapIdOrAttributeFilter(
+    return wrapTagOrAttributeFilter(
         node.getOperator() == ComparisonExpression.Operator.EQUAL
             ? new PreciseFilter(value)
             : new ComparisonFilter(
@@ -236,35 +236,35 @@ public class ConvertSchemaPredicateToFilterVisitor
     return visitExpression(node, context);
   }
 
-  private SchemaFilter wrapIdOrAttributeFilter(
+  private SchemaFilter wrapTagOrAttributeFilter(
       final SchemaFilter filter, final String columnName, final Context 
context) {
     return context
             .table
             .getColumnSchema(columnName)
             .getColumnCategory()
             .equals(TsTableColumnCategory.TAG)
-        ? new TagFilter(filter, context.idColumnIndexMap.get(columnName))
+        ? new TagFilter(filter, context.tagColumnIndexMap.get(columnName))
         : new AttributeFilter(filter, columnName);
   }
 
   public static class Context {
 
     private final TsTable table;
-    private final Map<String, Integer> idColumnIndexMap;
+    private final Map<String, Integer> tagColumnIndexMap;
 
     public Context(final TsTable table) {
       this.table = table;
-      this.idColumnIndexMap = getIdColumnIndex(table);
+      this.tagColumnIndexMap = getTagColumnIndex(table);
     }
 
-    private Map<String, Integer> getIdColumnIndex(final TsTable table) {
+    private Map<String, Integer> getTagColumnIndex(final TsTable table) {
       Map<String, Integer> map = new HashMap<>();
       List<TsTableColumnSchema> columnSchemaList = table.getColumnList();
-      int idIndex = 0;
+      int tagIndex = 0;
       for (TsTableColumnSchema columnSchema : columnSchemaList) {
         if 
(columnSchema.getColumnCategory().equals(TsTableColumnCategory.TAG)) {
-          map.put(columnSchema.getColumnName(), idIndex);
-          idIndex++;
+          map.put(columnSchema.getColumnName(), tagIndex);
+          tagIndex++;
         }
       }
       return map;
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ExtractPredicateColumnNameVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ExtractPredicateColumnNameVisitor.java
index 31369dd721f..99d19e6bf30 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ExtractPredicateColumnNameVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ExtractPredicateColumnNameVisitor.java
@@ -41,7 +41,7 @@ public class ExtractPredicateColumnNameVisitor extends 
PredicateVisitor<String,
   @Override
   public String visitExpression(final Expression expression, final Void 
context) {
     // TODO: implement schema function filter and parse some function call and 
arithmetic filters
-    // into id determined filter
+    // into a tag-determined filter
     return null;
   }
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/SchemaPredicateUtil.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/SchemaPredicateUtil.java
index 6eb90d0fa94..0037e2f1ac9 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/SchemaPredicateUtil.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/SchemaPredicateUtil.java
@@ -51,8 +51,8 @@ public class SchemaPredicateUtil {
 
   private SchemaPredicateUtil() {}
 
-  // pair.left is Expressions only contain ID columns
-  // pair.right is Expressions contain at least one ATTRIBUTE column
+  // pair.left is expressions that only contain tag columns
+  // pair.right is expressions that contain at least one attribute column
   static Pair<List<Expression>, List<Expression>> 
separateTagDeterminedPredicate(
       final List<Expression> expressionList,
       final TsTable table,
@@ -71,7 +71,7 @@ public class SchemaPredicateUtil {
         final BetweenPredicate predicate = (BetweenPredicate) expression;
 
         // Separate the between predicate to simplify the logic and to handle 
cases like '2' between
-        // id1 and attr2 / id1 between '2' and attr1
+        // tag1 and attr2 / tag1 between '2' and attr1
         separateExpression(
             new ComparisonExpression(
                 ComparisonExpression.Operator.LESS_THAN_OR_EQUAL,
@@ -114,7 +114,7 @@ public class SchemaPredicateUtil {
   // return or concat filter list, inner which all filter is and concat
   // e.g. (a OR b) AND (c OR d) -> (a AND c) OR (a AND d) OR (b AND c) OR (b 
AND d)
   // if input is empty, then return [[]]
-  static List<Map<Integer, List<SchemaFilter>>> 
convertDeviceIdPredicateToOrConcatList(
+  static List<Map<Integer, List<SchemaFilter>>> 
convertTagPredicateToOrConcatList(
       final List<Expression> schemaFilterList,
       final TsTable table,
       final AtomicBoolean mayContainDuplicateDevice) {
@@ -181,7 +181,7 @@ public class SchemaPredicateUtil {
     final int index = ((TagFilter) currentFilter).getIndex();
     final SchemaFilter childFilter = currentFilter.getChild();
 
-    // Compress the not filters and put them after idFilter,
+    // Compress the not filters and put them after the tag filter,
     // to simplify the logics in schema regions
     if (isNotFilter) {
       currentFilter.setChild(new NotFilter(childFilter));
@@ -223,10 +223,10 @@ public class SchemaPredicateUtil {
       final List<Map<Integer, List<SchemaFilter>>> index2FilterMapList,
       final TsTable tableInstance) {
     final List<Integer> selectedExpressionCases = new ArrayList<>();
-    final int idCount = tableInstance.getTagNum();
+    final int tagCount = tableInstance.getTagNum();
     for (int i = 0; i < index2FilterMapList.size(); i++) {
       final Map<Integer, List<SchemaFilter>> filterMap = 
index2FilterMapList.get(i);
-      if (filterMap.size() == idCount
+      if (filterMap.size() == tagCount
           && filterMap.values().stream()
               .allMatch(
                   filterList ->
@@ -242,7 +242,7 @@ public class SchemaPredicateUtil {
   }
 
   // compact and-concat expression list to one expression
-  static Expression compactDeviceIdFuzzyPredicate(final List<Expression> 
expressionList) {
+  static Expression compactTagFuzzyPredicate(final List<Expression> 
expressionList) {
     if (expressionList.isEmpty()) {
       return null;
     }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableDeviceSchemaFetcher.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableDeviceSchemaFetcher.java
index eaf1a85158e..9bf402f2b99 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableDeviceSchemaFetcher.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableDeviceSchemaFetcher.java
@@ -250,19 +250,19 @@ public class TableDeviceSchemaFetcher {
     final List<Expression> tagFuzzyPredicateList = separatedExpression.right; 
// and-concat
 
     final Expression compactedTagFuzzyPredicate =
-        
SchemaPredicateUtil.compactDeviceIdFuzzyPredicate(tagFuzzyPredicateList);
+        SchemaPredicateUtil.compactTagFuzzyPredicate(tagFuzzyPredicateList);
 
     // Each element represents one batch of possible devices
     // expressions inner each element are and-concat representing conditions 
of different column
     final List<Map<Integer, List<SchemaFilter>>> index2FilterMapList =
-        SchemaPredicateUtil.convertDeviceIdPredicateToOrConcatList(
+        SchemaPredicateUtil.convertTagPredicateToOrConcatList(
             tagDeterminedPredicateList, tableInstance, 
mayContainDuplicateDevice);
-    // If List<Expression> in idPredicateList contains all id columns 
comparison which can use
-    // SchemaCache, we store its index.
+    // If a predicate branch contains comparisons for all tag columns and can 
use SchemaCache, we
+    // store its index.
     final List<Integer> tagSingleMatchIndexList =
         SchemaPredicateUtil.extractTagSingleMatchExpressionCases(
             index2FilterMapList, tableInstance);
-    // Store missing cache index in idSingleMatchIndexList
+    // Store branches that miss the cache in tagSingleMatchPredicateNotInCache
     final List<Integer> tagSingleMatchPredicateNotInCache = new ArrayList<>();
 
     final boolean isExactDeviceQuery = tagSingleMatchIndexList.size() == 
index2FilterMapList.size();
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationPlanner.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationPlanner.java
index 06039bcee5d..9b8aaca846f 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationPlanner.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationPlanner.java
@@ -355,7 +355,7 @@ public class RelationPlanner implements 
AstVisitor<RelationPlan, Void> {
     // on the basis of that the order of fields is same with the column 
category order of segments
     // in DeviceEntry
     final Map<Symbol, Integer> tagAndAttributeIndexMap = new HashMap<>();
-    int idIndex = 0;
+    int tagIndex = 0;
     for (final Field field : fields) {
       final TsTableColumnCategory category = field.getColumnCategory();
       final Symbol symbol = symbolAllocator.newSymbol(field);
@@ -365,7 +365,7 @@ public class RelationPlanner implements 
AstVisitor<RelationPlan, Void> {
           new ColumnSchema(
               field.getName().orElse(null), field.getType(), field.isHidden(), 
category));
       if (category == TsTableColumnCategory.TAG) {
-        tagAndAttributeIndexMap.put(symbol, idIndex++);
+        tagAndAttributeIndexMap.put(symbol, tagIndex++);
       }
     }
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/DeviceTableScanNode.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/DeviceTableScanNode.java
index 3a522c8af61..a672caebfef 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/DeviceTableScanNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/DeviceTableScanNode.java
@@ -49,7 +49,7 @@ public class DeviceTableScanNode extends TableScanNode {
 
   protected List<DeviceEntry> deviceEntries;
 
-  // Indicates the respective index order of ID and Attribute columns in 
DeviceEntry.
+  // Indicates the respective index order of tag and attribute columns in 
DeviceEntry.
   // For example, for DeviceEntry 
`table1.tag1.tag2.attribute1.attribute2.s1.s2`, the content of
   // `tagAndAttributeIndexMap` will
   // be `tag1: 0, tag2: 1, attribute1: 0, attribute2: 1`.
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/TableScanNode.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/TableScanNode.java
index 79ed9dd09f7..1bc50ee179b 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/TableScanNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/TableScanNode.java
@@ -129,7 +129,7 @@ public abstract class TableScanNode extends SourceNode {
     return 
outputSymbols.stream().map(Symbol::getName).collect(Collectors.toList());
   }
 
-  public List<Symbol> getIdColumnsInTableStore(Metadata metadata, SessionInfo 
session) {
+  public List<Symbol> getTagColumnsInTableStore(Metadata metadata, SessionInfo 
session) {
     return Objects.requireNonNull(
             metadata.getTableSchema(session, qualifiedObjectName).orElse(null))
         .getColumns()
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushAggregationIntoTableScan.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushAggregationIntoTableScan.java
index 99a3aca6c5a..0b52844179c 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushAggregationIntoTableScan.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushAggregationIntoTableScan.java
@@ -190,8 +190,8 @@ public class PushAggregationIntoTableScan implements 
PlanOptimizer {
         return PushDownLevel.NOOP;
       } else if (singleDeviceEntry
           || ImmutableSet.copyOf(groupingKeys)
-              .containsAll(tableScanNode.getIdColumnsInTableStore(metadata, 
session))) {
-        // If all ID columns appear in groupingKeys and no Measurement column 
appears, we can push
+              .containsAll(tableScanNode.getTagColumnsInTableStore(metadata, 
session))) {
+        // If all tag columns appear in groupingKeys and no Measurement column 
appears, we can push
         // down completely.
         return PushDownLevel.COMPLETE;
       } else {

Reply via email to