You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by gi...@apache.org on 2025/05/19 06:19:18 UTC
(iceberg) branch dependabot/gradle/com.azure-azure-sdk-bom-1.2.34 updated (6b75646bd0 -> 0ffab60910)
This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch dependabot/gradle/com.azure-azure-sdk-bom-1.2.34
in repository https://gitbox.apache.org/repos/asf/iceberg.git
discard 6b75646bd0 Build: Bump com.azure:azure-sdk-bom from 1.2.31 to 1.2.34
add 60def0857d Spark 3.4: Migrate sql tests to JUnit5 (#12945)
add f9bfec36d1 Build: Bump datamodel-code-generator from 0.28.5 to 0.30.1 (#12961)
add d2806b4d88 Docs: Incorrect property in CREATE CATALOG for Flink (#12894)
add af32a07f46 Data, Spark 3.4, 3.5: Add flag to handle missing files for `importSparkTable` (#12212)
add 7f3f450bbd Spec additions for encryption (#12162)
add a214e9bc23 Spec: Update partition stats for V3 (#12098)
add 84741867b9 AWS, GCP: Deprecate passing FileIO properties through constructor (#12972)
add cbf2695e95 Flink: Maintenance - RewriteDataFiles (#11497)
add 47f8ae8d72 Build: Bump net.snowflake:snowflake-jdbc from 3.23.2 to 3.24.0 (#12965)
add 1e944650fc API, Core: Add deleteFile to RowDelta API (#12861)
add 92d89dc912 API, Core: Add table metadata keys for encryption (#12927)
add a04c532650 Core: Enable HTTP proxy support for the client used by REST Catalog (#12406)
add 4bb60aa0bc Flink: Backport Maintenance - RewriteDataFiles to Flink 1.19
add 27e73fea23 Flink: Backport Maintenance - RewriteDataFiles to Flink 2.0
add 94ba295960 Build: Bump Comet from 0.5.0 to 0.8.1 (#12974)
add 9fb80b7167 Core: Disallow creation of invalid PartitionSpec (#12887)
add c4afd783d3 REST Spec: Remove update to enable row lineage (#12986)
add 3bb6a25ccd Spec: Update v3 summary, add row lineage (#12982)
add a00658b733 Docs: Mark Spark 3.3 as End-of-Life since 1.9 (#12989)
add 176a6c6b82 Spark 3.4: Update RewriteDataFilesSparkAction and RewritePositionDeleteFilesSparkAction to use the new APIs (#12980)
add c730c0b16d Build, Core: Let RevAPI compare against 1.9.0 / Fix API breakage around StorageCredential (#12930)
add 542a4d7646 GCP: Support multiple storage credential prefixes (#12881)
add 8cf996188a AWS, Core, Flink, Parquet: Remove deprecations for 1.10.0 (#12909)
add ad7f5c439b Spark: Spark 4.0 initial support (#12494)
add ada3d12b4e Spark 3.4: Migrate source and spark tests to JUnit5 (#12998)
add df866c51af ORC: Upgrade ORC to 1.9.6 (#13003)
add 809a2327f1 Spark 3.4: Migrate SparkCatalogTestBase related tests to JUnit5 (#13007)
add bed88a38d5 Core: Refactor and use InternalData for partition stats (#12946)
add 9c8c431f83 Docs: Add Databend link (#13002)
add a5bcacd979 Revert "Spark: Spark 4.0 initial support (#12494)"
add 582d151de4 Update ADLS implementation status (#13020)
add 97c0e136b8 Spec: Clarify behavior of special geo objects for lower/upper bounds (#12956)
add 8976bc5fd9 Spark 3.4: Migrate SparkTestBaseWithCatalog related tests to JUnit5 (#13015)
add 951ba965a7 Spark 3.4: Migrate SparkTestBase related tests to JUnit5 (#13031)
add fa1d860603 Docs: Add Spark SQL Configurations (#12931)
add acf56af529 Parquet: Fix to ensure that last updated sequence numbers for V2 and earlier tables are null (#13001)
add 4735142fbf Build: Bump mkdocs-material from 9.6.12 to 9.6.13 (#13029)
add 7217fb4463 REST spec: Add encryption keys (#12987)
add d04be9b6df Add table property to disable/enable parquet column statistics #12770 (#12771)
add 6c29507008 Docs: Fix links to javadoc (#12880)
add 630bf0d33b OpenAPI: Add retries when finding free port for REST server (#13017)
add 5d2230ead7 Spark 3.4: Migrate tests in spark.data including refactoring Spark 3.5 tests (#13038)
add 8facdafc37 Catalog: Add BigQuery Metastore Catalog Support (#12808)
add ba75a11ebe Spark 3.4: Migrate tests in spark.source including refactoring Spark 3.5 tests (#13040)
add d2124f2771 Spec: Note position delete files are only deprecated in v3 (#12983)
add aaba2a3347 Nessie: Throw a NoSuchNamespaceException when listing a non-existing namespace (#12901)
add 4ea7f93424 Docs: Add Delete Granularity option to write configuration (#13046)
add d44cba57c8 Spark 3.4: Migrate other JUnit 4 dependant tests to JUnit 5 (#13044)
add 0aab58191a Arrow: Avoid deprecated ArrowType.Decimal constructor (#13051)
add d94b09b431 Core: Support incremental compute for partition stats (#12629)
add b050efce83 Build: Bump com.google.cloud:libraries-bom from 26.59.0 to 26.60.0 (#13026)
add c882e39823 Build: Bump io.netty:netty-buffer from 4.2.0.Final to 4.2.1.Final (#13028)
add 268661af25 Flink: Add DynamicRecord / DynamicRecordInternal / DynamicRecordInternalSerializer (#12996)
add cb33ec16d0 Common: Reduce visibility of deprecated method since 1.7.0 (#13053)
add 71cbe17cea Spark: Move 3.5 as 4.0
add 8353ac8f80 Spark: Copy back 4.0 as 3.5
add 6c98a9e470 Spark: initial support for Spark 4.0
add 66b60b7b5c Build: Remove JUnit4 dependency (#12938)
add 31c315f695 Flink: Support zookeeper lock in TableMaintenance (#12810)
add a25f9938ca [SPARK] Fix add_files type conversion exception and incorrect partition value when handling null partitions (#12886)
add cbbc8728e2 Core: Use baseTableLocation() instead of hardcoded table location in CatalogTests (#13071)
add 8511a37ce4 Flink: Backport support zookeeper lock in TableMaintenance (#13063)
add acffd4dc5d Kafka Connect: Add BigQuery Metastore catalog (#13041)
add b050314a03 Flink: Fix watermark no pass in TaskResultAggregator (#13069)
add c2478968e6 Core: Add max files rewrite option for RewriteAction (#12824)
add b08b241aa3 Build: Bump mkdocs-material from 9.6.13 to 9.6.14 (#13090)
add a44ec8d1c3 Spec: Clarify writer requirements to prevent orphan DVs (#13042)
add 1b30216307 API: Reorder as() calls in Tests (#13083)
add a491ce9356 Build: Bump software.amazon.awssdk:bom from 2.31.35 to 2.31.45 (#13088)
add 0ffab60910 Build: Bump com.azure:azure-sdk-bom from 1.2.31 to 1.2.34
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (6b75646bd0)
\
N -- N -- N refs/heads/dependabot/gradle/com.azure-azure-sdk-bom-1.2.34 (0ffab60910)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.baseline/checkstyle/checkstyle-suppressions.xml | 3 +
.baseline/checkstyle/checkstyle.xml | 10 +-
.github/labeler.yml | 3 +-
.github/workflows/java-ci.yml | 4 +-
.github/workflows/publish-snapshot.yml | 2 +-
.github/workflows/spark-ci.yml | 6 +-
.gitignore | 2 +
.palantir/revapi.yml | 104 ++++
.../java/org/apache/iceberg/PartitionSpec.java | 11 +
api/src/main/java/org/apache/iceberg/RowDelta.java | 11 +
api/src/main/java/org/apache/iceberg/Snapshot.java | 9 +
.../EncryptedKey.java} | 13 +-
.../java/org/apache/iceberg/TestIcebergBuild.java | 8 +-
.../iceberg/TestPartitionSpecValidation.java | 101 ++++
.../org/apache/iceberg/arrow/ArrowSchemaUtil.java | 2 +-
.../iceberg/arrow/vectorized/ArrowReaderTest.java | 7 +-
.../org/apache/iceberg/aws/s3/TestS3FileIO.java | 6 +-
.../iceberg/aws/s3/TestS3FileIOIntegration.java | 101 ++--
.../iceberg/aws/s3/TestS3MultipartUpload.java | 9 +-
.../org/apache/iceberg/aws/RESTSigV4Signer.java | 160 -----
.../java/org/apache/iceberg/aws/s3/S3FileIO.java | 7 +
.../gcp/bigquery/BigQueryMetastoreCatalog.java | 349 +++++++++++
.../gcp/bigquery/BigQueryMetastoreClient.java | 127 ++++
.../gcp/bigquery/BigQueryMetastoreClientImpl.java | 660 +++++++++++++++++++++
.../gcp/bigquery/BigQueryMetastoreUtils.java | 75 +++
.../gcp/bigquery/BigQueryTableOperations.java | 259 ++++++++
.../gcp/bigquery/FakeBigQueryMetastoreClient.java | 254 ++++++++
.../iceberg/gcp/bigquery/TestBigQueryCatalog.java | 174 ++++++
.../gcp/bigquery/TestBigQueryTableOperations.java | 293 +++++++++
build.gradle | 39 +-
.../org/apache/iceberg/common/DynConstructors.java | 6 +-
.../java/org/apache/iceberg/common/DynMethods.java | 6 +-
.../main/java/org/apache/iceberg/BaseRowDelta.java | 44 ++
.../main/java/org/apache/iceberg/BaseSnapshot.java | 11 +-
.../main/java/org/apache/iceberg/CatalogUtil.java | 6 +
.../org/apache/iceberg/EncryptedKeyParser.java | 85 +++
.../org/apache/iceberg/GenericManifestFile.java | 41 --
.../java/org/apache/iceberg/MetadataUpdate.java | 66 ++-
.../org/apache/iceberg/MetadataUpdateParser.java | 64 +-
.../java/org/apache/iceberg/PartitionStats.java | 46 +-
.../org/apache/iceberg/PartitionStatsHandler.java | 429 ++++++++++++++
.../org/apache/iceberg/PartitionStatsUtil.java | 5 +
.../org/apache/iceberg/RewriteTablePathUtil.java | 4 +-
.../main/java/org/apache/iceberg/SchemaUpdate.java | 3 +-
.../java/org/apache/iceberg/SnapshotParser.java | 8 +-
.../java/org/apache/iceberg/SnapshotProducer.java | 36 +-
.../java/org/apache/iceberg/TableMetadata.java | 76 ++-
.../org/apache/iceberg/TableMetadataParser.java | 18 +
.../java/org/apache/iceberg/TableProperties.java | 10 +-
.../iceberg/actions/BinPackRewriteFilePlanner.java | 80 ++-
.../org/apache/iceberg/actions/FileRewriter.java | 80 ---
.../apache/iceberg/actions/RewriteFileGroup.java | 32 -
.../actions/RewritePositionDeletesGroup.java | 32 -
.../iceberg/actions/SizeBasedDataRewriter.java | 173 ------
.../iceberg/actions/SizeBasedFileRewriter.java | 348 -----------
.../actions/SizeBasedPositionDeletesRewriter.java | 63 --
.../BaseEncryptedKey.java} | 41 +-
.../apache/iceberg/encryption/EncryptionUtil.java | 13 +
.../iceberg/io/ImmutableStorageCredential.java | 322 ++++++++++
.../org/apache/iceberg/io/StorageCredential.java | 11 +-
.../java/org/apache/iceberg/rest/HTTPClient.java | 34 ++
.../java/org/apache/iceberg/util/JsonUtil.java | 48 ++
.../iceberg/PartitionStatsHandlerTestBase.java | 238 +++-----
.../org/apache/iceberg/TestDataTaskParser.java | 2 +
.../org/apache/iceberg/TestEncryptedKeyParser.java | 76 +++
.../apache/iceberg/TestMetadataUpdateParser.java | 86 ++-
.../org/apache/iceberg/TestPartitionStatsUtil.java | 4 +
.../test/java/org/apache/iceberg/TestRowDelta.java | 141 +++++
.../org/apache/iceberg/TestRowLineageMetadata.java | 36 +-
.../apache/iceberg/TestSchemaAndMappingUpdate.java | 15 +
.../java/org/apache/iceberg/TestSnapshotJson.java | 10 +-
.../java/org/apache/iceberg/TestTableMetadata.java | 28 +-
.../org/apache/iceberg/TestUpdateRequirements.java | 2 +-
.../actions/TestBinPackRewriteFilePlanner.java | 93 ++-
.../iceberg/actions/TestSizeBasedRewriter.java | 95 ---
.../avro/TestAvroPartitionStatsHandler.java} | 11 +-
.../org/apache/iceberg/catalog/CatalogTests.java | 4 +-
.../iceberg/encryption/EncryptionTestHelpers.java | 3 +-
.../org/apache/iceberg/rest/TestHTTPClient.java | 59 ++
.../TestCommitTransactionRequestParser.java | 2 +-
.../java/org/apache/iceberg/util/TestJsonUtil.java | 63 ++
.../iceberg/PartitionStatsHandlerBenchmark.java | 23 +-
.../apache/iceberg/data/PartitionStatsHandler.java | 4 +
.../apache/iceberg/data/GenericAppenderHelper.java | 15 -
.../iceberg/data/TestTableMigrationUtil.java | 110 ++++
docs/docs/api.md | 8 +-
docs/docs/aws.md | 6 +-
docs/docs/configuration.md | 2 +
docs/docs/hive.md | 2 +-
docs/docs/java-api-quickstart.md | 2 +-
docs/docs/kafka-connect.md | 15 +-
docs/docs/spark-configuration.md | 56 ++
docs/mkdocs.yml | 1 +
flink/v1.19/build.gradle | 1 -
.../flink/maintenance/api/ExpireSnapshots.java | 2 +-
.../maintenance/api/MaintenanceTaskBuilder.java | 4 +-
.../flink/maintenance/api/RewriteDataFiles.java | 234 ++++++++
.../flink/maintenance/api/TableMaintenance.java | 7 +-
.../flink/maintenance/api/ZkLockFactory.java | 178 ++++++
.../operator/DataFileRewriteCommitter.java | 199 +++++++
.../operator/DataFileRewritePlanner.java | 206 +++++++
.../operator/DataFileRewriteRunner.java | 253 ++++++++
.../maintenance/operator/DeleteFilesProcessor.java | 29 +-
.../operator/ExpireSnapshotsProcessor.java | 2 +-
.../flink/maintenance/operator/LockRemover.java | 28 +-
.../flink/maintenance/operator/LogUtil.java | 9 +-
.../operator/TableMaintenanceMetrics.java | 30 +
.../maintenance/operator/TaskResultAggregator.java | 101 ++++
.../flink/maintenance/operator/TriggerManager.java | 29 +-
.../api/MaintenanceTaskInfraExtension.java | 8 +-
.../maintenance/api/MaintenanceTaskTestBase.java | 39 +-
.../flink/maintenance/api/TestExpireSnapshots.java | 43 +-
.../flink/maintenance/api/TestMaintenanceE2E.java | 13 +
.../maintenance/api/TestRewriteDataFiles.java | 417 +++++++++++++
.../flink/maintenance/api/TestZkLockFactory.java | 39 +-
.../maintenance/operator/OperatorTestBase.java | 113 ++++
.../flink/maintenance/operator/RewriteUtil.java | 83 +++
.../operator/TestDataFileRewriteCommitter.java | 278 +++++++++
.../operator/TestDataFileRewritePlanner.java | 193 ++++++
.../operator/TestDataFileRewriteRunner.java | 355 +++++++++++
.../operator/TestDeleteFilesProcessor.java | 3 +-
.../iceberg/flink/sink/TestIcebergCommitter.java | 34 +-
.../flink/sink/TestIcebergFilesCommitter.java | 36 +-
.../apache/iceberg/flink/sink/TestIcebergSink.java | 7 +-
flink/v1.20/build.gradle | 1 -
.../flink/maintenance/api/ExpireSnapshots.java | 2 +-
.../maintenance/api/MaintenanceTaskBuilder.java | 4 +-
.../flink/maintenance/api/RewriteDataFiles.java | 240 ++++++++
.../flink/maintenance/api/TableMaintenance.java | 7 +-
.../flink/maintenance/api/ZkLockFactory.java | 178 ++++++
.../operator/DataFileRewriteCommitter.java | 199 +++++++
.../operator/DataFileRewritePlanner.java | 206 +++++++
.../operator/DataFileRewriteRunner.java | 253 ++++++++
.../maintenance/operator/DeleteFilesProcessor.java | 29 +-
.../operator/ExpireSnapshotsProcessor.java | 2 +-
.../flink/maintenance/operator/LockRemover.java | 28 +-
.../flink/maintenance/operator/LogUtil.java | 9 +-
.../operator/TableMaintenanceMetrics.java | 30 +
.../maintenance/operator/TaskResultAggregator.java | 101 ++++
.../flink/maintenance/operator/TriggerManager.java | 29 +-
.../api/MaintenanceTaskInfraExtension.java | 8 +-
.../maintenance/api/MaintenanceTaskTestBase.java | 39 +-
.../flink/maintenance/api/TestExpireSnapshots.java | 43 +-
.../flink/maintenance/api/TestMaintenanceE2E.java | 13 +
.../maintenance/api/TestRewriteDataFiles.java | 417 +++++++++++++
.../flink/maintenance/api/TestZkLockFactory.java | 39 +-
.../maintenance/operator/OperatorTestBase.java | 113 ++++
.../flink/maintenance/operator/RewriteUtil.java | 83 +++
.../operator/TestDataFileRewriteCommitter.java | 278 +++++++++
.../operator/TestDataFileRewritePlanner.java | 193 ++++++
.../operator/TestDataFileRewriteRunner.java | 355 +++++++++++
.../operator/TestDeleteFilesProcessor.java | 3 +-
.../iceberg/flink/sink/TestIcebergCommitter.java | 34 +-
.../flink/sink/TestIcebergFilesCommitter.java | 36 +-
.../apache/iceberg/flink/sink/TestIcebergSink.java | 7 +-
flink/v2.0/build.gradle | 4 +-
.../flink/maintenance/api/ExpireSnapshots.java | 2 +-
.../maintenance/api/MaintenanceTaskBuilder.java | 4 +-
.../flink/maintenance/api/RewriteDataFiles.java | 234 ++++++++
.../flink/maintenance/api/TableMaintenance.java | 7 +-
.../flink/maintenance/api/ZkLockFactory.java | 178 ++++++
.../operator/DataFileRewriteCommitter.java | 199 +++++++
.../operator/DataFileRewritePlanner.java | 206 +++++++
.../operator/DataFileRewriteRunner.java | 253 ++++++++
.../maintenance/operator/DeleteFilesProcessor.java | 29 +-
.../operator/ExpireSnapshotsProcessor.java | 2 +-
.../flink/maintenance/operator/LockRemover.java | 28 +-
.../flink/maintenance/operator/LogUtil.java | 9 +-
.../operator/TableMaintenanceMetrics.java | 30 +
.../maintenance/operator/TaskResultAggregator.java | 103 ++++
.../flink/maintenance/operator/TriggerManager.java | 29 +-
.../iceberg/flink/sink/dynamic/DynamicRecord.java | 130 ++++
.../flink/sink/dynamic/DynamicRecordInternal.java | 166 ++++++
.../dynamic/DynamicRecordInternalSerializer.java | 296 +++++++++
.../sink/dynamic/DynamicRecordInternalType.java | 96 +++
.../flink/sink/dynamic/TableSerializerCache.java | 135 +++++
.../api/MaintenanceTaskInfraExtension.java | 8 +-
.../maintenance/api/MaintenanceTaskTestBase.java | 39 +-
.../flink/maintenance/api/TestExpireSnapshots.java | 43 +-
.../flink/maintenance/api/TestMaintenanceE2E.java | 13 +
.../maintenance/api/TestRewriteDataFiles.java | 417 +++++++++++++
.../flink/maintenance/api/TestZkLockFactory.java | 39 +-
.../maintenance/operator/OperatorTestBase.java | 113 ++++
.../flink/maintenance/operator/RewriteUtil.java | 83 +++
.../operator/TestDataFileRewriteCommitter.java | 278 +++++++++
.../operator/TestDataFileRewritePlanner.java | 193 ++++++
.../operator/TestDataFileRewriteRunner.java | 355 +++++++++++
.../operator/TestDeleteFilesProcessor.java | 3 +-
.../operator/TestTaskResultAggregator.java | 45 ++
.../iceberg/flink/sink/TestIcebergCommitter.java | 34 +-
.../flink/sink/TestIcebergFilesCommitter.java | 36 +-
.../apache/iceberg/flink/sink/TestIcebergSink.java | 7 +-
.../DynamicRecordInternalSerializerTestBase.java | 96 +++
...DynamicRecordInternalSerializerWriteSchema.java | 14 +-
...namicRecordInternalSerializerWriteSchemaId.java | 14 +-
.../sink/dynamic/TestTableSerializerCache.java | 124 ++++
format/spec.md | 94 ++-
.../java/org/apache/iceberg/gcp/GCPProperties.java | 12 +-
.../java/org/apache/iceberg/gcp/gcs/GCSFileIO.java | 182 +++---
.../org/apache/iceberg/gcp/gcs/GCSInputFile.java | 14 +-
.../org/apache/iceberg/gcp/gcs/GCSOutputFile.java | 5 +-
.../apache/iceberg/gcp/gcs/PrefixedStorage.java | 121 ++++
.../org/apache/iceberg/gcp/gcs/GCSFileIOTest.java | 197 ++++--
.../iceberg/gcp/gcs/TestPrefixedStorage.java | 58 ++
gradle.properties | 2 +-
gradle/libs.versions.toml | 16 +-
.../org/apache/iceberg/hive/TestHiveMetastore.java | 1 +
jmh.gradle | 5 +
kafka-connect/build.gradle | 3 +
.../apache/iceberg/nessie/NessieIcebergClient.java | 10 +
.../iceberg/nessie/TestBranchVisibility.java | 13 +-
.../apache/iceberg/nessie/TestMultipleClients.java | 12 +-
.../apache/iceberg/nessie/TestNessieCatalog.java | 7 -
.../iceberg/nessie/TestNessieIcebergClient.java | 5 +-
open-api/requirements.txt | 2 +-
open-api/rest-catalog-open-api.py | 21 +-
open-api/rest-catalog-open-api.yaml | 51 +-
.../apache/iceberg/rest/RESTServerExtension.java | 30 +-
.../iceberg/TestOrcPartitionStatsHandler.java | 56 ++
.../data/parquet/GenericParquetReaders.java | 13 -
.../iceberg/data/parquet/GenericParquetWriter.java | 21 -
.../iceberg/data/parquet/InternalReader.java | 14 -
.../iceberg/data/parquet/InternalWriter.java | 21 -
.../java/org/apache/iceberg/parquet/Parquet.java | 77 ++-
.../iceberg/parquet/ParquetValueReaders.java | 2 +-
.../iceberg/parquet/ParquetValueWriters.java | 12 -
.../iceberg/TestParquetPartitionStatsHandler.java | 8 +-
.../org/apache/iceberg/parquet/TestParquet.java | 46 ++
settings.gradle | 14 +
site/docs/multi-engine-support.md | 2 +-
site/docs/releases.md | 2 -
site/docs/status.md | 1 +
site/requirements.txt | 2 +-
spark/build.gradle | 4 +
spark/v3.4/build.gradle | 7 +-
.../spark/extensions/TestAddFilesProcedure.java | 108 ++++
.../extensions/TestRewriteDataFilesProcedure.java | 2 +-
.../extensions/TestRewritePositionDeleteFiles.java | 6 +-
.../action/IcebergSortCompactionBenchmark.java | 30 +-
.../java/org/apache/iceberg/spark/Spark3Util.java | 3 +-
.../org/apache/iceberg/spark/SparkTableUtil.java | 115 +++-
.../spark/actions/RewriteDataFilesSparkAction.java | 237 ++------
.../RewritePositionDeleteFilesSparkAction.java | 208 ++-----
.../spark/actions/SparkBinPackDataRewriter.java | 71 ---
.../actions/SparkBinPackFileRewriteRunner.java | 0
.../spark/actions/SparkDataFileRewriteRunner.java | 0
.../actions/SparkRewritePositionDeleteRunner.java | 0
.../iceberg/spark/actions/SparkRewriteRunner.java | 0
.../actions/SparkShufflingDataRewritePlanner.java | 0
.../actions/SparkShufflingFileRewriteRunner.java | 0
.../spark/actions/SparkSizeBasedDataRewriter.java | 67 ---
.../spark/actions/SparkSortDataRewriter.java | 64 --
.../spark/actions/SparkSortFileRewriteRunner.java | 0
.../spark/actions/SparkZOrderDataRewriter.java | 205 -------
.../actions/SparkZOrderFileRewriteRunner.java | 0
.../apache/iceberg/spark/data/SparkAvroReader.java | 180 ------
.../spark/data/vectorized/CometColumnReader.java | 2 +-
.../org/apache/iceberg/rest/RESTServerRule.java | 107 ----
.../apache/iceberg/spark/SparkCatalogTestBase.java | 72 ---
.../org/apache/iceberg/spark/SparkTestBase.java | 287 ---------
.../iceberg/spark/SparkTestBaseWithCatalog.java | 182 ------
.../apache/iceberg/spark/SparkTestHelperBase.java | 16 +-
.../iceberg/spark/TestChangelogIterator.java | 16 +-
.../iceberg/spark/TestFileRewriteCoordinator.java | 53 +-
.../iceberg/spark/TestSparkCachedTableCatalog.java | 29 +-
.../iceberg/spark/TestSparkCatalogOperations.java | 52 +-
.../TestSparkDistributionAndOrderingUtil.java | 257 ++++----
.../iceberg/spark/TestSparkExecutorCache.java | 47 +-
.../org/apache/iceberg/spark/TestSparkFilters.java | 95 +--
.../apache/iceberg/spark/TestSparkSchemaUtil.java | 34 +-
.../apache/iceberg/spark/TestSparkTableUtil.java | 35 +-
.../apache/iceberg/spark/TestSparkV2Filters.java | 137 +++--
.../iceberg/spark/TestSparkValueConverter.java | 12 +-
.../apache/iceberg/spark/TestSparkWriteConf.java | 65 +-
.../spark/actions/TestExpireSnapshotsAction.java | 11 +-
.../spark/actions/TestMigrateTableAction.java | 30 +-
.../spark/actions/TestRewriteDataFilesAction.java | 242 ++------
.../TestRewritePositionDeleteFilesAction.java | 62 +-
.../spark/actions/TestSparkFileRewriteRunners.java | 0
.../spark/actions/TestSparkFileRewriter.java | 462 ---------------
.../TestSparkShufflingDataRewritePlanner.java | 3 +-
.../apache/iceberg/spark/data/GenericsHelpers.java | 81 +--
.../org/apache/iceberg/spark/data/TestHelpers.java | 131 ++--
.../apache/iceberg/spark/data/TestOrcWrite.java | 16 +-
.../iceberg/spark/data/TestParquetAvroReader.java | 26 +-
.../iceberg/spark/data/TestParquetAvroWriter.java | 16 +-
.../iceberg/spark/data/TestSparkAvroEnums.java | 17 +-
.../iceberg/spark/data/TestSparkDateTimes.java | 16 +-
.../data/TestSparkOrcReadMetadataColumns.java | 51 +-
.../data/TestSparkParquetReadMetadataColumns.java | 55 +-
.../iceberg/spark/data/TestSparkParquetWriter.java | 53 +-
...naryFallbackToPlainEncodingVectorizedReads.java | 8 +-
.../vectorized/TestParquetVectorizedReads.java | 18 +-
.../iceberg/spark/source/TestBaseReader.java | 88 +--
.../iceberg/spark/source/TestChangelogReader.java | 32 +-
.../spark/source/TestCompressionSettings.java | 118 ++--
.../spark/source/TestDataFrameWriterV2.java | 40 +-
.../source/TestDataFrameWriterV2Coercion.java | 56 +-
.../spark/source/TestDataSourceOptions.java | 92 +--
.../iceberg/spark/source/TestFilteredScan.java | 142 +++--
.../spark/source/TestForwardCompatibility.java | 36 +-
.../source/TestIcebergSourceHadoopTables.java | 13 +-
.../spark/source/TestIcebergSourceHiveTables.java | 8 +-
.../spark/source/TestIcebergSourceTablesBase.java | 340 +++++++----
.../iceberg/spark/source/TestIcebergSpark.java | 186 +++---
.../spark/source/TestIdentityPartitionData.java | 120 ++--
.../spark/source/TestInternalRowWrapper.java | 17 +-
.../source/TestMetadataTableReadableMetrics.java | 45 +-
.../TestMetadataTablesWithPartitionEvolution.java | 89 ++-
.../iceberg/spark/source/TestPartitionPruning.java | 112 ++--
.../iceberg/spark/source/TestPartitionValues.java | 138 +++--
.../iceberg/spark/source/TestReadProjection.java | 429 ++++++++------
.../TestRequiredDistributionAndOrdering.java | 35 +-
.../iceberg/spark/source/TestRuntimeFiltering.java | 78 +--
.../spark/source/TestSnapshotSelection.java | 180 +++---
.../iceberg/spark/source/TestSparkAggregates.java | 16 +-
.../source/TestSparkCatalogCacheExpiration.java | 33 +-
.../source/TestSparkCatalogHadoopOverrides.java | 66 +--
.../iceberg/spark/source/TestSparkDataFile.java | 20 +-
.../iceberg/spark/source/TestSparkDataWrite.java | 225 ++++---
.../spark/source/TestSparkMetadataColumns.java | 96 +--
.../spark/source/TestSparkPlanningUtil.java | 32 +-
.../iceberg/spark/source/TestSparkReadMetrics.java | 211 +++++--
.../spark/source/TestSparkReadProjection.java | 47 +-
.../source/TestSparkReaderWithBloomFilter.java | 68 ++-
.../apache/iceberg/spark/source/TestSparkScan.java | 200 ++++---
.../iceberg/spark/source/TestSparkStagedScan.java | 39 +-
.../iceberg/spark/source/TestSparkTable.java | 31 +-
.../iceberg/spark/source/TestStreamingOffset.java | 14 +-
.../spark/source/TestStructuredStreaming.java | 48 +-
.../spark/source/TestStructuredStreamingRead3.java | 129 ++--
.../spark/source/TestTimestampWithoutZone.java | 70 ++-
.../spark/source/TestWriteMetricsConfig.java | 103 ++--
.../spark/sql/PartitionedWritesTestBase.java | 106 ++--
.../iceberg/spark/sql/TestPartitionedWrites.java | 10 +-
.../spark/sql/TestPartitionedWritesAsSelect.java | 69 ++-
.../spark/sql/TestPartitionedWritesToBranch.java | 10 +-
.../sql/TestPartitionedWritesToWapBranch.java | 28 +-
.../iceberg/spark/sql/TestUnpartitionedWrites.java | 10 +-
.../spark/sql/TestUnpartitionedWritesToBranch.java | 15 +-
.../spark/sql/UnpartitionedWritesTestBase.java | 106 ++--
spark/v3.5/build.gradle | 5 +-
.../spark/extensions/TestAddFilesProcedure.java | 108 ++++
.../extensions/TestRewriteDataFilesProcedure.java | 52 ++
.../extensions/TestRewriteManifestsProcedure.java | 57 ++
.../java/org/apache/iceberg/spark/Spark3Util.java | 3 +-
.../org/apache/iceberg/spark/SparkTableUtil.java | 119 +++-
.../spark/actions/RewriteDataFilesSparkAction.java | 3 +-
.../spark/data/vectorized/CometColumnReader.java | 2 +-
.../apache/iceberg/spark/SparkTestHelperBase.java | 6 +-
.../iceberg/spark/TestFileRewriteCoordinator.java | 24 +-
.../iceberg/spark/TestSparkCachedTableCatalog.java | 3 +
.../iceberg/spark/TestSparkCatalogOperations.java | 8 +-
.../TestSparkDistributionAndOrderingUtil.java | 3 +
.../org/apache/iceberg/spark/TestSparkFilters.java | 42 +-
.../apache/iceberg/spark/TestSparkSchemaUtil.java | 7 +-
.../apache/iceberg/spark/TestSparkTableUtil.java | 18 +-
.../apache/iceberg/spark/TestSparkV2Filters.java | 67 ++-
.../apache/iceberg/spark/TestSparkWriteConf.java | 3 +
.../TestSparkShufflingDataRewritePlanner.java | 3 +-
.../apache/iceberg/spark/data/GenericsHelpers.java | 44 +-
.../org/apache/iceberg/spark/data/TestHelpers.java | 44 +-
.../apache/iceberg/spark/data/TestOrcWrite.java | 2 +-
.../iceberg/spark/data/TestSparkDateTimes.java | 4 +-
.../iceberg/spark/data/TestSparkParquetWriter.java | 2 +-
.../iceberg/spark/source/TestChangelogReader.java | 2 +-
.../spark/source/TestDataFrameWriterV2.java | 3 +
.../spark/source/TestDataSourceOptions.java | 13 +-
.../iceberg/spark/source/TestFilteredScan.java | 21 +-
.../spark/source/TestForwardCompatibility.java | 8 +-
.../source/TestIcebergSourceHadoopTables.java | 2 +-
.../spark/source/TestIcebergSourceTablesBase.java | 157 +++--
.../iceberg/spark/source/TestIcebergSpark.java | 165 ++++--
.../spark/source/TestIdentityPartitionData.java | 15 +-
.../source/TestMetadataTableReadableMetrics.java | 7 +-
.../iceberg/spark/source/TestPartitionPruning.java | 19 +-
.../iceberg/spark/source/TestPartitionValues.java | 37 +-
.../iceberg/spark/source/TestReadProjection.java | 116 ++--
.../TestRequiredDistributionAndOrdering.java | 3 +
.../spark/source/TestSnapshotSelection.java | 25 +-
.../iceberg/spark/source/TestSparkAggregates.java | 16 +-
.../source/TestSparkCatalogCacheExpiration.java | 3 +
.../source/TestSparkCatalogHadoopOverrides.java | 3 +
.../iceberg/spark/source/TestSparkDataFile.java | 2 +-
.../iceberg/spark/source/TestSparkDataWrite.java | 88 ++-
.../spark/source/TestSparkMetadataColumns.java | 15 +
.../spark/source/TestSparkPlanningUtil.java | 16 +-
.../iceberg/spark/source/TestSparkReadMetrics.java | 195 ++++--
.../apache/iceberg/spark/source/TestSparkScan.java | 88 +--
.../iceberg/spark/source/TestSparkStagedScan.java | 3 +
.../iceberg/spark/source/TestSparkTable.java | 3 +
.../spark/source/TestStructuredStreaming.java | 9 +-
.../spark/source/TestTimestampWithoutZone.java | 10 +-
.../spark/source/TestWriteMetricsConfig.java | 22 +-
.../spark/sql/PartitionedWritesTestBase.java | 3 +
.../spark/sql/TestPartitionedWritesAsSelect.java | 3 +
.../spark/sql/TestPartitionedWritesToBranch.java | 3 +
.../sql/TestPartitionedWritesToWapBranch.java | 8 +-
.../spark/sql/TestUnpartitionedWritesToBranch.java | 3 +
.../spark/sql/UnpartitionedWritesTestBase.java | 3 +
spark/{v3.5 => v4.0}/build.gradle | 19 +-
.../apache/iceberg/DeleteFileIndexBenchmark.java | 4 +-
.../spark/MergeCardinalityCheckBenchmark.java | 4 +-
.../apache/iceberg/spark/PlanningBenchmark.java | 4 +-
.../iceberg/spark/TaskGroupPlanningBenchmark.java | 4 +-
.../iceberg/spark/UpdateProjectionBenchmark.java | 0
.../IcebergSqlExtensions.g4 | 0
.../extensions/IcebergSparkSessionExtensions.scala | 6 -
.../spark/sql/catalyst/analysis/CheckViews.scala | 5 +-
.../analysis/ProcedureArgumentCoercion.scala | 7 +-
.../sql/catalyst/analysis/ResolveProcedures.scala | 19 +-
.../spark/sql/catalyst/analysis/ResolveViews.scala | 6 +-
.../catalyst/analysis/RewriteViewCommands.scala | 13 +-
.../spark/sql/catalyst/analysis/ViewUtil.scala | 0
.../catalyst/optimizer/ReplaceStaticInvoke.scala | 2 +-
.../IcebergSparkSqlExtensionsParser.scala | 13 +-
.../IcebergSqlExtensionsAstBuilder.scala | 8 +-
.../catalyst/plans/logical/AddPartitionField.scala | 0
.../sql/catalyst/plans/logical/BranchOptions.scala | 0
.../plans/logical/CreateOrReplaceBranch.scala | 0
.../plans/logical/CreateOrReplaceTag.scala | 0
.../sql/catalyst/plans/logical/DropBranch.scala | 0
.../plans/logical/DropIdentifierFields.scala | 0
.../plans/logical/DropPartitionField.scala | 0
.../spark/sql/catalyst/plans/logical/DropTag.scala | 0
.../sql/catalyst/plans/logical/IcebergCall.scala} | 4 +-
.../plans/logical/ReplacePartitionField.scala | 0
.../plans/logical/SetIdentifierFields.scala | 0
.../sql/catalyst/plans/logical/TagOptions.scala | 0
.../sql/catalyst/plans/logical/statements.scala | 0
.../plans/logical/views/CreateIcebergView.scala | 0
.../plans/logical/views/DropIcebergView.scala | 0
.../plans/logical/views/ResolvedV2View.scala | 0
.../plans/logical/views/ShowIcebergViews.scala | 0
.../datasources/v2/AddPartitionFieldExec.scala | 0
.../v2/AlterV2ViewSetPropertiesExec.scala | 0
.../v2/AlterV2ViewUnsetPropertiesExec.scala | 3 +-
.../sql/execution/datasources/v2/CallExec.scala | 0
.../datasources/v2/CreateOrReplaceBranchExec.scala | 0
.../datasources/v2/CreateOrReplaceTagExec.scala | 0
.../datasources/v2/CreateV2ViewExec.scala | 4 +-
.../datasources/v2/DescribeV2ViewExec.scala | 0
.../execution/datasources/v2/DropBranchExec.scala | 0
.../datasources/v2/DropIdentifierFieldsExec.scala | 0
.../datasources/v2/DropPartitionFieldExec.scala | 0
.../sql/execution/datasources/v2/DropTagExec.scala | 0
.../execution/datasources/v2/DropV2ViewExec.scala | 0
.../v2/ExtendedDataSourceV2Strategy.scala | 12 +-
.../datasources/v2/RenameV2ViewExec.scala | 0
.../datasources/v2/ReplacePartitionFieldExec.scala | 0
.../datasources/v2/SetIdentifierFieldsExec.scala | 0
.../v2/SetWriteDistributionAndOrderingExec.scala | 0
.../datasources/v2/ShowCreateV2ViewExec.scala | 0
.../datasources/v2/ShowV2ViewPropertiesExec.scala | 0
.../execution/datasources/v2/ShowV2ViewsExec.scala | 3 +-
.../apache/iceberg/spark/extensions/Employee.java | 0
.../spark/extensions/ExtensionsTestBase.java | 2 +-
.../iceberg/spark/extensions/ProcedureUtil.java | 0
.../iceberg/spark/extensions/SparkPlanUtil.java | 0
.../SparkRowLevelOperationsTestBase.java | 0
.../spark/extensions/TestAddFilesProcedure.java | 108 ++++
.../extensions/TestAlterTablePartitionFields.java | 0
.../spark/extensions/TestAlterTableSchema.java | 0
.../spark/extensions/TestAncestorsOfProcedure.java | 0
.../iceberg/spark/extensions/TestBranchDDL.java | 0
.../spark/extensions/TestCallStatementParser.java | 13 -
.../spark/extensions/TestChangelogTable.java | 0
.../TestCherrypickSnapshotProcedure.java | 12 +-
.../extensions/TestComputeTableStatsProcedure.java | 0
.../spark/extensions/TestConflictValidation.java | 0
.../spark/extensions/TestCopyOnWriteDelete.java | 0
.../spark/extensions/TestCopyOnWriteMerge.java | 0
.../spark/extensions/TestCopyOnWriteUpdate.java | 0
.../TestCreateChangelogViewProcedure.java | 0
.../iceberg/spark/extensions/TestDelete.java | 0
.../extensions/TestExpireSnapshotsProcedure.java | 11 +-
.../extensions/TestFastForwardBranchProcedure.java | 11 +-
.../apache/iceberg/spark/extensions/TestMerge.java | 30 +-
.../spark/extensions/TestMergeOnReadDelete.java | 0
.../spark/extensions/TestMergeOnReadMerge.java | 0
.../spark/extensions/TestMergeOnReadUpdate.java | 0
.../TestMetaColumnProjectionWithStageScan.java | 0
.../spark/extensions/TestMetadataTables.java | 0
.../extensions/TestMigrateTableProcedure.java | 0
.../extensions/TestPublishChangesProcedure.java | 12 +-
.../extensions/TestRegisterTableProcedure.java | 0
.../extensions/TestRemoveOrphanFilesProcedure.java | 12 +-
.../spark/extensions/TestReplaceBranch.java | 0
.../TestRequiredDistributionAndOrdering.java | 0
.../extensions/TestRewriteDataFilesProcedure.java | 65 +-
.../extensions/TestRewriteManifestsProcedure.java | 68 ++-
.../extensions/TestRewritePositionDeleteFiles.java | 0
.../TestRewritePositionDeleteFilesProcedure.java | 2 +-
.../extensions/TestRewriteTablePathProcedure.java | 0
.../TestRollbackToSnapshotProcedure.java | 12 +-
.../TestRollbackToTimestampProcedure.java | 12 +-
.../TestSetCurrentSnapshotProcedure.java | 12 +-
.../TestSetWriteDistributionAndOrdering.java | 0
.../extensions/TestSnapshotTableProcedure.java | 0
...toragePartitionedJoinsInRowLevelOperations.java | 0
.../extensions/TestSystemFunctionPushDownDQL.java | 0
...SystemFunctionPushDownInRowLevelOperations.java | 23 +-
.../iceberg/spark/extensions/TestTagDDL.java | 0
.../iceberg/spark/extensions/TestUpdate.java | 12 +-
.../apache/iceberg/spark/extensions/TestViews.java | 27 +-
.../iceberg/spark/extensions/TestWriteAborts.java | 0
.../org/apache/iceberg/spark/source/PlanUtils.java | 0
spark/{v3.4 => v4.0}/spark-runtime/LICENSE | 0
spark/{v3.4 => v4.0}/spark-runtime/NOTICE | 0
.../java/org/apache/iceberg/spark/SmokeTest.java | 0
.../apache/iceberg/spark/SparkBenchmarkUtil.java | 0
.../spark/action/DeleteOrphanFilesBenchmark.java | 4 +-
.../action/IcebergSortCompactionBenchmark.java | 0
.../iceberg/spark/action/RandomGeneratingUDF.java | 0
.../SparkParquetReadersFlatDataBenchmark.java | 4 +-
.../SparkParquetReadersNestedDataBenchmark.java | 4 +-
.../SparkParquetWritersFlatDataBenchmark.java | 4 +-
.../SparkParquetWritersNestedDataBenchmark.java | 4 +-
.../org/apache/iceberg/spark/source/Action.java | 0
.../iceberg/spark/source/DVReaderBenchmark.java | 0
.../iceberg/spark/source/DVWriterBenchmark.java | 0
.../spark/source/IcebergSourceBenchmark.java | 0
.../spark/source/IcebergSourceDeleteBenchmark.java | 0
.../source/IcebergSourceFlatDataBenchmark.java | 0
.../source/IcebergSourceNestedDataBenchmark.java | 0
.../IcebergSourceNestedListDataBenchmark.java | 0
.../iceberg/spark/source/WritersBenchmark.java | 0
.../spark/source/avro/AvroWritersBenchmark.java | 4 +-
.../IcebergSourceFlatAvroDataReadBenchmark.java | 4 +-
.../IcebergSourceNestedAvroDataReadBenchmark.java | 4 +-
.../orc/IcebergSourceFlatORCDataBenchmark.java | 0
.../orc/IcebergSourceFlatORCDataReadBenchmark.java | 4 +-
...ebergSourceNestedListORCDataWriteBenchmark.java | 4 +-
.../IcebergSourceNestedORCDataReadBenchmark.java | 4 +-
...cebergSourceFlatParquetDataFilterBenchmark.java | 4 +-
.../IcebergSourceFlatParquetDataReadBenchmark.java | 4 +-
...IcebergSourceFlatParquetDataWriteBenchmark.java | 4 +-
...gSourceNestedListParquetDataWriteBenchmark.java | 4 +-
...bergSourceNestedParquetDataFilterBenchmark.java | 4 +-
...cebergSourceNestedParquetDataReadBenchmark.java | 4 +-
...ebergSourceNestedParquetDataWriteBenchmark.java | 4 +-
.../IcebergSourceParquetEqDeleteBenchmark.java | 4 +-
...ebergSourceParquetMultiDeleteFileBenchmark.java | 4 +-
.../IcebergSourceParquetPosDeleteBenchmark.java | 4 +-
...gSourceParquetWithUnrelatedDeleteBenchmark.java | 4 +-
.../source/parquet/ParquetWritersBenchmark.java | 4 +-
...dDictionaryEncodedFlatParquetDataBenchmark.java | 4 +-
.../VectorizedReadFlatParquetDataBenchmark.java | 4 +-
.../VectorizedReadParquetDecimalBenchmark.java | 4 +-
.../apache/iceberg/SparkDistributedDataScan.java | 0
.../java/org/apache/iceberg/spark/BaseCatalog.java | 0
.../iceberg/spark/BaseFileRewriteCoordinator.java | 0
.../apache/iceberg/spark/ChangelogIterator.java | 0
.../org/apache/iceberg/spark/CommitMetadata.java | 0
.../iceberg/spark/ComputeUpdateIterator.java | 0
.../org/apache/iceberg/spark/ExtendedParser.java | 0
.../iceberg/spark/FileRewriteCoordinator.java | 0
.../org/apache/iceberg/spark/IcebergSpark.java | 0
.../org/apache/iceberg/spark/JobGroupInfo.java | 0
.../org/apache/iceberg/spark/JobGroupUtils.java | 0
.../org/apache/iceberg/spark/OrcBatchReadConf.java | 0
.../apache/iceberg/spark/ParquetBatchReadConf.java | 0
.../apache/iceberg/spark/ParquetReaderType.java | 0
.../org/apache/iceberg/spark/PathIdentifier.java | 0
.../spark/PositionDeletesRewriteCoordinator.java | 0
.../spark/PruneColumnsWithoutReordering.java | 0
.../iceberg/spark/RemoveCarryoverIterator.java | 0
.../iceberg/spark/RemoveNetCarryoverIterator.java | 0
.../apache/iceberg/spark/RollbackStagedTable.java | 0
.../apache/iceberg/spark/ScanTaskSetManager.java | 0
.../org/apache/iceberg/spark/SortOrderToSpark.java | 0
.../java/org/apache/iceberg/spark/Spark3Util.java | 3 +-
.../org/apache/iceberg/spark/SparkAggregates.java | 0
.../iceberg/spark/SparkCachedTableCatalog.java | 0
.../org/apache/iceberg/spark/SparkCatalog.java | 26 +-
.../apache/iceberg/spark/SparkCompressionUtil.java | 0
.../org/apache/iceberg/spark/SparkConfParser.java | 2 +-
.../org/apache/iceberg/spark/SparkContentFile.java | 0
.../org/apache/iceberg/spark/SparkDataFile.java | 0
.../org/apache/iceberg/spark/SparkDeleteFile.java | 0
.../apache/iceberg/spark/SparkExceptionUtil.java | 0
.../apache/iceberg/spark/SparkExecutorCache.java | 0
.../org/apache/iceberg/spark/SparkFilters.java | 0
.../org/apache/iceberg/spark/SparkFixupTypes.java | 0
.../apache/iceberg/spark/SparkFunctionCatalog.java | 0
.../org/apache/iceberg/spark/SparkReadConf.java | 0
.../org/apache/iceberg/spark/SparkReadOptions.java | 0
.../apache/iceberg/spark/SparkSQLProperties.java | 0
.../org/apache/iceberg/spark/SparkSchemaUtil.java | 0
.../apache/iceberg/spark/SparkSessionCatalog.java | 39 +-
.../org/apache/iceberg/spark/SparkStructLike.java | 0
.../org/apache/iceberg/spark/SparkTableCache.java | 0
.../org/apache/iceberg/spark/SparkTableUtil.java | 135 ++++-
.../org/apache/iceberg/spark/SparkTypeToType.java | 0
.../org/apache/iceberg/spark/SparkTypeVisitor.java | 0
.../java/org/apache/iceberg/spark/SparkUtil.java | 3 +-
.../org/apache/iceberg/spark/SparkV2Filters.java | 0
.../apache/iceberg/spark/SparkValueConverter.java | 0
.../org/apache/iceberg/spark/SparkWriteConf.java | 0
.../apache/iceberg/spark/SparkWriteOptions.java | 0
.../iceberg/spark/SparkWriteRequirements.java | 0
.../org/apache/iceberg/spark/SparkWriteUtil.java | 0
.../apache/iceberg/spark/SupportsFunctions.java | 4 +-
.../apache/iceberg/spark/SupportsReplaceView.java | 0
.../org/apache/iceberg/spark/TypeToSparkType.java | 0
.../actions/BaseSnapshotUpdateSparkAction.java | 0
.../iceberg/spark/actions/BaseSparkAction.java | 0
.../actions/BaseTableCreationSparkAction.java | 0
.../actions/ComputeTableStatsSparkAction.java | 0
.../actions/DeleteOrphanFilesSparkAction.java | 0
.../actions/DeleteReachableFilesSparkAction.java | 0
.../spark/actions/ExpireSnapshotsSparkAction.java | 0
.../org/apache/iceberg/spark/actions/FileInfo.java | 0
.../iceberg/spark/actions/ManifestFileBean.java | 0
.../spark/actions/MigrateTableSparkAction.java | 0
.../iceberg/spark/actions/NDVSketchUtil.java | 3 +-
.../actions/RemoveDanglingDeletesSparkAction.java | 0
.../spark/actions/RewriteDataFilesSparkAction.java | 2 +-
.../spark/actions/RewriteManifestsSparkAction.java | 0
.../RewritePositionDeleteFilesSparkAction.java | 0
.../spark/actions/RewriteTablePathSparkAction.java | 0
.../iceberg/spark/actions/SetAccumulator.java | 0
.../spark/actions/SnapshotTableSparkAction.java | 0
.../apache/iceberg/spark/actions/SparkActions.java | 0
.../actions/SparkBinPackFileRewriteRunner.java | 0
.../spark/actions/SparkDataFileRewriteRunner.java | 0
.../actions/SparkRewritePositionDeleteRunner.java} | 41 +-
.../iceberg/spark/actions/SparkRewriteRunner.java | 0
.../actions/SparkShufflingDataRewritePlanner.java | 0
.../actions/SparkShufflingFileRewriteRunner.java} | 78 ++-
.../spark/actions/SparkSortFileRewriteRunner.java | 0
.../actions/SparkZOrderFileRewriteRunner.java | 0
.../iceberg/spark/actions/SparkZOrderUDF.java | 0
.../spark/data/AvroWithSparkSchemaVisitor.java | 0
.../spark/data/ParquetWithSparkSchemaVisitor.java | 0
.../apache/iceberg/spark/data/SparkAvroWriter.java | 0
.../apache/iceberg/spark/data/SparkOrcReader.java | 0
.../iceberg/spark/data/SparkOrcValueReaders.java | 0
.../iceberg/spark/data/SparkOrcValueWriters.java | 0
.../apache/iceberg/spark/data/SparkOrcWriter.java | 0
.../iceberg/spark/data/SparkParquetReaders.java | 6 +
.../iceberg/spark/data/SparkParquetWriters.java | 0
.../iceberg/spark/data/SparkPlannedAvroReader.java | 0
.../iceberg/spark/data/SparkValueReaders.java | 0
.../iceberg/spark/data/SparkValueWriters.java | 0
.../vectorized/ArrowVectorAccessorFactory.java | 0
.../data/vectorized/ArrowVectorAccessors.java | 0
.../spark/data/vectorized/ColumnVectorBuilder.java | 0
.../data/vectorized/ColumnVectorWithFilter.java | 0
.../spark/data/vectorized/ColumnarBatchReader.java | 0
.../spark/data/vectorized/ColumnarBatchUtil.java | 0
.../spark/data/vectorized/CometColumnReader.java | 2 +-
.../data/vectorized/CometColumnarBatchReader.java | 0
.../data/vectorized/CometConstantColumnReader.java | 0
.../data/vectorized/CometDeleteColumnReader.java | 0
.../data/vectorized/CometPositionColumnReader.java | 0
.../vectorized/CometVectorizedReaderBuilder.java | 0
.../data/vectorized/ConstantColumnVector.java | 0
.../spark/data/vectorized/DeletedColumnVector.java | 0
.../data/vectorized/IcebergArrowColumnVector.java | 0
.../data/vectorized/RowPositionColumnVector.java | 0
.../data/vectorized/VectorizedSparkOrcReaders.java | 0
.../vectorized/VectorizedSparkParquetReaders.java | 0
.../spark/functions/BaseScalarFunction.java | 0
.../iceberg/spark/functions/BucketFunction.java | 0
.../iceberg/spark/functions/DaysFunction.java | 0
.../iceberg/spark/functions/HoursFunction.java | 0
.../spark/functions/IcebergVersionFunction.java | 0
.../iceberg/spark/functions/MonthsFunction.java | 0
.../iceberg/spark/functions/SparkFunctions.java | 0
.../iceberg/spark/functions/TruncateFunction.java | 0
.../spark/functions/UnaryUnboundFunction.java | 0
.../iceberg/spark/functions/YearsFunction.java | 0
.../spark/procedures/AddFilesProcedure.java | 0
.../spark/procedures/AncestorsOfProcedure.java | 0
.../iceberg/spark/procedures/BaseProcedure.java | 2 +-
.../procedures/CherrypickSnapshotProcedure.java | 0
.../procedures/ComputeTableStatsProcedure.java | 0
.../procedures/CreateChangelogViewProcedure.java | 16 +-
.../spark/procedures/ExpireSnapshotsProcedure.java | 0
.../procedures/FastForwardBranchProcedure.java | 0
.../spark/procedures/MigrateTableProcedure.java | 0
.../iceberg/spark/procedures/ProcedureInput.java | 0
.../spark/procedures/PublishChangesProcedure.java | 0
.../spark/procedures/RegisterTableProcedure.java | 0
.../procedures/RemoveOrphanFilesProcedure.java | 0
.../procedures/RewriteDataFilesProcedure.java | 0
.../procedures/RewriteManifestsProcedure.java | 0
.../RewritePositionDeleteFilesProcedure.java | 0
.../procedures/RewriteTablePathProcedure.java | 0
.../procedures/RollbackToSnapshotProcedure.java | 0
.../procedures/RollbackToTimestampProcedure.java | 0
.../procedures/SetCurrentSnapshotProcedure.java | 0
.../spark/procedures/SnapshotTableProcedure.java | 0
.../iceberg/spark/procedures/SparkProcedures.java | 0
.../iceberg/spark/source/BaseBatchReader.java | 0
.../apache/iceberg/spark/source/BaseReader.java | 0
.../apache/iceberg/spark/source/BaseRowReader.java | 0
.../iceberg/spark/source/BatchDataReader.java | 0
.../iceberg/spark/source/ChangelogRowReader.java | 0
.../apache/iceberg/spark/source/DVIterator.java | 0
.../spark/source/EqualityDeleteRowReader.java | 0
.../iceberg/spark/source/HasIcebergCatalog.java | 0
.../apache/iceberg/spark/source/IcebergSource.java | 4 +-
.../iceberg/spark/source/InternalRowWrapper.java | 0
.../spark/source/PositionDeletesRowReader.java | 0
.../apache/iceberg/spark/source/RowDataReader.java | 0
.../spark/source/SerializableTableWithSize.java | 0
.../apache/iceberg/spark/source/SparkBatch.java | 0
.../iceberg/spark/source/SparkBatchQueryScan.java | 0
.../iceberg/spark/source/SparkChangelogScan.java | 0
.../iceberg/spark/source/SparkChangelogTable.java | 2 +-
.../iceberg/spark/source/SparkCleanupUtil.java | 0
.../spark/source/SparkColumnStatistics.java | 0
.../spark/source/SparkColumnarReaderFactory.java | 0
.../spark/source/SparkCopyOnWriteOperation.java | 0
.../iceberg/spark/source/SparkCopyOnWriteScan.java | 0
.../spark/source/SparkFileWriterFactory.java | 0
.../iceberg/spark/source/SparkInputPartition.java | 0
.../iceberg/spark/source/SparkLocalScan.java | 0
.../iceberg/spark/source/SparkMetadataColumn.java | 0
.../spark/source/SparkMicroBatchStream.java | 0
.../spark/source/SparkPartitionedFanoutWriter.java | 0
.../spark/source/SparkPartitionedWriter.java | 0
.../spark/source/SparkPartitioningAwareScan.java | 0
.../iceberg/spark/source/SparkPlanningUtil.java | 0
.../spark/source/SparkPositionDeletesRewrite.java | 0
.../source/SparkPositionDeletesRewriteBuilder.java | 0
.../spark/source/SparkPositionDeltaOperation.java | 5 +
.../spark/source/SparkPositionDeltaWrite.java | 0
.../source/SparkPositionDeltaWriteBuilder.java | 8 +-
.../source/SparkRowLevelOperationBuilder.java | 0
.../spark/source/SparkRowReaderFactory.java | 0
.../org/apache/iceberg/spark/source/SparkScan.java | 0
.../iceberg/spark/source/SparkScanBuilder.java | 0
.../iceberg/spark/source/SparkStagedScan.java | 0
.../spark/source/SparkStagedScanBuilder.java | 0
.../apache/iceberg/spark/source/SparkTable.java | 29 +-
.../org/apache/iceberg/spark/source/SparkView.java | 0
.../apache/iceberg/spark/source/SparkWrite.java | 0
.../iceberg/spark/source/SparkWriteBuilder.java | 1 +
.../iceberg/spark/source/StagedSparkTable.java | 0
.../org/apache/iceberg/spark/source/Stats.java | 0
.../iceberg/spark/source/StreamingOffset.java | 0
.../iceberg/spark/source/StructInternalRow.java | 6 +
.../spark/source/metrics/EqualityDeleteFiles.java | 0
.../spark/source/metrics/IndexedDeleteFiles.java | 0
.../iceberg/spark/source/metrics/NumDeletes.java | 0
.../iceberg/spark/source/metrics/NumSplits.java | 0
.../source/metrics/PositionalDeleteFiles.java | 0
.../spark/source/metrics/ResultDataFiles.java | 0
.../spark/source/metrics/ResultDeleteFiles.java | 0
.../spark/source/metrics/ScannedDataManifests.java | 0
.../source/metrics/ScannedDeleteManifests.java | 0
.../spark/source/metrics/SkippedDataFiles.java | 0
.../spark/source/metrics/SkippedDataManifests.java | 0
.../spark/source/metrics/SkippedDeleteFiles.java | 0
.../source/metrics/SkippedDeleteManifests.java | 0
.../source/metrics/TaskEqualityDeleteFiles.java | 0
.../source/metrics/TaskIndexedDeleteFiles.java | 0
.../spark/source/metrics/TaskNumDeletes.java | 0
.../spark/source/metrics/TaskNumSplits.java | 0
.../source/metrics/TaskPositionalDeleteFiles.java | 0
.../spark/source/metrics/TaskResultDataFiles.java | 0
.../source/metrics/TaskResultDeleteFiles.java | 0
.../source/metrics/TaskScannedDataManifests.java | 0
.../source/metrics/TaskScannedDeleteManifests.java | 0
.../spark/source/metrics/TaskSkippedDataFiles.java | 0
.../source/metrics/TaskSkippedDataManifests.java | 0
.../source/metrics/TaskSkippedDeleteFiles.java | 0
.../source/metrics/TaskSkippedDeleteManifests.java | 0
.../source/metrics/TaskTotalDataFileSize.java | 0
.../source/metrics/TaskTotalDataManifests.java | 0
.../source/metrics/TaskTotalDeleteFileSize.java | 0
.../source/metrics/TaskTotalDeleteManifests.java | 0
.../source/metrics/TaskTotalPlanningDuration.java | 0
.../spark/source/metrics/TotalDataFileSize.java | 0
.../spark/source/metrics/TotalDataManifests.java | 0
.../spark/source/metrics/TotalDeleteFileSize.java | 0
.../spark/source/metrics/TotalDeleteManifests.java | 0
.../source/metrics/TotalPlanningDuration.java | 0
.../analysis/IcebergAnalysisException.java} | 9 +-
.../analysis/NoSuchProcedureException.java | 0
.../sql/connector/iceberg/catalog/Procedure.java | 0
.../iceberg/catalog/ProcedureCatalog.java | 0
.../iceberg/catalog/ProcedureParameter.java | 0
.../iceberg/catalog/ProcedureParameterImpl.java | 0
...org.apache.spark.sql.sources.DataSourceRegister | 0
.../plans/logical/OrderAwareCoalesce.scala | 0
.../logical/SetWriteDistributionAndOrdering.scala | 0
.../plans/logical/SortOrderParserUtil.scala | 0
.../spark/sql/catalyst/utils/PlanUtils.scala | 0
.../sql/execution/OrderAwareCoalesceExec.scala | 0
.../datasources/SparkExpressionConverter.scala | 12 +-
.../apache/spark/sql/stats/ThetaSketchAgg.scala | 3 +-
.../test/java/org/apache/iceberg/KryoHelpers.java | 0
.../iceberg/SparkDistributedDataScanTestBase.java | 0
.../java/org/apache/iceberg/TaskCheckHelper.java | 0
.../apache/iceberg/TestDataFileSerialization.java | 0
.../apache/iceberg/TestFileIOSerialization.java | 0
.../TestHadoopMetricsContextSerialization.java | 0
.../iceberg/TestManifestFileSerialization.java | 0
.../apache/iceberg/TestScanTaskSerialization.java | 0
.../TestSparkDistributedDataScanDeletes.java | 0
.../TestSparkDistributedDataScanFilterFiles.java | 0
...tSparkDistributedDataScanJavaSerialization.java | 0
...tSparkDistributedDataScanKryoSerialization.java | 0
.../TestSparkDistributedDataScanReporting.java | 0
.../org/apache/iceberg/TestTableSerialization.java | 0
.../java/org/apache/iceberg/ValidationHelpers.java | 0
.../org/apache/iceberg/spark/CatalogTestBase.java | 0
.../java/org/apache/iceberg/spark/Employee.java | 0
.../apache/iceberg/spark/SparkCatalogConfig.java | 0
.../apache/iceberg/spark/SparkTestHelperBase.java | 6 +-
.../spark/SystemFunctionPushDownHelper.java | 0
.../java/org/apache/iceberg/spark/TestBase.java | 0
.../apache/iceberg/spark/TestBaseWithCatalog.java | 0
.../iceberg/spark/TestChangelogIterator.java | 0
.../iceberg/spark/TestFileRewriteCoordinator.java | 24 +-
.../apache/iceberg/spark/TestFunctionCatalog.java | 8 +-
.../org/apache/iceberg/spark/TestSpark3Util.java | 0
.../iceberg/spark/TestSparkCachedTableCatalog.java | 3 +
.../iceberg/spark/TestSparkCatalogOperations.java | 8 +-
.../iceberg/spark/TestSparkCompressionUtil.java | 0
.../TestSparkDistributionAndOrderingUtil.java | 3 +
.../iceberg/spark/TestSparkExecutorCache.java | 0
.../org/apache/iceberg/spark/TestSparkFilters.java | 42 +-
.../apache/iceberg/spark/TestSparkSchemaUtil.java | 7 +-
.../iceberg/spark/TestSparkSessionCatalog.java | 0
.../apache/iceberg/spark/TestSparkTableUtil.java | 18 +-
.../apache/iceberg/spark/TestSparkV2Filters.java | 67 ++-
.../iceberg/spark/TestSparkValueConverter.java | 0
.../apache/iceberg/spark/TestSparkWriteConf.java | 3 +
.../spark/actions/TestComputeTableStatsAction.java | 9 +-
.../iceberg/spark/actions/TestCreateActions.java | 0
.../actions/TestDeleteReachableFilesAction.java | 0
.../spark/actions/TestExpireSnapshotsAction.java | 0
.../spark/actions/TestMigrateTableAction.java | 0
.../actions/TestRemoveDanglingDeleteAction.java | 0
.../spark/actions/TestRemoveOrphanFilesAction.java | 0
.../actions/TestRemoveOrphanFilesAction3.java | 0
.../spark/actions/TestRewriteDataFilesAction.java | 1 +
.../spark/actions/TestRewriteManifestsAction.java | 0
.../TestRewritePositionDeleteFilesAction.java | 0
.../spark/actions/TestRewriteTablePathsAction.java | 0
.../spark/actions/TestSnapshotTableAction.java | 0
.../spark/actions/TestSparkFileRewriteRunners.java | 0
.../TestSparkShufflingDataRewritePlanner.java | 3 +-
.../apache/iceberg/spark/data/AvroDataTest.java | 0
.../apache/iceberg/spark/data/GenericsHelpers.java | 44 +-
.../org/apache/iceberg/spark/data/RandomData.java | 0
.../org/apache/iceberg/spark/data/TestHelpers.java | 44 +-
.../apache/iceberg/spark/data/TestOrcWrite.java | 2 +-
.../iceberg/spark/data/TestParquetAvroReader.java | 0
.../iceberg/spark/data/TestParquetAvroWriter.java | 0
.../iceberg/spark/data/TestSparkAvroEnums.java | 0
.../iceberg/spark/data/TestSparkAvroReader.java | 0
.../iceberg/spark/data/TestSparkDateTimes.java | 4 +-
.../data/TestSparkOrcReadMetadataColumns.java | 0
.../iceberg/spark/data/TestSparkOrcReader.java | 0
.../data/TestSparkParquetReadMetadataColumns.java | 0
.../iceberg/spark/data/TestSparkParquetReader.java | 0
.../iceberg/spark/data/TestSparkParquetWriter.java | 2 +-
.../spark/data/TestSparkRecordOrcReaderWriter.java | 0
.../spark/data/TestVectorizedOrcDataReader.java | 0
...estParquetDictionaryEncodedVectorizedReads.java | 0
...naryFallbackToPlainEncodingVectorizedReads.java | 0
.../vectorized/TestParquetVectorizedReads.java | 0
.../spark/functions/TestSparkFunctions.java | 0
.../apache/iceberg/spark/source/ComplexRecord.java | 0
.../spark/source/DataFrameWriteTestBase.java | 9 +-
.../spark/source/FilePathLastModifiedRecord.java | 0
.../iceberg/spark/source/FourColumnRecord.java | 0
.../apache/iceberg/spark/source/LogMessage.java | 0
.../apache/iceberg/spark/source/ManualSource.java | 0
.../apache/iceberg/spark/source/NestedRecord.java | 0
.../apache/iceberg/spark/source/ScanTestBase.java | 0
.../apache/iceberg/spark/source/SimpleRecord.java | 0
.../spark/source/SparkSQLExecutionHelper.java | 0
.../spark/source/TestAvroDataFrameWrite.java | 0
.../apache/iceberg/spark/source/TestAvroScan.java | 0
.../iceberg/spark/source/TestBaseReader.java | 0
.../iceberg/spark/source/TestChangelogReader.java | 2 +-
.../spark/source/TestCompressionSettings.java | 0
.../spark/source/TestDataFrameWriterV2.java | 11 +-
.../source/TestDataFrameWriterV2Coercion.java | 0
.../spark/source/TestDataSourceOptions.java | 13 +-
.../iceberg/spark/source/TestFilteredScan.java | 21 +-
.../spark/source/TestForwardCompatibility.java | 10 +-
.../iceberg/spark/source/TestIcebergSource.java | 0
.../source/TestIcebergSourceHadoopTables.java | 2 +-
.../spark/source/TestIcebergSourceHiveTables.java | 0
.../spark/source/TestIcebergSourceTablesBase.java | 157 +++--
.../iceberg/spark/source/TestIcebergSpark.java | 165 ++++--
.../spark/source/TestIdentityPartitionData.java | 15 +-
.../spark/source/TestInternalRowWrapper.java | 0
.../source/TestMetadataTableReadableMetrics.java | 7 +-
.../TestMetadataTablesWithPartitionEvolution.java | 0
.../spark/source/TestORCDataFrameWrite.java | 0
.../spark/source/TestParquetDataFrameWrite.java | 0
.../iceberg/spark/source/TestParquetScan.java | 0
.../spark/source/TestParquetVectorizedScan.java | 0
.../iceberg/spark/source/TestPartitionPruning.java | 30 +-
.../iceberg/spark/source/TestPartitionValues.java | 37 +-
.../iceberg/spark/source/TestPathIdentifier.java | 0
.../spark/source/TestPositionDeletesReader.java | 0
.../spark/source/TestPositionDeletesTable.java | 27 +-
.../iceberg/spark/source/TestReadProjection.java | 116 ++--
.../TestRequiredDistributionAndOrdering.java | 0
.../iceberg/spark/source/TestRuntimeFiltering.java | 0
.../spark/source/TestSnapshotSelection.java | 25 +-
.../iceberg/spark/source/TestSparkAggregates.java | 16 +-
.../iceberg/spark/source/TestSparkCatalog.java | 0
.../source/TestSparkCatalogCacheExpiration.java | 3 +
.../source/TestSparkCatalogHadoopOverrides.java | 0
.../iceberg/spark/source/TestSparkDVWriters.java | 0
.../iceberg/spark/source/TestSparkDataFile.java | 13 +-
.../iceberg/spark/source/TestSparkDataWrite.java | 88 ++-
.../spark/source/TestSparkFileWriterFactory.java | 0
.../spark/source/TestSparkMetadataColumns.java | 23 +
.../spark/source/TestSparkPartitioningWriters.java | 0
.../spark/source/TestSparkPlanningUtil.java | 16 +-
.../source/TestSparkPositionDeltaWriters.java | 0
.../iceberg/spark/source/TestSparkReadMetrics.java | 279 +++++++++
.../spark/source/TestSparkReadProjection.java | 0
.../spark/source/TestSparkReaderDeletes.java | 0
.../source/TestSparkReaderWithBloomFilter.java | 0
.../spark/source/TestSparkRollingFileWriters.java | 0
.../apache/iceberg/spark/source/TestSparkScan.java | 88 +--
.../iceberg/spark/source/TestSparkStagedScan.java | 0
.../iceberg/spark/source/TestSparkTable.java | 0
.../spark/source/TestSparkWriterMetrics.java | 0
.../iceberg/spark/source/TestStreamingOffset.java | 0
.../spark/source/TestStructuredStreaming.java | 9 +-
.../spark/source/TestStructuredStreamingRead3.java | 0
.../apache/iceberg/spark/source/TestTables.java | 0
.../spark/source/TestTimestampWithoutZone.java | 10 +-
.../spark/source/TestWriteMetricsConfig.java | 31 +-
.../iceberg/spark/source/ThreeColumnRecord.java | 0
.../spark/sql/PartitionedWritesTestBase.java | 3 +
.../iceberg/spark/sql/TestAggregatePushDown.java | 2 +-
.../apache/iceberg/spark/sql/TestAlterTable.java | 0
.../apache/iceberg/spark/sql/TestCreateTable.java | 0
.../iceberg/spark/sql/TestCreateTableAsSelect.java | 0
.../apache/iceberg/spark/sql/TestDeleteFrom.java | 0
.../apache/iceberg/spark/sql/TestDropTable.java | 0
.../iceberg/spark/sql/TestFilterPushDown.java | 0
.../apache/iceberg/spark/sql/TestNamespaceSQL.java | 0
.../iceberg/spark/sql/TestPartitionedWrites.java | 0
.../spark/sql/TestPartitionedWritesAsSelect.java | 3 +
.../spark/sql/TestPartitionedWritesToBranch.java | 3 +
.../sql/TestPartitionedWritesToWapBranch.java | 8 +-
.../apache/iceberg/spark/sql/TestRefreshTable.java | 8 +-
.../org/apache/iceberg/spark/sql/TestSelect.java | 0
.../iceberg/spark/sql/TestSparkBucketFunction.java | 23 +-
.../iceberg/spark/sql/TestSparkDaysFunction.java | 0
.../iceberg/spark/sql/TestSparkHoursFunction.java | 0
.../iceberg/spark/sql/TestSparkMonthsFunction.java | 4 +-
.../spark/sql/TestSparkTruncateFunction.java | 20 +-
.../iceberg/spark/sql/TestSparkYearsFunction.java | 4 +-
.../spark/sql/TestStoragePartitionedJoins.java | 9 +-
.../spark/sql/TestTimestampWithoutZone.java | 0
.../iceberg/spark/sql/TestUnpartitionedWrites.java | 0
.../spark/sql/TestUnpartitionedWritesToBranch.java | 3 +
.../spark/sql/UnpartitionedWritesTestBase.java | 3 +
.../decimal_dict_and_plain_encoding.parquet | Bin
966 files changed, 21457 insertions(+), 8763 deletions(-)
copy api/src/main/java/org/apache/iceberg/{variants/Serialized.java => encryption/EncryptedKey.java} (79%)
delete mode 100644 aws/src/main/java/org/apache/iceberg/aws/RESTSigV4Signer.java
create mode 100644 bigquery/src/main/java/org/apache/iceberg/gcp/bigquery/BigQueryMetastoreCatalog.java
create mode 100644 bigquery/src/main/java/org/apache/iceberg/gcp/bigquery/BigQueryMetastoreClient.java
create mode 100644 bigquery/src/main/java/org/apache/iceberg/gcp/bigquery/BigQueryMetastoreClientImpl.java
create mode 100644 bigquery/src/main/java/org/apache/iceberg/gcp/bigquery/BigQueryMetastoreUtils.java
create mode 100644 bigquery/src/main/java/org/apache/iceberg/gcp/bigquery/BigQueryTableOperations.java
create mode 100644 bigquery/src/test/java/org/apache/iceberg/gcp/bigquery/FakeBigQueryMetastoreClient.java
create mode 100644 bigquery/src/test/java/org/apache/iceberg/gcp/bigquery/TestBigQueryCatalog.java
create mode 100644 bigquery/src/test/java/org/apache/iceberg/gcp/bigquery/TestBigQueryTableOperations.java
create mode 100644 core/src/main/java/org/apache/iceberg/EncryptedKeyParser.java
create mode 100644 core/src/main/java/org/apache/iceberg/PartitionStatsHandler.java
delete mode 100644 core/src/main/java/org/apache/iceberg/actions/FileRewriter.java
delete mode 100644 core/src/main/java/org/apache/iceberg/actions/SizeBasedDataRewriter.java
delete mode 100644 core/src/main/java/org/apache/iceberg/actions/SizeBasedFileRewriter.java
delete mode 100644 core/src/main/java/org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.java
copy core/src/main/java/org/apache/iceberg/{puffin/FileMetadata.java => encryption/BaseEncryptedKey.java} (53%)
create mode 100644 core/src/main/java/org/apache/iceberg/io/ImmutableStorageCredential.java
rename data/src/test/java/org/apache/iceberg/data/TestPartitionStatsHandler.java => core/src/test/java/org/apache/iceberg/PartitionStatsHandlerTestBase.java (72%)
create mode 100644 core/src/test/java/org/apache/iceberg/TestEncryptedKeyParser.java
delete mode 100644 core/src/test/java/org/apache/iceberg/actions/TestSizeBasedRewriter.java
copy core/src/{main/java/org/apache/iceberg/avro/ValueReader.java => test/java/org/apache/iceberg/avro/TestAvroPartitionStatsHandler.java} (77%)
rename core/src/jmh/java/org/apache/iceberg/PartitionStatsUtilBenchmark.java => data/src/jmh/java/org/apache/iceberg/PartitionStatsHandlerBenchmark.java (81%)
create mode 100644 data/src/test/java/org/apache/iceberg/data/TestTableMigrationUtil.java
create mode 100644 flink/v1.19/flink/src/main/java/org/apache/iceberg/flink/maintenance/api/RewriteDataFiles.java
create mode 100644 flink/v1.19/flink/src/main/java/org/apache/iceberg/flink/maintenance/api/ZkLockFactory.java
create mode 100644 flink/v1.19/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/DataFileRewriteCommitter.java
create mode 100644 flink/v1.19/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/DataFileRewritePlanner.java
create mode 100644 flink/v1.19/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/DataFileRewriteRunner.java
copy api/src/main/java/org/apache/iceberg/io/DelegatingInputStream.java => flink/v1.19/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/LogUtil.java (75%)
create mode 100644 flink/v1.19/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/TaskResultAggregator.java
create mode 100644 flink/v1.19/flink/src/test/java/org/apache/iceberg/flink/maintenance/api/TestRewriteDataFiles.java
copy spark/v3.5/spark/src/test/java/org/apache/iceberg/spark/sql/TestPartitionedWritesToBranch.java => flink/v1.19/flink/src/test/java/org/apache/iceberg/flink/maintenance/api/TestZkLockFactory.java (55%)
create mode 100644 flink/v1.19/flink/src/test/java/org/apache/iceberg/flink/maintenance/operator/RewriteUtil.java
create mode 100644 flink/v1.19/flink/src/test/java/org/apache/iceberg/flink/maintenance/operator/TestDataFileRewriteCommitter.java
create mode 100644 flink/v1.19/flink/src/test/java/org/apache/iceberg/flink/maintenance/operator/TestDataFileRewritePlanner.java
create mode 100644 flink/v1.19/flink/src/test/java/org/apache/iceberg/flink/maintenance/operator/TestDataFileRewriteRunner.java
create mode 100644 flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/maintenance/api/RewriteDataFiles.java
create mode 100644 flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/maintenance/api/ZkLockFactory.java
create mode 100644 flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/DataFileRewriteCommitter.java
create mode 100644 flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/DataFileRewritePlanner.java
create mode 100644 flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/DataFileRewriteRunner.java
copy api/src/main/java/org/apache/iceberg/io/DelegatingInputStream.java => flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/LogUtil.java (75%)
create mode 100644 flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/TaskResultAggregator.java
create mode 100644 flink/v1.20/flink/src/test/java/org/apache/iceberg/flink/maintenance/api/TestRewriteDataFiles.java
copy spark/v3.5/spark/src/test/java/org/apache/iceberg/spark/sql/TestPartitionedWritesToBranch.java => flink/v1.20/flink/src/test/java/org/apache/iceberg/flink/maintenance/api/TestZkLockFactory.java (55%)
create mode 100644 flink/v1.20/flink/src/test/java/org/apache/iceberg/flink/maintenance/operator/RewriteUtil.java
create mode 100644 flink/v1.20/flink/src/test/java/org/apache/iceberg/flink/maintenance/operator/TestDataFileRewriteCommitter.java
create mode 100644 flink/v1.20/flink/src/test/java/org/apache/iceberg/flink/maintenance/operator/TestDataFileRewritePlanner.java
create mode 100644 flink/v1.20/flink/src/test/java/org/apache/iceberg/flink/maintenance/operator/TestDataFileRewriteRunner.java
create mode 100644 flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/maintenance/api/RewriteDataFiles.java
create mode 100644 flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/maintenance/api/ZkLockFactory.java
create mode 100644 flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/DataFileRewriteCommitter.java
create mode 100644 flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/DataFileRewritePlanner.java
create mode 100644 flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/DataFileRewriteRunner.java
copy api/src/main/java/org/apache/iceberg/io/DelegatingInputStream.java => flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/LogUtil.java (75%)
create mode 100644 flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/TaskResultAggregator.java
create mode 100644 flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/sink/dynamic/DynamicRecord.java
create mode 100644 flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/sink/dynamic/DynamicRecordInternal.java
create mode 100644 flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/sink/dynamic/DynamicRecordInternalSerializer.java
create mode 100644 flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/sink/dynamic/DynamicRecordInternalType.java
create mode 100644 flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/sink/dynamic/TableSerializerCache.java
create mode 100644 flink/v2.0/flink/src/test/java/org/apache/iceberg/flink/maintenance/api/TestRewriteDataFiles.java
copy spark/v3.5/spark/src/test/java/org/apache/iceberg/spark/sql/TestPartitionedWritesToBranch.java => flink/v2.0/flink/src/test/java/org/apache/iceberg/flink/maintenance/api/TestZkLockFactory.java (55%)
create mode 100644 flink/v2.0/flink/src/test/java/org/apache/iceberg/flink/maintenance/operator/RewriteUtil.java
create mode 100644 flink/v2.0/flink/src/test/java/org/apache/iceberg/flink/maintenance/operator/TestDataFileRewriteCommitter.java
create mode 100644 flink/v2.0/flink/src/test/java/org/apache/iceberg/flink/maintenance/operator/TestDataFileRewritePlanner.java
create mode 100644 flink/v2.0/flink/src/test/java/org/apache/iceberg/flink/maintenance/operator/TestDataFileRewriteRunner.java
create mode 100644 flink/v2.0/flink/src/test/java/org/apache/iceberg/flink/maintenance/operator/TestTaskResultAggregator.java
create mode 100644 flink/v2.0/flink/src/test/java/org/apache/iceberg/flink/sink/dynamic/DynamicRecordInternalSerializerTestBase.java
copy api/src/main/java/org/apache/iceberg/view/ViewRepresentation.java => flink/v2.0/flink/src/test/java/org/apache/iceberg/flink/sink/dynamic/TestDynamicRecordInternalSerializerWriteSchema.java (74%)
copy api/src/main/java/org/apache/iceberg/view/ViewRepresentation.java => flink/v2.0/flink/src/test/java/org/apache/iceberg/flink/sink/dynamic/TestDynamicRecordInternalSerializerWriteSchemaId.java (73%)
create mode 100644 flink/v2.0/flink/src/test/java/org/apache/iceberg/flink/sink/dynamic/TestTableSerializerCache.java
create mode 100644 gcp/src/main/java/org/apache/iceberg/gcp/gcs/PrefixedStorage.java
create mode 100644 gcp/src/test/java/org/apache/iceberg/gcp/gcs/TestPrefixedStorage.java
create mode 100644 orc/src/test/java/org/apache/iceberg/TestOrcPartitionStatsHandler.java
copy core/src/main/java/org/apache/iceberg/HasTableOperations.java => parquet/src/test/java/org/apache/iceberg/TestParquetPartitionStatsHandler.java (84%)
delete mode 100644 spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/actions/SparkBinPackDataRewriter.java
copy spark/{v3.5 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkBinPackFileRewriteRunner.java (100%)
copy spark/{v3.5 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkDataFileRewriteRunner.java (100%)
copy spark/{v3.5 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkRewritePositionDeleteRunner.java (100%)
copy spark/{v3.5 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkRewriteRunner.java (100%)
copy spark/{v3.5 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkShufflingDataRewritePlanner.java (100%)
copy spark/{v3.5 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkShufflingFileRewriteRunner.java (100%)
delete mode 100644 spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/actions/SparkSizeBasedDataRewriter.java
delete mode 100644 spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/actions/SparkSortDataRewriter.java
copy spark/{v3.5 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkSortFileRewriteRunner.java (100%)
delete mode 100644 spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/actions/SparkZOrderDataRewriter.java
copy spark/{v3.5 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkZOrderFileRewriteRunner.java (100%)
delete mode 100644 spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/data/SparkAvroReader.java
delete mode 100644 spark/v3.4/spark/src/test/java/org/apache/iceberg/rest/RESTServerRule.java
delete mode 100644 spark/v3.4/spark/src/test/java/org/apache/iceberg/spark/SparkCatalogTestBase.java
delete mode 100644 spark/v3.4/spark/src/test/java/org/apache/iceberg/spark/SparkTestBase.java
delete mode 100644 spark/v3.4/spark/src/test/java/org/apache/iceberg/spark/SparkTestBaseWithCatalog.java
copy spark/{v3.5 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/actions/TestSparkFileRewriteRunners.java (100%)
delete mode 100644 spark/v3.4/spark/src/test/java/org/apache/iceberg/spark/actions/TestSparkFileRewriter.java
copy spark/{v3.5 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/actions/TestSparkShufflingDataRewritePlanner.java (97%)
copy spark/{v3.5 => v4.0}/build.gradle (95%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/jmh/java/org/apache/iceberg/DeleteFileIndexBenchmark.java (98%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/jmh/java/org/apache/iceberg/spark/MergeCardinalityCheckBenchmark.java (98%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/jmh/java/org/apache/iceberg/spark/PlanningBenchmark.java (99%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/jmh/java/org/apache/iceberg/spark/TaskGroupPlanningBenchmark.java (98%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/jmh/java/org/apache/iceberg/spark/UpdateProjectionBenchmark.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/antlr/org.apache.spark.sql.catalyst.parser.extensions/IcebergSqlExtensions.g4 (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/main/scala/org/apache/iceberg/spark/extensions/IcebergSparkSessionExtensions.scala (81%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckViews.scala (95%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/ProcedureArgumentCoercion.scala (90%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveProcedures.scala (88%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveViews.scala (97%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/RewriteViewCommands.scala (94%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/ViewUtil.scala (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/optimizer/ReplaceStaticInvoke.scala (98%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/parser/extensions/IcebergSparkSqlExtensionsParser.scala (96%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsAstBuilder.scala (98%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/AddPartitionField.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/BranchOptions.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/CreateOrReplaceBranch.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/CreateOrReplaceTag.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/DropBranch.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/DropIdentifierFields.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/DropPartitionField.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/DropTag.scala (100%)
copy spark/{v3.5/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/Call.scala => v4.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/IcebergCall.scala} (87%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/ReplacePartitionField.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/SetIdentifierFields.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/TagOptions.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/statements.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/views/CreateIcebergView.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/views/DropIcebergView.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/views/ResolvedV2View.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/views/ShowIcebergViews.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/AddPartitionFieldExec.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/AlterV2ViewSetPropertiesExec.scala (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/AlterV2ViewUnsetPropertiesExec.scala (91%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/CallExec.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/CreateOrReplaceBranchExec.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/CreateOrReplaceTagExec.scala (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/CreateV2ViewExec.scala (96%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DescribeV2ViewExec.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DropBranchExec.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DropIdentifierFieldsExec.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DropPartitionFieldExec.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DropTagExec.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DropV2ViewExec.scala (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ExtendedDataSourceV2Strategy.scala (96%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/RenameV2ViewExec.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ReplacePartitionFieldExec.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/SetIdentifierFieldsExec.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/SetWriteDistributionAndOrderingExec.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ShowCreateV2ViewExec.scala (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ShowV2ViewPropertiesExec.scala (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ShowV2ViewsExec.scala (96%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/Employee.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/ExtensionsTestBase.java (99%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/ProcedureUtil.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/SparkPlanUtil.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/SparkRowLevelOperationsTestBase.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAddFilesProcedure.java (92%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAlterTablePartitionFields.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAlterTableSchema.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAncestorsOfProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestBranchDDL.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCallStatementParser.java (94%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestChangelogTable.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCherrypickSnapshotProcedure.java (92%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestComputeTableStatsProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestConflictValidation.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCopyOnWriteDelete.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCopyOnWriteMerge.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCopyOnWriteUpdate.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCreateChangelogViewProcedure.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestDelete.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestExpireSnapshotsProcedure.java (97%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestFastForwardBranchProcedure.java (95%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestMerge.java (99%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestMergeOnReadDelete.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestMergeOnReadMerge.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestMergeOnReadUpdate.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestMetaColumnProjectionWithStageScan.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestMetadataTables.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestMigrateTableProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestPublishChangesProcedure.java (92%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRegisterTableProcedure.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRemoveOrphanFilesProcedure.java (98%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestReplaceBranch.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRequiredDistributionAndOrdering.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRewriteDataFilesProcedure.java (93%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRewriteManifestsProcedure.java (85%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRewritePositionDeleteFiles.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRewritePositionDeleteFilesProcedure.java (99%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRewriteTablePathProcedure.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRollbackToSnapshotProcedure.java (94%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRollbackToTimestampProcedure.java (95%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestSetCurrentSnapshotProcedure.java (95%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestSetWriteDistributionAndOrdering.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestSnapshotTableProcedure.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestStoragePartitionedJoinsInRowLevelOperations.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestSystemFunctionPushDownDQL.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestSystemFunctionPushDownInRowLevelOperations.java (92%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestTagDDL.java (100%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestUpdate.java (99%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestViews.java (98%)
copy spark/{v3.5 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestWriteAborts.java (100%)
copy spark/{v3.4 => v4.0}/spark-extensions/src/test/java/org/apache/iceberg/spark/source/PlanUtils.java (100%)
copy spark/{v3.4 => v4.0}/spark-runtime/LICENSE (100%)
copy spark/{v3.4 => v4.0}/spark-runtime/NOTICE (100%)
copy spark/{v3.4 => v4.0}/spark-runtime/src/integration/java/org/apache/iceberg/spark/SmokeTest.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/SparkBenchmarkUtil.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/action/DeleteOrphanFilesBenchmark.java (97%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/action/IcebergSortCompactionBenchmark.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/action/RandomGeneratingUDF.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetReadersFlatDataBenchmark.java (98%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetReadersNestedDataBenchmark.java (98%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetWritersFlatDataBenchmark.java (97%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetWritersNestedDataBenchmark.java (97%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/Action.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/DVReaderBenchmark.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/DVWriterBenchmark.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceBenchmark.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceDeleteBenchmark.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceFlatDataBenchmark.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceNestedDataBenchmark.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceNestedListDataBenchmark.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/WritersBenchmark.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/AvroWritersBenchmark.java (91%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/IcebergSourceFlatAvroDataReadBenchmark.java (97%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/IcebergSourceNestedAvroDataReadBenchmark.java (97%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/orc/IcebergSourceFlatORCDataBenchmark.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/orc/IcebergSourceFlatORCDataReadBenchmark.java (98%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/orc/IcebergSourceNestedListORCDataWriteBenchmark.java (96%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/orc/IcebergSourceNestedORCDataReadBenchmark.java (98%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataFilterBenchmark.java (97%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataReadBenchmark.java (97%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataWriteBenchmark.java (96%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedListParquetDataWriteBenchmark.java (95%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataFilterBenchmark.java (97%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataReadBenchmark.java (97%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataWriteBenchmark.java (95%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceParquetEqDeleteBenchmark.java (95%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceParquetMultiDeleteFileBenchmark.java (95%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceParquetPosDeleteBenchmark.java (95%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceParquetWithUnrelatedDeleteBenchmark.java (95%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/ParquetWritersBenchmark.java (91%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/vectorized/VectorizedReadDictionaryEncodedFlatParquetDataBenchmark.java (97%)
copy spark/{v3.5 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/vectorized/VectorizedReadFlatParquetDataBenchmark.java (98%)
copy spark/{v3.4 => v4.0}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/vectorized/VectorizedReadParquetDecimalBenchmark.java (98%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/SparkDistributedDataScan.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/BaseCatalog.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/BaseFileRewriteCoordinator.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/ChangelogIterator.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/CommitMetadata.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/ComputeUpdateIterator.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/ExtendedParser.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/FileRewriteCoordinator.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/IcebergSpark.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/JobGroupInfo.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/JobGroupUtils.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/OrcBatchReadConf.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/ParquetBatchReadConf.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/ParquetReaderType.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/PathIdentifier.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/PositionDeletesRewriteCoordinator.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/PruneColumnsWithoutReordering.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/RemoveCarryoverIterator.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/RemoveNetCarryoverIterator.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/RollbackStagedTable.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/ScanTaskSetManager.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SortOrderToSpark.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/Spark3Util.java (99%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkAggregates.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkCachedTableCatalog.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java (98%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkCompressionUtil.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkConfParser.java (99%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkContentFile.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkDataFile.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkDeleteFile.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkExceptionUtil.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkExecutorCache.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkFilters.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkFixupTypes.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkFunctionCatalog.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkReadConf.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkReadOptions.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkSQLProperties.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkSchemaUtil.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkSessionCatalog.java (95%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkStructLike.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkTableCache.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkTableUtil.java (91%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkTypeToType.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkTypeVisitor.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkUtil.java (99%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkV2Filters.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkValueConverter.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkWriteConf.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkWriteOptions.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkWriteRequirements.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SparkWriteUtil.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SupportsFunctions.java (93%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/SupportsReplaceView.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/TypeToSparkType.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/BaseSnapshotUpdateSparkAction.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/BaseSparkAction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/BaseTableCreationSparkAction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/ComputeTableStatsSparkAction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/DeleteOrphanFilesSparkAction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/DeleteReachableFilesSparkAction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/ExpireSnapshotsSparkAction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/FileInfo.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/ManifestFileBean.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/MigrateTableSparkAction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/NDVSketchUtil.java (96%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/RemoveDanglingDeletesSparkAction.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.java (99%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/RewriteTablePathSparkAction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/SetAccumulator.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/SnapshotTableSparkAction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkActions.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkBinPackFileRewriteRunner.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkDataFileRewriteRunner.java (100%)
rename spark/{v3.4/spark/src/main/java/org/apache/iceberg/spark/actions/SparkBinPackPositionDeletesRewriter.java => v4.0/spark/src/main/java/org/apache/iceberg/spark/actions/SparkRewritePositionDeleteRunner.java} (77%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkRewriteRunner.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkShufflingDataRewritePlanner.java (100%)
rename spark/{v3.4/spark/src/main/java/org/apache/iceberg/spark/actions/SparkShufflingDataRewriter.java => v4.0/spark/src/main/java/org/apache/iceberg/spark/actions/SparkShufflingFileRewriteRunner.java} (76%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkSortFileRewriteRunner.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkZOrderFileRewriteRunner.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkZOrderUDF.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/AvroWithSparkSchemaVisitor.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/ParquetWithSparkSchemaVisitor.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/SparkAvroWriter.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/SparkOrcReader.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/SparkOrcValueReaders.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/SparkOrcValueWriters.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/SparkOrcWriter.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/SparkParquetReaders.java (99%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/SparkParquetWriters.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/SparkPlannedAvroReader.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/SparkValueReaders.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/SparkValueWriters.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ArrowVectorAccessorFactory.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ArrowVectorAccessors.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ColumnVectorBuilder.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ColumnVectorWithFilter.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ColumnarBatchUtil.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/CometColumnReader.java (98%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/CometColumnarBatchReader.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/CometConstantColumnReader.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/CometDeleteColumnReader.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/CometPositionColumnReader.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/CometVectorizedReaderBuilder.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ConstantColumnVector.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/DeletedColumnVector.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/IcebergArrowColumnVector.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/RowPositionColumnVector.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/VectorizedSparkOrcReaders.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/functions/BaseScalarFunction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/functions/BucketFunction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/functions/DaysFunction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/functions/HoursFunction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/functions/IcebergVersionFunction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/functions/MonthsFunction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/functions/SparkFunctions.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/functions/TruncateFunction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/functions/UnaryUnboundFunction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/functions/YearsFunction.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/AddFilesProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/AncestorsOfProcedure.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/BaseProcedure.java (99%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/CherrypickSnapshotProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/ComputeTableStatsProcedure.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/CreateChangelogViewProcedure.java (95%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/FastForwardBranchProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/MigrateTableProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/ProcedureInput.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/PublishChangesProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/RegisterTableProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/RewriteDataFilesProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/RewriteManifestsProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/RewriteTablePathProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/RollbackToSnapshotProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/RollbackToTimestampProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/SetCurrentSnapshotProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/SnapshotTableProcedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/procedures/SparkProcedures.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/BaseBatchReader.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/BaseReader.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/BaseRowReader.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/BatchDataReader.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/ChangelogRowReader.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/DVIterator.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/EqualityDeleteRowReader.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/HasIcebergCatalog.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/IcebergSource.java (98%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/InternalRowWrapper.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/PositionDeletesRowReader.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/RowDataReader.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SerializableTableWithSize.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkBatch.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkBatchQueryScan.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkChangelogScan.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkChangelogTable.java (99%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkCleanupUtil.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkColumnStatistics.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkColumnarReaderFactory.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkCopyOnWriteOperation.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkCopyOnWriteScan.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkFileWriterFactory.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkInputPartition.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkLocalScan.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkMetadataColumn.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkMicroBatchStream.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPartitionedFanoutWriter.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPartitionedWriter.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPartitioningAwareScan.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPlanningUtil.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPositionDeletesRewriteBuilder.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPositionDeltaOperation.java (97%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPositionDeltaWrite.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPositionDeltaWriteBuilder.java (93%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkRowLevelOperationBuilder.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkRowReaderFactory.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkScan.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkScanBuilder.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkStagedScan.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkStagedScanBuilder.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkTable.java (93%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkView.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkWrite.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/SparkWriteBuilder.java (99%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/StagedSparkTable.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/Stats.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/StreamingOffset.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/StructInternalRow.java (98%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/EqualityDeleteFiles.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/IndexedDeleteFiles.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/NumDeletes.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/NumSplits.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/PositionalDeleteFiles.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/ResultDataFiles.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/ResultDeleteFiles.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/ScannedDataManifests.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/ScannedDeleteManifests.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/SkippedDataFiles.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/SkippedDataManifests.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/SkippedDeleteFiles.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/SkippedDeleteManifests.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskEqualityDeleteFiles.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskIndexedDeleteFiles.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskNumDeletes.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskNumSplits.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskPositionalDeleteFiles.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskResultDataFiles.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskResultDeleteFiles.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskScannedDataManifests.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskScannedDeleteManifests.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskSkippedDataFiles.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskSkippedDataManifests.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskSkippedDeleteFiles.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskSkippedDeleteManifests.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskTotalDataFileSize.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskTotalDataManifests.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskTotalDeleteFileSize.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskTotalDeleteManifests.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskTotalPlanningDuration.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TotalDataFileSize.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TotalDataManifests.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TotalDeleteFileSize.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TotalDeleteManifests.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TotalPlanningDuration.java (100%)
copy spark/{v3.5/spark/src/main/java/org/apache/spark/sql/catalyst/analysis/NoSuchProcedureException.java => v4.0/spark/src/main/java/org/apache/spark/sql/catalyst/analysis/IcebergAnalysisException.java} (82%)
copy spark/{v3.5 => v4.0}/spark/src/main/java/org/apache/spark/sql/catalyst/analysis/NoSuchProcedureException.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/Procedure.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/ProcedureCatalog.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/ProcedureParameter.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/ProcedureParameterImpl.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/OrderAwareCoalesce.scala (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/SetWriteDistributionAndOrdering.scala (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/SortOrderParserUtil.scala (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/scala/org/apache/spark/sql/catalyst/utils/PlanUtils.scala (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/scala/org/apache/spark/sql/execution/OrderAwareCoalesceExec.scala (100%)
copy spark/{v3.4 => v4.0}/spark/src/main/scala/org/apache/spark/sql/execution/datasources/SparkExpressionConverter.scala (89%)
copy spark/{v3.4 => v4.0}/spark/src/main/scala/org/apache/spark/sql/stats/ThetaSketchAgg.scala (97%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/KryoHelpers.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/SparkDistributedDataScanTestBase.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/TaskCheckHelper.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/TestDataFileSerialization.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/TestFileIOSerialization.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/TestHadoopMetricsContextSerialization.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/TestManifestFileSerialization.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/TestScanTaskSerialization.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/TestSparkDistributedDataScanDeletes.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/TestSparkDistributedDataScanFilterFiles.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/TestSparkDistributedDataScanJavaSerialization.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/TestSparkDistributedDataScanKryoSerialization.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/TestSparkDistributedDataScanReporting.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/TestTableSerialization.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/ValidationHelpers.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/CatalogTestBase.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/Employee.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/SparkCatalogConfig.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/SparkTestHelperBase.java (94%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/SystemFunctionPushDownHelper.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestBase.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestBaseWithCatalog.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestChangelogIterator.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestFileRewriteCoordinator.java (94%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestFunctionCatalog.java (94%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestSpark3Util.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestSparkCachedTableCatalog.java (95%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestSparkCatalogOperations.java (96%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestSparkCompressionUtil.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestSparkDistributionAndOrderingUtil.java (99%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestSparkExecutorCache.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestSparkFilters.java (89%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestSparkSchemaUtil.java (93%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestSparkSessionCatalog.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestSparkTableUtil.java (90%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestSparkV2Filters.java (96%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestSparkValueConverter.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/TestSparkWriteConf.java (99%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/actions/TestComputeTableStatsAction.java (97%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/actions/TestCreateActions.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/actions/TestDeleteReachableFilesAction.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/actions/TestExpireSnapshotsAction.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/actions/TestMigrateTableAction.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/actions/TestRemoveDanglingDeleteAction.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/actions/TestRemoveOrphanFilesAction.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/actions/TestRemoveOrphanFilesAction3.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java (99%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteManifestsAction.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewritePositionDeleteFilesAction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteTablePathsAction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/actions/TestSnapshotTableAction.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/actions/TestSparkFileRewriteRunners.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/actions/TestSparkShufflingDataRewritePlanner.java (97%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/AvroDataTest.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/GenericsHelpers.java (90%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/RandomData.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/TestHelpers.java (95%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/TestOrcWrite.java (99%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/TestParquetAvroReader.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/TestParquetAvroWriter.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkAvroEnums.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkAvroReader.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkDateTimes.java (96%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkOrcReadMetadataColumns.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkOrcReader.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkParquetReadMetadataColumns.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkParquetReader.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkParquetWriter.java (99%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkRecordOrcReaderWriter.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/TestVectorizedOrcDataReader.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/parquet/vectorized/TestParquetDictionaryEncodedVectorizedReads.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/parquet/vectorized/TestParquetDictionaryFallbackToPlainEncodingVectorizedReads.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/data/parquet/vectorized/TestParquetVectorizedReads.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/functions/TestSparkFunctions.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/ComplexRecord.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/DataFrameWriteTestBase.java (92%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/FilePathLastModifiedRecord.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/FourColumnRecord.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/LogMessage.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/ManualSource.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/NestedRecord.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/ScanTestBase.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/SimpleRecord.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/SparkSQLExecutionHelper.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestAvroDataFrameWrite.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestAvroScan.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestBaseReader.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestChangelogReader.java (99%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestCompressionSettings.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWriterV2.java (96%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWriterV2Coercion.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestDataSourceOptions.java (98%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestFilteredScan.java (97%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestForwardCompatibility.java (97%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSource.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceHadoopTables.java (98%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceHiveTables.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceTablesBase.java (94%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSpark.java (62%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestIdentityPartitionData.java (97%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestInternalRowWrapper.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestMetadataTableReadableMetrics.java (98%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestMetadataTablesWithPartitionEvolution.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestORCDataFrameWrite.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestParquetDataFrameWrite.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestParquetScan.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestParquetVectorizedScan.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestPartitionPruning.java (95%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestPartitionValues.java (95%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestPathIdentifier.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestPositionDeletesReader.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestPositionDeletesTable.java (99%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestReadProjection.java (90%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestRequiredDistributionAndOrdering.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestRuntimeFiltering.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSnapshotSelection.java (96%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkAggregates.java (84%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkCatalog.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkCatalogCacheExpiration.java (97%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkCatalogHadoopOverrides.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkDVWriters.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkDataFile.java (96%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkDataWrite.java (89%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkFileWriterFactory.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkMetadataColumns.java (91%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkPartitioningWriters.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkPlanningUtil.java (95%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkPositionDeltaWriters.java (100%)
create mode 100644 spark/v4.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkReadMetrics.java
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkReadProjection.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkReaderDeletes.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkReaderWithBloomFilter.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkRollingFileWriters.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkScan.java (92%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkStagedScan.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkTable.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkWriterMetrics.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestStreamingOffset.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestStructuredStreaming.java (96%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestStructuredStreamingRead3.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestTables.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestTimestampWithoutZone.java (98%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/TestWriteMetricsConfig.java (92%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/source/ThreeColumnRecord.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/PartitionedWritesTestBase.java (98%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestAggregatePushDown.java (99%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestAlterTable.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestCreateTable.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestCreateTableAsSelect.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestDeleteFrom.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestDropTable.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestFilterPushDown.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestNamespaceSQL.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestPartitionedWrites.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestPartitionedWritesAsSelect.java (97%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestPartitionedWritesToBranch.java (91%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestPartitionedWritesToWapBranch.java (95%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestRefreshTable.java (89%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestSelect.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestSparkBucketFunction.java (93%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestSparkDaysFunction.java (100%)
copy spark/{v3.4 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestSparkHoursFunction.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestSparkMonthsFunction.java (97%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestSparkTruncateFunction.java (95%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestSparkYearsFunction.java (97%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestStoragePartitionedJoins.java (98%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestTimestampWithoutZone.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestUnpartitionedWrites.java (100%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/TestUnpartitionedWritesToBranch.java (93%)
copy spark/{v3.5 => v4.0}/spark/src/test/java/org/apache/iceberg/spark/sql/UnpartitionedWritesTestBase.java (97%)
copy spark/{v3.5 => v4.0}/spark/src/test/resources/decimal_dict_and_plain_encoding.parquet (100%)