diff --git a/fe/fe-core/pom.xml b/fe/fe-core/pom.xml index 0375db287e6e21..784517929fcc36 100644 --- a/fe/fe-core/pom.xml +++ b/fe/fe-core/pom.xml @@ -518,6 +518,12 @@ under the License. hadoop-auth + + com.dmetasoul + lakesoul-common + 2.4.0-SNAPSHOT + + org.apache.iceberg iceberg-core diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java index 0abeaa0886f799..b351730e8790ee 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java @@ -252,7 +252,7 @@ enum TableType { MYSQL, ODBC, OLAP, SCHEMA, INLINE_VIEW, VIEW, BROKER, ELASTICSEARCH, HIVE, ICEBERG, @Deprecated HUDI, JDBC, TABLE_VALUED_FUNCTION, HMS_EXTERNAL_TABLE, ES_EXTERNAL_TABLE, MATERIALIZED_VIEW, JDBC_EXTERNAL_TABLE, ICEBERG_EXTERNAL_TABLE, TEST_EXTERNAL_TABLE, PAIMON_EXTERNAL_TABLE, MAX_COMPUTE_EXTERNAL_TABLE, - HUDI_EXTERNAL_TABLE; + HUDI_EXTERNAL_TABLE, DELTALAKE_EXTERNAL_TABLE, LAKESOUl_EXTERNAL_TABLE; public String toEngineName() { switch (this) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/InitCatalogLog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/InitCatalogLog.java index dd30fbf43c95ac..e360b88496ecc8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/InitCatalogLog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/InitCatalogLog.java @@ -40,6 +40,7 @@ public enum Type { PAIMON, MAX_COMPUTE, HUDI, + LAKESOUL, TEST, UNKNOWN; } diff --git a/gensrc/thrift/Descriptors.thrift b/gensrc/thrift/Descriptors.thrift index 2e3831903cc02b..43b6156d370817 100644 --- a/gensrc/thrift/Descriptors.thrift +++ b/gensrc/thrift/Descriptors.thrift @@ -336,6 +336,12 @@ struct TMCTable { 6: optional string public_access } +struct TLakeSoulTable { + 1: required string db_name + 2: required string table_name + 3: required map properties +} + // "Union" of all table types. struct TTableDescriptor { 1: required Types.TTableId id @@ -359,6 +365,7 @@ struct TTableDescriptor { 19: optional THudiTable hudiTable 20: optional TJdbcTable jdbcTable 21: optional TMCTable mcTable + 22: optional TLakeSoulTable lakesoulTable } struct TDescriptorTable { diff --git a/gensrc/thrift/PlanNodes.thrift b/gensrc/thrift/PlanNodes.thrift index 09e3f4788d61bb..b327d0eeea442c 100644 --- a/gensrc/thrift/PlanNodes.thrift +++ b/gensrc/thrift/PlanNodes.thrift @@ -329,6 +329,13 @@ struct THudiFileDesc { 10: optional list nested_fields; } +struct TLakeSoulFileDesc { + 1: optional string base_path; + 2: optional i64 data_file_length; + 3: optional list column_names; + 4: optional list column_types; +} + struct TTransactionalHiveDeleteDeltaDesc { 1: optional string directory_location 2: optional list file_names @@ -346,6 +353,7 @@ struct TTableFormatFileDesc { 4: optional TPaimonFileDesc paimon_params 5: optional TTransactionalHiveDesc transactional_hive_params 6: optional TMaxComputeFileDesc max_compute_params + 7: optional TLakeSoulFileDesc lakesoul_params } enum TTextSerdeType {