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

yuqi1129 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/main by this push:
     new 99386ab61e [#11751] test(trino-connector): Enable Iceberg MySQL JDBC 
integration test (#11752)
99386ab61e is described below

commit 99386ab61ec5960470f34d32277d34b098771ecf
Author: Yuhui <[email protected]>
AuthorDate: Fri Jun 26 10:47:03 2026 +0800

    [#11751] test(trino-connector): Enable Iceberg MySQL JDBC integration test 
(#11752)
    
    ### What changes were proposed in this pull request?
    
    Enable the Trino connector Iceberg MySQL JDBC integration test.
    
    ### Why are the changes needed?
    
    The Iceberg MySQL JDBC test was ignored and not covered by the Trino
    connector integration test.
    
    Fix: #11751
    
    ### Does this PR introduce _any_ user-facing change?
    
    No.
    
    ### How was this patch tested?
    
    - `./gradlew :trino-connector:trino-connector:test --tests
    
org.apache.gravitino.trino.connector.catalog.iceberg.TestIcebergCatalogPropertyConverter
    -PskipITs -PskipDockerTests=true`
    - `./gradlew :trino-connector:trino-connector-473-478:assemble -PskipITs
    -PskipDockerTests=true`
    -
    
`./trino-connector/integration-test/trino-test-tools/trino_integration_test.sh
    --auto=all --test_set=lakehouse-iceberg --catalog=iceberg_mysql`
---
 .../docker-script/init/mysql/init.sql                   | 17 +++++++++++++++++
 .../{ignored => }/catalog_iceberg_mysql_cleanup.sql     |  0
 .../{ignored => }/catalog_iceberg_mysql_prepare.sql     |  4 ++--
 .../iceberg/IcebergCatalogPropertyConverter.java        |  5 +++++
 .../iceberg/TestIcebergCatalogPropertyConverter.java    |  2 ++
 5 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/integration-test-common/docker-script/init/mysql/init.sql 
b/integration-test-common/docker-script/init/mysql/init.sql
index 718ba3b64f..f6486358d1 100644
--- a/integration-test-common/docker-script/init/mysql/init.sql
+++ b/integration-test-common/docker-script/init/mysql/init.sql
@@ -18,6 +18,23 @@
  */
 GRANT ALL PRIVILEGES on *.* to 'trino'@'%';
 FLUSH PRIVILEGES;
+CREATE DATABASE IF NOT EXISTS iceberg_db;
+CREATE TABLE IF NOT EXISTS iceberg_db.iceberg_tables(
+    catalog_name VARCHAR(255) NOT NULL,
+    table_namespace VARCHAR(255) NOT NULL,
+    table_name VARCHAR(255) NOT NULL,
+    metadata_location VARCHAR(1000),
+    previous_metadata_location VARCHAR(1000),
+    iceberg_type VARCHAR(5),
+    PRIMARY KEY (catalog_name, table_namespace, table_name)
+);
+CREATE TABLE IF NOT EXISTS iceberg_db.iceberg_namespace_properties(
+    catalog_name VARCHAR(255) NOT NULL,
+    namespace VARCHAR(255) NOT NULL,
+    property_key VARCHAR(255) NOT NULL,
+    property_value VARCHAR(1000),
+    PRIMARY KEY (catalog_name, namespace, property_key)
+);
 CREATE DATABASE gt_mysql_test_all_type;
 CREATE TABLE gt_mysql_test_all_type.demo
 (
diff --git 
a/trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/lakehouse-iceberg/ignored/catalog_iceberg_mysql_cleanup.sql
 
b/trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/lakehouse-iceberg/catalog_iceberg_mysql_cleanup.sql
similarity index 100%
rename from 
trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/lakehouse-iceberg/ignored/catalog_iceberg_mysql_cleanup.sql
rename to 
trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/lakehouse-iceberg/catalog_iceberg_mysql_cleanup.sql
diff --git 
a/trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/lakehouse-iceberg/ignored/catalog_iceberg_mysql_prepare.sql
 
b/trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/lakehouse-iceberg/catalog_iceberg_mysql_prepare.sql
similarity index 80%
rename from 
trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/lakehouse-iceberg/ignored/catalog_iceberg_mysql_prepare.sql
rename to 
trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/lakehouse-iceberg/catalog_iceberg_mysql_prepare.sql
index 607be50818..4c996683a0 100644
--- 
a/trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/lakehouse-iceberg/ignored/catalog_iceberg_mysql_prepare.sql
+++ 
b/trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/lakehouse-iceberg/catalog_iceberg_mysql_prepare.sql
@@ -2,9 +2,9 @@ call gravitino.system.create_catalog(
     'gt_iceberg_mysql',
     'lakehouse-iceberg',
     map(
-        array['uri', 'catalog-backend', 'warehouse', 'jdbc-user', 
'jdbc-password', 'jdbc-driver'],
+        array['uri', 'catalog-backend', 'warehouse', 'jdbc-user', 
'jdbc-password', 'jdbc-driver', 'jdbc-schema-version'],
         
array['${mysql_uri}/iceberg_db?createDatabaseIfNotExist=true&useSSL=false', 
'jdbc',
-            '${hdfs_uri}/user/iceberg/warehouse/TrinoQueryIT', 'trino', 
'ds123', 'com.mysql.cj.jdbc.Driver']
+            '${hdfs_uri}/user/iceberg/warehouse/TrinoQueryIT', 'trino', 
'ds123', 'com.mysql.cj.jdbc.Driver', 'V1']
     )
 );
 
diff --git 
a/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/iceberg/IcebergCatalogPropertyConverter.java
 
b/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/iceberg/IcebergCatalogPropertyConverter.java
index 8cbb46185c..1802c6c64c 100644
--- 
a/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/iceberg/IcebergCatalogPropertyConverter.java
+++ 
b/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/iceberg/IcebergCatalogPropertyConverter.java
@@ -143,6 +143,11 @@ public class IcebergCatalogPropertyConverter extends 
CatalogPropertyConverter {
     jdbcProperties.put(
         "iceberg.jdbc-catalog.catalog-name",
         IcebergPropertiesUtils.getCatalogBackendName(properties));
+    if 
(properties.containsKey(IcebergConstants.GRAVITINO_JDBC_SCHEMA_VERSION)) {
+      jdbcProperties.put(
+          "iceberg.jdbc-catalog.schema-version",
+          properties.get(IcebergConstants.GRAVITINO_JDBC_SCHEMA_VERSION));
+    }
 
     return jdbcProperties;
   }
diff --git 
a/trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/catalog/iceberg/TestIcebergCatalogPropertyConverter.java
 
b/trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/catalog/iceberg/TestIcebergCatalogPropertyConverter.java
index e2c7c55255..b9fda2c4b3 100644
--- 
a/trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/catalog/iceberg/TestIcebergCatalogPropertyConverter.java
+++ 
b/trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/catalog/iceberg/TestIcebergCatalogPropertyConverter.java
@@ -141,6 +141,7 @@ public class TestIcebergCatalogPropertyConverter {
             .put("jdbc-user", "root")
             .put("jdbc-password", "ds123")
             .put("jdbc-driver", "com.mysql.cj.jdbc.Driver")
+            .put("jdbc-schema-version", "V1")
             .put("unknown-key", "1")
             .put("trino.bypass.iceberg.unknown-key", "1")
             .put("trino.bypass.iceberg.table-statistics-enabled", "true")
@@ -163,6 +164,7 @@ public class TestIcebergCatalogPropertyConverter {
     
Assertions.assertEquals(config.get("iceberg.jdbc-catalog.connection-password"), 
"ds123");
     Assertions.assertEquals(
         config.get("iceberg.jdbc-catalog.driver-class"), 
"com.mysql.cj.jdbc.Driver");
+    Assertions.assertEquals(config.get("iceberg.jdbc-catalog.schema-version"), 
"V1");
     Assertions.assertEquals(config.get("iceberg.catalog.type"), "jdbc");
 
     // test trino passing properties

Reply via email to