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 2022/11/19 22:24:12 UTC

[iceberg] branch dependabot/pip/python/fastavro-1.7.0 updated (c2c9ab6242 -> 710c78503a)

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

github-bot pushed a change to branch dependabot/pip/python/fastavro-1.7.0
in repository https://gitbox.apache.org/repos/asf/iceberg.git


 discard c2c9ab6242 Build: Bump fastavro from 1.6.1 to 1.7.0 in /python
     add 3a4a857dde Parquet: Support 2-level list and maps type in RemoveIds (#6064)
     add bcd15188aa API: Fix TestAggregateBinding (#6065)
     add 97511652a0 Spark: Reduce logging from SparkBatchQueryScan (#6108)
     add 167a8ccd7c Python: Support creating a DateLiteral from a date (#6123)
     add 157b707a54 Python: Fix typo in `_ManifestEvalVisitor.visit_equal` (#6117)
     add b14a3bae12 Python: Implement pythonic `__len__` (#6135)
     add 75005fb745 Flink: Optimize test code of TestSourceUtil (#6143)
     add bc9c686758 Spark: Remove Spark 3.0 (#6094)
     add 9ee8457766 Core: Fix metadata table read failure due to illegal character (#4577)
     add cd21f68e7b Core: Pass purgeRequested flag to REST server (#6073)
     add 286887185a Python: Pin mypy (#6147)
     add c7aa5c878f Build: Let revapi compare API compatibility against apache-iceberg-1.0.0 (#6053)
     add 6104d0e6f2 Core: Rename HMS_TABLE_OWNER to follow naming convention (#6154)
     add abcc65b4f2 Docs: Update spotless apply command (#6157)
     add 7265f73ce3 Python: Cache Poetry install (#6158)
     add febba74700 Nessie: Nessie Catalog to return a unique path for different tables with same name (#4826)
     add 305e320b0f Spark: Support reading from a tag or branch (#5150)
     add a50a2956f6 Core: Cache dropStats in ManifestReader iterator (#5836)
     add 7fe4037e77 Core: Reduce code duplication around writing JSON collections (#6113)
     add d5c4fe08c9 Python: Fix Evaluator tests (#6140)
     add e4dc3fc83a Core: Sync client/server properties in REST catalog (#6150)
     add 15cdc250af Python: Use FileIO from Table and forward S3 credentials (#6161)
     add d41f749156 Flink: Port #6049 to Flink 1.14 to add Sink options of compression properties (#6166)
     add 048f3f6c06 Build: Bump jackson-annotations from 2.13.4 to 2.14.0 (#6129)
     add f54a10c464 Python: Add initial TableScan implementation (#6145)
     add 8de3b1c987 Build: Add -DallVersions property that exposes all component versions (#6167)
     add a759688740 Python: Move FileIO initialization to the catalog (#6170)
     add 0499f57fe1 Core,Spark: Add metadata to Scan Report (#6058)
     add 0c4a10e54a Python: Fix previous metadata location property
     add 436e2d66dd AWS: Fix catalog name in LakeFormationTestBase (#5767)
     add abf31566e2 Spark: Backport setting the EnvironmentContext for Spark (#6183)
     add a9d36309ea Flink: Add engine name, version to EnvironmentContext (#6184)
     add b0d7abcb21 Core: Add Iceberg version to EnvironmentContext (#6185)
     add 2d1e100be5 Python: Make invalid Literal conversions explicit (#6141)
     add 33217abf7f Core: Add a util method to combine tasks by partition (#2276)
     add fed2d1715f Spark 3.3: Support Java 8 time API in SparkValueConverter (#5860)
     add f8aa513ff0 Build: Enable revapi on checked modules, fix API breaks (#6146)
     add 186ee7e9a6 Spark 3.3: Preserve file seq numbers while rewriting manifests (#6176)
     add 4cb068ff94 Docs: fix link of `Write options` in Flink
     add 47fb706073 Core: Remove unused toTaskGroupStream from TableScanUtil (#6189)
     add 0fdead77d4 Spark 3.2: Preserve file seq numbers while rewriting manifests (#6192)
     add 1d10c53906 Spark 3.1: Preserve file seq numbers while rewriting manifests (#6193)
     add 5195d280da Flink: Add 'cache.expiration-interval-ms' option to FlinkCatalog (#6111)
     add c7365f0302 Core: Method for building grouping key type (#6163)
     add c6a1cc4947 Revert "Hive: Forward catalog-specific Hive configuration properties (#5989)" (#6187)
     add b76fff71e1 Core: Add time zone info to LocalDate in ExpressionUtil tests (#6200)
     add 6697129a31 REST: Assign metadata UUID on create transaction (#6201)
     add cae14e3d0b Python: Fix rough edges around literals (#6197)
     add b3eaf0c6cb API, Core: Move micros and days conversions to DateTimeUtil (#6199)
     add 7fa9ee427a Core: Remove redundant initialization (#6178)
     add bcc4fa07fd Flink: Extract Flink package version programmatically for EnvironmentContext engine-version (#6206)
     add 36387fce79 Flink: Add unit test for FlinkPackage util class (#6213)
     add 25335a0d9d Parquet: Fix null values when selecting nested field partition column (#4627)
     add 7a13c0965d Python: Update mypy to 0.991 (#6159)
     add dbf91118c9 Python: Remove dataclasses (#6139)
     add 710c78503a Build: Bump fastavro from 1.6.1 to 1.7.0 in /python

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   (c2c9ab6242)
            \
             N -- N -- N   refs/heads/dependabot/pip/python/fastavro-1.7.0 (710c78503a)

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:
 .github/workflows/api-binary-compatibility.yml     |    1 +
 .github/workflows/java-ci.yml                      |    2 +-
 .github/workflows/publish-snapshot.yml             |    2 +-
 .github/workflows/python-ci.yml                    |    5 +
 .palantir/revapi.yml                               |   80 +-
 README.md                                          |    3 +-
 .../java/org/apache/iceberg/ContentScanTask.java   |   12 +-
 .../java/org/apache/iceberg/PartitionScanTask.java |    9 +-
 .../main/java/org/apache/iceberg/TableScan.java    |    4 +-
 .../org/apache/iceberg/actions/MigrateTable.java   |    4 +-
 .../apache/iceberg/expressions/Expressions.java    |    8 +-
 .../java/org/apache/iceberg/transforms/Dates.java  |   27 +-
 .../org/apache/iceberg/transforms/Timestamps.java  |   32 +-
 .../java/org/apache/iceberg/util/DateTimeUtil.java |   55 +
 .../org/apache/iceberg/util/StructProjection.java  |   11 +
 .../iceberg/expressions/TestAggregateBinding.java  |   50 +-
 .../iceberg/expressions/TestExpressionUtil.java    |    6 +-
 .../org/apache/iceberg/util/TestDateTimeUtil.java  |    0
 .../aws/lakeformation/LakeFormationTestBase.java   |    4 +-
 build.gradle                                       |   12 +-
 .../org/apache/iceberg/BaseReplacePartitions.java  |   28 +
 .../org/apache/iceberg/BaseRewriteManifests.java   |   14 +
 .../java/org/apache/iceberg/BaseTableScan.java     |   14 +
 .../org/apache/iceberg/EnvironmentContext.java     |   42 +-
 .../main/java/org/apache/iceberg/FastAppend.java   |   13 +
 .../java/org/apache/iceberg/ManifestFiles.java     |    2 +-
 .../java/org/apache/iceberg/ManifestReader.java    |   59 +-
 .../apache/iceberg/MergingSnapshotProducer.java    |   14 +
 .../java/org/apache/iceberg/MetadataUpdate.java    |    2 +-
 .../org/apache/iceberg/MetadataUpdateParser.java   |    6 +-
 .../java/org/apache/iceberg/PartitionData.java     |    2 +-
 .../main/java/org/apache/iceberg/Partitioning.java |  124 +-
 .../main/java/org/apache/iceberg/SchemaParser.java |    6 +-
 .../java/org/apache/iceberg/SnapshotParser.java    |   10 +-
 .../java/org/apache/iceberg/SnapshotProducer.java  |   27 +
 .../org/apache/iceberg/StatisticsFileParser.java   |    6 +-
 .../java/org/apache/iceberg/TableMetadata.java     |   11 +
 .../org/apache/iceberg/TableMetadataParser.java    |    6 +-
 .../java/org/apache/iceberg/TableProperties.java   |    2 +-
 .../org/apache/iceberg/avro/AvroFileAppender.java  |    6 +-
 .../apache/iceberg/avro/BuildAvroProjection.java   |    8 +-
 .../java/org/apache/iceberg/deletes/Deletes.java   |   15 +
 .../main/java/org/apache/iceberg/hadoop/Util.java  |    8 +
 .../java/org/apache/iceberg/io/FileIOParser.java   |    6 +-
 .../apache/iceberg/mapping/NameMappingParser.java  |    6 +-
 .../org/apache/iceberg/metrics/ScanReport.java     |    3 +
 .../apache/iceberg/metrics/ScanReportParser.java   |   47 +-
 .../apache/iceberg/puffin/FileMetadataParser.java  |   18 +-
 .../org/apache/iceberg/rest/CatalogHandlers.java   |    7 +
 .../java/org/apache/iceberg/rest/HTTPClient.java   |   10 +
 .../java/org/apache/iceberg/rest/RESTClient.java   |   24 +-
 .../apache/iceberg/rest/RESTSessionCatalog.java    |   38 +-
 .../rest/responses/ErrorResponseParser.java        |    6 +-
 .../apache/iceberg/schema/UnionByNameVisitor.java  |    2 +-
 .../java/org/apache/iceberg/util/JsonUtil.java     |   41 +
 .../org/apache/iceberg/util/PartitionUtil.java     |   33 +
 .../org/apache/iceberg/util/TableScanUtil.java     |   57 +
 .../apache/iceberg/MetadataTableScanTestBase.java  |   99 ++
 .../java/org/apache/iceberg/MockFileScanTask.java  |    5 +
 .../apache/iceberg/TestManifestReaderStats.java    |   19 +
 .../org/apache/iceberg/TestMetadataTableScans.java |   59 +-
 ...stMetadataTableScansWithPartitionEvolution.java |  163 ++
 .../java/org/apache/iceberg/TestPartitioning.java  |  221 ++-
 .../java/org/apache/iceberg/TestTableMetadata.java |    6 +-
 .../org/apache/iceberg/catalog/CatalogTests.java   |   18 +
 .../iceberg/metrics/TestScanReportParser.java      |   34 +
 .../apache/iceberg/rest/RESTCatalogAdapter.java    |   18 +-
 .../org/apache/iceberg/rest/TestHTTPClient.java    |    2 +-
 .../org/apache/iceberg/rest/TestRESTCatalog.java   |   16 +-
 .../java/org/apache/iceberg/util/TestJsonUtil.java |   80 +-
 .../org/apache/iceberg/util/TestTableScanUtil.java |  141 ++
 docs/flink-getting-started.md                      |    5 +-
 .../org/apache/iceberg/flink/FlinkCatalog.java     |   13 +-
 .../apache/iceberg/flink/FlinkCatalogFactory.java  |   25 +-
 .../org/apache/iceberg/flink/FlinkWriteConf.java   |   60 +
 .../apache/iceberg/flink/FlinkWriteOptions.java    |   12 +
 .../org/apache/iceberg/flink/sink/FlinkSink.java   |   52 +-
 .../flink/sink/RowDataTaskWriterFactory.java       |    9 +-
 .../iceberg/flink/source/RowDataRewriter.java      |    8 +-
 .../apache/iceberg/flink/util/FlinkPackage.java    |   21 +-
 .../flink/TestFlinkCatalogTablePartitions.java     |    5 +-
 .../flink/sink/TestCompressionSettings.java        |    0
 .../iceberg/flink/sink/TestDeltaTaskWriter.java    |    1 +
 .../apache/iceberg/flink/sink/TestTaskWriters.java |    1 +
 .../flink/source/TestProjectMetaColumn.java        |    1 +
 .../iceberg/flink/source/TestSourceUtil.java       |    8 +-
 .../iceberg/flink/util/TestFlinkPackage.java       |   17 +-
 .../org/apache/iceberg/flink/FlinkCatalog.java     |   13 +-
 .../apache/iceberg/flink/FlinkCatalogFactory.java  |   25 +-
 .../apache/iceberg/flink/util/FlinkPackage.java    |   21 +-
 .../flink/TestFlinkCatalogTablePartitions.java     |    5 +-
 .../iceberg/flink/source/TestSourceUtil.java       |    8 +-
 .../iceberg/flink/util/TestFlinkPackage.java       |   17 +-
 .../org/apache/iceberg/flink/FlinkCatalog.java     |   13 +-
 .../apache/iceberg/flink/FlinkCatalogFactory.java  |   25 +-
 .../iceberg/flink/data/FlinkParquetReaders.java    |   11 +-
 .../apache/iceberg/flink/util/FlinkPackage.java    |   21 +-
 .../flink/TestFlinkCatalogTablePartitions.java     |    5 +-
 .../iceberg/flink/source/TestFlinkInputFormat.java |   51 +
 .../iceberg/flink/source/TestSourceUtil.java       |    8 +-
 .../iceberg/flink/util/TestFlinkPackage.java       |   17 +-
 .../java/org/apache/iceberg/hive/HiveCatalog.java  |    9 -
 .../org/apache/iceberg/hive/TestHiveCatalog.java   |   12 -
 hive3/build.gradle                                 |    2 +-
 mr/build.gradle                                    |    2 +-
 .../org/apache/iceberg/nessie/NessieCatalog.java   |   11 +-
 .../iceberg/nessie/TestBranchVisibility.java       |   28 +
 .../org/apache/iceberg/nessie/TestNessieTable.java |   62 +-
 .../iceberg/data/parquet/BaseParquetReaders.java   |   11 +-
 .../iceberg/parquet/ParquetValueReaders.java       |   45 +-
 .../java/org/apache/iceberg/parquet/RemoveIds.java |   18 +-
 .../org/apache/iceberg/pig/PigParquetReader.java   |   11 +-
 python/.pre-commit-config.yaml                     |    2 +-
 python/poetry.lock                                 |  177 +-
 python/pyiceberg/avro/reader.py                    |   11 +-
 python/pyiceberg/catalog/__init__.py               |   15 +-
 python/pyiceberg/catalog/hive.py                   |   11 +-
 python/pyiceberg/catalog/rest.py                   |    2 +
 python/pyiceberg/cli/console.py                    |    4 +-
 python/pyiceberg/cli/output.py                     |   20 +-
 python/pyiceberg/expressions/__init__.py           |  526 ++++--
 python/pyiceberg/expressions/literals.py           |  346 ++--
 python/pyiceberg/expressions/visitors.py           |  130 +-
 python/pyiceberg/io/__init__.py                    |    2 +-
 python/pyiceberg/io/fsspec.py                      |    1 +
 python/pyiceberg/io/pyarrow.py                     |    3 +-
 python/pyiceberg/table/__init__.py                 |  134 +-
 python/pyiceberg/typedef.py                        |    9 +-
 python/pyiceberg/types.py                          |   11 +-
 python/pyiceberg/utils/config.py                   |    8 +-
 python/pyiceberg/utils/datetime.py                 |   13 +-
 python/pyproject.toml                              |    2 +
 python/tests/avro/test_decoder.py                  |    5 +-
 python/tests/catalog/test_base.py                  |    7 +-
 python/tests/catalog/test_rest.py                  |    4 +-
 python/tests/cli/test_console.py                   |   15 +-
 python/tests/expressions/test_expressions.py       |  522 ++++--
 python/tests/expressions/test_literals.py          |  239 ++-
 python/tests/expressions/test_visitors.py          | 1349 ++++++--------
 python/tests/table/test_init.py                    |   85 +
 python/tests/test_transforms.py                    |   11 +-
 python/tests/test_types.py                         |    4 +-
 python_legacy/tox.ini                              |    2 +-
 settings.gradle                                    |    6 +
 .../iceberg/spark/source/CustomCatalogs.java       |    6 +
 spark/v3.0/build.gradle                            |  278 ---
 .../IcebergSqlExtensions.g4                        |  293 ----
 .../extensions/IcebergSparkSessionExtensions.scala |   57 -
 .../analysis/AlignRowLevelOperations.scala         |  111 --
 .../analysis/AssignmentAlignmentSupport.scala      |  208 ---
 .../analysis/ProcedureArgumentCoercion.scala       |   56 -
 .../sql/catalyst/analysis/ResolveProcedures.scala  |  190 --
 .../RowLevelOperationsPredicateCheck.scala         |   90 -
 .../sql/catalyst/expressions/AccumulateFiles.scala |   43 -
 .../OptimizeConditionsInRowLevelOperations.scala   |   59 -
 ...pCorrelatedPredicatesInRowLevelOperations.scala |   51 -
 .../sql/catalyst/optimizer/RewriteDelete.scala     |  117 --
 .../sql/catalyst/optimizer/RewriteMergeInto.scala  |  255 ---
 .../sql/catalyst/optimizer/RewriteUpdate.scala     |  126 --
 .../IcebergSparkSqlExtensionsParser.scala          |  303 ----
 .../IcebergSqlExtensionsAstBuilder.scala           |  286 ---
 .../catalyst/plans/logical/AddPartitionField.scala |   33 -
 .../spark/sql/catalyst/plans/logical/Call.scala    |   34 -
 .../plans/logical/DropIdentifierFields.scala       |   34 -
 .../plans/logical/DropPartitionField.scala         |   33 -
 .../catalyst/plans/logical/DynamicFileFilter.scala |   62 -
 .../sql/catalyst/plans/logical/MergeInto.scala     |   38 -
 .../sql/catalyst/plans/logical/ReplaceData.scala   |   36 -
 .../plans/logical/ReplacePartitionField.scala      |   38 -
 .../plans/logical/SetIdentifierFields.scala        |   35 -
 .../sql/catalyst/plans/logical/statements.scala    |   44 -
 .../utils/RewriteRowLevelOperationHelper.scala     |  282 ---
 .../spark/sql/catalyst/utils/SetAccumulator.scala  |   45 -
 .../datasources/v2/AddPartitionFieldExec.scala     |   56 -
 .../sql/execution/datasources/v2/CallExec.scala    |   39 -
 .../datasources/v2/DropIdentifierFieldsExec.scala  |   65 -
 .../datasources/v2/DropPartitionFieldExec.scala    |   67 -
 .../datasources/v2/DynamicFileFilterExec.scala     |  130 --
 .../datasources/v2/ExtendedBatchScanExec.scala     |   60 -
 .../v2/ExtendedDataSourceV2Implicits.scala         |   51 -
 .../v2/ExtendedDataSourceV2Strategy.scala          |  147 --
 .../execution/datasources/v2/MergeIntoExec.scala   |  118 --
 .../execution/datasources/v2/ReplaceDataExec.scala |   38 -
 .../datasources/v2/ReplacePartitionFieldExec.scala |   72 -
 .../datasources/v2/SetIdentifierFieldsExec.scala   |   52 -
 .../v2/SetWriteDistributionAndOrderingExec.scala   |   78 -
 .../apache/iceberg/spark/extensions/Employee.java  |   66 -
 .../spark/extensions/SparkExtensionsTestBase.java  |   64 -
 .../SparkRowLevelOperationsTestBase.java           |  227 ---
 .../spark/extensions/TestAddFilesProcedure.java    | 1048 -----------
 .../extensions/TestAlterTablePartitionFields.java  |  439 -----
 .../spark/extensions/TestAlterTableSchema.java     |  162 --
 .../spark/extensions/TestAncestorsOfProcedure.java |  168 --
 .../spark/extensions/TestCallStatementParser.java  |  214 ---
 .../TestCherrypickSnapshotProcedure.java           |  203 ---
 .../spark/extensions/TestCopyOnWriteMerge.java     |   43 -
 .../spark/extensions/TestCopyOnWriteUpdate.java    |   43 -
 .../iceberg/spark/extensions/TestDelete.java       |  853 ---------
 .../extensions/TestExpireSnapshotsProcedure.java   |  316 ----
 .../spark/extensions/TestIcebergExpressions.java   |   74 -
 .../apache/iceberg/spark/extensions/TestMerge.java | 1837 --------------------
 .../extensions/TestMigrateTableProcedure.java      |  187 --
 .../extensions/TestPublishChangesProcedure.java    |  193 --
 .../extensions/TestRemoveOrphanFilesProcedure.java |  465 -----
 .../extensions/TestRewriteDataFilesProcedure.java  |  416 -----
 .../extensions/TestRewriteManifestsProcedure.java  |  196 ---
 .../TestRollbackToSnapshotProcedure.java           |  297 ----
 .../TestRollbackToTimestampProcedure.java          |  304 ----
 .../TestSetCurrentSnapshotProcedure.java           |  256 ---
 .../TestSetWriteDistributionAndOrdering.java       |  302 ----
 .../extensions/TestSnapshotTableProcedure.java     |  231 ---
 .../iceberg/spark/extensions/TestUpdate.java       | 1036 -----------
 spark/v3.0/spark-runtime/LICENSE                   |  630 -------
 spark/v3.0/spark-runtime/NOTICE                    |  508 ------
 .../java/org/apache/iceberg/spark/SmokeTest.java   |  179 --
 .../apache/iceberg/spark/SparkBenchmarkUtil.java   |   57 -
 .../SparkParquetReadersFlatDataBenchmark.java      |  222 ---
 .../SparkParquetReadersNestedDataBenchmark.java    |  220 ---
 .../SparkParquetWritersFlatDataBenchmark.java      |  128 --
 .../SparkParquetWritersNestedDataBenchmark.java    |  128 --
 .../org/apache/iceberg/spark/source/Action.java    |   24 -
 .../spark/source/IcebergSourceBenchmark.java       |  199 ---
 .../source/IcebergSourceFlatDataBenchmark.java     |   59 -
 .../source/IcebergSourceNestedDataBenchmark.java   |   59 -
 .../IcebergSourceNestedListDataBenchmark.java      |   62 -
 .../iceberg/spark/source/WritersBenchmark.java     |  366 ----
 .../spark/source/avro/AvroWritersBenchmark.java    |   39 -
 .../IcebergSourceFlatAvroDataReadBenchmark.java    |  142 --
 .../IcebergSourceNestedAvroDataReadBenchmark.java  |  142 --
 .../orc/IcebergSourceFlatORCDataBenchmark.java     |   68 -
 .../orc/IcebergSourceFlatORCDataReadBenchmark.java |  210 ---
 ...ebergSourceNestedListORCDataWriteBenchmark.java |  109 --
 .../IcebergSourceNestedORCDataReadBenchmark.java   |  183 --
 ...cebergSourceFlatParquetDataFilterBenchmark.java |  129 --
 .../IcebergSourceFlatParquetDataReadBenchmark.java |  165 --
 ...IcebergSourceFlatParquetDataWriteBenchmark.java |   89 -
 ...gSourceNestedListParquetDataWriteBenchmark.java |   89 -
 ...bergSourceNestedParquetDataFilterBenchmark.java |  128 --
 ...cebergSourceNestedParquetDataReadBenchmark.java |  166 --
 ...ebergSourceNestedParquetDataWriteBenchmark.java |   88 -
 .../source/parquet/ParquetWritersBenchmark.java    |   39 -
 ...dDictionaryEncodedFlatParquetDataBenchmark.java |  137 --
 .../VectorizedReadFlatParquetDataBenchmark.java    |  333 ----
 .../java/org/apache/iceberg/spark/BaseCatalog.java |   48 -
 .../org/apache/iceberg/spark/CommitMetadata.java   |   58 -
 .../iceberg/spark/FileRewriteCoordinator.java      |   96 -
 .../iceberg/spark/FileScanTaskSetManager.java      |   77 -
 .../org/apache/iceberg/spark/IcebergSpark.java     |   43 -
 .../org/apache/iceberg/spark/JobGroupInfo.java     |   44 -
 .../org/apache/iceberg/spark/JobGroupUtils.java    |   46 -
 .../java/org/apache/iceberg/spark/OrderField.java  |  117 --
 .../org/apache/iceberg/spark/PathIdentifier.java   |   57 -
 .../iceberg/spark/PruneColumnsWithReordering.java  |  275 ---
 .../spark/PruneColumnsWithoutReordering.java       |  240 ---
 .../apache/iceberg/spark/RollbackStagedTable.java  |  142 --
 .../org/apache/iceberg/spark/SortOrderToSpark.java |   62 -
 .../java/org/apache/iceberg/spark/Spark3Util.java  |  991 -----------
 .../apache/iceberg/spark/Spark3VersionUtil.java    |   34 -
 .../org/apache/iceberg/spark/SparkCatalog.java     |  620 -------
 .../org/apache/iceberg/spark/SparkConfParser.java  |  186 --
 .../org/apache/iceberg/spark/SparkDataFile.java    |  208 ---
 .../apache/iceberg/spark/SparkExceptionUtil.java   |   64 -
 .../org/apache/iceberg/spark/SparkFilters.java     |  221 ---
 .../iceberg/spark/SparkFixupTimestampType.java     |   57 -
 .../org/apache/iceberg/spark/SparkFixupTypes.java  |   63 -
 .../org/apache/iceberg/spark/SparkReadConf.java    |  201 ---
 .../org/apache/iceberg/spark/SparkReadOptions.java |   74 -
 .../apache/iceberg/spark/SparkSQLProperties.java   |   45 -
 .../org/apache/iceberg/spark/SparkSchemaUtil.java  |  308 ----
 .../apache/iceberg/spark/SparkSessionCatalog.java  |  311 ----
 .../org/apache/iceberg/spark/SparkStructLike.java  |   54 -
 .../org/apache/iceberg/spark/SparkTableUtil.java   |  794 ---------
 .../org/apache/iceberg/spark/SparkTypeToType.java  |  158 --
 .../org/apache/iceberg/spark/SparkTypeVisitor.java |   78 -
 .../java/org/apache/iceberg/spark/SparkUtil.java   |  202 ---
 .../apache/iceberg/spark/SparkValueConverter.java  |  121 --
 .../org/apache/iceberg/spark/SparkWriteConf.java   |  152 --
 .../apache/iceberg/spark/SparkWriteOptions.java    |   53 -
 .../org/apache/iceberg/spark/TypeToSparkType.java  |  122 --
 .../actions/BaseDeleteOrphanFilesSparkAction.java  |  299 ----
 .../BaseDeleteReachableFilesSparkAction.java       |  212 ---
 .../actions/BaseExpireSnapshotsSparkAction.java    |  290 ---
 .../spark/actions/BaseMigrateTableSparkAction.java |  243 ---
 .../actions/BaseRewriteDataFilesSpark3Action.java  |   47 -
 .../actions/BaseRewriteDataFilesSparkAction.java   |  520 ------
 .../actions/BaseRewriteManifestsSparkAction.java   |  399 -----
 .../actions/BaseSnapshotTableSparkAction.java      |  227 ---
 .../actions/BaseSnapshotUpdateSparkAction.java     |   45 -
 .../iceberg/spark/actions/BaseSparkAction.java     |  176 --
 .../iceberg/spark/actions/BaseSparkActions.java    |   60 -
 .../actions/BaseTableCreationSparkAction.java      |  182 --
 .../iceberg/spark/actions/ManifestFileBean.java    |  143 --
 .../spark/actions/Spark3BinPackStrategy.java       |   87 -
 .../iceberg/spark/actions/Spark3SortStrategy.java  |  165 --
 .../apache/iceberg/spark/actions/SparkActions.java |   75 -
 .../spark/data/AvroWithSparkSchemaVisitor.java     |   76 -
 .../spark/data/ParquetWithSparkSchemaVisitor.java  |  231 ---
 .../apache/iceberg/spark/data/SparkAvroReader.java |  168 --
 .../apache/iceberg/spark/data/SparkAvroWriter.java |  165 --
 .../apache/iceberg/spark/data/SparkOrcReader.java  |  132 --
 .../iceberg/spark/data/SparkOrcValueReaders.java   |  241 ---
 .../iceberg/spark/data/SparkOrcValueWriters.java   |  201 ---
 .../apache/iceberg/spark/data/SparkOrcWriter.java  |  226 ---
 .../iceberg/spark/data/SparkParquetReaders.java    |  765 --------
 .../iceberg/spark/data/SparkParquetWriters.java    |  457 -----
 .../iceberg/spark/data/SparkValueReaders.java      |  288 ---
 .../iceberg/spark/data/SparkValueWriters.java      |  258 ---
 .../vectorized/ArrowVectorAccessorFactory.java     |  125 --
 .../data/vectorized/ArrowVectorAccessors.java      |   38 -
 .../spark/data/vectorized/ColumnarBatchReader.java |   64 -
 .../data/vectorized/ConstantColumnVector.java      |  122 --
 .../data/vectorized/IcebergArrowColumnVector.java  |  159 --
 .../data/vectorized/RowPositionColumnVector.java   |  120 --
 .../data/vectorized/VectorizedSparkOrcReaders.java |  459 -----
 .../vectorized/VectorizedSparkParquetReaders.java  |   53 -
 .../spark/procedures/AddFilesProcedure.java        |  286 ---
 .../spark/procedures/AncestorsOfProcedure.java     |  111 --
 .../iceberg/spark/procedures/BaseProcedure.java    |  164 --
 .../procedures/CherrypickSnapshotProcedure.java    |  100 --
 .../spark/procedures/ExpireSnapshotsProcedure.java |  153 --
 .../spark/procedures/MigrateTableProcedure.java    |  111 --
 .../spark/procedures/PublishChangesProcedure.java  |  115 --
 .../procedures/RemoveOrphanFilesProcedure.java     |  172 --
 .../procedures/RewriteDataFilesProcedure.java      |  199 ---
 .../procedures/RewriteManifestsProcedure.java      |  114 --
 .../procedures/RollbackToSnapshotProcedure.java    |   99 --
 .../procedures/RollbackToTimestampProcedure.java   |  104 --
 .../procedures/SetCurrentSnapshotProcedure.java    |  100 --
 .../spark/procedures/SnapshotTableProcedure.java   |  113 --
 .../iceberg/spark/procedures/SparkProcedures.java  |   63 -
 .../iceberg/spark/source/BaseDataReader.java       |  205 ---
 .../iceberg/spark/source/BatchDataReader.java      |  130 --
 .../spark/source/EqualityDeleteRowReader.java      |   54 -
 .../apache/iceberg/spark/source/IcebergSource.java |  198 ---
 .../iceberg/spark/source/InternalRowWrapper.java   |   91 -
 .../apache/iceberg/spark/source/RowDataReader.java |  197 ---
 .../iceberg/spark/source/RowDataRewriter.java      |  179 --
 .../spark/source/SerializableTableWithSize.java    |   64 -
 .../iceberg/spark/source/SparkAppenderFactory.java |  318 ----
 .../iceberg/spark/source/SparkBatchQueryScan.java  |  179 --
 .../iceberg/spark/source/SparkBatchScan.java       |  362 ----
 .../spark/source/SparkFileWriterFactory.java       |  276 ---
 .../iceberg/spark/source/SparkFilesScan.java       |  111 --
 .../spark/source/SparkFilesScanBuilder.java        |   48 -
 .../iceberg/spark/source/SparkMergeBuilder.java    |  112 --
 .../iceberg/spark/source/SparkMergeScan.java       |  194 ---
 .../spark/source/SparkMicroBatchStream.java        |  326 ----
 .../spark/source/SparkPartitionedFanoutWriter.java |   55 -
 .../spark/source/SparkPartitionedWriter.java       |   55 -
 .../iceberg/spark/source/SparkRewriteBuilder.java  |   71 -
 .../iceberg/spark/source/SparkScanBuilder.java     |  204 ---
 .../apache/iceberg/spark/source/SparkTable.java    |  323 ----
 .../apache/iceberg/spark/source/SparkWrite.java    |  733 --------
 .../iceberg/spark/source/SparkWriteBuilder.java    |  164 --
 .../iceberg/spark/source/StagedSparkTable.java     |   41 -
 .../org/apache/iceberg/spark/source/Stats.java     |   42 -
 .../iceberg/spark/source/StreamingOffset.java      |  157 --
 .../iceberg/spark/source/StructInternalRow.java    |  359 ----
 .../analysis/NoSuchProcedureException.java         |   34 -
 .../iceberg/catalog/ExtendedSupportsDelete.java    |   43 -
 .../sql/connector/iceberg/catalog/Procedure.java   |   50 -
 .../iceberg/catalog/ProcedureCatalog.java          |   40 -
 .../iceberg/catalog/ProcedureParameter.java        |   56 -
 .../iceberg/catalog/ProcedureParameterImpl.java    |   75 -
 .../connector/iceberg/catalog/SupportsMerge.java   |   41 -
 .../distributions/ClusteredDistribution.java       |   34 -
 .../iceberg/distributions/Distribution.java        |   29 -
 .../iceberg/distributions/Distributions.java       |   57 -
 .../iceberg/distributions/OrderedDistribution.java |   34 -
 .../distributions/UnspecifiedDistribution.java     |   29 -
 .../impl/ClusterDistributionImpl.java              |   35 -
 .../impl/OrderedDistributionImpl.java              |   35 -
 .../impl/UnspecifiedDistributionImpl.java          |   23 -
 .../iceberg/expressions/NullOrdering.java          |   44 -
 .../iceberg/expressions/SortDirection.java         |   44 -
 .../connector/iceberg/expressions/SortOrder.java   |   39 -
 .../connector/iceberg/read/SupportsFileFilter.java |   53 -
 .../sql/connector/iceberg/write/MergeBuilder.java  |   39 -
 ...org.apache.spark.sql.sources.DataSourceRegister |   20 -
 .../expressions/TransformExpressions.scala         |  137 --
 .../logical/SetWriteDistributionAndOrdering.scala  |   44 -
 .../plans/logical/SortOrderParserUtil.scala        |   40 -
 .../utils/DistributionAndOrderingUtils.scala       |  220 ---
 .../spark/sql/catalyst/utils/PlanUtils.scala       |   68 -
 .../datasources/SparkExpressionConverter.scala     |   50 -
 .../test/java/org/apache/iceberg/KryoHelpers.java  |   51 -
 .../java/org/apache/iceberg/TaskCheckHelper.java   |  109 --
 .../apache/iceberg/TestDataFileSerialization.java  |  176 --
 .../apache/iceberg/TestFileIOSerialization.java    |  109 --
 .../iceberg/TestManifestFileSerialization.java     |  217 ---
 .../apache/iceberg/TestScanTaskSerialization.java  |  143 --
 .../org/apache/iceberg/TestTableSerialization.java |   98 --
 .../apache/iceberg/spark/SparkCatalogConfig.java   |   64 -
 .../apache/iceberg/spark/SparkCatalogTestBase.java |   62 -
 .../org/apache/iceberg/spark/SparkTestBase.java    |  260 ---
 .../iceberg/spark/SparkTestBaseWithCatalog.java    |   93 -
 .../iceberg/spark/TestFileRewriteCoordinator.java  |  273 ---
 .../org/apache/iceberg/spark/TestSpark3Util.java   |  132 --
 .../iceberg/spark/TestSparkCatalogOperations.java  |   97 --
 .../org/apache/iceberg/spark/TestSparkFilters.java |   74 -
 .../apache/iceberg/spark/TestSparkSchemaUtil.java  |   54 -
 .../apache/iceberg/spark/TestSparkTableUtil.java   |   52 -
 .../iceberg/spark/TestSparkValueConverter.java     |   94 -
 .../iceberg/spark/actions/TestCreateActions.java   |  923 ----------
 .../actions/TestDeleteReachableFilesAction.java    |  331 ----
 .../spark/actions/TestExpireSnapshotsAction.java   | 1122 ------------
 .../spark/actions/TestRemoveOrphanFilesAction.java |  737 --------
 .../actions/TestRemoveOrphanFilesAction3.java      |  199 ---
 .../spark/actions/TestRewriteDataFilesAction.java  | 1491 ----------------
 .../spark/actions/TestRewriteManifestsAction.java  |  495 ------
 .../apache/iceberg/spark/data/AvroDataTest.java    |  285 ---
 .../apache/iceberg/spark/data/GenericsHelpers.java |  346 ----
 .../org/apache/iceberg/spark/data/RandomData.java  |  368 ----
 .../org/apache/iceberg/spark/data/TestHelpers.java |  770 --------
 .../apache/iceberg/spark/data/TestOrcWrite.java    |   59 -
 .../iceberg/spark/data/TestParquetAvroReader.java  |  236 ---
 .../iceberg/spark/data/TestParquetAvroWriter.java  |  123 --
 .../iceberg/spark/data/TestSparkAvroEnums.java     |   96 -
 .../iceberg/spark/data/TestSparkAvroReader.java    |   64 -
 .../iceberg/spark/data/TestSparkDateTimes.java     |   74 -
 .../data/TestSparkOrcReadMetadataColumns.java      |  220 ---
 .../iceberg/spark/data/TestSparkOrcReader.java     |  110 --
 .../data/TestSparkParquetReadMetadataColumns.java  |  237 ---
 .../iceberg/spark/data/TestSparkParquetReader.java |  206 ---
 .../iceberg/spark/data/TestSparkParquetWriter.java |  119 --
 .../spark/data/TestSparkRecordOrcReaderWriter.java |  153 --
 ...estParquetDictionaryEncodedVectorizedReads.java |   97 --
 ...naryFallbackToPlainEncodingVectorizedReads.java |   75 -
 .../vectorized/TestParquetVectorizedReads.java     |  352 ----
 .../apache/iceberg/spark/source/LogMessage.java    |  119 --
 .../apache/iceberg/spark/source/ManualSource.java  |   75 -
 .../iceberg/spark/source/SparkTestTable.java       |   59 -
 .../apache/iceberg/spark/source/TestAvroScan.java  |  111 --
 .../iceberg/spark/source/TestDataFrameWrites.java  |  422 -----
 .../spark/source/TestDataSourceOptions.java        |  451 -----
 .../iceberg/spark/source/TestFilteredScan.java     |  683 --------
 .../spark/source/TestForwardCompatibility.java     |  224 ---
 .../iceberg/spark/source/TestIcebergSource.java    |   42 -
 .../source/TestIcebergSourceHadoopTables.java      |   67 -
 .../spark/source/TestIcebergSourceHiveTables.java  |   78 -
 .../spark/source/TestIcebergSourceTablesBase.java  | 1824 -------------------
 .../iceberg/spark/source/TestIcebergSpark.java     |  205 ---
 .../spark/source/TestIdentityPartitionData.java    |  209 ---
 .../spark/source/TestInternalRowWrapper.java       |   79 -
 .../TestMetadataTablesWithPartitionEvolution.java  |  344 ----
 .../iceberg/spark/source/TestParquetScan.java      |  140 --
 .../iceberg/spark/source/TestPartitionPruning.java |  467 -----
 .../iceberg/spark/source/TestPartitionValues.java  |  439 -----
 .../iceberg/spark/source/TestPathIdentifier.java   |   85 -
 .../iceberg/spark/source/TestReadProjection.java   |  609 -------
 .../spark/source/TestSnapshotSelection.java        |  229 ---
 .../spark/source/TestSparkAppenderFactory.java     |   69 -
 .../spark/source/TestSparkBaseDataReader.java      |  276 ---
 .../iceberg/spark/source/TestSparkCatalog.java     |   43 -
 .../source/TestSparkCatalogCacheExpiration.java    |  152 --
 .../source/TestSparkCatalogHadoopOverrides.java    |  145 --
 .../iceberg/spark/source/TestSparkDataFile.java    |  224 ---
 .../iceberg/spark/source/TestSparkDataWrite.java   |  656 -------
 .../spark/source/TestSparkFileWriterFactory.java   |   74 -
 .../iceberg/spark/source/TestSparkFilesScan.java   |  126 --
 .../spark/source/TestSparkMergingMetrics.java      |   73 -
 .../spark/source/TestSparkMetadataColumns.java     |  197 ---
 .../spark/source/TestSparkPartitioningWriters.java |   74 -
 .../source/TestSparkPositionDeltaWriters.java      |   74 -
 .../spark/source/TestSparkReadProjection.java      |  258 ---
 .../spark/source/TestSparkReaderDeletes.java       |  245 ---
 .../spark/source/TestSparkRollingFileWriters.java  |   60 -
 .../iceberg/spark/source/TestSparkTable.java       |   60 -
 .../spark/source/TestSparkWriterMetrics.java       |   67 -
 .../iceberg/spark/source/TestStreamingOffset.java  |   56 -
 .../spark/source/TestStructuredStreaming.java      |  302 ----
 .../spark/source/TestStructuredStreamingRead3.java |  532 ------
 .../apache/iceberg/spark/source/TestTables.java    |  205 ---
 .../spark/source/TestTimestampWithoutZone.java     |  309 ----
 .../spark/source/TestWriteMetricsConfig.java       |  298 ----
 .../iceberg/spark/source/ThreeColumnRecord.java    |   83 -
 .../apache/iceberg/spark/sql/TestAlterTable.java   |  331 ----
 .../apache/iceberg/spark/sql/TestCreateTable.java  |  344 ----
 .../iceberg/spark/sql/TestCreateTableAsSelect.java |  416 -----
 .../apache/iceberg/spark/sql/TestDeleteFrom.java   |  154 --
 .../apache/iceberg/spark/sql/TestNamespaceSQL.java |  245 ---
 .../iceberg/spark/sql/TestPartitionedWrites.java   |  160 --
 .../apache/iceberg/spark/sql/TestRefreshTable.java |   82 -
 .../org/apache/iceberg/spark/sql/TestSelect.java   |  225 ---
 .../spark/sql/TestTimestampWithoutZone.java        |  238 ---
 .../iceberg/spark/sql/TestUnpartitionedWrites.java |  172 --
 .../org/apache/iceberg/spark/SparkCatalog.java     |    6 +
 .../actions/BaseRewriteManifestsSparkAction.java   |   13 +-
 .../java/org/apache/iceberg/ValidationHelpers.java |   77 +
 .../spark/actions/TestRewriteManifestsAction.java  |   68 +
 .../org/apache/iceberg/spark/SparkCatalog.java     |    6 +
 .../spark/actions/RewriteManifestsSparkAction.java |   13 +-
 .../iceberg/spark/source/SparkBatchQueryScan.java  |    7 +-
 .../java/org/apache/iceberg/ValidationHelpers.java |   77 +
 .../spark/actions/TestRewriteManifestsAction.java  |   68 +
 .../extensions/TestRewriteManifestsProcedure.java  |   95 +
 .../org/apache/iceberg/spark/SparkCatalog.java     |    6 +
 .../org/apache/iceberg/spark/SparkReadConf.java    |    8 +
 .../org/apache/iceberg/spark/SparkReadOptions.java |    6 +
 .../apache/iceberg/spark/SparkValueConverter.java  |   10 +-
 .../spark/actions/RewriteManifestsSparkAction.java |   13 +-
 .../iceberg/spark/data/SparkParquetReaders.java    |   11 +-
 .../iceberg/spark/source/SparkBatchQueryScan.java  |   28 +-
 .../iceberg/spark/source/SparkScanBuilder.java     |   32 +-
 .../java/org/apache/iceberg/ValidationHelpers.java |   77 +
 .../spark/actions/TestRewriteManifestsAction.java  |   68 +
 .../iceberg/spark/source/ComplexRecord.java}       |   40 +-
 .../apache/iceberg/spark/source/NestedRecord.java  |   50 +-
 .../iceberg/spark/source/TestPartitionValues.java  |   54 +
 .../spark/source/TestSnapshotSelection.java        |  144 ++
 510 files changed, 5073 insertions(+), 69190 deletions(-)
 copy core/src/main/java/org/apache/iceberg/InheritableMetadata.java => api/src/main/java/org/apache/iceberg/PartitionScanTask.java (74%)
 rename {core => api}/src/main/java/org/apache/iceberg/util/DateTimeUtil.java (70%)
 rename {core => api}/src/test/java/org/apache/iceberg/util/TestDateTimeUtil.java (100%)
 rename spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCopyOnWriteDelete.java => core/src/main/java/org/apache/iceberg/EnvironmentContext.java (51%)
 create mode 100644 core/src/test/java/org/apache/iceberg/MetadataTableScanTestBase.java
 create mode 100644 core/src/test/java/org/apache/iceberg/TestMetadataTableScansWithPartitionEvolution.java
 copy api/src/main/java/org/apache/iceberg/FileContent.java => flink/v1.14/flink/src/main/java/org/apache/iceberg/flink/util/FlinkPackage.java (65%)
 copy flink/{v1.15 => v1.14}/flink/src/test/java/org/apache/iceberg/flink/sink/TestCompressionSettings.java (100%)
 copy aws/src/integration/java/org/apache/iceberg/aws/s3/S3TestUtil.java => flink/v1.14/flink/src/test/java/org/apache/iceberg/flink/util/TestFlinkPackage.java (73%)
 copy api/src/main/java/org/apache/iceberg/FileContent.java => flink/v1.15/flink/src/main/java/org/apache/iceberg/flink/util/FlinkPackage.java (65%)
 copy aws/src/integration/java/org/apache/iceberg/aws/s3/S3TestUtil.java => flink/v1.15/flink/src/test/java/org/apache/iceberg/flink/util/TestFlinkPackage.java (73%)
 copy api/src/main/java/org/apache/iceberg/FileContent.java => flink/v1.16/flink/src/main/java/org/apache/iceberg/flink/util/FlinkPackage.java (65%)
 copy aws/src/integration/java/org/apache/iceberg/aws/s3/S3TestUtil.java => flink/v1.16/flink/src/test/java/org/apache/iceberg/flink/util/TestFlinkPackage.java (73%)
 delete mode 100644 spark/v3.0/build.gradle
 delete mode 100644 spark/v3.0/spark-extensions/src/main/antlr/org.apache.spark.sql.catalyst.parser.extensions/IcebergSqlExtensions.g4
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/iceberg/spark/extensions/IcebergSparkSessionExtensions.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/AlignRowLevelOperations.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/AssignmentAlignmentSupport.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/ProcedureArgumentCoercion.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveProcedures.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/analysis/RowLevelOperationsPredicateCheck.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/expressions/AccumulateFiles.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/optimizer/OptimizeConditionsInRowLevelOperations.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/optimizer/PullupCorrelatedPredicatesInRowLevelOperations.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/optimizer/RewriteDelete.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/optimizer/RewriteMergeInto.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/optimizer/RewriteUpdate.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/parser/extensions/IcebergSparkSqlExtensionsParser.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsAstBuilder.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/AddPartitionField.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/Call.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/DropIdentifierFields.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/DropPartitionField.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/DynamicFileFilter.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/MergeInto.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/ReplaceData.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/ReplacePartitionField.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/SetIdentifierFields.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/statements.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/utils/RewriteRowLevelOperationHelper.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/catalyst/utils/SetAccumulator.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/AddPartitionFieldExec.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/CallExec.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DropIdentifierFieldsExec.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DropPartitionFieldExec.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DynamicFileFilterExec.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ExtendedBatchScanExec.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ExtendedDataSourceV2Implicits.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ExtendedDataSourceV2Strategy.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/MergeIntoExec.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ReplaceDataExec.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ReplacePartitionFieldExec.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/SetIdentifierFieldsExec.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/main/scala/org/apache/spark/sql/execution/datasources/v2/SetWriteDistributionAndOrderingExec.scala
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/Employee.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/SparkExtensionsTestBase.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/SparkRowLevelOperationsTestBase.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAddFilesProcedure.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAlterTablePartitionFields.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAlterTableSchema.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAncestorsOfProcedure.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCallStatementParser.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCherrypickSnapshotProcedure.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCopyOnWriteMerge.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestCopyOnWriteUpdate.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestDelete.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestExpireSnapshotsProcedure.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestIcebergExpressions.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestMerge.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestMigrateTableProcedure.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestPublishChangesProcedure.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRemoveOrphanFilesProcedure.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRewriteDataFilesProcedure.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRewriteManifestsProcedure.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRollbackToSnapshotProcedure.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestRollbackToTimestampProcedure.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestSetCurrentSnapshotProcedure.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestSetWriteDistributionAndOrdering.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestSnapshotTableProcedure.java
 delete mode 100644 spark/v3.0/spark-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestUpdate.java
 delete mode 100644 spark/v3.0/spark-runtime/LICENSE
 delete mode 100644 spark/v3.0/spark-runtime/NOTICE
 delete mode 100644 spark/v3.0/spark-runtime/src/integration/java/org/apache/iceberg/spark/SmokeTest.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/SparkBenchmarkUtil.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetReadersFlatDataBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetReadersNestedDataBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetWritersFlatDataBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetWritersNestedDataBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/Action.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceFlatDataBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceNestedDataBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceNestedListDataBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/WritersBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/AvroWritersBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/IcebergSourceFlatAvroDataReadBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/IcebergSourceNestedAvroDataReadBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/orc/IcebergSourceFlatORCDataBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/orc/IcebergSourceFlatORCDataReadBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/orc/IcebergSourceNestedListORCDataWriteBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/orc/IcebergSourceNestedORCDataReadBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataFilterBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataReadBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataWriteBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedListParquetDataWriteBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataFilterBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataReadBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataWriteBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/ParquetWritersBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/vectorized/VectorizedReadDictionaryEncodedFlatParquetDataBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/vectorized/VectorizedReadFlatParquetDataBenchmark.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/BaseCatalog.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/CommitMetadata.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/FileRewriteCoordinator.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/FileScanTaskSetManager.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/IcebergSpark.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/JobGroupInfo.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/JobGroupUtils.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/OrderField.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/PathIdentifier.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/PruneColumnsWithReordering.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/PruneColumnsWithoutReordering.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/RollbackStagedTable.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SortOrderToSpark.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/Spark3Util.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/Spark3VersionUtil.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkConfParser.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkDataFile.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkExceptionUtil.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkFilters.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkFixupTimestampType.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkFixupTypes.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkReadConf.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkReadOptions.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkSQLProperties.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkSchemaUtil.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkSessionCatalog.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkStructLike.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkTableUtil.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkTypeToType.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkTypeVisitor.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkUtil.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkValueConverter.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkWriteConf.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/SparkWriteOptions.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/TypeToSparkType.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/BaseDeleteOrphanFilesSparkAction.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/BaseDeleteReachableFilesSparkAction.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/BaseExpireSnapshotsSparkAction.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/BaseMigrateTableSparkAction.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/BaseRewriteDataFilesSpark3Action.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/BaseRewriteDataFilesSparkAction.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/BaseRewriteManifestsSparkAction.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/BaseSnapshotTableSparkAction.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/BaseSnapshotUpdateSparkAction.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/BaseSparkAction.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/BaseSparkActions.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/BaseTableCreationSparkAction.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/ManifestFileBean.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/Spark3BinPackStrategy.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/Spark3SortStrategy.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/actions/SparkActions.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/AvroWithSparkSchemaVisitor.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/ParquetWithSparkSchemaVisitor.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/SparkAvroReader.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/SparkAvroWriter.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/SparkOrcReader.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/SparkOrcValueReaders.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/SparkOrcValueWriters.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/SparkOrcWriter.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/SparkParquetReaders.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/SparkParquetWriters.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/SparkValueReaders.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/SparkValueWriters.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ArrowVectorAccessorFactory.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ArrowVectorAccessors.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/ConstantColumnVector.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/IcebergArrowColumnVector.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/RowPositionColumnVector.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/VectorizedSparkOrcReaders.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/procedures/AddFilesProcedure.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/procedures/AncestorsOfProcedure.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/procedures/BaseProcedure.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/procedures/CherrypickSnapshotProcedure.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/procedures/MigrateTableProcedure.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/procedures/PublishChangesProcedure.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/procedures/RewriteDataFilesProcedure.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/procedures/RewriteManifestsProcedure.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/procedures/RollbackToSnapshotProcedure.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/procedures/RollbackToTimestampProcedure.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/procedures/SetCurrentSnapshotProcedure.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/procedures/SnapshotTableProcedure.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/procedures/SparkProcedures.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/BaseDataReader.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/BatchDataReader.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/EqualityDeleteRowReader.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/IcebergSource.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/InternalRowWrapper.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/RowDataReader.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/RowDataRewriter.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SerializableTableWithSize.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkAppenderFactory.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkBatchQueryScan.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkBatchScan.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkFileWriterFactory.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkFilesScan.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkFilesScanBuilder.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkMergeBuilder.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkMergeScan.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkMicroBatchStream.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkPartitionedFanoutWriter.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkPartitionedWriter.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkRewriteBuilder.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkScanBuilder.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkTable.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkWrite.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/SparkWriteBuilder.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/StagedSparkTable.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/Stats.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/StreamingOffset.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/iceberg/spark/source/StructInternalRow.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/catalyst/analysis/NoSuchProcedureException.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/ExtendedSupportsDelete.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/Procedure.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/ProcedureCatalog.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/ProcedureParameter.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/ProcedureParameterImpl.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/SupportsMerge.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/ClusteredDistribution.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/Distribution.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/Distributions.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/OrderedDistribution.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/UnspecifiedDistribution.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/impl/ClusterDistributionImpl.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/impl/OrderedDistributionImpl.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/impl/UnspecifiedDistributionImpl.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/expressions/NullOrdering.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/expressions/SortDirection.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/expressions/SortOrder.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/read/SupportsFileFilter.java
 delete mode 100644 spark/v3.0/spark/src/main/java/org/apache/spark/sql/connector/iceberg/write/MergeBuilder.java
 delete mode 100644 spark/v3.0/spark/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister
 delete mode 100644 spark/v3.0/spark/src/main/scala/org/apache/spark/sql/catalyst/expressions/TransformExpressions.scala
 delete mode 100644 spark/v3.0/spark/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/SetWriteDistributionAndOrdering.scala
 delete mode 100644 spark/v3.0/spark/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/SortOrderParserUtil.scala
 delete mode 100644 spark/v3.0/spark/src/main/scala/org/apache/spark/sql/catalyst/utils/DistributionAndOrderingUtils.scala
 delete mode 100644 spark/v3.0/spark/src/main/scala/org/apache/spark/sql/catalyst/utils/PlanUtils.scala
 delete mode 100644 spark/v3.0/spark/src/main/scala/org/apache/spark/sql/execution/datasources/SparkExpressionConverter.scala
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/KryoHelpers.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/TaskCheckHelper.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/TestDataFileSerialization.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/TestFileIOSerialization.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/TestManifestFileSerialization.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/TestScanTaskSerialization.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/TestTableSerialization.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/SparkCatalogConfig.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/SparkCatalogTestBase.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/SparkTestBase.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/SparkTestBaseWithCatalog.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/TestFileRewriteCoordinator.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/TestSpark3Util.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/TestSparkCatalogOperations.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/TestSparkFilters.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/TestSparkSchemaUtil.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/TestSparkTableUtil.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/TestSparkValueConverter.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/actions/TestCreateActions.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/actions/TestDeleteReachableFilesAction.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/actions/TestExpireSnapshotsAction.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/actions/TestRemoveOrphanFilesAction.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/actions/TestRemoveOrphanFilesAction3.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteManifestsAction.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/AvroDataTest.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/GenericsHelpers.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/RandomData.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/TestHelpers.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/TestOrcWrite.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/TestParquetAvroReader.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/TestParquetAvroWriter.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkAvroEnums.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkAvroReader.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkDateTimes.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkOrcReadMetadataColumns.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkOrcReader.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkParquetReadMetadataColumns.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkParquetReader.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkParquetWriter.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkRecordOrcReaderWriter.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/parquet/vectorized/TestParquetDictionaryEncodedVectorizedReads.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/parquet/vectorized/TestParquetDictionaryFallbackToPlainEncodingVectorizedReads.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/data/parquet/vectorized/TestParquetVectorizedReads.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/LogMessage.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/ManualSource.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/SparkTestTable.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestAvroScan.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWrites.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestDataSourceOptions.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestFilteredScan.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestForwardCompatibility.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSource.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceHadoopTables.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceHiveTables.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceTablesBase.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSpark.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestIdentityPartitionData.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestInternalRowWrapper.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestMetadataTablesWithPartitionEvolution.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestParquetScan.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestPartitionPruning.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestPartitionValues.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestPathIdentifier.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestReadProjection.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSnapshotSelection.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkAppenderFactory.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkBaseDataReader.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkCatalog.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkCatalogCacheExpiration.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkCatalogHadoopOverrides.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkDataFile.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkDataWrite.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkFileWriterFactory.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkFilesScan.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkMergingMetrics.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkMetadataColumns.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkPartitioningWriters.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkPositionDeltaWriters.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkReadProjection.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkReaderDeletes.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkRollingFileWriters.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkTable.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkWriterMetrics.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestStreamingOffset.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestStructuredStreaming.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestStructuredStreamingRead3.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestTables.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestTimestampWithoutZone.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/TestWriteMetricsConfig.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/source/ThreeColumnRecord.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/sql/TestAlterTable.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/sql/TestCreateTable.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/sql/TestCreateTableAsSelect.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/sql/TestDeleteFrom.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/sql/TestNamespaceSQL.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/sql/TestPartitionedWrites.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/sql/TestRefreshTable.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/sql/TestSelect.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/sql/TestTimestampWithoutZone.java
 delete mode 100644 spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/sql/TestUnpartitionedWrites.java
 create mode 100644 spark/v3.1/spark/src/test/java/org/apache/iceberg/ValidationHelpers.java
 create mode 100644 spark/v3.2/spark/src/test/java/org/apache/iceberg/ValidationHelpers.java
 create mode 100644 spark/v3.3/spark/src/test/java/org/apache/iceberg/ValidationHelpers.java
 rename spark/{v3.0/spark/src/test/java/org/apache/iceberg/spark/source/SimpleRecord.java => v3.3/spark/src/test/java/org/apache/iceberg/spark/source/ComplexRecord.java} (63%)
 copy dell/src/test/java/org/apache/iceberg/dell/mock/ecs/ObjectId.java => spark/v3.3/spark/src/test/java/org/apache/iceberg/spark/source/NestedRecord.java (60%)