This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch ty/TableModelGrammar
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/ty/TableModelGrammar by this
push:
new 74b848548c4 Replace ColumnDefinition.ColumnCategory with
TsTableColumnCategory
74b848548c4 is described below
commit 74b848548c4bd6edb54404a6831b0fa8ceefd6a4
Author: Jackie Tien <[email protected]>
AuthorDate: Thu Jun 13 18:50:19 2024 +0800
Replace ColumnDefinition.ColumnCategory with TsTableColumnCategory
---
.../execution/config/TableConfigTaskVisitor.java | 3 ++-
.../plan/relational/sql/ast/ColumnDefinition.java | 20 +++++++++-----------
.../plan/relational/sql/parser/AstBuilder.java | 17 +++++++++++------
3 files changed, 22 insertions(+), 18 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
index 6681b8f353f..657512ef824 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.commons.schema.table.TsTable;
import org.apache.iotdb.commons.schema.table.column.AttributeColumnSchema;
import org.apache.iotdb.commons.schema.table.column.IdColumnSchema;
import org.apache.iotdb.commons.schema.table.column.MeasurementColumnSchema;
+import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.protocol.session.IClientSession;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
@@ -110,7 +111,7 @@ public class TableConfigTaskVisitor extends
AstVisitor<IConfigTask, MPPQueryCont
}
TsTable table = new TsTable(node.getName().getSuffix());
for (ColumnDefinition columnDefinition : node.getElements()) {
- ColumnDefinition.ColumnCategory category =
columnDefinition.getColumnCategory();
+ TsTableColumnCategory category = columnDefinition.getColumnCategory();
String columnName = columnDefinition.getName().getValue();
if (table.getColumnSchema(columnName) != null) {
throw new SemanticException(
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ColumnDefinition.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ColumnDefinition.java
index b16a8a28556..e9b5f61438e 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ColumnDefinition.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ColumnDefinition.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.sql.ast;
+import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
+
import com.google.common.collect.ImmutableList;
import javax.annotation.Nullable;
@@ -32,21 +34,17 @@ import static java.util.Objects.requireNonNull;
public final class ColumnDefinition extends Node {
- public enum ColumnCategory {
- ID,
- ATTRIBUTE,
- TIME,
- MEASUREMENT;
- }
-
private final Identifier name;
private final DataType type;
- private final ColumnCategory columnCategory;
+ private final TsTableColumnCategory columnCategory;
@Nullable private final String charsetName;
public ColumnDefinition(
- Identifier name, DataType type, ColumnCategory columnCategory, @Nullable
String charsetName) {
+ Identifier name,
+ DataType type,
+ TsTableColumnCategory columnCategory,
+ @Nullable String charsetName) {
super(null);
this.name = requireNonNull(name, "name is null");
this.type = requireNonNull(type, "type is null");
@@ -58,7 +56,7 @@ public final class ColumnDefinition extends Node {
NodeLocation location,
Identifier name,
DataType type,
- ColumnCategory columnCategory,
+ TsTableColumnCategory columnCategory,
@Nullable String charsetName) {
super(requireNonNull(location, "location is null"));
this.name = requireNonNull(name, "name is null");
@@ -75,7 +73,7 @@ public final class ColumnDefinition extends Node {
return type;
}
- public ColumnCategory getColumnCategory() {
+ public TsTableColumnCategory getColumnCategory() {
return columnCategory;
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AstBuilder.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AstBuilder.java
index 02d98c5fac7..cadafaad7a6 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AstBuilder.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AstBuilder.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.sql.parser;
+import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AddColumn;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AliasedRelation;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AllColumns;
@@ -140,6 +141,10 @@ import java.util.function.Function;
import static com.google.common.collect.ImmutableList.toImmutableList;
import static java.util.Objects.requireNonNull;
import static java.util.stream.Collectors.toList;
+import static
org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory.ATTRIBUTE;
+import static
org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory.ID;
+import static
org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory.MEASUREMENT;
+import static
org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory.TIME;
import static
org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GroupingSets.Type.CUBE;
import static
org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GroupingSets.Type.EXPLICIT;
import static
org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GroupingSets.Type.ROLLUP;
@@ -1558,19 +1563,19 @@ public class AstBuilder extends
RelationalSqlBaseVisitor<Node> {
return Optional.ofNullable(context).map(c -> (Identifier) visit(c));
}
- private static ColumnDefinition.ColumnCategory getColumnCategory(Token
category) {
+ private static TsTableColumnCategory getColumnCategory(Token category) {
if (category == null) {
- return ColumnDefinition.ColumnCategory.MEASUREMENT;
+ return MEASUREMENT;
}
switch (category.getType()) {
case RelationalSqlLexer.ID:
- return ColumnDefinition.ColumnCategory.ID;
+ return ID;
case RelationalSqlLexer.ATTRIBUTE:
- return ColumnDefinition.ColumnCategory.ATTRIBUTE;
+ return ATTRIBUTE;
case RelationalSqlLexer.TIME:
- return ColumnDefinition.ColumnCategory.TIME;
+ return TIME;
case RelationalSqlLexer.MEASUREMENT:
- return ColumnDefinition.ColumnCategory.MEASUREMENT;
+ return MEASUREMENT;
default:
throw new UnsupportedOperationException(
"Unsupported ColumnCategory: " + category.getText());