This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
commit bd364897d42e484755acbe5096c00ec3a8e9afbd Author: wuwenchi <wuwenchi...@hotmail.com> AuthorDate: Tue Mar 26 17:09:53 2024 +0800 [feature](hive/iceberg)add doris's version in table properties (#32774) issue #31442 when create a external table, we can add doris's version in table's properties. --- .../src/main/java/org/apache/doris/datasource/ExternalCatalog.java | 3 +++ .../src/main/java/org/apache/doris/datasource/hive/HiveUtil.java | 5 ++++- .../java/org/apache/doris/datasource/iceberg/IcebergMetadataOps.java | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java index d9af5557117..2238ee5de95 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java @@ -32,6 +32,7 @@ import org.apache.doris.cluster.ClusterNamespace; import org.apache.doris.common.Config; import org.apache.doris.common.DdlException; import org.apache.doris.common.UserException; +import org.apache.doris.common.Version; import org.apache.doris.common.io.Text; import org.apache.doris.common.io.Writable; import org.apache.doris.common.util.Util; @@ -85,6 +86,8 @@ public abstract class ExternalCatalog private static final Logger LOG = LogManager.getLogger(ExternalCatalog.class); public static final String ENABLE_AUTO_ANALYZE = "enable.auto.analyze"; + public static final String DORIS_VERSION = "doris.version"; + public static final String DORIS_VERSION_VALUE = Version.DORIS_BUILD_VERSION + "-" + Version.DORIS_BUILD_SHORT_HASH; // Unique id of this catalog, will be assigned after catalog is loaded. @SerializedName(value = "id") diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveUtil.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveUtil.java index cc834894076..e6b5c1095f3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveUtil.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveUtil.java @@ -20,6 +20,7 @@ package org.apache.doris.datasource.hive; import org.apache.doris.catalog.Column; import org.apache.doris.common.Pair; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.ExternalCatalog; import org.apache.doris.fs.remote.BrokerFileSystem; import org.apache.doris.fs.remote.RemoteFileSystem; @@ -192,7 +193,9 @@ public final class HiveUtil { // table.setViewOriginalText(hiveTable.getViewSql()); // table.setViewExpandedText(hiveTable.getViewSql()); table.setTableType("MANAGED_TABLE"); - table.setParameters(hiveTable.getProperties()); + Map<String, String> props = new HashMap<>(hiveTable.getProperties()); + props.put(ExternalCatalog.DORIS_VERSION, ExternalCatalog.DORIS_VERSION_VALUE); + table.setParameters(props); return table; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataOps.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataOps.java index 2caf3c1d16d..0f43ef21c43 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataOps.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataOps.java @@ -27,6 +27,7 @@ import org.apache.doris.catalog.StructType; import org.apache.doris.common.DdlException; import org.apache.doris.common.UserException; import org.apache.doris.datasource.DorisTypeVisitor; +import org.apache.doris.datasource.ExternalCatalog; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.operations.ExternalMetadataOps; @@ -117,6 +118,7 @@ public class IcebergMetadataOps implements ExternalMetadataOps { DorisTypeVisitor.visit(structType, new DorisTypeToIcebergType(structType)); Schema schema = new Schema(visit.asNestedType().asStructType().fields()); Map<String, String> properties = stmt.getProperties(); + properties.put(ExternalCatalog.DORIS_VERSION, ExternalCatalog.DORIS_VERSION_VALUE); PartitionSpec partitionSpec = IcebergUtils.solveIcebergPartitionSpec(properties, schema); catalog.createTable(TableIdentifier.of(dbName, tableName), schema, partitionSpec, properties); db.setUnInitialized(true); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org