diff --git a/dev/docker-compose-integration.yml b/dev/docker-compose-integration.yml index 387e54ac2c..03f5684ce4 100644 --- a/dev/docker-compose-integration.yml +++ b/dev/docker-compose-integration.yml @@ -44,7 +44,7 @@ services: retries: 5 start_period: 90s rest: - image: apache/iceberg-rest-fixture:1.10.1 + image: apache/iceberg-rest-fixture container_name: pyiceberg-rest networks: iceberg_net: diff --git a/dev/spark/Dockerfile b/dev/spark/Dockerfile index 0e1f29d152..e6cba7b589 100644 --- a/dev/spark/Dockerfile +++ b/dev/spark/Dockerfile @@ -19,7 +19,7 @@ FROM apache/spark:${BASE_IMAGE_SPARK_VERSION} # Dependency versions - keep these compatible # Changing these will invalidate the JAR download cache layer -ARG ICEBERG_VERSION=1.10.1 +ARG ICEBERG_VERSION=1.11.0 ARG ICEBERG_SPARK_RUNTIME_VERSION=4.0_2.13 ARG HADOOP_VERSION=3.4.1 ARG AWS_SDK_VERSION=2.24.6 diff --git a/pyiceberg/table/inspect.py b/pyiceberg/table/inspect.py index 41d5bf76be..5cae743313 100644 --- a/pyiceberg/table/inspect.py +++ b/pyiceberg/table/inspect.py @@ -404,6 +404,7 @@ def _get_all_manifests_schema(self) -> pa.Schema: all_manifests_schema = self._get_manifests_schema() all_manifests_schema = all_manifests_schema.append(pa.field("reference_snapshot_id", pa.int64(), nullable=False)) + all_manifests_schema = all_manifests_schema.append(pa.field("key_metadata", pa.binary(), nullable=True)) return all_manifests_schema def _generate_manifests_table(self, snapshot: Snapshot | None, is_all_manifests_table: bool = False) -> pa.Table: @@ -468,6 +469,7 @@ def _partition_summaries_to_rows( } if is_all_manifests_table: manifest_row["reference_snapshot_id"] = snapshot.snapshot_id + manifest_row["key_metadata"] = manifest.key_metadata manifests.append(manifest_row) return pa.Table.from_pylist( diff --git a/tests/conftest.py b/tests/conftest.py index d7cdba012b..eb0b712d1e 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -3320,7 +3320,7 @@ def does_support_slash_in_identifier(catalog: Catalog) -> bool: from pyiceberg.catalog.sql import SqlCatalog if isinstance(catalog, RestCatalog): - return property_as_bool(catalog.properties, "supports_slash_in_identifier", True) + return property_as_bool(catalog.properties, "supports_slash_in_identifier", False) from pyiceberg.catalog.hive import HiveCatalog if isinstance(catalog, (HiveCatalog, NoopCatalog, SqlCatalog)): diff --git a/tests/integration/test_catalog.py b/tests/integration/test_catalog.py index 630cae4767..457f5e90c2 100644 --- a/tests/integration/test_catalog.py +++ b/tests/integration/test_catalog.py @@ -670,7 +670,6 @@ def test_rest_drop_view( @pytest.mark.integration -@pytest.mark.skip(reason="Requires Iceberg REST Fixtures 1.11.x") def test_rest_custom_namespace_separator(rest_catalog: RestCatalog, table_schema_simple: Schema) -> None: """ Tests that the REST catalog correctly picks up the namespace-separator from the config endpoint. @@ -742,19 +741,19 @@ def test_namespace_with_slash(test_catalog: Catalog) -> None: namespace = ("new/db",) - if test_catalog.namespace_exists(namespace): + if namespace in test_catalog.list_namespaces(): test_catalog.drop_namespace(namespace) - assert not test_catalog.namespace_exists(namespace) + assert namespace not in test_catalog.list_namespaces() test_catalog.create_namespace(namespace) - assert test_catalog.namespace_exists(namespace) + assert namespace in test_catalog.list_namespaces() properties = test_catalog.load_namespace_properties(namespace) assert properties is not None test_catalog.drop_namespace(namespace) - assert not test_catalog.namespace_exists(namespace) + assert namespace not in test_catalog.list_namespaces() @pytest.mark.integration diff --git a/tests/integration/test_inspect_table.py b/tests/integration/test_inspect_table.py index 03d4437d18..4d8dfbe9bb 100644 --- a/tests/integration/test_inspect_table.py +++ b/tests/integration/test_inspect_table.py @@ -1012,6 +1012,7 @@ def test_inspect_all_manifests(spark: SparkSession, session_catalog: Catalog, fo "deleted_delete_files_count", "partition_summaries", "reference_snapshot_id", + "key_metadata", ] int_cols = [