You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by ao...@apache.org on 2023/04/19 21:59:47 UTC

[iceberg] branch master updated (c7b2e95fb9 -> a88079466b)

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

aokolnychyi pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/iceberg.git


    from c7b2e95fb9 Flink: backport #7338 to 1.16 and 1.15 (#7373)
     add fd52bde36b Spark 3.4: Move 3.3 classes to 3.4 folder
     add 215293a3d4 Spark 3.3: Copy 3.3 classes back
     add a88079466b Spark 3.4: Initial support

No new revisions were added by this update.

Summary of changes:
 .github/workflows/jmh-benchmarks.yml               |  4 +-
 .github/workflows/publish-snapshot.yml             |  2 +-
 .github/workflows/recurring-jmh-benchmarks.yml     |  2 +-
 .github/workflows/spark-ci.yml                     |  4 +-
 .gitignore                                         |  1 +
 dev/stage-binaries.sh                              |  3 +-
 gradle.properties                                  |  4 +-
 jmh.gradle                                         |  4 ++
 settings.gradle                                    | 12 +++++
 spark/build.gradle                                 |  6 ++-
 .../spark/source/SparkMicroBatchStream.java        | 11 +---
 .../spark/source/TestStructuredStreamingRead3.java | 42 ---------------
 spark/{v3.3 => v3.4}/build.gradle                  |  4 +-
 .../IcebergSqlExtensions.g4                        |  0
 .../extensions/IcebergSparkSessionExtensions.scala |  0
 .../analysis/AlignRowLevelCommandAssignments.scala |  2 +-
 .../AlignedRowLevelIcebergCommandCheck.scala       |  0
 .../analysis/AssignmentAlignmentSupport.scala      | 11 ++--
 .../analysis/CheckMergeIntoTableConditions.scala   |  0
 .../MergeIntoIcebergTableResolutionCheck.scala     |  0
 .../analysis/ProcedureArgumentCoercion.scala       |  0
 .../analysis/ResolveMergeIntoTableReferences.scala |  2 +-
 .../sql/catalyst/analysis/ResolveProcedures.scala  |  0
 .../analysis/RewriteDeleteFromIcebergTable.scala   |  8 +--
 .../catalyst/analysis/RewriteMergeIntoTable.scala  |  8 +--
 .../analysis/RewriteRowLevelIcebergCommand.scala   |  5 +-
 .../sql/catalyst/analysis/RewriteUpdateTable.scala |  8 +--
 .../sql/catalyst/expressions/AssignmentUtils.scala |  0
 .../expressions/ExtendedV2ExpressionUtils.scala    |  0
 .../ExtendedReplaceNullWithFalseInPredicate.scala  |  0
 .../ExtendedSimplifyConditionalsInPredicate.scala  |  0
 .../IcebergSparkSqlExtensionsParser.scala          |  6 ++-
 .../IcebergSqlExtensionsAstBuilder.scala           |  0
 .../planning/RewrittenRowLevelCommand.scala        |  4 +-
 .../catalyst/plans/logical/AddPartitionField.scala |  0
 .../sql/catalyst/plans/logical/BranchOptions.scala |  0
 .../spark/sql/catalyst/plans/logical/Call.scala    |  0
 .../plans/logical/CreateOrReplaceBranch.scala      |  0
 .../plans/logical/CreateOrReplaceTag.scala         |  0
 .../plans/logical/DeleteFromIcebergTable.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
 .../plans/logical/MergeIntoIcebergTable.scala      |  0
 .../sql/catalyst/plans/logical/MergeRows.scala     |  0
 .../catalyst/plans/logical/NoStatsUnaryNode.scala  |  0
 .../plans/logical/ReplaceIcebergData.scala         |  0
 .../plans/logical/ReplacePartitionField.scala      |  0
 .../catalyst/plans/logical/RowLevelCommand.scala   |  0
 .../plans/logical/SetIdentifierFields.scala        |  0
 .../sql/catalyst/plans/logical/TagOptions.scala    |  0
 .../logical/UnresolvedMergeIntoIcebergTable.scala  |  0
 .../plans/logical/UpdateIcebergTable.scala         |  0
 .../plans/logical/V2WriteCommandLike.scala         |  0
 .../plans/logical/WriteIcebergDelta.scala}         |  8 +--
 .../sql/catalyst/plans/logical/statements.scala    |  0
 .../connector/expressions/TruncateTransform.scala  |  0
 .../datasources/v2/AddPartitionFieldExec.scala     |  0
 .../sql/execution/datasources/v2/CallExec.scala    |  0
 .../datasources/v2/CreateOrReplaceBranchExec.scala |  0
 .../datasources/v2/CreateOrReplaceTagExec.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
 .../v2/ExtendedDataSourceV2Implicits.scala         |  0
 .../v2/ExtendedDataSourceV2Strategy.scala          |  8 +--
 .../v2/ExtendedDistributionAndOrderingUtils.scala  |  0
 .../datasources/v2/ExtendedV2Writes.scala          | 62 +++++++++++++---------
 .../execution/datasources/v2/MergeRowsExec.scala   |  0
 ...ptimizeMetadataOnlyDeleteFromIcebergTable.scala |  0
 .../execution/datasources/v2/ReplaceDataExec.scala |  0
 .../datasources/v2/ReplacePartitionFieldExec.scala |  0
 .../v2/ReplaceRewrittenRowLevelCommand.scala       |  0
 .../v2/RowLevelCommandScanRelationPushDown.scala   |  8 +--
 .../datasources/v2/SetIdentifierFieldsExec.scala   |  0
 .../v2/SetWriteDistributionAndOrderingExec.scala   |  0
 .../RowLevelCommandDynamicPruning.scala            |  2 +-
 .../apache/iceberg/spark/extensions/Employee.java  |  0
 .../spark/extensions/SparkExtensionsTestBase.java  |  0
 .../SparkRowLevelOperationsTestBase.java           |  0
 .../spark/extensions/TestAddFilesProcedure.java    |  0
 .../extensions/TestAlterTablePartitionFields.java  |  0
 .../spark/extensions/TestAlterTableSchema.java     |  0
 .../spark/extensions/TestAncestorsOfProcedure.java |  0
 .../iceberg/spark/extensions/TestBranchDDL.java    |  0
 .../spark/extensions/TestCallStatementParser.java  |  0
 .../spark/extensions/TestChangelogTable.java       |  0
 .../TestCherrypickSnapshotProcedure.java           |  0
 .../spark/extensions/TestConflictValidation.java   | 18 +++----
 .../spark/extensions/TestCopyOnWriteDelete.java    |  0
 .../spark/extensions/TestCopyOnWriteMerge.java     |  0
 .../spark/extensions/TestCopyOnWriteUpdate.java    |  0
 .../TestCreateChangelogViewProcedure.java          |  0
 .../iceberg/spark/extensions/TestDelete.java       | 12 ++---
 .../extensions/TestExpireSnapshotsProcedure.java   |  0
 .../spark/extensions/TestIcebergExpressions.java   |  0
 .../apache/iceberg/spark/extensions/TestMerge.java |  4 +-
 .../spark/extensions/TestMergeOnReadDelete.java    |  5 +-
 .../spark/extensions/TestMergeOnReadMerge.java     |  0
 .../spark/extensions/TestMergeOnReadUpdate.java    |  0
 .../spark/extensions/TestMetadataTables.java       |  0
 .../extensions/TestMigrateTableProcedure.java      |  0
 .../extensions/TestPublishChangesProcedure.java    |  0
 .../extensions/TestRegisterTableProcedure.java     |  0
 .../extensions/TestRemoveOrphanFilesProcedure.java |  4 +-
 .../spark/extensions/TestReplaceBranch.java        |  0
 .../TestRequiredDistributionAndOrdering.java       |  7 ++-
 .../extensions/TestRewriteDataFilesProcedure.java  |  0
 .../extensions/TestRewriteManifestsProcedure.java  |  0
 .../TestRollbackToSnapshotProcedure.java           |  0
 .../TestRollbackToTimestampProcedure.java          |  0
 .../TestSetCurrentSnapshotProcedure.java           |  0
 .../TestSetWriteDistributionAndOrdering.java       |  0
 .../extensions/TestSnapshotTableProcedure.java     |  2 +-
 ...toragePartitionedJoinsInRowLevelOperations.java |  0
 .../iceberg/spark/extensions/TestTagDDL.java       |  0
 .../iceberg/spark/extensions/TestUpdate.java       |  3 --
 .../iceberg/spark/extensions/TestWriteAborts.java  |  2 +-
 spark/{v3.2 => v3.4}/spark-runtime/LICENSE         |  0
 spark/{v2.4 => v3.4}/spark-runtime/NOTICE          |  0
 .../java/org/apache/iceberg/spark/SmokeTest.java   |  0
 .../apache/iceberg/spark/SparkBenchmarkUtil.java   |  0
 .../spark/action/DeleteOrphanFilesBenchmark.java   |  0
 .../action/IcebergSortCompactionBenchmark.java     |  0
 .../iceberg/spark/action/RandomGeneratingUDF.java  |  0
 .../SparkParquetReadersFlatDataBenchmark.java      |  0
 .../SparkParquetReadersNestedDataBenchmark.java    |  0
 .../SparkParquetWritersFlatDataBenchmark.java      |  0
 .../SparkParquetWritersNestedDataBenchmark.java    |  0
 .../org/apache/iceberg/spark/source/Action.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    |  0
 .../IcebergSourceFlatAvroDataReadBenchmark.java    |  0
 .../IcebergSourceNestedAvroDataReadBenchmark.java  |  0
 .../orc/IcebergSourceFlatORCDataBenchmark.java     |  0
 .../orc/IcebergSourceFlatORCDataReadBenchmark.java |  0
 ...ebergSourceNestedListORCDataWriteBenchmark.java |  0
 .../IcebergSourceNestedORCDataReadBenchmark.java   |  0
 ...cebergSourceFlatParquetDataFilterBenchmark.java |  0
 .../IcebergSourceFlatParquetDataReadBenchmark.java |  0
 ...IcebergSourceFlatParquetDataWriteBenchmark.java |  0
 ...gSourceNestedListParquetDataWriteBenchmark.java |  0
 ...bergSourceNestedParquetDataFilterBenchmark.java |  0
 ...cebergSourceNestedParquetDataReadBenchmark.java |  0
 ...ebergSourceNestedParquetDataWriteBenchmark.java |  0
 .../IcebergSourceParquetEqDeleteBenchmark.java     |  0
 ...ebergSourceParquetMultiDeleteFileBenchmark.java |  0
 .../IcebergSourceParquetPosDeleteBenchmark.java    |  0
 ...gSourceParquetWithUnrelatedDeleteBenchmark.java |  0
 .../source/parquet/ParquetWritersBenchmark.java    |  0
 ...dDictionaryEncodedFlatParquetDataBenchmark.java |  0
 .../VectorizedReadFlatParquetDataBenchmark.java    |  0
 .../VectorizedReadParquetDecimalBenchmark.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
 .../org/apache/iceberg/spark/ExtendedParser.java   |  0
 .../iceberg/spark/FileRewriteCoordinator.java      |  0
 .../iceberg/spark/FileScanTaskSetManager.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/PathIdentifier.java   |  0
 .../spark/PositionDeletesRewriteCoordinator.java   |  0
 .../iceberg/spark/PruneColumnsWithReordering.java  |  0
 .../spark/PruneColumnsWithoutReordering.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  |  0
 .../org/apache/iceberg/spark/SparkAggregates.java  |  0
 .../iceberg/spark/SparkCachedTableCatalog.java     |  0
 .../org/apache/iceberg/spark/SparkCatalog.java     |  0
 .../org/apache/iceberg/spark/SparkConfParser.java  |  0
 .../org/apache/iceberg/spark/SparkDataFile.java    |  0
 .../spark/SparkDistributionAndOrderingUtil.java    |  0
 .../apache/iceberg/spark/SparkExceptionUtil.java   |  0
 .../org/apache/iceberg/spark/SparkFilters.java     |  0
 .../iceberg/spark/SparkFixupTimestampType.java     |  0
 .../org/apache/iceberg/spark/SparkFixupTypes.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  |  0
 .../org/apache/iceberg/spark/SparkStructLike.java  |  0
 .../org/apache/iceberg/spark/SparkTableCache.java  |  0
 .../org/apache/iceberg/spark/SparkTableUtil.java   |  0
 .../org/apache/iceberg/spark/SparkTypeToType.java  |  0
 .../org/apache/iceberg/spark/SparkTypeVisitor.java |  0
 .../java/org/apache/iceberg/spark/SparkUtil.java   |  0
 .../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
 .../org/apache/iceberg/spark/TypeToSparkType.java  |  0
 .../actions/BaseSnapshotUpdateSparkAction.java     |  0
 .../iceberg/spark/actions/BaseSparkAction.java     |  0
 .../actions/BaseTableCreationSparkAction.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
 .../spark/actions/RewriteDataFilesSparkAction.java |  0
 .../spark/actions/RewriteManifestsSparkAction.java |  0
 .../iceberg/spark/actions/SetAccumulator.java      |  0
 .../spark/actions/SnapshotTableSparkAction.java    |  0
 .../apache/iceberg/spark/actions/SparkActions.java |  0
 .../spark/actions/SparkBinPackDataRewriter.java    |  0
 .../spark/actions/SparkBinPackStrategy.java        |  0
 .../spark/actions/SparkShufflingDataRewriter.java  |  0
 .../spark/actions/SparkSizeBasedDataRewriter.java  |  0
 .../spark/actions/SparkSortDataRewriter.java       |  0
 .../iceberg/spark/actions/SparkSortStrategy.java   |  0
 .../spark/actions/SparkZOrderDataRewriter.java     |  0
 .../iceberg/spark/actions/SparkZOrderStrategy.java |  0
 .../iceberg/spark/actions/SparkZOrderUDF.java      |  0
 .../spark/data/AvroWithSparkSchemaVisitor.java     |  0
 .../spark/data/ParquetWithSparkSchemaVisitor.java  |  0
 .../apache/iceberg/spark/data/SparkAvroReader.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    |  0
 .../iceberg/spark/data/SparkParquetWriters.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
 .../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
 .../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    |  0
 .../procedures/CherrypickSnapshotProcedure.java    |  0
 .../procedures/CreateChangelogViewProcedure.java   |  0
 .../spark/procedures/ExpireSnapshotsProcedure.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
 .../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
 .../spark/source/EqualityDeleteRowReader.java      |  0
 .../iceberg/spark/source/HasIcebergCatalog.java    |  0
 .../apache/iceberg/spark/source/IcebergSource.java |  0
 .../iceberg/spark/source/InternalRowWrapper.java   |  0
 .../spark/source/PositionDeletesRowReader.java     |  0
 .../apache/iceberg/spark/source/RowDataReader.java |  0
 .../spark/source/SerializableTableWithSize.java    |  0
 .../iceberg/spark/source/SparkAppenderFactory.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  |  0
 .../iceberg/spark/source/SparkCleanupUtil.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
 .../spark/source/SparkPositionDeletesRewrite.java  |  0
 .../source/SparkPositionDeletesRewriteBuilder.java |  0
 .../spark/source/SparkPositionDeltaOperation.java  | 16 ++----
 .../spark/source/SparkPositionDeltaWrite.java      | 18 +++----
 .../source/SparkPositionDeltaWriteBuilder.java     | 58 ++++++++++++--------
 .../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    |  0
 .../apache/iceberg/spark/source/SparkWrite.java    |  0
 .../iceberg/spark/source/SparkWriteBuilder.java    |  0
 .../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    |  0
 .../iceberg/spark/source/metrics/NumDeletes.java   |  0
 .../iceberg/spark/source/metrics/NumSplits.java    |  0
 .../spark/source/metrics/TaskNumDeletes.java       |  0
 .../spark/source/metrics/TaskNumSplits.java        |  0
 .../analysis/NoSuchProcedureException.java         |  5 +-
 .../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
 .../expressions/TransformExpressions.scala         |  0
 .../logical/SetWriteDistributionAndOrdering.scala  |  0
 .../plans/logical/SortOrderParserUtil.scala        |  0
 .../utils/DistributionAndOrderingUtils.scala       |  0
 .../spark/sql/catalyst/utils/PlanUtils.scala       |  0
 .../datasources/SparkExpressionConverter.scala     |  0
 .../test/java/org/apache/iceberg/KryoHelpers.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
 .../org/apache/iceberg/TestTableSerialization.java |  0
 .../java/org/apache/iceberg/ValidationHelpers.java |  0
 .../apache/iceberg/spark/SparkCatalogConfig.java   |  0
 .../apache/iceberg/spark/SparkCatalogTestBase.java |  0
 .../org/apache/iceberg/spark/SparkTestBase.java    |  0
 .../iceberg/spark/SparkTestBaseWithCatalog.java    |  0
 .../apache/iceberg/spark/SparkTestHelperBase.java  |  0
 .../iceberg/spark/TestChangelogIterator.java       |  0
 .../iceberg/spark/TestFileRewriteCoordinator.java  |  0
 .../apache/iceberg/spark/TestFunctionCatalog.java  |  8 +--
 .../org/apache/iceberg/spark/TestSpark3Util.java   |  0
 .../iceberg/spark/TestSparkCachedTableCatalog.java |  0
 .../iceberg/spark/TestSparkCatalogOperations.java  |  0
 .../TestSparkDistributionAndOrderingUtil.java      |  0
 .../org/apache/iceberg/spark/TestSparkFilters.java |  0
 .../apache/iceberg/spark/TestSparkSchemaUtil.java  |  0
 .../iceberg/spark/TestSparkSessionCatalog.java     |  0
 .../apache/iceberg/spark/TestSparkTableUtil.java   |  0
 .../apache/iceberg/spark/TestSparkV2Filters.java   |  0
 .../iceberg/spark/TestSparkValueConverter.java     |  0
 .../apache/iceberg/spark/TestSparkWriteConf.java   |  0
 .../iceberg/spark/actions/TestCreateActions.java   |  0
 .../actions/TestDeleteReachableFilesAction.java    |  0
 .../spark/actions/TestExpireSnapshotsAction.java   |  0
 .../spark/actions/TestRemoveOrphanFilesAction.java |  0
 .../actions/TestRemoveOrphanFilesAction3.java      |  0
 .../spark/actions/TestRewriteDataFilesAction.java  |  0
 .../spark/actions/TestRewriteManifestsAction.java  |  0
 .../spark/actions/TestSparkFileRewriter.java       |  0
 .../apache/iceberg/spark/data/AvroDataTest.java    |  0
 .../apache/iceberg/spark/data/GenericsHelpers.java |  0
 .../org/apache/iceberg/spark/data/RandomData.java  |  0
 .../org/apache/iceberg/spark/data/TestHelpers.java |  0
 .../apache/iceberg/spark/data/TestOrcWrite.java    |  0
 .../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     |  0
 .../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 |  0
 .../spark/data/TestSparkRecordOrcReaderWriter.java |  0
 .../spark/data/TestVectorizedOrcDataReader.java    |  0
 ...estParquetDictionaryEncodedVectorizedReads.java |  0
 ...naryFallbackToPlainEncodingVectorizedReads.java |  0
 .../vectorized/TestParquetVectorizedReads.java     |  0
 .../apache/iceberg/spark/source/ComplexRecord.java |  0
 .../spark/source/FilePathLastModifiedRecord.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/SimpleRecord.java  |  0
 .../spark/source/SparkSQLExecutionHelper.java      |  0
 .../apache/iceberg/spark/source/TestAvroScan.java  |  0
 .../iceberg/spark/source/TestBaseReader.java       |  0
 .../iceberg/spark/source/TestChangelogReader.java  |  0
 .../spark/source/TestDataFrameWriterV2.java        |  0
 .../iceberg/spark/source/TestDataFrameWrites.java  |  0
 .../spark/source/TestDataSourceOptions.java        |  0
 .../iceberg/spark/source/TestFilteredScan.java     |  0
 .../spark/source/TestForwardCompatibility.java     |  0
 .../iceberg/spark/source/TestIcebergSource.java    |  0
 .../source/TestIcebergSourceHadoopTables.java      |  0
 .../spark/source/TestIcebergSourceHiveTables.java  |  0
 .../spark/source/TestIcebergSourceTablesBase.java  |  0
 .../iceberg/spark/source/TestIcebergSpark.java     |  0
 .../spark/source/TestIdentityPartitionData.java    |  0
 .../spark/source/TestInternalRowWrapper.java       |  0
 .../source/TestMetadataTableReadableMetrics.java   |  0
 .../TestMetadataTablesWithPartitionEvolution.java  |  0
 .../iceberg/spark/source/TestParquetScan.java      |  0
 .../iceberg/spark/source/TestPartitionPruning.java |  0
 .../iceberg/spark/source/TestPartitionValues.java  |  0
 .../iceberg/spark/source/TestPathIdentifier.java   |  0
 .../spark/source/TestPositionDeletesTable.java     |  0
 .../iceberg/spark/source/TestReadProjection.java   |  0
 .../TestRequiredDistributionAndOrdering.java       | 13 +++--
 .../iceberg/spark/source/TestRuntimeFiltering.java |  0
 .../spark/source/TestSnapshotSelection.java        |  0
 .../iceberg/spark/source/TestSparkAggregates.java  |  0
 .../spark/source/TestSparkAppenderFactory.java     |  0
 .../iceberg/spark/source/TestSparkCatalog.java     |  0
 .../source/TestSparkCatalogCacheExpiration.java    |  0
 .../source/TestSparkCatalogHadoopOverrides.java    |  0
 .../iceberg/spark/source/TestSparkDataFile.java    |  0
 .../iceberg/spark/source/TestSparkDataWrite.java   |  5 +-
 .../spark/source/TestSparkFileWriterFactory.java   |  0
 .../spark/source/TestSparkMergingMetrics.java      |  0
 .../spark/source/TestSparkMetadataColumns.java     |  0
 .../spark/source/TestSparkPartitioningWriters.java |  0
 .../source/TestSparkPositionDeltaWriters.java      |  0
 .../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 |  0
 .../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      |  0
 .../spark/source/TestStructuredStreamingRead3.java |  0
 .../apache/iceberg/spark/source/TestTables.java    |  0
 .../spark/source/TestTimestampWithoutZone.java     |  0
 .../spark/source/TestWriteMetricsConfig.java       |  0
 .../iceberg/spark/source/ThreeColumnRecord.java    |  0
 .../spark/sql/PartitionedWritesTestBase.java       |  0
 .../iceberg/spark/sql/TestAggregatePushDown.java   |  0
 .../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    |  7 ++-
 .../iceberg/spark/sql/TestFilterPushDown.java      |  0
 .../apache/iceberg/spark/sql/TestNamespaceSQL.java |  0
 .../iceberg/spark/sql/TestPartitionedWrites.java   |  0
 .../spark/sql/TestPartitionedWritesAsSelect.java   |  0
 .../spark/sql/TestPartitionedWritesToBranch.java   |  0
 .../sql/TestPartitionedWritesToWapBranch.java      |  0
 .../apache/iceberg/spark/sql/TestRefreshTable.java |  0
 .../org/apache/iceberg/spark/sql/TestSelect.java   |  0
 .../iceberg/spark/sql/TestSparkBucketFunction.java |  0
 .../iceberg/spark/sql/TestSparkDaysFunction.java   |  0
 .../iceberg/spark/sql/TestSparkHoursFunction.java  |  0
 .../iceberg/spark/sql/TestSparkMonthsFunction.java |  0
 .../spark/sql/TestSparkTruncateFunction.java       |  0
 .../iceberg/spark/sql/TestSparkYearsFunction.java  |  0
 .../spark/sql/TestStoragePartitionedJoins.java     |  0
 .../spark/sql/TestTimestampWithoutZone.java        |  0
 .../iceberg/spark/sql/TestUnpartitionedWrites.java |  0
 .../spark/sql/TestUnpartitionedWritesToBranch.java |  0
 .../spark/sql/UnpartitionedWritesTestBase.java     |  0
 482 files changed, 208 insertions(+), 220 deletions(-)
 copy spark/{v3.3 => v3.4}/build.gradle (99%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/antlr/org.apache.spark.sql.catalyst.parser.extensions/IcebergSqlExtensions.g4 (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/iceberg/spark/extensions/IcebergSparkSessionExtensions.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/AlignRowLevelCommandAssignments.scala (99%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/AlignedRowLevelIcebergCommandCheck.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/AssignmentAlignmentSupport.scala (94%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckMergeIntoTableConditions.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/MergeIntoIcebergTableResolutionCheck.scala (100%)
 copy spark/{v3.1 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/ProcedureArgumentCoercion.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveMergeIntoTableReferences.scala (98%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveProcedures.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/RewriteDeleteFromIcebergTable.scala (95%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/RewriteMergeIntoTable.scala (98%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/RewriteRowLevelIcebergCommand.scala (94%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/RewriteUpdateTable.scala (97%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/expressions/AssignmentUtils.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/expressions/ExtendedV2ExpressionUtils.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/optimizer/ExtendedReplaceNullWithFalseInPredicate.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/optimizer/ExtendedSimplifyConditionalsInPredicate.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/parser/extensions/IcebergSparkSqlExtensionsParser.scala (98%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsAstBuilder.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/planning/RewrittenRowLevelCommand.scala (96%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/AddPartitionField.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/BranchOptions.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/Call.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/CreateOrReplaceBranch.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/CreateOrReplaceTag.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/DeleteFromIcebergTable.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/DropBranch.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/DropIdentifierFields.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/DropPartitionField.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/DropTag.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/MergeIntoIcebergTable.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/MergeRows.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/NoStatsUnaryNode.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/ReplaceIcebergData.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/ReplacePartitionField.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/RowLevelCommand.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/SetIdentifierFields.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/TagOptions.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/UnresolvedMergeIntoIcebergTable.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/UpdateIcebergTable.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/V2WriteCommandLike.scala (100%)
 copy spark/{v3.2/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/WriteDelta.scala => v3.4/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/WriteIcebergDelta.scala} (96%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/statements.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/connector/expressions/TruncateTransform.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/AddPartitionFieldExec.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/CallExec.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/CreateOrReplaceBranchExec.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/CreateOrReplaceTagExec.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DropBranchExec.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DropIdentifierFieldsExec.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DropPartitionFieldExec.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DropTagExec.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ExtendedDataSourceV2Implicits.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ExtendedDataSourceV2Strategy.scala (96%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ExtendedDistributionAndOrderingUtils.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ExtendedV2Writes.scala (75%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/MergeRowsExec.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/OptimizeMetadataOnlyDeleteFromIcebergTable.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ReplaceDataExec.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ReplacePartitionFieldExec.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ReplaceRewrittenRowLevelCommand.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/RowLevelCommandScanRelationPushDown.scala (96%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/SetIdentifierFieldsExec.scala (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/SetWriteDistributionAndOrderingExec.scala (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/main/scala/org/apache/spark/sql/execution/dynamicpruning/RowLevelCommandDynamicPruning.scala (99%)
 copy spark/{v3.1 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/Employee.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/SparkExtensionsTestBase.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/SparkRowLevelOperationsTestBase.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAddFilesProcedure.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAlterTablePartitionFields.java (100%)
 copy spark/{v3.1 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAlterTableSchema.java (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAncestorsOfProcedure.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestBranchDDL.java (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCallStatementParser.java (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestChangelogTable.java (100%)
 copy spark/{v3.1 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCherrypickSnapshotProcedure.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestConflictValidation.java (98%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCopyOnWriteDelete.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCopyOnWriteMerge.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCopyOnWriteUpdate.java (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCreateChangelogViewProcedure.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestDelete.java (99%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestExpireSnapshotsProcedure.java (100%)
 copy spark/{v3.1 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestIcebergExpressions.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestMerge.java (99%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestMergeOnReadDelete.java (97%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestMergeOnReadMerge.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestMergeOnReadUpdate.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestMetadataTables.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestMigrateTableProcedure.java (100%)
 copy spark/{v3.1 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestPublishChangesProcedure.java (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRegisterTableProcedure.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRemoveOrphanFilesProcedure.java (99%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestReplaceBranch.java (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRequiredDistributionAndOrdering.java (98%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRewriteDataFilesProcedure.java (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRewriteManifestsProcedure.java (100%)
 copy spark/{v3.1 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRollbackToSnapshotProcedure.java (100%)
 copy spark/{v3.1 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRollbackToTimestampProcedure.java (100%)
 copy spark/{v3.1 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestSetCurrentSnapshotProcedure.java (100%)
 copy spark/{v3.1 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestSetWriteDistributionAndOrdering.java (100%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestSnapshotTableProcedure.java (99%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestStoragePartitionedJoinsInRowLevelOperations.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestTagDDL.java (100%)
 copy spark/{v3.3 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestUpdate.java (99%)
 copy spark/{v3.2 => v3.4}/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestWriteAborts.java (98%)
 copy spark/{v3.2 => v3.4}/spark-runtime/LICENSE (100%)
 copy spark/{v2.4 => v3.4}/spark-runtime/NOTICE (100%)
 copy spark/{v3.1 => v3.4}/spark-runtime/src/integration/java/org/apache/iceberg/spark/SmokeTest.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/SparkBenchmarkUtil.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/action/DeleteOrphanFilesBenchmark.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/action/IcebergSortCompactionBenchmark.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/action/RandomGeneratingUDF.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetReadersFlatDataBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetReadersNestedDataBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetWritersFlatDataBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetWritersNestedDataBenchmark.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/Action.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceBenchmark.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceDeleteBenchmark.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceFlatDataBenchmark.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceNestedDataBenchmark.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceNestedListDataBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/WritersBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/AvroWritersBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/IcebergSourceFlatAvroDataReadBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/IcebergSourceNestedAvroDataReadBenchmark.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/orc/IcebergSourceFlatORCDataBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/orc/IcebergSourceFlatORCDataReadBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/orc/IcebergSourceNestedListORCDataWriteBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/orc/IcebergSourceNestedORCDataReadBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataFilterBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataReadBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataWriteBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedListParquetDataWriteBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataFilterBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataReadBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataWriteBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceParquetEqDeleteBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceParquetMultiDeleteFileBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceParquetPosDeleteBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceParquetWithUnrelatedDeleteBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/ParquetWritersBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/vectorized/VectorizedReadDictionaryEncodedFlatParquetDataBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/vectorized/VectorizedReadFlatParquetDataBenchmark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/vectorized/VectorizedReadParquetDecimalBenchmark.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/BaseCatalog.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/BaseFileRewriteCoordinator.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/ChangelogIterator.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/CommitMetadata.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/ExtendedParser.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/FileRewriteCoordinator.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/FileScanTaskSetManager.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/IcebergSpark.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/JobGroupInfo.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/JobGroupUtils.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/PathIdentifier.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/PositionDeletesRewriteCoordinator.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/PruneColumnsWithReordering.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/PruneColumnsWithoutReordering.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/RollbackStagedTable.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/ScanTaskSetManager.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SortOrderToSpark.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/Spark3Util.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkAggregates.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkCachedTableCatalog.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkConfParser.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkDataFile.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkExceptionUtil.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkFilters.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkFixupTimestampType.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkFixupTypes.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkReadConf.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkReadOptions.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkSQLProperties.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkSchemaUtil.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkSessionCatalog.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkStructLike.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkTableCache.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkTableUtil.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkTypeToType.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkTypeVisitor.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkUtil.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkV2Filters.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkValueConverter.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkWriteConf.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/SparkWriteOptions.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/TypeToSparkType.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/BaseSnapshotUpdateSparkAction.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/BaseSparkAction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/BaseTableCreationSparkAction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/DeleteOrphanFilesSparkAction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/DeleteReachableFilesSparkAction.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/ExpireSnapshotsSparkAction.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/FileInfo.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/ManifestFileBean.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/MigrateTableSparkAction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SetAccumulator.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SnapshotTableSparkAction.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkActions.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkBinPackDataRewriter.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkBinPackStrategy.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkShufflingDataRewriter.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkSizeBasedDataRewriter.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkSortDataRewriter.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkSortStrategy.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkZOrderDataRewriter.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkZOrderStrategy.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/actions/SparkZOrderUDF.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/AvroWithSparkSchemaVisitor.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/ParquetWithSparkSchemaVisitor.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/SparkAvroReader.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/SparkAvroWriter.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/SparkOrcReader.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/SparkOrcValueReaders.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/SparkOrcValueWriters.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/SparkOrcWriter.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/SparkParquetReaders.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/SparkParquetWriters.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/SparkValueReaders.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/SparkValueWriters.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ArrowVectorAccessorFactory.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ArrowVectorAccessors.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ColumnVectorBuilder.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ColumnVectorWithFilter.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ConstantColumnVector.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/DeletedColumnVector.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/IcebergArrowColumnVector.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/RowPositionColumnVector.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/VectorizedSparkOrcReaders.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/functions/BucketFunction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/functions/DaysFunction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/functions/HoursFunction.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/functions/IcebergVersionFunction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/functions/MonthsFunction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/functions/SparkFunctions.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/functions/TruncateFunction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/functions/UnaryUnboundFunction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/functions/YearsFunction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/AddFilesProcedure.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/AncestorsOfProcedure.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/BaseProcedure.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/CherrypickSnapshotProcedure.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/CreateChangelogViewProcedure.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/MigrateTableProcedure.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/ProcedureInput.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/PublishChangesProcedure.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/RegisterTableProcedure.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/RewriteDataFilesProcedure.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/RewriteManifestsProcedure.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/RollbackToSnapshotProcedure.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/RollbackToTimestampProcedure.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/SetCurrentSnapshotProcedure.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/SnapshotTableProcedure.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/procedures/SparkProcedures.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/BaseBatchReader.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/BaseReader.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/BaseRowReader.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/BatchDataReader.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/ChangelogRowReader.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/EqualityDeleteRowReader.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/HasIcebergCatalog.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/IcebergSource.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/InternalRowWrapper.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/PositionDeletesRowReader.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/RowDataReader.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SerializableTableWithSize.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkAppenderFactory.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkBatch.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkBatchQueryScan.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkChangelogScan.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkChangelogTable.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkCleanupUtil.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkColumnarReaderFactory.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkCopyOnWriteOperation.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkCopyOnWriteScan.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkFileWriterFactory.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkInputPartition.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkLocalScan.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkMetadataColumn.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkMicroBatchStream.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPartitionedFanoutWriter.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPartitionedWriter.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPartitioningAwareScan.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPositionDeletesRewriteBuilder.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPositionDeltaOperation.java (85%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPositionDeltaWrite.java (97%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkPositionDeltaWriteBuilder.java (74%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkRowLevelOperationBuilder.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkRowReaderFactory.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkScan.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkScanBuilder.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkStagedScan.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkStagedScanBuilder.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkTable.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkWrite.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/SparkWriteBuilder.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/StagedSparkTable.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/Stats.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/StreamingOffset.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/StructInternalRow.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/NumDeletes.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/NumSplits.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskNumDeletes.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/iceberg/spark/source/metrics/TaskNumSplits.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/java/org/apache/spark/sql/catalyst/analysis/NoSuchProcedureException.java (89%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/Procedure.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/ProcedureCatalog.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/ProcedureParameter.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/ProcedureParameterImpl.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/scala/org/apache/spark/sql/catalyst/expressions/TransformExpressions.scala (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/SetWriteDistributionAndOrdering.scala (100%)
 copy spark/{v3.1 => v3.4}/spark/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/SortOrderParserUtil.scala (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/scala/org/apache/spark/sql/catalyst/utils/DistributionAndOrderingUtils.scala (100%)
 copy spark/{v3.2 => v3.4}/spark/src/main/scala/org/apache/spark/sql/catalyst/utils/PlanUtils.scala (100%)
 copy spark/{v3.3 => v3.4}/spark/src/main/scala/org/apache/spark/sql/execution/datasources/SparkExpressionConverter.scala (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/KryoHelpers.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/TaskCheckHelper.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/TestDataFileSerialization.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/test/java/org/apache/iceberg/TestFileIOSerialization.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/TestHadoopMetricsContextSerialization.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/TestManifestFileSerialization.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/TestScanTaskSerialization.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/TestTableSerialization.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/ValidationHelpers.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/SparkCatalogConfig.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/SparkCatalogTestBase.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/SparkTestBase.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/SparkTestBaseWithCatalog.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/SparkTestHelperBase.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/TestChangelogIterator.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/TestFileRewriteCoordinator.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/TestFunctionCatalog.java (96%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/TestSpark3Util.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/TestSparkCachedTableCatalog.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/TestSparkCatalogOperations.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/TestSparkDistributionAndOrderingUtil.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/TestSparkFilters.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/TestSparkSchemaUtil.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/TestSparkSessionCatalog.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/TestSparkTableUtil.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/TestSparkV2Filters.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/TestSparkValueConverter.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/TestSparkWriteConf.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/actions/TestCreateActions.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/actions/TestDeleteReachableFilesAction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/actions/TestExpireSnapshotsAction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/actions/TestRemoveOrphanFilesAction.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/actions/TestRemoveOrphanFilesAction3.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteManifestsAction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/actions/TestSparkFileRewriter.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/AvroDataTest.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/GenericsHelpers.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/RandomData.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/TestHelpers.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/TestOrcWrite.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/TestParquetAvroReader.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/TestParquetAvroWriter.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkAvroEnums.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkAvroReader.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkDateTimes.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkOrcReadMetadataColumns.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkOrcReader.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkParquetReadMetadataColumns.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkParquetReader.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkParquetWriter.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkRecordOrcReaderWriter.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/TestVectorizedOrcDataReader.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/parquet/vectorized/TestParquetDictionaryEncodedVectorizedReads.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/parquet/vectorized/TestParquetDictionaryFallbackToPlainEncodingVectorizedReads.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/data/parquet/vectorized/TestParquetVectorizedReads.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/ComplexRecord.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/FilePathLastModifiedRecord.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/LogMessage.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/ManualSource.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/NestedRecord.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/SimpleRecord.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/SparkSQLExecutionHelper.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestAvroScan.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestBaseReader.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestChangelogReader.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWriterV2.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWrites.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestDataSourceOptions.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestFilteredScan.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestForwardCompatibility.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSource.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceHadoopTables.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceHiveTables.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceTablesBase.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSpark.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestIdentityPartitionData.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestInternalRowWrapper.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestMetadataTableReadableMetrics.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestMetadataTablesWithPartitionEvolution.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestParquetScan.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestPartitionPruning.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestPartitionValues.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestPathIdentifier.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestPositionDeletesTable.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestReadProjection.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestRequiredDistributionAndOrdering.java (97%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestRuntimeFiltering.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSnapshotSelection.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkAggregates.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkAppenderFactory.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkCatalog.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkCatalogCacheExpiration.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkCatalogHadoopOverrides.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkDataFile.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkDataWrite.java (99%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkFileWriterFactory.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkMergingMetrics.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkMetadataColumns.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkPartitioningWriters.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkPositionDeltaWriters.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkReadProjection.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkReaderDeletes.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkReaderWithBloomFilter.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkRollingFileWriters.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkScan.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkStagedScan.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkTable.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkWriterMetrics.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestStreamingOffset.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestStructuredStreaming.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestStructuredStreamingRead3.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestTables.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestTimestampWithoutZone.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/TestWriteMetricsConfig.java (100%)
 copy spark/{v2.4 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/source/ThreeColumnRecord.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/PartitionedWritesTestBase.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestAggregatePushDown.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestAlterTable.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestCreateTable.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestCreateTableAsSelect.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestDeleteFrom.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestDropTable.java (97%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestFilterPushDown.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestNamespaceSQL.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestPartitionedWrites.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestPartitionedWritesAsSelect.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestPartitionedWritesToBranch.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestPartitionedWritesToWapBranch.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestRefreshTable.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestSelect.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestSparkBucketFunction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestSparkDaysFunction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestSparkHoursFunction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestSparkMonthsFunction.java (100%)
 copy spark/{v3.2 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestSparkTruncateFunction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestSparkYearsFunction.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestStoragePartitionedJoins.java (100%)
 copy spark/{v3.1 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestTimestampWithoutZone.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestUnpartitionedWrites.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/TestUnpartitionedWritesToBranch.java (100%)
 copy spark/{v3.3 => v3.4}/spark/src/test/java/org/apache/iceberg/spark/sql/UnpartitionedWritesTestBase.java (100%)