You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by ru...@apache.org on 2022/02/08 18:07:19 UTC

[iceberg-docs] branch main updated (7483cb4 -> d1f2afd)

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

russellspitzer pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git.


    from 7483cb4  Remove Parquet legacy file read support from 0.13.0 release note (#46)
     new 6c9e91d  Remove _index.md for common/project, not needed
     new b90182e  Add ASF license headers where missing
     new d1f2afd  Merge pull request #49 from samredai/license

The 47 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 docs/content/docs/community/blogs.md          | 18 +++++++++++++++++-
 docs/content/docs/community/join.md           | 18 +++++++++++++++++-
 docs/content/docs/community/talks.md          | 18 +++++++++++++++++-
 docs/content/docs/format/spec.md              | 18 +++++++++++++++++-
 docs/content/docs/format/terms.md             | 18 +++++++++++++++++-
 docs/content/docs/project/benchmarks.md       | 18 +++++++++++++++++-
 docs/content/docs/project/how-to-release.md   | 18 +++++++++++++++++-
 docs/content/docs/project/roadmap.md          | 18 +++++++++++++++++-
 docs/content/docs/project/security.md         | 18 +++++++++++++++++-
 docs/content/docs/project/trademarks.md       | 18 +++++++++++++++++-
 docs/content/docs/releases/release-notes.md   | 18 +++++++++++++++++-
 landing-page/content/common/project/_index.md |  6 ------
 12 files changed, 187 insertions(+), 17 deletions(-)
 delete mode 100644 landing-page/content/common/project/_index.md

[iceberg-docs] 05/47: Add javadoc directory and deployment job (#7)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit d5c322dd5bfaaa01f0d4f7a450e5bcbda12d0cff
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Thu Jan 13 14:19:32 2022 -0800

    Add javadoc directory and deployment job (#7)
---
 .github/workflows/deploy.yml                       |    18 +
 .gitignore                                         |     1 +
 javadoc/allclasses-index.html                      |  3980 +++++
 javadoc/allclasses.html                            |   821 +
 javadoc/allpackages-index.html                     |   400 +
 javadoc/constant-values.html                       |  3767 ++++
 javadoc/deprecated-list.html                       |   516 +
 javadoc/help-doc.html                              |   272 +
 javadoc/index-all.html                             | 17159 +++++++++++++++++++
 javadoc/index.html                                 |   393 +
 javadoc/jquery/external/jquery/jquery.js           | 10872 ++++++++++++
 .../jquery/images/ui-bg_glass_55_fbf9ee_1x400.png  |   Bin 0 -> 335 bytes
 .../jquery/images/ui-bg_glass_65_dadada_1x400.png  |   Bin 0 -> 262 bytes
 .../jquery/images/ui-bg_glass_75_dadada_1x400.png  |   Bin 0 -> 262 bytes
 .../jquery/images/ui-bg_glass_75_e6e6e6_1x400.png  |   Bin 0 -> 262 bytes
 .../jquery/images/ui-bg_glass_95_fef1ec_1x400.png  |   Bin 0 -> 332 bytes
 .../ui-bg_highlight-soft_75_cccccc_1x100.png       |   Bin 0 -> 280 bytes
 javadoc/jquery/images/ui-icons_222222_256x240.png  |   Bin 0 -> 6922 bytes
 javadoc/jquery/images/ui-icons_2e83ff_256x240.png  |   Bin 0 -> 4549 bytes
 javadoc/jquery/images/ui-icons_454545_256x240.png  |   Bin 0 -> 6992 bytes
 javadoc/jquery/images/ui-icons_888888_256x240.png  |   Bin 0 -> 6999 bytes
 javadoc/jquery/images/ui-icons_cd0a0a_256x240.png  |   Bin 0 -> 4549 bytes
 javadoc/jquery/jquery-3.5.1.js                     | 10872 ++++++++++++
 javadoc/jquery/jquery-ui.css                       |   582 +
 javadoc/jquery/jquery-ui.js                        |  2659 +++
 javadoc/jquery/jquery-ui.min.css                   |     7 +
 javadoc/jquery/jquery-ui.min.js                    |     6 +
 javadoc/jquery/jquery-ui.structure.css             |   156 +
 javadoc/jquery/jquery-ui.structure.min.css         |     5 +
 javadoc/member-search-index.js                     |     1 +
 javadoc/member-search-index.zip                    |   Bin 0 -> 75766 bytes
 .../ql/exec/vector/VectorizedSupport.Support.html  |   409 +
 .../hive/ql/exec/vector/VectorizedSupport.html     |   290 +
 .../hive/ql/exec/vector/package-summary.html       |   181 +
 .../hadoop/hive/ql/exec/vector/package-tree.html   |   175 +
 javadoc/org/apache/iceberg/Accessor.html           |   269 +
 javadoc/org/apache/iceberg/Accessors.html          |   276 +
 .../AllDataFilesTable.AllDataFilesTableScan.html   |   954 ++
 javadoc/org/apache/iceberg/AllDataFilesTable.html  |  1204 ++
 javadoc/org/apache/iceberg/AllEntriesTable.html    |  1180 ++
 .../AllManifestsTable.AllManifestsTableScan.html   |   954 ++
 javadoc/org/apache/iceberg/AllManifestsTable.html  |  1204 ++
 javadoc/org/apache/iceberg/AppendFiles.html        |   320 +
 .../org/apache/iceberg/BaseCombinedScanTask.html   |   368 +
 ...reCatalog.BaseMetastoreCatalogTableBuilder.html |   530 +
 .../org/apache/iceberg/BaseMetastoreCatalog.html   |   584 +
 .../BaseMetastoreTableOperations.CommitStatus.html |   393 +
 .../iceberg/BaseMetastoreTableOperations.html      |   803 +
 javadoc/org/apache/iceberg/BaseOverwriteFiles.html |  1416 ++
 .../org/apache/iceberg/BaseReplacePartitions.html  |  1104 ++
 .../org/apache/iceberg/BaseReplaceSortOrder.html   |   379 +
 .../org/apache/iceberg/BaseRewriteManifests.html   |   798 +
 javadoc/org/apache/iceberg/BaseTable.html          |  1194 ++
 javadoc/org/apache/iceberg/CachingCatalog.html     |   589 +
 javadoc/org/apache/iceberg/CatalogProperties.html  |   630 +
 javadoc/org/apache/iceberg/CatalogUtil.html        |   514 +
 javadoc/org/apache/iceberg/ClientPool.Action.html  |   259 +
 javadoc/org/apache/iceberg/ClientPool.html         |   282 +
 javadoc/org/apache/iceberg/ClientPoolImpl.html     |   435 +
 javadoc/org/apache/iceberg/CombinedScanTask.html   |   296 +
 javadoc/org/apache/iceberg/ContentFile.html        |   612 +
 javadoc/org/apache/iceberg/DataFile.html           |   610 +
 javadoc/org/apache/iceberg/DataFiles.Builder.html  |   546 +
 javadoc/org/apache/iceberg/DataFiles.html          |   333 +
 .../iceberg/DataFilesTable.FilesTableScan.html     |   933 +
 javadoc/org/apache/iceberg/DataFilesTable.html     |  1200 ++
 javadoc/org/apache/iceberg/DataOperations.html     |   351 +
 javadoc/org/apache/iceberg/DataTableScan.html      |   993 ++
 javadoc/org/apache/iceberg/DataTask.html           |   317 +
 javadoc/org/apache/iceberg/DeleteFile.html         |   276 +
 javadoc/org/apache/iceberg/DeleteFiles.html        |   345 +
 javadoc/org/apache/iceberg/DistributionMode.html   |   428 +
 .../apache/iceberg/DoubleFieldMetrics.Builder.html |   322 +
 javadoc/org/apache/iceberg/DoubleFieldMetrics.html |   260 +
 javadoc/org/apache/iceberg/ExpireSnapshots.html    |   418 +
 javadoc/org/apache/iceberg/FieldMetrics.html       |   426 +
 javadoc/org/apache/iceberg/FileContent.html        |   404 +
 javadoc/org/apache/iceberg/FileFormat.html         |   454 +
 .../org/apache/iceberg/FileMetadata.Builder.html   |   520 +
 javadoc/org/apache/iceberg/FileMetadata.html       |   287 +
 javadoc/org/apache/iceberg/FileScanTask.html       |   450 +
 javadoc/org/apache/iceberg/Files.html              |   306 +
 javadoc/org/apache/iceberg/FindFiles.Builder.html  |   524 +
 javadoc/org/apache/iceberg/FindFiles.html          |   287 +
 .../apache/iceberg/FloatFieldMetrics.Builder.html  |   322 +
 javadoc/org/apache/iceberg/FloatFieldMetrics.html  |   304 +
 .../iceberg/GenericManifestFile.CopyBuilder.html   |   282 +
 .../org/apache/iceberg/GenericManifestFile.html    |   957 ++
 .../iceberg/GenericPartitionFieldSummary.html      |   571 +
 javadoc/org/apache/iceberg/GuavaClasses.html       |   266 +
 javadoc/org/apache/iceberg/HasTableOperations.html |   253 +
 javadoc/org/apache/iceberg/HistoryEntry.html       |   281 +
 javadoc/org/apache/iceberg/HistoryTable.html       |  1179 ++
 javadoc/org/apache/iceberg/IsolationLevel.html     |   389 +
 javadoc/org/apache/iceberg/LocationProviders.html  |   266 +
 javadoc/org/apache/iceberg/ManageSnapshots.html    |   370 +
 javadoc/org/apache/iceberg/ManifestContent.html    |   391 +
 .../org/apache/iceberg/ManifestEntriesTable.html   |  1180 ++
 .../ManifestFile.PartitionFieldSummary.html        |   350 +
 javadoc/org/apache/iceberg/ManifestFile.html       |   893 +
 javadoc/org/apache/iceberg/ManifestFiles.html      |   509 +
 .../apache/iceberg/ManifestReader.FileType.html    |   380 +
 javadoc/org/apache/iceberg/ManifestReader.html     |   516 +
 javadoc/org/apache/iceberg/ManifestWriter.html     |   473 +
 javadoc/org/apache/iceberg/ManifestsTable.html     |  1191 ++
 javadoc/org/apache/iceberg/MetadataColumns.html    |   458 +
 javadoc/org/apache/iceberg/MetadataTableType.html  |   481 +
 javadoc/org/apache/iceberg/MetadataTableUtils.html |   306 +
 javadoc/org/apache/iceberg/Metrics.html            |   557 +
 javadoc/org/apache/iceberg/MetricsConfig.html      |   315 +
 .../org/apache/iceberg/MetricsModes.Counts.html    |   335 +
 javadoc/org/apache/iceberg/MetricsModes.Full.html  |   336 +
 .../apache/iceberg/MetricsModes.MetricsMode.html   |   201 +
 javadoc/org/apache/iceberg/MetricsModes.None.html  |   335 +
 .../org/apache/iceberg/MetricsModes.Truncate.html  |   346 +
 javadoc/org/apache/iceberg/MetricsModes.html       |   319 +
 javadoc/org/apache/iceberg/MetricsUtil.html        |   292 +
 .../apache/iceberg/MicroBatches.MicroBatch.html    |   338 +
 .../iceberg/MicroBatches.MicroBatchBuilder.html    |   300 +
 javadoc/org/apache/iceberg/MicroBatches.html       |   294 +
 javadoc/org/apache/iceberg/NullOrder.html          |   394 +
 javadoc/org/apache/iceberg/OverwriteFiles.html     |   603 +
 javadoc/org/apache/iceberg/PartitionField.html     |   382 +
 javadoc/org/apache/iceberg/PartitionKey.html       |   467 +
 .../org/apache/iceberg/PartitionSpec.Builder.html  |   517 +
 javadoc/org/apache/iceberg/PartitionSpec.html      |   564 +
 .../org/apache/iceberg/PartitionSpecParser.html    |   333 +
 javadoc/org/apache/iceberg/Partitioning.html       |   299 +
 javadoc/org/apache/iceberg/PartitionsTable.html    |  1177 ++
 javadoc/org/apache/iceberg/PendingUpdate.html      |   320 +
 javadoc/org/apache/iceberg/ReachableFileUtil.html  |   323 +
 javadoc/org/apache/iceberg/ReplacePartitions.html  |   314 +
 javadoc/org/apache/iceberg/ReplaceSortOrder.html   |   235 +
 javadoc/org/apache/iceberg/RewriteFiles.html       |   346 +
 javadoc/org/apache/iceberg/RewriteManifests.html   |   380 +
 javadoc/org/apache/iceberg/Rollback.html           |   315 +
 javadoc/org/apache/iceberg/RowDelta.html           |   539 +
 .../org/apache/iceberg/ScanSummary.Builder.html    |   399 +
 .../iceberg/ScanSummary.PartitionMetrics.html      |   368 +
 javadoc/org/apache/iceberg/ScanSummary.html        |   301 +
 javadoc/org/apache/iceberg/ScanTask.html           |   351 +
 javadoc/org/apache/iceberg/Schema.html             |   919 +
 javadoc/org/apache/iceberg/SchemaParser.html       |   329 +
 javadoc/org/apache/iceberg/SerializableTable.html  |  1139 ++
 javadoc/org/apache/iceberg/SetLocation.html        |   380 +
 javadoc/org/apache/iceberg/Snapshot.html           |   530 +
 javadoc/org/apache/iceberg/SnapshotManager.html    |  1153 ++
 javadoc/org/apache/iceberg/SnapshotParser.html     |   280 +
 .../apache/iceberg/SnapshotSummary.Builder.html    |   499 +
 javadoc/org/apache/iceberg/SnapshotSummary.html    |   815 +
 javadoc/org/apache/iceberg/SnapshotUpdate.html     |   330 +
 javadoc/org/apache/iceberg/SnapshotsTable.html     |  1179 ++
 javadoc/org/apache/iceberg/SortDirection.html      |   376 +
 javadoc/org/apache/iceberg/SortField.html          |   412 +
 javadoc/org/apache/iceberg/SortOrder.Builder.html  |   403 +
 javadoc/org/apache/iceberg/SortOrder.html          |   513 +
 javadoc/org/apache/iceberg/SortOrderBuilder.html   |   439 +
 javadoc/org/apache/iceberg/SortOrderParser.html    |   333 +
 .../org/apache/iceberg/StaticTableOperations.html  |   489 +
 javadoc/org/apache/iceberg/StructLike.html         |   293 +
 javadoc/org/apache/iceberg/SystemProperties.html   |   299 +
 javadoc/org/apache/iceberg/Table.html              |   982 ++
 .../iceberg/TableMetadata.MetadataLogEntry.html    |   336 +
 .../iceberg/TableMetadata.SnapshotLogEntry.html    |   361 +
 javadoc/org/apache/iceberg/TableMetadata.html      |   950 +
 .../apache/iceberg/TableMetadataParser.Codec.html  |   408 +
 .../org/apache/iceberg/TableMetadataParser.html    |   435 +
 javadoc/org/apache/iceberg/TableOperations.html    |   444 +
 javadoc/org/apache/iceberg/TableProperties.html    |  2333 +++
 javadoc/org/apache/iceberg/TableScan.html          |   724 +
 javadoc/org/apache/iceberg/Tables.html             |   346 +
 javadoc/org/apache/iceberg/Transaction.html        |   584 +
 javadoc/org/apache/iceberg/Transactions.html       |   320 +
 javadoc/org/apache/iceberg/UpdateLocation.html     |   274 +
 .../org/apache/iceberg/UpdatePartitionSpec.html    |   454 +
 javadoc/org/apache/iceberg/UpdateProperties.html   |   328 +
 javadoc/org/apache/iceberg/UpdateSchema.html       |  1008 ++
 javadoc/org/apache/iceberg/actions/Action.html     |   322 +
 javadoc/org/apache/iceberg/actions/Actions.html    |   607 +
 .../apache/iceberg/actions/ActionsProvider.html    |   358 +
 .../actions/BaseDeleteOrphanFilesActionResult.html |   317 +
 .../BaseDeleteReachableFilesActionResult.html      |   389 +
 .../actions/BaseExpireSnapshotsActionResult.html   |   365 +
 .../actions/BaseFileGroupRewriteResult.html        |   353 +
 .../actions/BaseMigrateTableActionResult.html      |   317 +
 .../actions/BaseRewriteDataFilesAction.html        |   639 +
 .../actions/BaseRewriteDataFilesFileGroupInfo.html |   383 +
 .../actions/BaseRewriteDataFilesResult.html        |   320 +
 .../actions/BaseRewriteManifestsActionResult.html  |   355 +
 .../actions/BaseSnapshotTableActionResult.html     |   317 +
 .../apache/iceberg/actions/BinPackStrategy.html    |   708 +
 .../org/apache/iceberg/actions/CreateAction.html   |   313 +
 .../iceberg/actions/DeleteOrphanFiles.Result.html  |   260 +
 .../apache/iceberg/actions/DeleteOrphanFiles.html  |   363 +
 .../actions/DeleteReachableFiles.Result.html       |   311 +
 .../iceberg/actions/DeleteReachableFiles.html      |   354 +
 .../iceberg/actions/ExpireSnapshots.Result.html    |   294 +
 .../apache/iceberg/actions/ExpireSnapshots.html    |   416 +
 .../iceberg/actions/ExpireSnapshotsAction.html     |   486 +
 .../actions/ExpireSnapshotsActionResult.html       |   350 +
 .../apache/iceberg/actions/ManifestFileBean.html   |   810 +
 .../iceberg/actions/MigrateTable.Result.html       |   260 +
 .../org/apache/iceberg/actions/MigrateTable.html   |   327 +
 .../iceberg/actions/RemoveOrphanFilesAction.html   |   379 +
 .../actions/RewriteDataFiles.FileGroupInfo.html    |   295 +
 .../RewriteDataFiles.FileGroupRewriteResult.html   |   286 +
 .../iceberg/actions/RewriteDataFiles.Result.html   |   287 +
 .../apache/iceberg/actions/RewriteDataFiles.html   |   569 +
 .../iceberg/actions/RewriteDataFilesAction.html    |   400 +
 .../actions/RewriteDataFilesActionResult.html      |   320 +
 ...ewriteDataFilesCommitManager.CommitService.html |   336 +
 .../actions/RewriteDataFilesCommitManager.html     |   414 +
 .../apache/iceberg/actions/RewriteFileGroup.html   |   396 +
 .../iceberg/actions/RewriteManifests.Result.html   |   277 +
 .../apache/iceberg/actions/RewriteManifests.html   |   358 +
 .../iceberg/actions/RewriteManifestsAction.html    |   390 +
 .../actions/RewriteManifestsActionResult.html      |   331 +
 .../apache/iceberg/actions/RewriteStrategy.html    |   384 +
 .../org/apache/iceberg/actions/SnapshotAction.html |   278 +
 .../iceberg/actions/SnapshotTable.Result.html      |   260 +
 .../org/apache/iceberg/actions/SnapshotTable.html  |   373 +
 .../org/apache/iceberg/actions/SnapshotUpdate.html |   287 +
 .../iceberg/actions/SnapshotUpdateAction.html      |   266 +
 .../org/apache/iceberg/actions/SortStrategy.html   |   555 +
 .../iceberg/actions/Spark3MigrateAction.html       |   404 +
 .../iceberg/actions/Spark3SnapshotAction.html      |   428 +
 .../org/apache/iceberg/actions/SparkActions.html   |   391 +
 .../apache/iceberg/actions/package-summary.html    |   435 +
 .../org/apache/iceberg/actions/package-tree.html   |   237 +
 .../org/apache/iceberg/arrow/ArrowAllocation.html  |   264 +
 .../org/apache/iceberg/arrow/ArrowSchemaUtil.html  |   287 +
 .../org/apache/iceberg/arrow/package-summary.html  |   168 +
 javadoc/org/apache/iceberg/arrow/package-tree.html |   162 +
 .../iceberg/arrow/vectorized/ArrowReader.html      |   416 +
 .../arrow/vectorized/ArrowVectorAccessor.html      |   491 +
 .../iceberg/arrow/vectorized/ColumnVector.html     |   445 +
 .../iceberg/arrow/vectorized/ColumnarBatch.html    |   350 +
 ...ricArrowVectorAccessorFactory.ArrayFactory.html |   286 +
 ...cArrowVectorAccessorFactory.DecimalFactory.html |   302 +
 ...icArrowVectorAccessorFactory.StringFactory.html |   296 +
 ...owVectorAccessorFactory.StructChildFactory.html |   278 +
 .../GenericArrowVectorAccessorFactory.html         |   380 +
 .../arrow/vectorized/NullabilityHolder.html        |   414 +
 .../VectorHolder.ConstantVectorHolder.html         |   374 +
 .../VectorHolder.PositionVectorHolder.html         |   303 +
 .../iceberg/arrow/vectorized/VectorHolder.html     |   481 +
 ...VectorizedArrowReader.ConstantVectorReader.html |   453 +
 .../arrow/vectorized/VectorizedArrowReader.html    |   524 +
 .../arrow/vectorized/VectorizedReaderBuilder.html  |   391 +
 .../vectorized/VectorizedTableScanIterable.html    |   411 +
 .../iceberg/arrow/vectorized/package-summary.html  |   270 +
 .../iceberg/arrow/vectorized/package-tree.html     |   196 +
 .../parquet/BaseVectorizedParquetValuesReader.html |   446 +
 .../VectorizedColumnIterator.BatchReader.html      |   338 +
 ...ectorizedColumnIterator.BooleanBatchReader.html |   332 +
 ...orizedColumnIterator.DictionaryBatchReader.html |   332 +
 ...VectorizedColumnIterator.DoubleBatchReader.html |   332 +
 ...lumnIterator.FixedLengthDecimalBatchReader.html |   332 +
 ...dColumnIterator.FixedSizeBinaryBatchReader.html |   332 +
 ...mnIterator.FixedWidthTypeBinaryBatchReader.html |   332 +
 .../VectorizedColumnIterator.FloatBatchReader.html |   332 +
 ...ColumnIterator.IntBackedDecimalBatchReader.html |   332 +
 ...ectorizedColumnIterator.IntegerBatchReader.html |   332 +
 ...olumnIterator.LongBackedDecimalBatchReader.html |   332 +
 .../VectorizedColumnIterator.LongBatchReader.html  |   332 +
 ...dColumnIterator.TimestampMillisBatchReader.html |   332 +
 ...izedColumnIterator.VarWidthTypeBatchReader.html |   332 +
 .../parquet/VectorizedColumnIterator.html          |   657 +
 ...orizedDictionaryEncodedParquetValuesReader.html |   487 +
 .../vectorized/parquet/VectorizedPageIterator.html |   482 +
 .../VectorizedParquetDefinitionLevelReader.html    |   313 +
 .../arrow/vectorized/parquet/package-summary.html  |   188 +
 .../arrow/vectorized/parquet/package-tree.html     |   197 +
 .../apache/iceberg/avro/Avro.DataWriteBuilder.html |   459 +
 .../iceberg/avro/Avro.DeleteWriteBuilder.html      |   506 +
 .../org/apache/iceberg/avro/Avro.ReadBuilder.html  |   408 +
 .../org/apache/iceberg/avro/Avro.WriteBuilder.html |   431 +
 javadoc/org/apache/iceberg/avro/Avro.html          |   367 +
 .../org/apache/iceberg/avro/AvroEncoderUtil.html   |   292 +
 javadoc/org/apache/iceberg/avro/AvroIterable.html  |   338 +
 javadoc/org/apache/iceberg/avro/AvroMetrics.html   |   220 +
 .../org/apache/iceberg/avro/AvroSchemaUtil.html    |   670 +
 .../org/apache/iceberg/avro/AvroSchemaVisitor.html |   408 +
 .../iceberg/avro/AvroSchemaWithTypeVisitor.html    |   442 +
 .../avro/AvroWithPartnerByStructureVisitor.html    |   555 +
 javadoc/org/apache/iceberg/avro/LogicalMap.html    |   297 +
 .../iceberg/avro/MetricsAwareDatumWriter.html      |   268 +
 .../apache/iceberg/avro/ProjectionDatumReader.html |   362 +
 javadoc/org/apache/iceberg/avro/RemoveIds.html     |   416 +
 .../apache/iceberg/avro/SupportsRowPosition.html   |   253 +
 .../org/apache/iceberg/avro/UUIDConversion.html    |   382 +
 javadoc/org/apache/iceberg/avro/ValueReader.html   |   259 +
 .../iceberg/avro/ValueReaders.StructReader.html    |   428 +
 javadoc/org/apache/iceberg/avro/ValueReaders.html  |   593 +
 javadoc/org/apache/iceberg/avro/ValueWriter.html   |   275 +
 .../iceberg/avro/ValueWriters.StructWriter.html    |   365 +
 javadoc/org/apache/iceberg/avro/ValueWriters.html  |   575 +
 .../org/apache/iceberg/avro/package-summary.html   |   273 +
 javadoc/org/apache/iceberg/avro/package-tree.html  |   208 +
 .../iceberg/aws/AssumeRoleAwsClientFactory.html    |   419 +
 .../org/apache/iceberg/aws/AwsClientFactories.html |   278 +
 .../org/apache/iceberg/aws/AwsClientFactory.html   |   350 +
 javadoc/org/apache/iceberg/aws/AwsProperties.html  |  1220 ++
 .../iceberg/aws/dynamodb/DynamoDbCatalog.html      |   778 +
 .../iceberg/aws/dynamodb/package-summary.html      |   166 +
 .../apache/iceberg/aws/dynamodb/package-tree.html  |   165 +
 .../org/apache/iceberg/aws/glue/GlueCatalog.html   |   785 +
 .../apache/iceberg/aws/glue/package-summary.html   |   164 +
 .../org/apache/iceberg/aws/glue/package-tree.html  |   165 +
 .../org/apache/iceberg/aws/package-summary.html    |   189 +
 javadoc/org/apache/iceberg/aws/package-tree.html   |   173 +
 javadoc/org/apache/iceberg/aws/s3/S3FileIO.html    |   453 +
 javadoc/org/apache/iceberg/aws/s3/S3InputFile.html |   429 +
 .../org/apache/iceberg/aws/s3/S3OutputFile.html    |   457 +
 .../org/apache/iceberg/aws/s3/S3RequestUtil.html   |   220 +
 .../org/apache/iceberg/aws/s3/package-summary.html |   178 +
 .../org/apache/iceberg/aws/s3/package-tree.html    |   164 +
 .../iceberg/catalog/Catalog.TableBuilder.html      |   447 +
 javadoc/org/apache/iceberg/catalog/Catalog.html    |   892 +
 javadoc/org/apache/iceberg/catalog/Namespace.html  |   375 +
 .../apache/iceberg/catalog/SupportsNamespaces.html |   483 +
 .../apache/iceberg/catalog/TableIdentifier.html    |   418 +
 .../apache/iceberg/catalog/package-summary.html    |   201 +
 .../org/apache/iceberg/catalog/package-tree.html   |   170 +
 .../apache/iceberg/common/DynClasses.Builder.html  |   420 +
 javadoc/org/apache/iceberg/common/DynClasses.html  |   287 +
 .../iceberg/common/DynConstructors.Builder.html    |   443 +
 .../iceberg/common/DynConstructors.Ctor.html       |   422 +
 .../org/apache/iceberg/common/DynConstructors.html |   307 +
 .../iceberg/common/DynFields.BoundField.html       |   284 +
 .../apache/iceberg/common/DynFields.Builder.html   |   633 +
 .../iceberg/common/DynFields.StaticField.html      |   284 +
 .../iceberg/common/DynFields.UnboundField.html     |   391 +
 javadoc/org/apache/iceberg/common/DynFields.html   |   304 +
 .../iceberg/common/DynMethods.BoundMethod.html     |   287 +
 .../apache/iceberg/common/DynMethods.Builder.html  |   789 +
 .../iceberg/common/DynMethods.StaticMethod.html    |   287 +
 .../iceberg/common/DynMethods.UnboundMethod.html   |   400 +
 javadoc/org/apache/iceberg/common/DynMethods.html  |   314 +
 .../org/apache/iceberg/common/package-summary.html |   228 +
 .../org/apache/iceberg/common/package-tree.html    |   178 +
 .../org/apache/iceberg/data/BaseWriterFactory.html |   550 +
 javadoc/org/apache/iceberg/data/DeleteFilter.html  |   388 +
 .../iceberg/data/GenericAppenderFactory.html       |   487 +
 .../apache/iceberg/data/GenericDeleteFilter.html   |   362 +
 javadoc/org/apache/iceberg/data/GenericRecord.html |   514 +
 .../iceberg/data/IcebergGenerics.ScanBuilder.html  |   422 +
 .../org/apache/iceberg/data/IcebergGenerics.html   |   296 +
 .../iceberg/data/IdentityPartitionConverters.html  |   269 +
 .../apache/iceberg/data/InternalRecordWrapper.html |   383 +
 javadoc/org/apache/iceberg/data/Record.html        |   396 +
 .../apache/iceberg/data/TableMigrationUtil.html    |   297 +
 .../org/apache/iceberg/data/avro/DataReader.html   |   414 +
 .../org/apache/iceberg/data/avro/DataWriter.html   |   390 +
 .../apache/iceberg/data/avro/DecoderResolver.html  |   281 +
 .../apache/iceberg/data/avro/IcebergDecoder.html   |   420 +
 .../apache/iceberg/data/avro/IcebergEncoder.html   |   388 +
 .../apache/iceberg/data/avro/package-summary.html  |   182 +
 .../org/apache/iceberg/data/avro/package-tree.html |   169 +
 .../apache/iceberg/data/orc/GenericOrcReader.html  |   375 +
 .../apache/iceberg/data/orc/GenericOrcReaders.html |   410 +
 .../apache/iceberg/data/orc/GenericOrcWriter.html  |   320 +
 .../apache/iceberg/data/orc/GenericOrcWriters.html |   506 +
 .../apache/iceberg/data/orc/package-summary.html   |   176 +
 .../org/apache/iceberg/data/orc/package-tree.html  |   164 +
 .../org/apache/iceberg/data/package-summary.html   |   219 +
 javadoc/org/apache/iceberg/data/package-tree.html  |   183 +
 .../iceberg/data/parquet/BaseParquetReaders.html   |   348 +
 .../iceberg/data/parquet/BaseParquetWriter.html    |   322 +
 .../data/parquet/GenericParquetReaders.html        |   318 +
 .../iceberg/data/parquet/GenericParquetWriter.html |   294 +
 .../iceberg/data/parquet/package-summary.html      |   176 +
 .../apache/iceberg/data/parquet/package-tree.html  |   170 +
 javadoc/org/apache/iceberg/deletes/Deletes.html    |   398 +
 .../iceberg/deletes/EqualityDeleteWriter.html      |   390 +
 .../org/apache/iceberg/deletes/PositionDelete.html |   417 +
 .../iceberg/deletes/PositionDeleteWriter.html      |   392 +
 .../apache/iceberg/deletes/package-summary.html    |   176 +
 .../org/apache/iceberg/deletes/package-tree.html   |   164 +
 .../apache/iceberg/encryption/EncryptedFiles.html  |   346 +
 .../iceberg/encryption/EncryptedInputFile.html     |   275 +
 .../iceberg/encryption/EncryptedOutputFile.html    |   276 +
 .../iceberg/encryption/EncryptionKeyMetadata.html  |   325 +
 .../iceberg/encryption/EncryptionKeyMetadatas.html |   278 +
 .../iceberg/encryption/EncryptionManager.html      |   339 +
 .../encryption/PlaintextEncryptionManager.html     |   362 +
 .../apache/iceberg/encryption/package-summary.html |   210 +
 .../apache/iceberg/encryption/package-tree.html    |   176 +
 .../apache/iceberg/events/CreateSnapshotEvent.html |   368 +
 .../iceberg/events/IncrementalScanEvent.html       |   369 +
 javadoc/org/apache/iceberg/events/Listener.html    |   251 +
 javadoc/org/apache/iceberg/events/Listeners.html   |   283 +
 javadoc/org/apache/iceberg/events/ScanEvent.html   |   353 +
 .../org/apache/iceberg/events/package-summary.html |   199 +
 .../org/apache/iceberg/events/package-tree.html    |   170 +
 .../iceberg/exceptions/AlreadyExistsException.html |   318 +
 .../CherrypickAncestorCommitException.html         |   325 +
 .../iceberg/exceptions/CommitFailedException.html  |   318 +
 .../exceptions/CommitStateUnknownException.html    |   298 +
 .../exceptions/DuplicateWAPCommitException.html    |   310 +
 .../exceptions/NamespaceNotEmptyException.html     |   318 +
 .../exceptions/NoSuchIcebergTableException.html    |   348 +
 .../exceptions/NoSuchNamespaceException.html       |   318 +
 .../iceberg/exceptions/NoSuchTableException.html   |   322 +
 .../iceberg/exceptions/NotFoundException.html      |   318 +
 .../iceberg/exceptions/RuntimeIOException.html     |   357 +
 .../iceberg/exceptions/ValidationException.html    |   368 +
 .../apache/iceberg/exceptions/package-summary.html |   233 +
 .../apache/iceberg/exceptions/package-tree.html    |   194 +
 javadoc/org/apache/iceberg/expressions/And.html    |   366 +
 javadoc/org/apache/iceberg/expressions/Binder.html |   312 +
 javadoc/org/apache/iceberg/expressions/Bound.html  |   287 +
 .../iceberg/expressions/BoundLiteralPredicate.html |   405 +
 .../apache/iceberg/expressions/BoundPredicate.html |   505 +
 .../apache/iceberg/expressions/BoundReference.html |   396 +
 .../iceberg/expressions/BoundSetPredicate.html     |   405 +
 .../org/apache/iceberg/expressions/BoundTerm.html  |   289 +
 .../apache/iceberg/expressions/BoundTransform.html |   374 +
 .../iceberg/expressions/BoundUnaryPredicate.html   |   391 +
 .../org/apache/iceberg/expressions/Evaluator.html  |   337 +
 .../iceberg/expressions/Expression.Operation.html  |   622 +
 .../org/apache/iceberg/expressions/Expression.html |   301 +
 .../ExpressionVisitors.BoundExpressionVisitor.html |   595 +
 .../ExpressionVisitors.BoundVisitor.html           |   542 +
 .../ExpressionVisitors.ExpressionVisitor.html      |   406 +
 .../iceberg/expressions/ExpressionVisitors.html    |   349 +
 .../apache/iceberg/expressions/Expressions.html    |  1068 ++
 javadoc/org/apache/iceberg/expressions/False.html  |   339 +
 .../expressions/InclusiveMetricsEvaluator.html     |   344 +
 .../org/apache/iceberg/expressions/Literal.html    |   482 +
 .../iceberg/expressions/ManifestEvaluator.html     |   317 +
 .../apache/iceberg/expressions/NamedReference.html |   342 +
 javadoc/org/apache/iceberg/expressions/Not.html    |   352 +
 javadoc/org/apache/iceberg/expressions/Or.html     |   366 +
 .../org/apache/iceberg/expressions/Predicate.html  |   323 +
 .../Projections.ProjectionEvaluator.html           |   339 +
 .../apache/iceberg/expressions/Projections.html    |   419 +
 .../org/apache/iceberg/expressions/Reference.html  |   203 +
 .../iceberg/expressions/ResidualEvaluator.html     |   351 +
 .../expressions/StrictMetricsEvaluator.html        |   328 +
 javadoc/org/apache/iceberg/expressions/Term.html   |   202 +
 javadoc/org/apache/iceberg/expressions/True.html   |   339 +
 .../org/apache/iceberg/expressions/Unbound.html    |   291 +
 .../iceberg/expressions/UnboundPredicate.html      |   408 +
 .../apache/iceberg/expressions/UnboundTerm.html    |   225 +
 .../iceberg/expressions/UnboundTransform.html      |   342 +
 .../iceberg/expressions/package-summary.html       |   377 +
 .../apache/iceberg/expressions/package-tree.html   |   239 +
 .../flink/CatalogLoader.CustomCatalogLoader.html   |   324 +
 .../flink/CatalogLoader.HadoopCatalogLoader.html   |   324 +
 .../flink/CatalogLoader.HiveCatalogLoader.html     |   324 +
 .../org/apache/iceberg/flink/CatalogLoader.html    |   356 +
 javadoc/org/apache/iceberg/flink/FlinkCatalog.html |  1193 ++
 .../apache/iceberg/flink/FlinkCatalogFactory.html  |   582 +
 .../apache/iceberg/flink/FlinkConfigOptions.html   |   282 +
 .../iceberg/flink/FlinkDynamicTableFactory.html    |   402 +
 javadoc/org/apache/iceberg/flink/FlinkFilters.html |   277 +
 .../org/apache/iceberg/flink/FlinkSchemaUtil.html  |   411 +
 .../org/apache/iceberg/flink/FlinkTypeVisitor.html |   464 +
 .../org/apache/iceberg/flink/IcebergTableSink.html |   429 +
 .../apache/iceberg/flink/IcebergTableSource.html   |   477 +
 .../org/apache/iceberg/flink/RowDataWrapper.html   |   371 +
 .../flink/TableLoader.CatalogTableLoader.html      |   357 +
 .../flink/TableLoader.HadoopTableLoader.html       |   354 +
 javadoc/org/apache/iceberg/flink/TableLoader.html  |   355 +
 .../org/apache/iceberg/flink/actions/Actions.html  |   336 +
 .../flink/actions/RewriteDataFilesAction.html      |   443 +
 .../iceberg/flink/actions/package-summary.html     |   168 +
 .../apache/iceberg/flink/actions/package-tree.html |   166 +
 .../flink/data/AvroWithFlinkSchemaVisitor.html     |   430 +
 .../apache/iceberg/flink/data/FlinkAvroReader.html |   355 +
 .../apache/iceberg/flink/data/FlinkAvroWriter.html |   358 +
 .../apache/iceberg/flink/data/FlinkOrcReader.html  |   356 +
 .../apache/iceberg/flink/data/FlinkOrcWriter.html  |   320 +
 .../iceberg/flink/data/FlinkParquetReaders.html    |   284 +
 .../iceberg/flink/data/FlinkParquetWriters.html    |   266 +
 .../iceberg/flink/data/FlinkValueReaders.html      |   220 +
 .../iceberg/flink/data/FlinkValueWriters.html      |   220 +
 .../flink/data/ParquetWithFlinkSchemaVisitor.html  |   430 +
 .../org/apache/iceberg/flink/data/RowDataUtil.html |   292 +
 .../apache/iceberg/flink/data/package-summary.html |   204 +
 .../apache/iceberg/flink/data/package-tree.html    |   175 +
 .../org/apache/iceberg/flink/package-summary.html  |   251 +
 javadoc/org/apache/iceberg/flink/package-tree.html |   199 +
 .../iceberg/flink/sink/FlinkAppenderFactory.html   |   455 +
 .../iceberg/flink/sink/FlinkSink.Builder.html      |   457 +
 .../org/apache/iceberg/flink/sink/FlinkSink.html   |   357 +
 .../flink/sink/RowDataTaskWriterFactory.html       |   358 +
 .../iceberg/flink/sink/TaskWriterFactory.html      |   293 +
 .../apache/iceberg/flink/sink/package-summary.html |   193 +
 .../apache/iceberg/flink/sink/package-tree.html    |   174 +
 .../iceberg/flink/source/FlinkInputFormat.html     |   393 +
 .../iceberg/flink/source/FlinkInputSplit.html      |   296 +
 .../iceberg/flink/source/FlinkSource.Builder.html  |   575 +
 .../apache/iceberg/flink/source/FlinkSource.html   |   320 +
 .../flink/source/RowDataRewriter.RewriteMap.html   |   372 +
 .../iceberg/flink/source/RowDataRewriter.html      |   340 +
 .../flink/source/StreamingMonitorFunction.html     |   447 +
 .../flink/source/StreamingReaderOperator.html      |   461 +
 .../iceberg/flink/source/package-summary.html      |   209 +
 .../apache/iceberg/flink/source/package-tree.html  |   188 +
 .../iceberg/flink/util/FlinkCompatibilityUtil.html |   281 +
 .../apache/iceberg/flink/util/package-summary.html |   168 +
 .../apache/iceberg/flink/util/package-tree.html    |   161 +
 .../apache/iceberg/hadoop/ConfigProperties.html    |   272 +
 .../org/apache/iceberg/hadoop/HadoopCatalog.html   |   876 +
 .../apache/iceberg/hadoop/HadoopConfigurable.html  |   278 +
 .../org/apache/iceberg/hadoop/HadoopFileIO.html    |   478 +
 .../org/apache/iceberg/hadoop/HadoopInputFile.html |   710 +
 .../apache/iceberg/hadoop/HadoopOutputFile.html    |   498 +
 .../iceberg/hadoop/HadoopTableOperations.html      |   519 +
 .../org/apache/iceberg/hadoop/HadoopTables.html    |   572 +
 .../apache/iceberg/hadoop/HiddenPathFilter.html    |   289 +
 .../iceberg/hadoop/SerializableConfiguration.html  |   314 +
 javadoc/org/apache/iceberg/hadoop/Util.html        |   374 +
 .../org/apache/iceberg/hadoop/package-summary.html |   234 +
 .../org/apache/iceberg/hadoop/package-tree.html    |   184 +
 .../org/apache/iceberg/hive/CachedClientPool.html  |   295 +
 javadoc/org/apache/iceberg/hive/HiveCatalog.html   |   779 +
 javadoc/org/apache/iceberg/hive/HiveCatalogs.html  |   273 +
 .../org/apache/iceberg/hive/HiveClientPool.html    |   397 +
 .../org/apache/iceberg/hive/HiveSchemaUtil.html    |   461 +
 .../apache/iceberg/hive/HiveTableOperations.html   |   472 +
 javadoc/org/apache/iceberg/hive/MetastoreUtil.html |   267 +
 .../apache/iceberg/hive/RuntimeMetaException.html  |   333 +
 .../org/apache/iceberg/hive/package-summary.html   |   208 +
 javadoc/org/apache/iceberg/hive/package-tree.html  |   192 +
 .../io/BaseTaskWriter.BaseEqualityDeltaWriter.html |   423 +
 .../io/BaseTaskWriter.RollingEqDeleteWriter.html   |   228 +
 .../io/BaseTaskWriter.RollingFileWriter.html       |   274 +
 javadoc/org/apache/iceberg/io/BaseTaskWriter.html  |   426 +
 javadoc/org/apache/iceberg/io/CloseableGroup.html  |   336 +
 .../CloseableIterable.ConcatCloseableIterable.html |   328 +
 .../org/apache/iceberg/io/CloseableIterable.html   |   409 +
 .../org/apache/iceberg/io/CloseableIterator.html   |   295 +
 javadoc/org/apache/iceberg/io/ClosingIterator.html |   340 +
 javadoc/org/apache/iceberg/io/DataWriter.html      |   397 +
 .../apache/iceberg/io/DelegatingInputStream.html   |   248 +
 .../apache/iceberg/io/DelegatingOutputStream.html  |   248 +
 .../org/apache/iceberg/io/DeleteSchemaUtil.html    |   278 +
 javadoc/org/apache/iceberg/io/FileAppender.html    |   349 +
 .../org/apache/iceberg/io/FileAppenderFactory.html |   356 +
 javadoc/org/apache/iceberg/io/FileIO.html          |   354 +
 javadoc/org/apache/iceberg/io/FilterIterator.html  |   381 +
 javadoc/org/apache/iceberg/io/InputFile.html       |   330 +
 .../org/apache/iceberg/io/LocationProvider.html    |   294 +
 javadoc/org/apache/iceberg/io/OutputFile.html      |   335 +
 .../iceberg/io/OutputFileFactory.Builder.html      |   310 +
 .../org/apache/iceberg/io/OutputFileFactory.html   |   512 +
 .../apache/iceberg/io/PartitionedFanoutWriter.html |   415 +
 .../org/apache/iceberg/io/PartitionedWriter.html   |   415 +
 .../apache/iceberg/io/PositionOutputStream.html    |   330 +
 .../org/apache/iceberg/io/SeekableInputStream.html |   358 +
 javadoc/org/apache/iceberg/io/TaskWriter.html      |   349 +
 .../org/apache/iceberg/io/UnpartitionedWriter.html |   384 +
 .../org/apache/iceberg/io/WriteResult.Builder.html |   380 +
 javadoc/org/apache/iceberg/io/WriteResult.html     |   338 +
 javadoc/org/apache/iceberg/io/WriterFactory.html   |   326 +
 javadoc/org/apache/iceberg/io/package-summary.html |   307 +
 javadoc/org/apache/iceberg/io/package-tree.html    |   232 +
 javadoc/org/apache/iceberg/jdbc/JdbcCatalog.html   |   823 +
 .../jdbc/UncheckedInterruptedException.html        |   317 +
 .../apache/iceberg/jdbc/UncheckedSQLException.html |   317 +
 .../org/apache/iceberg/jdbc/package-summary.html   |   183 +
 javadoc/org/apache/iceberg/jdbc/package-tree.html  |   179 +
 .../org/apache/iceberg/mapping/MappedField.html    |   424 +
 .../org/apache/iceberg/mapping/MappedFields.html   |   397 +
 .../org/apache/iceberg/mapping/MappingUtil.html    |   304 +
 .../org/apache/iceberg/mapping/NameMapping.html    |   376 +
 .../apache/iceberg/mapping/NameMappingParser.html  |   287 +
 .../apache/iceberg/mapping/package-summary.html    |   186 +
 .../org/apache/iceberg/mapping/package-tree.html   |   165 +
 javadoc/org/apache/iceberg/mr/Catalogs.html        |   517 +
 .../mr/InputFormatConfig.ConfigBuilder.html        |   541 +
 .../mr/InputFormatConfig.InMemoryDataModel.html    |   393 +
 .../org/apache/iceberg/mr/InputFormatConfig.html   |  1076 ++
 .../iceberg/mr/hive/HiveIcebergFilterFactory.html  |   264 +
 .../iceberg/mr/hive/HiveIcebergInputFormat.html    |   410 +
 .../iceberg/mr/hive/HiveIcebergMetaHook.html       |   405 +
 .../mr/hive/HiveIcebergOutputCommitter.html        |   472 +
 .../iceberg/mr/hive/HiveIcebergOutputFormat.html   |   367 +
 .../apache/iceberg/mr/hive/HiveIcebergSerDe.html   |   455 +
 .../apache/iceberg/mr/hive/HiveIcebergSplit.html   |   452 +
 .../iceberg/mr/hive/HiveIcebergStorageHandler.html |   678 +
 javadoc/org/apache/iceberg/mr/hive/TezUtil.html    |   326 +
 .../apache/iceberg/mr/hive/package-summary.html    |   198 +
 .../org/apache/iceberg/mr/hive/package-tree.html   |   193 +
 .../IcebergBinaryObjectInspector.html              |   428 +
 .../IcebergDateObjectInspector.html                |   428 +
 .../IcebergDecimalObjectInspector.html             |   430 +
 .../IcebergFixedObjectInspector.html               |   428 +
 .../objectinspector/IcebergObjectInspector.html    |   521 +
 .../IcebergRecordObjectInspector.html              |   477 +
 .../IcebergTimeObjectInspector.html                |   428 +
 .../IcebergTimestampObjectInspector.html           |   428 +
 .../IcebergTimestampWithZoneObjectInspector.html   |   428 +
 .../IcebergUUIDObjectInspector.html                |   428 +
 .../objectinspector/WriteObjectInspector.html      |   255 +
 .../serde/objectinspector/package-summary.html     |   217 +
 .../hive/serde/objectinspector/package-tree.html   |   192 +
 .../mapred/AbstractMapredIcebergRecordReader.html  |   415 +
 .../org/apache/iceberg/mr/mapred/Container.html    |   366 +
 ...Format.CompatibilityTaskAttemptContextImpl.html |   388 +
 .../mr/mapred/MapredIcebergInputFormat.html        |   414 +
 .../apache/iceberg/mr/mapred/package-summary.html  |   180 +
 .../org/apache/iceberg/mr/mapred/package-tree.html |   172 +
 .../iceberg/mr/mapreduce/IcebergInputFormat.html   |   361 +
 .../apache/iceberg/mr/mapreduce/IcebergSplit.html  |   491 +
 .../mr/mapreduce/IcebergSplitContainer.html        |   252 +
 .../iceberg/mr/mapreduce/package-summary.html      |   185 +
 .../apache/iceberg/mr/mapreduce/package-tree.html  |   176 +
 javadoc/org/apache/iceberg/mr/package-summary.html |   189 +
 javadoc/org/apache/iceberg/mr/package-tree.html    |   177 +
 .../org/apache/iceberg/nessie/NessieCatalog.html   |   786 +
 .../iceberg/nessie/NessieTableOperations.html      |   389 +
 javadoc/org/apache/iceberg/nessie/NessieUtil.html  |   220 +
 .../org/apache/iceberg/nessie/TableReference.html  |   373 +
 .../org/apache/iceberg/nessie/package-summary.html |   180 +
 .../org/apache/iceberg/nessie/package-tree.html    |   172 +
 .../apache/iceberg/orc/ORC.DataWriteBuilder.html   |   454 +
 .../org/apache/iceberg/orc/ORC.ReadBuilder.html    |   408 +
 .../org/apache/iceberg/orc/ORC.WriteBuilder.html   |   384 +
 javadoc/org/apache/iceberg/orc/ORC.html            |   325 +
 .../iceberg/orc/ORCSchemaUtil.BinaryType.html      |   393 +
 .../apache/iceberg/orc/ORCSchemaUtil.LongType.html |   380 +
 javadoc/org/apache/iceberg/orc/ORCSchemaUtil.html  |   468 +
 javadoc/org/apache/iceberg/orc/OrcBatchReader.html |   266 +
 javadoc/org/apache/iceberg/orc/OrcMetrics.html     |   298 +
 javadoc/org/apache/iceberg/orc/OrcRowReader.html   |   272 +
 javadoc/org/apache/iceberg/orc/OrcRowWriter.html   |   285 +
 .../org/apache/iceberg/orc/OrcSchemaVisitor.html   |   593 +
 .../iceberg/orc/OrcSchemaWithTypeVisitor.html      |   404 +
 javadoc/org/apache/iceberg/orc/OrcValueReader.html |   284 +
 .../iceberg/orc/OrcValueReaders.StructReader.html  |   398 +
 .../org/apache/iceberg/orc/OrcValueReaders.html    |   373 +
 javadoc/org/apache/iceberg/orc/OrcValueWriter.html |   328 +
 .../iceberg/orc/VectorizedRowBatchIterator.html    |   324 +
 .../org/apache/iceberg/orc/package-summary.html    |   266 +
 javadoc/org/apache/iceberg/orc/package-tree.html   |   196 +
 javadoc/org/apache/iceberg/package-summary.html    |   902 +
 javadoc/org/apache/iceberg/package-tree.html       |   350 +
 .../apache/iceberg/parquet/BaseColumnIterator.html |   464 +
 .../parquet/BasePageIterator.IntIterator.html      |   272 +
 .../apache/iceberg/parquet/BasePageIterator.html   |   693 +
 .../org/apache/iceberg/parquet/ColumnIterator.html |   434 +
 .../org/apache/iceberg/parquet/ColumnWriter.html   |   465 +
 .../iceberg/parquet/Parquet.DataWriteBuilder.html  |   459 +
 .../parquet/Parquet.DeleteWriteBuilder.html        |   520 +
 .../iceberg/parquet/Parquet.ReadBuilder.html       |   478 +
 .../iceberg/parquet/Parquet.WriteBuilder.html      |   445 +
 javadoc/org/apache/iceberg/parquet/Parquet.html    |   381 +
 .../apache/iceberg/parquet/ParquetAvroReader.html  |   266 +
 .../ParquetAvroValueReaders.TimeMillisReader.html  |   317 +
 ...quetAvroValueReaders.TimestampMillisReader.html |   317 +
 .../iceberg/parquet/ParquetAvroValueReaders.html   |   294 +
 .../apache/iceberg/parquet/ParquetAvroWriter.html  |   264 +
 .../parquet/ParquetDictionaryRowGroupFilter.html   |   337 +
 .../apache/iceberg/parquet/ParquetIterable.html    |   324 +
 .../parquet/ParquetMetricsRowGroupFilter.html      |   335 +
 .../org/apache/iceberg/parquet/ParquetReader.html  |   378 +
 .../iceberg/parquet/ParquetSchemaUtil.HasIds.html  |   406 +
 .../apache/iceberg/parquet/ParquetSchemaUtil.html  |   426 +
 .../apache/iceberg/parquet/ParquetTypeVisitor.html |   590 +
 .../org/apache/iceberg/parquet/ParquetUtil.html    |   383 +
 .../apache/iceberg/parquet/ParquetValueReader.html |   298 +
 .../ParquetValueReaders.BinaryAsDecimalReader.html |   343 +
 .../ParquetValueReaders.ByteArrayReader.html       |   341 +
 .../parquet/ParquetValueReaders.BytesReader.html   |   341 +
 .../ParquetValueReaders.FloatAsDoubleReader.html   |   377 +
 .../ParquetValueReaders.IntAsLongReader.html       |   377 +
 ...ParquetValueReaders.IntegerAsDecimalReader.html |   343 +
 .../parquet/ParquetValueReaders.ListReader.html    |   390 +
 .../ParquetValueReaders.LongAsDecimalReader.html   |   343 +
 .../parquet/ParquetValueReaders.MapReader.html     |   394 +
 .../ParquetValueReaders.PrimitiveReader.html       |   410 +
 ...ParquetValueReaders.RepeatedKeyValueReader.html |   455 +
 .../ParquetValueReaders.RepeatedReader.html        |   451 +
 .../parquet/ParquetValueReaders.ReusableEntry.html |   380 +
 .../parquet/ParquetValueReaders.StringReader.html  |   341 +
 .../parquet/ParquetValueReaders.StructReader.html  |   578 +
 .../parquet/ParquetValueReaders.UnboxedReader.html |   431 +
 .../iceberg/parquet/ParquetValueReaders.html       |   410 +
 .../apache/iceberg/parquet/ParquetValueWriter.html |   301 +
 ...uetValueWriters.PositionDeleteStructWriter.html |   332 +
 .../ParquetValueWriters.PrimitiveWriter.html       |   408 +
 ...ParquetValueWriters.RepeatedKeyValueWriter.html |   403 +
 .../ParquetValueWriters.RepeatedWriter.html        |   401 +
 .../parquet/ParquetValueWriters.StructWriter.html  |   403 +
 .../iceberg/parquet/ParquetValueWriters.html       |   529 +
 .../iceberg/parquet/ParquetWriteAdapter.html       |   438 +
 javadoc/org/apache/iceberg/parquet/RemoveIds.html  |   416 +
 .../org/apache/iceberg/parquet/TripleWriter.html   |   432 +
 .../apache/iceberg/parquet/TypeToMessageType.html  |   464 +
 .../iceberg/parquet/TypeWithSchemaVisitor.html     |   481 +
 .../iceberg/parquet/ValuesAsBytesReader.html       |   462 +
 .../iceberg/parquet/VectorizedParquetReader.html   |   380 +
 .../apache/iceberg/parquet/VectorizedReader.html   |   325 +
 .../apache/iceberg/parquet/package-summary.html    |   403 +
 .../org/apache/iceberg/parquet/package-tree.html   |   250 +
 .../IcebergPigInputFormat.IcebergRecordReader.html |   423 +
 .../apache/iceberg/pig/IcebergPigInputFormat.html  |   319 +
 javadoc/org/apache/iceberg/pig/IcebergStorage.html |   669 +
 .../org/apache/iceberg/pig/PigParquetReader.html   |   268 +
 javadoc/org/apache/iceberg/pig/SchemaUtil.html     |   285 +
 .../org/apache/iceberg/pig/package-summary.html    |   176 +
 javadoc/org/apache/iceberg/pig/package-tree.html   |   177 +
 .../SchemaWithPartnerVisitor.PartnerAccessors.html |   306 +
 .../iceberg/schema/SchemaWithPartnerVisitor.html   |   625 +
 .../apache/iceberg/schema/UnionByNameVisitor.html  |   420 +
 .../org/apache/iceberg/schema/package-summary.html |   186 +
 .../org/apache/iceberg/schema/package-tree.html    |   171 +
 .../iceberg/spark/FileRewriteCoordinator.html      |   338 +
 .../iceberg/spark/FileScanTaskSetManager.html      |   328 +
 javadoc/org/apache/iceberg/spark/IcebergSpark.html |   270 +
 javadoc/org/apache/iceberg/spark/JobGroupInfo.html |   338 +
 .../org/apache/iceberg/spark/JobGroupUtils.html    |   280 +
 .../org/apache/iceberg/spark/PathIdentifier.html   |   345 +
 .../iceberg/spark/PruneColumnsWithReordering.html  |   375 +
 .../spark/PruneColumnsWithoutReordering.html       |   375 +
 .../apache/iceberg/spark/RollbackStagedTable.html  |   494 +
 .../spark/Spark3Util.CatalogAndIdentifier.html     |   338 +
 .../spark/Spark3Util.DescribeSchemaVisitor.html    |   386 +
 javadoc/org/apache/iceberg/spark/Spark3Util.html   |   831 +
 .../apache/iceberg/spark/Spark3VersionUtil.html    |   278 +
 javadoc/org/apache/iceberg/spark/SparkCatalog.html |   780 +
 .../org/apache/iceberg/spark/SparkDataFile.html    |   743 +
 .../apache/iceberg/spark/SparkExceptionUtil.html   |   280 +
 javadoc/org/apache/iceberg/spark/SparkFilters.html |   278 +
 .../org/apache/iceberg/spark/SparkReadOptions.html |   417 +
 .../org/apache/iceberg/spark/SparkSchemaUtil.html  |   627 +
 .../apache/iceberg/spark/SparkSessionCatalog.html  |   821 +
 .../org/apache/iceberg/spark/SparkStructLike.html  |   369 +
 .../spark/SparkTableUtil.SparkPartition.html       |   404 +
 .../org/apache/iceberg/spark/SparkTableUtil.html   |   655 +
 javadoc/org/apache/iceberg/spark/SparkUtil.html    |   523 +
 .../apache/iceberg/spark/SparkValueConverter.html  |   283 +
 .../apache/iceberg/spark/SparkWriteOptions.html    |   381 +
 .../actions/BaseDeleteOrphanFilesSparkAction.html  |   698 +
 .../BaseDeleteReachableFilesSparkAction.html       |   677 +
 .../actions/BaseExpireSnapshotsSparkAction.html    |   783 +
 .../spark/actions/BaseMigrateTableSparkAction.html |   947 +
 .../actions/BaseRewriteDataFilesSpark3Action.html  |   745 +
 .../actions/BaseRewriteManifestsSparkAction.html   |   734 +
 .../actions/BaseSnapshotTableSparkAction.html      |  1002 ++
 .../spark/actions/Spark3BinPackStrategy.html       |   372 +
 .../apache/iceberg/spark/actions/SparkActions.html |   442 +
 .../iceberg/spark/actions/package-summary.html     |   214 +
 .../apache/iceberg/spark/actions/package-tree.html |   173 +
 .../spark/data/AvroWithSparkSchemaVisitor.html     |   430 +
 .../spark/data/ParquetWithSparkSchemaVisitor.html  |   435 +
 .../apache/iceberg/spark/data/SparkAvroReader.html |   373 +
 .../apache/iceberg/spark/data/SparkAvroWriter.html |   358 +
 .../apache/iceberg/spark/data/SparkOrcReader.html  |   360 +
 .../iceberg/spark/data/SparkOrcValueReaders.html   |   294 +
 .../apache/iceberg/spark/data/SparkOrcWriter.html  |   348 +
 .../iceberg/spark/data/SparkParquetReaders.html    |   284 +
 .../iceberg/spark/data/SparkParquetWriters.html    |   266 +
 .../iceberg/spark/data/SparkValueReaders.html      |   220 +
 .../iceberg/spark/data/SparkValueWriters.html      |   220 +
 .../apache/iceberg/spark/data/package-summary.html |   212 +
 .../apache/iceberg/spark/data/package-tree.html    |   175 +
 .../data/vectorized/ArrowVectorAccessors.html      |   220 +
 .../spark/data/vectorized/ColumnarBatchReader.html |   397 +
 .../data/vectorized/IcebergArrowColumnVector.html  |   652 +
 .../data/vectorized/RowPositionColumnVector.html   |   595 +
 .../data/vectorized/VectorizedSparkOrcReaders.html |   268 +
 .../vectorized/VectorizedSparkParquetReaders.html  |   288 +
 .../spark/data/vectorized/package-summary.html     |   188 +
 .../spark/data/vectorized/package-tree.html        |   170 +
 .../org/apache/iceberg/spark/package-summary.html  |   288 +
 javadoc/org/apache/iceberg/spark/package-tree.html |   194 +
 .../spark/procedures/ExpireSnapshotsProcedure.html |   552 +
 .../procedures/RemoveOrphanFilesProcedure.html     |   552 +
 .../SparkProcedures.ProcedureBuilder.html          |   266 +
 .../iceberg/spark/procedures/SparkProcedures.html  |   287 +
 .../iceberg/spark/procedures/package-summary.html  |   191 +
 .../iceberg/spark/procedures/package-tree.html     |   169 +
 .../spark/source/EqualityDeleteRowReader.html      |   432 +
 .../apache/iceberg/spark/source/IcebergSource.html |   438 +
 .../iceberg/spark/source/RowDataRewriter.html      |   317 +
 .../spark/source/SparkMicroBatchStream.html        |   383 +
 .../spark/source/SparkPartitionedFanoutWriter.html |   382 +
 .../spark/source/SparkPartitionedWriter.html       |   382 +
 .../iceberg/spark/source/SparkRewriteBuilder.html  |   324 +
 .../iceberg/spark/source/SparkScanBuilder.html     |   383 +
 .../apache/iceberg/spark/source/SparkTable.html    |   592 +
 .../iceberg/spark/source/StagedSparkTable.html     |   350 +
 .../iceberg/spark/source/package-summary.html      |   202 +
 .../apache/iceberg/spark/source/package-tree.html  |   185 +
 .../iceberg/transforms/PartitionSpecVisitor.html   |   601 +
 .../iceberg/transforms/SortOrderVisitor.html       |   428 +
 .../org/apache/iceberg/transforms/Transform.html   |   501 +
 .../org/apache/iceberg/transforms/Transforms.html  |   478 +
 .../iceberg/transforms/UnknownTransform.html       |   466 +
 .../apache/iceberg/transforms/package-summary.html |   195 +
 .../apache/iceberg/transforms/package-tree.html    |   174 +
 .../apache/iceberg/types/CheckCompatibility.html   |   521 +
 javadoc/org/apache/iceberg/types/Comparators.html  |   376 +
 javadoc/org/apache/iceberg/types/Conversions.html  |   314 +
 javadoc/org/apache/iceberg/types/FixupTypes.html   |   435 +
 javadoc/org/apache/iceberg/types/IndexByName.html  |   606 +
 javadoc/org/apache/iceberg/types/IndexParents.html |   458 +
 javadoc/org/apache/iceberg/types/JavaHash.html     |   269 +
 javadoc/org/apache/iceberg/types/JavaHashes.html   |   264 +
 .../org/apache/iceberg/types/Type.NestedType.html  |   409 +
 .../apache/iceberg/types/Type.PrimitiveType.html   |   367 +
 javadoc/org/apache/iceberg/types/Type.TypeID.html  |   576 +
 javadoc/org/apache/iceberg/types/Type.html         |   430 +
 .../types/TypeUtil.CustomOrderSchemaVisitor.html   |   394 +
 .../org/apache/iceberg/types/TypeUtil.NextID.html  |   253 +
 .../iceberg/types/TypeUtil.SchemaVisitor.html      |   514 +
 javadoc/org/apache/iceberg/types/TypeUtil.html     |   813 +
 .../org/apache/iceberg/types/Types.BinaryType.html |   384 +
 .../apache/iceberg/types/Types.BooleanType.html    |   384 +
 .../org/apache/iceberg/types/Types.DateType.html   |   384 +
 .../apache/iceberg/types/Types.DecimalType.html    |   410 +
 .../org/apache/iceberg/types/Types.DoubleType.html |   384 +
 .../org/apache/iceberg/types/Types.FixedType.html  |   394 +
 .../org/apache/iceberg/types/Types.FloatType.html  |   384 +
 .../apache/iceberg/types/Types.IntegerType.html    |   384 +
 .../org/apache/iceberg/types/Types.ListType.html   |   536 +
 .../org/apache/iceberg/types/Types.LongType.html   |   384 +
 .../org/apache/iceberg/types/Types.MapType.html    |   572 +
 .../apache/iceberg/types/Types.NestedField.html    |   547 +
 .../org/apache/iceberg/types/Types.StringType.html |   384 +
 .../org/apache/iceberg/types/Types.StructType.html |   504 +
 .../org/apache/iceberg/types/Types.TimeType.html   |   344 +
 .../apache/iceberg/types/Types.TimestampType.html  |   408 +
 .../org/apache/iceberg/types/Types.UUIDType.html   |   384 +
 javadoc/org/apache/iceberg/types/Types.html        |   367 +
 .../org/apache/iceberg/types/package-summary.html  |   322 +
 javadoc/org/apache/iceberg/types/package-tree.html |   228 +
 javadoc/org/apache/iceberg/util/ArrayUtil.html     |   690 +
 .../apache/iceberg/util/BinPacking.ListPacker.html |   330 +
 .../iceberg/util/BinPacking.PackingIterable.html   |   351 +
 javadoc/org/apache/iceberg/util/BinPacking.html    |   294 +
 javadoc/org/apache/iceberg/util/BinaryUtil.html    |   316 +
 javadoc/org/apache/iceberg/util/ByteBuffers.html   |   278 +
 .../org/apache/iceberg/util/CharSequenceSet.html   |   572 +
 .../apache/iceberg/util/CharSequenceWrapper.html   |   421 +
 javadoc/org/apache/iceberg/util/DateTimeUtil.html  |   478 +
 javadoc/org/apache/iceberg/util/DecimalUtil.html   |   273 +
 .../apache/iceberg/util/ExceptionUtil.Block.html   |   259 +
 .../iceberg/util/ExceptionUtil.CatchBlock.html     |   257 +
 .../iceberg/util/ExceptionUtil.FinallyBlock.html   |   257 +
 javadoc/org/apache/iceberg/util/ExceptionUtil.html |   385 +
 javadoc/org/apache/iceberg/util/Exceptions.html    |   307 +
 javadoc/org/apache/iceberg/util/Filter.html        |   339 +
 javadoc/org/apache/iceberg/util/JsonUtil.html      |   422 +
 .../org/apache/iceberg/util/ManifestFileUtil.html  |   286 +
 javadoc/org/apache/iceberg/util/NaNUtil.html       |   264 +
 javadoc/org/apache/iceberg/util/Pair.html          |   415 +
 .../org/apache/iceberg/util/ParallelIterable.html  |   366 +
 javadoc/org/apache/iceberg/util/PartitionSet.html  |   602 +
 javadoc/org/apache/iceberg/util/PartitionUtil.html |   280 +
 javadoc/org/apache/iceberg/util/PropertyUtil.html  |   340 +
 .../org/apache/iceberg/util/SerializableMap.html   |   571 +
 .../apache/iceberg/util/SerializableSupplier.html  |   216 +
 .../org/apache/iceberg/util/SerializationUtil.html |   343 +
 javadoc/org/apache/iceberg/util/SnapshotUtil.html  |   403 +
 javadoc/org/apache/iceberg/util/SortOrderUtil.html |   264 +
 javadoc/org/apache/iceberg/util/SortedMerge.html   |   373 +
 javadoc/org/apache/iceberg/util/StructLikeMap.html |   536 +
 javadoc/org/apache/iceberg/util/StructLikeSet.html |   641 +
 .../org/apache/iceberg/util/StructLikeWrapper.html |   329 +
 .../org/apache/iceberg/util/StructProjection.html  |   385 +
 javadoc/org/apache/iceberg/util/TableScanUtil.html |   314 +
 javadoc/org/apache/iceberg/util/Tasks.Builder.html |   573 +
 .../org/apache/iceberg/util/Tasks.FailureTask.html |   261 +
 javadoc/org/apache/iceberg/util/Tasks.Task.html    |   259 +
 .../iceberg/util/Tasks.UnrecoverableException.html |   328 +
 javadoc/org/apache/iceberg/util/Tasks.html         |   360 +
 javadoc/org/apache/iceberg/util/ThreadPools.html   |   337 +
 javadoc/org/apache/iceberg/util/UUIDUtil.html      |   322 +
 javadoc/org/apache/iceberg/util/UnicodeUtil.html   |   331 +
 javadoc/org/apache/iceberg/util/WapUtil.html       |   304 +
 .../org/apache/iceberg/util/package-summary.html   |   366 +
 javadoc/org/apache/iceberg/util/package-tree.html  |   246 +
 .../analysis/NoSuchProcedureException.html         |   303 +
 .../sql/catalyst/analysis/package-summary.html     |   164 +
 .../spark/sql/catalyst/analysis/package-tree.html  |   173 +
 .../IcebergSqlExtensionsBaseListener.html          |  2482 +++
 .../IcebergSqlExtensionsBaseVisitor.html           |  1494 ++
 .../extensions/IcebergSqlExtensionsLexer.html      |  1615 ++
 .../extensions/IcebergSqlExtensionsListener.html   |  2036 +++
 ...lExtensionsParser.AddPartitionFieldContext.html |   572 +
 ...gSqlExtensionsParser.ApplyTransformContext.html |   516 +
 ...lExtensionsParser.BigDecimalLiteralContext.html |   442 +
 ...rgSqlExtensionsParser.BigIntLiteralContext.html |   442 +
 ...gSqlExtensionsParser.BooleanLiteralContext.html |   428 +
 ...ergSqlExtensionsParser.BooleanValueContext.html |   450 +
 ...ergSqlExtensionsParser.CallArgumentContext.html |   397 +
 .../IcebergSqlExtensionsParser.CallContext.html    |   470 +
 ...IcebergSqlExtensionsParser.ConstantContext.html |   397 +
 ...gSqlExtensionsParser.DecimalLiteralContext.html |   442 +
 ...rgSqlExtensionsParser.DoubleLiteralContext.html |   442 +
 ...tensionsParser.DropIdentifierFieldsContext.html |   512 +
 ...ExtensionsParser.DropPartitionFieldContext.html |   512 +
 ...SqlExtensionsParser.ExponentLiteralContext.html |   442 +
 ...ebergSqlExtensionsParser.ExpressionContext.html |   450 +
 ...cebergSqlExtensionsParser.FieldListContext.html |   496 +
 ...ergSqlExtensionsParser.FloatLiteralContext.html |   442 +
 ...ebergSqlExtensionsParser.IdentifierContext.html |   397 +
 ...lExtensionsParser.IdentityTransformContext.html |   428 +
 ...gSqlExtensionsParser.IntegerLiteralContext.html |   442 +
 ...xtensionsParser.MultipartIdentifierContext.html |   496 +
 ...rgSqlExtensionsParser.NamedArgumentContext.html |   442 +
 ...bergSqlExtensionsParser.NonReservedContext.html |   800 +
 .../IcebergSqlExtensionsParser.NumberContext.html  |   397 +
 ...gSqlExtensionsParser.NumericLiteralContext.html |   428 +
 .../IcebergSqlExtensionsParser.OrderContext.html   |   496 +
 ...ebergSqlExtensionsParser.OrderFieldContext.html |   552 +
 ...ExtensionsParser.PositionalArgumentContext.html |   428 +
 ...sParser.QuotedIdentifierAlternativeContext.html |   428 +
 ...qlExtensionsParser.QuotedIdentifierContext.html |   436 +
 ...ensionsParser.ReplacePartitionFieldContext.html |   600 +
 ...xtensionsParser.SetIdentifierFieldsContext.html |   512 +
 ...ser.SetWriteDistributionAndOrderingContext.html |   484 +
 ...SqlExtensionsParser.SingleStatementContext.html |   450 +
 ...SqlExtensionsParser.SmallIntLiteralContext.html |   442 +
 ...cebergSqlExtensionsParser.StatementContext.html |   397 +
 ...rgSqlExtensionsParser.StringLiteralContext.html |   442 +
 ...cebergSqlExtensionsParser.StringMapContext.html |   464 +
 ...gSqlExtensionsParser.TinyIntLiteralContext.html |   442 +
 ...lExtensionsParser.TransformArgumentContext.html |   450 +
 ...cebergSqlExtensionsParser.TransformContext.html |   397 +
 ...SqlExtensionsParser.TypeConstructorContext.html |   442 +
 ...ExtensionsParser.UnquotedIdentifierContext.html |   442 +
 ...ensionsParser.WriteDistributionSpecContext.html |   464 +
 ...lExtensionsParser.WriteOrderingSpecContext.html |   492 +
 ...cebergSqlExtensionsParser.WriteSpecContext.html |   478 +
 .../extensions/IcebergSqlExtensionsParser.html     |  2473 +++
 .../extensions/IcebergSqlExtensionsVisitor.html    |  1229 ++
 .../parser/extensions/package-summary.html         |   393 +
 .../catalyst/parser/extensions/package-tree.html   |   267 +
 .../iceberg/catalog/ExtendedSupportsDelete.html    |   280 +
 .../sql/connector/iceberg/catalog/Procedure.html   |   320 +
 .../iceberg/catalog/ProcedureCatalog.html          |   280 +
 .../iceberg/catalog/ProcedureParameter.html        |   338 +
 .../connector/iceberg/catalog/SupportsMerge.html   |   281 +
 .../connector/iceberg/catalog/package-summary.html |   188 +
 .../connector/iceberg/catalog/package-tree.html    |   173 +
 .../distributions/ClusteredDistribution.html       |   266 +
 .../iceberg/distributions/Distribution.html        |   201 +
 .../iceberg/distributions/Distributions.html       |   310 +
 .../iceberg/distributions/OrderedDistribution.html |   266 +
 .../distributions/UnspecifiedDistribution.html     |   202 +
 .../impl/ClusterDistributionImpl.html              |   317 +
 .../impl/OrderedDistributionImpl.html              |   317 +
 .../impl/UnspecifiedDistributionImpl.html          |   271 +
 .../distributions/impl/package-summary.html        |   172 +
 .../iceberg/distributions/impl/package-tree.html   |   163 +
 .../iceberg/distributions/package-summary.html     |   203 +
 .../iceberg/distributions/package-tree.html        |   173 +
 .../iceberg/expressions/NullOrdering.html          |   399 +
 .../iceberg/expressions/SortDirection.html         |   399 +
 .../connector/iceberg/expressions/SortOrder.html   |   302 +
 .../iceberg/expressions/package-summary.html       |   189 +
 .../iceberg/expressions/package-tree.html          |   176 +
 .../connector/iceberg/read/SupportsFileFilter.html |   269 +
 .../connector/iceberg/read/package-summary.html    |   166 +
 .../sql/connector/iceberg/read/package-tree.html   |   161 +
 .../sql/connector/iceberg/write/MergeBuilder.html  |   277 +
 .../connector/iceberg/write/package-summary.html   |   166 +
 .../sql/connector/iceberg/write/package-tree.html  |   157 +
 javadoc/overview-summary.html                      |    23 +
 javadoc/overview-tree.html                         |  1464 ++
 javadoc/package-search-index.js                    |     1 +
 javadoc/package-search-index.zip                   |   Bin 0 -> 591 bytes
 javadoc/resources/glass.png                        |   Bin 0 -> 499 bytes
 javadoc/resources/x.png                            |   Bin 0 -> 394 bytes
 javadoc/script.js                                  |   149 +
 javadoc/search.js                                  |   331 +
 javadoc/serialized-form.html                       |  4502 +++++
 javadoc/stylesheet.css                             |   906 +
 javadoc/type-search-index.js                       |     1 +
 javadoc/type-search-index.zip                      |   Bin 0 -> 6384 bytes
 977 files changed, 438786 insertions(+)

diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index d4e9469..011b014 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -92,4 +92,22 @@ jobs:
           publish_dir: ./docs/public
           publish_branch: asf-site
           destination_dir: ./docs/${{ steps.vars.outputs.branch_name }}
+  deploy-javadoc:
+    needs: deploy-docs
+    if: github.ref != 'refs/heads/main'
+    runs-on: ubuntu-20.04
+    steps:
+      - uses: actions/checkout@v2
+
+      - name: Set output
+        id: vars
+        run: echo ::set-output name=branch_name::${GITHUB_REF#refs/*/}
+
+      - name: Deploy
+        uses: peaceiris/actions-gh-pages@v3
+        with:
+          github_token: ${{ secrets.GITHUB_TOKEN }}
+          publish_dir: ./javadoc
+          publish_branch: asf-site
+          destination_dir: ./javadoc/${{ steps.vars.outputs.branch_name }}
 
diff --git a/.gitignore b/.gitignore
index 456f428..5bdd4c5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
 # Hugo generated directories
 /public
 resources
+!javadoc/resources
 
 # Script Generated Asciinema Recordings
 asciinema/output
diff --git a/javadoc/allclasses-index.html b/javadoc/allclasses-index.html
new file mode 100644
index 0000000..40aaed1
--- /dev/null
+++ b/javadoc/allclasses-index.html
@@ -0,0 +1,3980 @@
+<!DOCTYPE HTML>
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (11.0.12) on Mon Nov 08 18:33:49 PST 2021 -->
+<title>All Classes</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2021-11-08">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+<script type="text/javascript" src="jquery/jszip/dist/jszip.min.js"></script>
+<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils.min.js"></script>
+<!--[if IE]>
+<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
+<![endif]-->
+<script type="text/javascript" src="jquery/jquery-3.5.1.js"></script>
+<script type="text/javascript" src="jquery/jquery-ui.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="All Classes";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var data = {"i0":2,"i1":1,"i2":2,"i3":1,"i4":2,"i5":2,"i6":1,"i7":2,"i8":2,"i9":2,"i10":2,"i11":2,"i12":8,"i13":2,"i14":1,"i15":2,"i16":2,"i17":2,"i18":2,"i19":2,"i20":2,"i21":2,"i22":2,"i23":2,"i24":2,"i25":2,"i26":2,"i27":2,"i28":2,"i29":2,"i30":2,"i31":2,"i32":2,"i33":2,"i34":2,"i35":2,"i36":2,"i37":1,"i38":2,"i39":2,"i40":2,"i41":2,"i42":2,"i43":2,"i44":2,"i45":2,"i46":2,"i47":2,"i48":2,"i49":2,"i50":4,"i51":2,"i52":2,"i53":2,"i54":2,"i55":2,"i56":2,"i57":2,"i58":2,"i59":2,"i60":2,"i [...]
+var tabs = {65535:["t0","All Classes"],1:["t1","Interface Summary"],2:["t2","Class Summary"],4:["t3","Enum Summary"],8:["t4","Exception Summary"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+var pathtoroot = "./";
+var useModuleDirectories = true;
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<header role="banner">
+<nav role="navigation">
+<div class="fixedNav">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a id="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="index.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<ul class="navListSearch">
+<li><label for="search">SEARCH:</label>
+<input type="text" id="search" value="search" disabled="disabled">
+<input type="reset" id="reset" value="reset" disabled="disabled">
+</li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<a id="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+</div>
+<div class="navPadding">&nbsp;</div>
+<script type="text/javascript"><!--
+$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
+//-->
+</script>
+</nav>
+</header>
+<main role="main">
+<div class="header">
+<h1 title="All&amp;nbsp;Classes" class="title">All&nbsp;Classes</h1>
+</div>
+<div class="allClassesContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary">
+<caption><span id="t0" class="activeTableTab"><span>All Classes</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Interface Summary</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Class Summary</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Enum Summary</a></span><span class="tabEnd">&n [...]
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/mapred/AbstractMapredIcebergRecordReader.html" title="class in org.apache.iceberg.mr.mapred">AbstractMapredIcebergRecordReader</a>&lt;<a href="org/apache/iceberg/mr/mapred/AbstractMapredIcebergRecordReader.html" title="type parameter in AbstractMapredIcebergRecordReader">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/Accessor.html" title="interface in org.apache.iceberg">Accessor</a>&lt;<a href="org/apache/iceberg/Accessor.html" title="type parameter in Accessor">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/Accessors.html" title="class in org.apache.iceberg">Accessors</a></td>
+<th class="colLast" scope="row">
+<div class="block">Position2Accessor and Position3Accessor here is an optimization.</div>
+</th>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/Action.html" title="interface in org.apache.iceberg.actions">Action</a>&lt;<a href="org/apache/iceberg/actions/Action.html" title="type parameter in Action">ThisT</a>,&#8203;<a href="org/apache/iceberg/actions/Action.html" title="type parameter in Action">R</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">An action performed on a table.</div>
+</th>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/Actions.html" title="class in org.apache.iceberg.actions">Actions</a></td>
+<th class="colLast" scope="row">Deprecated.
+<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use an implementation of <a href="org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions"><code>ActionsProvider</code></a> instead.</div>
+</th>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/actions/Actions.html" title="class in org.apache.iceberg.flink.actions">Actions</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions">ActionsProvider</a></td>
+<th class="colLast" scope="row">
+<div class="block">An API that should be implemented by query engine integrations for providing actions.</div>
+</th>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/AllDataFilesTable.html" title="class in org.apache.iceberg">AllDataFilesTable</a></td>
+<th class="colLast" scope="row">
+<div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's valid data files as rows.</div>
+</th>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html" title="class in org.apache.iceberg">AllDataFilesTable.AllDataFilesTableScan</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/AllEntriesTable.html" title="class in org.apache.iceberg">AllEntriesTable</a></td>
+<th class="colLast" scope="row">
+<div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's manifest entries as rows, for both delete and data files.</div>
+</th>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/AllManifestsTable.html" title="class in org.apache.iceberg">AllManifestsTable</a></td>
+<th class="colLast" scope="row">
+<div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's valid manifest files as rows.</div>
+</th>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html" title="class in org.apache.iceberg">AllManifestsTable.AllManifestsTableScan</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/exceptions/AlreadyExistsException.html" title="class in org.apache.iceberg.exceptions">AlreadyExistsException</a></td>
+<th class="colLast" scope="row">
+<div class="block">Exception raised when attempting to create a table that already exists.</div>
+</th>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/And.html" title="class in org.apache.iceberg.expressions">And</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/AppendFiles.html" title="interface in org.apache.iceberg">AppendFiles</a></td>
+<th class="colLast" scope="row">
+<div class="block">API for appending new files in a table.</div>
+</th>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/ArrayUtil.html" title="class in org.apache.iceberg.util">ArrayUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/ArrowAllocation.html" title="class in org.apache.iceberg.arrow">ArrowAllocation</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/ArrowReader.html" title="class in org.apache.iceberg.arrow.vectorized">ArrowReader</a></td>
+<th class="colLast" scope="row">
+<div class="block">Vectorized reader that returns an iterator of <a href="org/apache/iceberg/arrow/vectorized/ColumnarBatch.html" title="class in org.apache.iceberg.arrow.vectorized"><code>ColumnarBatch</code></a>.</div>
+</th>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/ArrowSchemaUtil.html" title="class in org.apache.iceberg.arrow">ArrowSchemaUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/ArrowVectorAccessor.html" title="class in org.apache.iceberg.arrow.vectorized">ArrowVectorAccessor</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/ArrowVectorAccessor.html" title="type parameter in ArrowVectorAccessor">DecimalT</a>,&#8203;<a href="org/apache/iceberg/arrow/vectorized/ArrowVectorAccessor.html" title="type parameter in ArrowVectorAccessor">Utf8StringT</a>,&#8203;<a href="org/apache/iceberg/arrow/vectorize [...]
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/vectorized/ArrowVectorAccessors.html" title="class in org.apache.iceberg.spark.data.vectorized">ArrowVectorAccessors</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/aws/AssumeRoleAwsClientFactory.html" title="class in org.apache.iceberg.aws">AssumeRoleAwsClientFactory</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/Avro.html" title="class in org.apache.iceberg.avro">Avro</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/Avro.DataWriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.DataWriteBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/Avro.DeleteWriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.DeleteWriteBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/Avro.ReadBuilder.html" title="class in org.apache.iceberg.avro">Avro.ReadBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/Avro.WriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.WriteBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/AvroEncoderUtil.html" title="class in org.apache.iceberg.avro">AvroEncoderUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/AvroIterable.html" title="class in org.apache.iceberg.avro">AvroIterable</a>&lt;<a href="org/apache/iceberg/avro/AvroIterable.html" title="type parameter in AvroIterable">D</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/AvroMetrics.html" title="class in org.apache.iceberg.avro">AvroMetrics</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/AvroSchemaUtil.html" title="class in org.apache.iceberg.avro">AvroSchemaUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/AvroSchemaVisitor.html" title="class in org.apache.iceberg.avro">AvroSchemaVisitor</a>&lt;<a href="org/apache/iceberg/avro/AvroSchemaVisitor.html" title="type parameter in AvroSchemaVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/AvroSchemaWithTypeVisitor.html" title="class in org.apache.iceberg.avro">AvroSchemaWithTypeVisitor</a>&lt;<a href="org/apache/iceberg/avro/AvroSchemaWithTypeVisitor.html" title="type parameter in AvroSchemaWithTypeVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/data/AvroWithFlinkSchemaVisitor.html" title="class in org.apache.iceberg.flink.data">AvroWithFlinkSchemaVisitor</a>&lt;<a href="org/apache/iceberg/flink/data/AvroWithFlinkSchemaVisitor.html" title="type parameter in AvroWithFlinkSchemaVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/AvroWithPartnerByStructureVisitor.html" title="class in org.apache.iceberg.avro">AvroWithPartnerByStructureVisitor</a>&lt;<a href="org/apache/iceberg/avro/AvroWithPartnerByStructureVisitor.html" title="type parameter in AvroWithPartnerByStructureVisitor">P</a>,&#8203;<a href="org/apache/iceberg/avro/AvroWithPartnerByStructureVisitor.html" title="type parameter in AvroWithPartnerByStructureVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A abstract avro schema visitor with partner type.</div>
+</th>
+</tr>
+<tr id="i35" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/AvroWithSparkSchemaVisitor.html" title="class in org.apache.iceberg.spark.data">AvroWithSparkSchemaVisitor</a>&lt;<a href="org/apache/iceberg/spark/data/AvroWithSparkSchemaVisitor.html" title="type parameter in AvroWithSparkSchemaVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i36" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/aws/AwsClientFactories.html" title="class in org.apache.iceberg.aws">AwsClientFactories</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i37" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws">AwsClientFactory</a></td>
+<th class="colLast" scope="row">
+<div class="block">Interface to customize AWS clients used by Iceberg.</div>
+</th>
+</tr>
+<tr id="i38" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i39" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/BaseColumnIterator.html" title="class in org.apache.iceberg.parquet">BaseColumnIterator</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i40" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/BaseCombinedScanTask.html" title="class in org.apache.iceberg">BaseCombinedScanTask</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i41" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteOrphanFilesActionResult</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i42" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/actions/BaseDeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseDeleteOrphanFilesSparkAction</a></td>
+<th class="colLast" scope="row">
+<div class="block">An action that removes orphan metadata and data files by listing a given location and comparing
+ the actual files in that location with data and metadata files referenced by all valid snapshots.</div>
+</th>
+</tr>
+<tr id="i43" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i44" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/actions/BaseDeleteReachableFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseDeleteReachableFilesSparkAction</a></td>
+<th class="colLast" scope="row">
+<div class="block">An implementation of <a href="org/apache/iceberg/actions/DeleteReachableFiles.html" title="interface in org.apache.iceberg.actions"><code>DeleteReachableFiles</code></a> that uses metadata tables in Spark
+ to determine which files should be deleted.</div>
+</th>
+</tr>
+<tr id="i45" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i46" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/actions/BaseExpireSnapshotsSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseExpireSnapshotsSparkAction</a></td>
+<th class="colLast" scope="row">
+<div class="block">An action that performs the same operation as <a href="org/apache/iceberg/ExpireSnapshots.html" title="interface in org.apache.iceberg"><code>ExpireSnapshots</code></a> but uses Spark
+ to determine the delta in files between the pre and post-expiration table metadata.</div>
+</th>
+</tr>
+<tr id="i47" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i48" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i49" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/BaseMetastoreTableOperations.html" title="class in org.apache.iceberg">BaseMetastoreTableOperations</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i50" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/BaseMetastoreTableOperations.CommitStatus.html" title="enum in org.apache.iceberg">BaseMetastoreTableOperations.CommitStatus</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i51" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/BaseMigrateTableActionResult.html" title="class in org.apache.iceberg.actions">BaseMigrateTableActionResult</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i52" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/actions/BaseMigrateTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseMigrateTableSparkAction</a></td>
+<th class="colLast" scope="row">
+<div class="block">Takes a Spark table in the source catalog and attempts to transform it into an Iceberg
+ table in the same location with the same identifier.</div>
+</th>
+</tr>
+<tr id="i53" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/BaseOverwriteFiles.html" title="class in org.apache.iceberg">BaseOverwriteFiles</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i54" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i55" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/BasePageIterator.IntIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator.IntIterator</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i56" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/parquet/BaseParquetReaders.html" title="class in org.apache.iceberg.data.parquet">BaseParquetReaders</a>&lt;<a href="org/apache/iceberg/data/parquet/BaseParquetReaders.html" title="type parameter in BaseParquetReaders">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i57" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/parquet/BaseParquetWriter.html" title="class in org.apache.iceberg.data.parquet">BaseParquetWriter</a>&lt;<a href="org/apache/iceberg/data/parquet/BaseParquetWriter.html" title="type parameter in BaseParquetWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i58" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/BaseReplacePartitions.html" title="class in org.apache.iceberg">BaseReplacePartitions</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i59" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/BaseReplaceSortOrder.html" title="class in org.apache.iceberg">BaseReplaceSortOrder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i60" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a>&lt;<a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="type parameter in BaseRewriteDataFilesAction">ThisT</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i61" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesFileGroupInfo</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i62" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesResult.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesResult</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i63" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/actions/BaseRewriteDataFilesSpark3Action.html" title="class in org.apache.iceberg.spark.actions">BaseRewriteDataFilesSpark3Action</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i64" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/BaseRewriteManifests.html" title="class in org.apache.iceberg">BaseRewriteManifests</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i65" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">BaseRewriteManifestsActionResult</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i66" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/actions/BaseRewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseRewriteManifestsSparkAction</a></td>
+<th class="colLast" scope="row">
+<div class="block">An action that rewrites manifests in a distributed manner and co-locates metadata for partitions.</div>
+</th>
+</tr>
+<tr id="i67" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/BaseSnapshotTableActionResult.html" title="class in org.apache.iceberg.actions">BaseSnapshotTableActionResult</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i68" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/actions/BaseSnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseSnapshotTableSparkAction</a></td>
+<th class="colLast" scope="row">
+<div class="block">Creates a new Iceberg table based on a source Spark table.</div>
+</th>
+</tr>
+<tr id="i69" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/BaseTable.html" title="class in org.apache.iceberg">BaseTable</a></td>
+<th class="colLast" scope="row">
+<div class="block">Base <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation.</div>
+</th>
+</tr>
+<tr id="i70" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/BaseTaskWriter.html" title="class in org.apache.iceberg.io">BaseTaskWriter</a>&lt;<a href="org/apache/iceberg/io/BaseTaskWriter.html" title="type parameter in BaseTaskWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i71" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/parquet/BaseVectorizedParquetValuesReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">BaseVectorizedParquetValuesReader</a></td>
+<th class="colLast" scope="row">
+<div class="block">A values reader for Parquet's run-length encoded data that reads column data in batches instead of one value at a
+ time.</div>
+</th>
+</tr>
+<tr id="i72" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/BaseWriterFactory.html" title="class in org.apache.iceberg.data">BaseWriterFactory</a>&lt;<a href="org/apache/iceberg/data/BaseWriterFactory.html" title="type parameter in BaseWriterFactory">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A base writer factory to be extended by query engine integrations.</div>
+</th>
+</tr>
+<tr id="i73" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/BinaryUtil.html" title="class in org.apache.iceberg.util">BinaryUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i74" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/Binder.html" title="class in org.apache.iceberg.expressions">Binder</a></td>
+<th class="colLast" scope="row">
+<div class="block">Rewrites <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>expressions</code></a> by replacing unbound named references with references to
+ fields in a struct schema.</div>
+</th>
+</tr>
+<tr id="i75" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/BinPacking.html" title="class in org.apache.iceberg.util">BinPacking</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i76" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/BinPacking.ListPacker.html" title="class in org.apache.iceberg.util">BinPacking.ListPacker</a>&lt;<a href="org/apache/iceberg/util/BinPacking.ListPacker.html" title="type parameter in BinPacking.ListPacker">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i77" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/BinPacking.PackingIterable.html" title="class in org.apache.iceberg.util">BinPacking.PackingIterable</a>&lt;<a href="org/apache/iceberg/util/BinPacking.PackingIterable.html" title="type parameter in BinPacking.PackingIterable">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i78" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></td>
+<th class="colLast" scope="row">
+<div class="block">A rewrite strategy for data files which determines which files to rewrite
+ based on their size.</div>
+</th>
+</tr>
+<tr id="i79" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/Bound.html" title="interface in org.apache.iceberg.expressions">Bound</a>&lt;<a href="org/apache/iceberg/expressions/Bound.html" title="type parameter in Bound">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Represents a bound value expression.</div>
+</th>
+</tr>
+<tr id="i80" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/BoundLiteralPredicate.html" title="class in org.apache.iceberg.expressions">BoundLiteralPredicate</a>&lt;<a href="org/apache/iceberg/expressions/BoundLiteralPredicate.html" title="type parameter in BoundLiteralPredicate">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i81" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/BoundPredicate.html" title="class in org.apache.iceberg.expressions">BoundPredicate</a>&lt;<a href="org/apache/iceberg/expressions/BoundPredicate.html" title="type parameter in BoundPredicate">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i82" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/BoundReference.html" title="class in org.apache.iceberg.expressions">BoundReference</a>&lt;<a href="org/apache/iceberg/expressions/BoundReference.html" title="type parameter in BoundReference">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i83" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/BoundSetPredicate.html" title="class in org.apache.iceberg.expressions">BoundSetPredicate</a>&lt;<a href="org/apache/iceberg/expressions/BoundSetPredicate.html" title="type parameter in BoundSetPredicate">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i84" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/BoundTerm.html" title="interface in org.apache.iceberg.expressions">BoundTerm</a>&lt;<a href="org/apache/iceberg/expressions/BoundTerm.html" title="type parameter in BoundTerm">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Represents a bound term.</div>
+</th>
+</tr>
+<tr id="i85" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/BoundTransform.html" title="class in org.apache.iceberg.expressions">BoundTransform</a>&lt;<a href="org/apache/iceberg/expressions/BoundTransform.html" title="type parameter in BoundTransform">S</a>,&#8203;<a href="org/apache/iceberg/expressions/BoundTransform.html" title="type parameter in BoundTransform">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A transform expression.</div>
+</th>
+</tr>
+<tr id="i86" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/BoundUnaryPredicate.html" title="class in org.apache.iceberg.expressions">BoundUnaryPredicate</a>&lt;<a href="org/apache/iceberg/expressions/BoundUnaryPredicate.html" title="type parameter in BoundUnaryPredicate">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i87" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/ByteBuffers.html" title="class in org.apache.iceberg.util">ByteBuffers</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i88" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/hive/CachedClientPool.html" title="class in org.apache.iceberg.hive">CachedClientPool</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i89" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/CachingCatalog.html" title="class in org.apache.iceberg">CachingCatalog</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i90" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></td>
+<th class="colLast" scope="row">
+<div class="block">A Catalog API for table create, drop, and load operations.</div>
+</th>
+</tr>
+<tr id="i91" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/catalog/Catalog.TableBuilder.html" title="interface in org.apache.iceberg.catalog">Catalog.TableBuilder</a></td>
+<th class="colLast" scope="row">
+<div class="block">A builder used to create valid <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>tables</code></a> or start create/replace <a href="org/apache/iceberg/Transaction.html" title="interface in org.apache.iceberg"><code>transactions</code></a>.</div>
+</th>
+</tr>
+<tr id="i92" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></td>
+<th class="colLast" scope="row">
+<div class="block">Serializable loader to load an Iceberg <a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><code>Catalog</code></a>.</div>
+</th>
+</tr>
+<tr id="i93" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/CatalogLoader.CustomCatalogLoader.html" title="class in org.apache.iceberg.flink">CatalogLoader.CustomCatalogLoader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i94" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/CatalogLoader.HadoopCatalogLoader.html" title="class in org.apache.iceberg.flink">CatalogLoader.HadoopCatalogLoader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i95" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/CatalogLoader.HiveCatalogLoader.html" title="class in org.apache.iceberg.flink">CatalogLoader.HiveCatalogLoader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i96" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i97" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/Catalogs.html" title="class in org.apache.iceberg.mr">Catalogs</a></td>
+<th class="colLast" scope="row">
+<div class="block">Class for catalog resolution and accessing the common functions for <a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><code>Catalog</code></a> API.</div>
+</th>
+</tr>
+<tr id="i98" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/CatalogUtil.html" title="class in org.apache.iceberg">CatalogUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i99" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/CharSequenceSet.html" title="class in org.apache.iceberg.util">CharSequenceSet</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i100" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/CharSequenceWrapper.html" title="class in org.apache.iceberg.util">CharSequenceWrapper</a></td>
+<th class="colLast" scope="row">
+<div class="block">Wrapper class to adapt CharSequence for use in maps and sets.</div>
+</th>
+</tr>
+<tr id="i101" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/CheckCompatibility.html" title="class in org.apache.iceberg.types">CheckCompatibility</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i102" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/exceptions/CherrypickAncestorCommitException.html" title="class in org.apache.iceberg.exceptions">CherrypickAncestorCommitException</a></td>
+<th class="colLast" scope="row">
+<div class="block">This exception occurs when one cherrypicks an ancestor or when the picked snapshot is already linked to
+ a published ancestor.</div>
+</th>
+</tr>
+<tr id="i103" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/ClientPool.html" title="interface in org.apache.iceberg">ClientPool</a>&lt;<a href="org/apache/iceberg/ClientPool.html" title="type parameter in ClientPool">C</a>,&#8203;<a href="org/apache/iceberg/ClientPool.html" title="type parameter in ClientPool">E</a> extends java.lang.Exception&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i104" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/ClientPool.Action.html" title="interface in org.apache.iceberg">ClientPool.Action</a>&lt;<a href="org/apache/iceberg/ClientPool.Action.html" title="type parameter in ClientPool.Action">R</a>,&#8203;<a href="org/apache/iceberg/ClientPool.Action.html" title="type parameter in ClientPool.Action">C</a>,&#8203;<a href="org/apache/iceberg/ClientPool.Action.html" title="type parameter in ClientPool.Action">E</a> extends java.lang.Exception&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i105" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/ClientPoolImpl.html" title="class in org.apache.iceberg">ClientPoolImpl</a>&lt;<a href="org/apache/iceberg/ClientPoolImpl.html" title="type parameter in ClientPoolImpl">C</a>,&#8203;<a href="org/apache/iceberg/ClientPoolImpl.html" title="type parameter in ClientPoolImpl">E</a> extends java.lang.Exception&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i106" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/CloseableGroup.html" title="class in org.apache.iceberg.io">CloseableGroup</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i107" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a>&lt;<a href="org/apache/iceberg/io/CloseableIterable.html" title="type parameter in CloseableIterable">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i108" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/CloseableIterable.ConcatCloseableIterable.html" title="class in org.apache.iceberg.io">CloseableIterable.ConcatCloseableIterable</a>&lt;<a href="org/apache/iceberg/io/CloseableIterable.ConcatCloseableIterable.html" title="type parameter in CloseableIterable.ConcatCloseableIterable">E</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i109" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/CloseableIterator.html" title="interface in org.apache.iceberg.io">CloseableIterator</a>&lt;<a href="org/apache/iceberg/io/CloseableIterator.html" title="type parameter in CloseableIterator">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i110" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/ClosingIterator.html" title="class in org.apache.iceberg.io">ClosingIterator</a>&lt;<a href="org/apache/iceberg/io/ClosingIterator.html" title="type parameter in ClosingIterator">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A convenience wrapper around <a href="org/apache/iceberg/io/CloseableIterator.html" title="interface in org.apache.iceberg.io"><code>CloseableIterator</code></a>, providing auto-close
+ functionality when all of the elements in the iterator are consumed.</div>
+</th>
+</tr>
+<tr id="i111" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/ClusterDistributionImpl.html" title="class in org.apache.spark.sql.connector.iceberg.distributions.impl">ClusterDistributionImpl</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i112" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/ClusteredDistribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions">ClusteredDistribution</a></td>
+<th class="colLast" scope="row">
+<div class="block">A distribution where tuples that share the same values for clustering expressions are co-located
+ in the same partition.</div>
+</th>
+</tr>
+<tr id="i113" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/ColumnarBatch.html" title="class in org.apache.iceberg.arrow.vectorized">ColumnarBatch</a></td>
+<th class="colLast" scope="row">
+<div class="block">This class is inspired by Spark's <code>ColumnarBatch</code>.</div>
+</th>
+</tr>
+<tr id="i114" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnarBatchReader</a></td>
+<th class="colLast" scope="row">
+<div class="block"><a href="org/apache/iceberg/parquet/VectorizedReader.html" title="interface in org.apache.iceberg.parquet"><code>VectorizedReader</code></a> that returns Spark's <code>ColumnarBatch</code> to support Spark's vectorized read path.</div>
+</th>
+</tr>
+<tr id="i115" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ColumnIterator.html" title="class in org.apache.iceberg.parquet">ColumnIterator</a>&lt;<a href="org/apache/iceberg/parquet/ColumnIterator.html" title="type parameter in ColumnIterator">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i116" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/ColumnVector.html" title="class in org.apache.iceberg.arrow.vectorized">ColumnVector</a></td>
+<th class="colLast" scope="row">
+<div class="block">This class is inspired by Spark's <code>ColumnVector</code>.</div>
+</th>
+</tr>
+<tr id="i117" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ColumnWriter.html" title="class in org.apache.iceberg.parquet">ColumnWriter</a>&lt;<a href="org/apache/iceberg/parquet/ColumnWriter.html" title="type parameter in ColumnWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i118" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/CombinedScanTask.html" title="interface in org.apache.iceberg">CombinedScanTask</a></td>
+<th class="colLast" scope="row">
+<div class="block">A scan task made of several ranges from files.</div>
+</th>
+</tr>
+<tr id="i119" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/exceptions/CommitFailedException.html" title="class in org.apache.iceberg.exceptions">CommitFailedException</a></td>
+<th class="colLast" scope="row">
+<div class="block">Exception raised when a commit fails because of out of date metadata.</div>
+</th>
+</tr>
+<tr id="i120" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/exceptions/CommitStateUnknownException.html" title="class in org.apache.iceberg.exceptions">CommitStateUnknownException</a></td>
+<th class="colLast" scope="row">
+<div class="block">Exception for a failure to confirm either affirmatively or negatively that a commit was applied.</div>
+</th>
+</tr>
+<tr id="i121" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Comparators.html" title="class in org.apache.iceberg.types">Comparators</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i122" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/hadoop/ConfigProperties.html" title="class in org.apache.iceberg.hadoop">ConfigProperties</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i123" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/mapred/Container.html" title="class in org.apache.iceberg.mr.mapred">Container</a>&lt;<a href="org/apache/iceberg/mr/mapred/Container.html" title="type parameter in Container">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A simple container of objects that you can get and set.</div>
+</th>
+</tr>
+<tr id="i124" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a>&lt;<a href="org/apache/iceberg/ContentFile.html" title="type parameter in ContentFile">F</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Superinterface of <a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> and <a href="org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg"><code>DeleteFile</code></a> that exposes common methods.</div>
+</th>
+</tr>
+<tr id="i125" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Conversions.html" title="class in org.apache.iceberg.types">Conversions</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i126" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/CreateAction.html" title="interface in org.apache.iceberg.actions">CreateAction</a></td>
+<th class="colLast" scope="row">Deprecated.
+<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions"><code>SnapshotTable</code></a> or <a href="org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions"><code>MigrateTable</code></a> instead.</div>
+</th>
+</tr>
+<tr id="i127" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/events/CreateSnapshotEvent.html" title="class in org.apache.iceberg.events">CreateSnapshotEvent</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i128" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a></td>
+<th class="colLast" scope="row">
+<div class="block">Interface for data files listed in a table manifest.</div>
+</th>
+</tr>
+<tr id="i129" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/DataFiles.html" title="class in org.apache.iceberg">DataFiles</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i130" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/DataFiles.Builder.html" title="class in org.apache.iceberg">DataFiles.Builder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i131" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/DataFilesTable.html" title="class in org.apache.iceberg">DataFilesTable</a></td>
+<th class="colLast" scope="row">
+<div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's data files as rows.</div>
+</th>
+</tr>
+<tr id="i132" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/DataFilesTable.FilesTableScan.html" title="class in org.apache.iceberg">DataFilesTable.FilesTableScan</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i133" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/DataOperations.html" title="class in org.apache.iceberg">DataOperations</a></td>
+<th class="colLast" scope="row">
+<div class="block">Data operations that produce snapshots.</div>
+</th>
+</tr>
+<tr id="i134" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/avro/DataReader.html" title="class in org.apache.iceberg.data.avro">DataReader</a>&lt;<a href="org/apache/iceberg/data/avro/DataReader.html" title="type parameter in DataReader">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i135" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/DataTableScan.html" title="class in org.apache.iceberg">DataTableScan</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i136" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/DataTask.html" title="interface in org.apache.iceberg">DataTask</a></td>
+<th class="colLast" scope="row">
+<div class="block">A task that returns data as <a href="org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg"><code>rows</code></a> instead of where to read data.</div>
+</th>
+</tr>
+<tr id="i137" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/avro/DataWriter.html" title="class in org.apache.iceberg.data.avro">DataWriter</a>&lt;<a href="org/apache/iceberg/data/avro/DataWriter.html" title="type parameter in DataWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i138" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/DataWriter.html" title="class in org.apache.iceberg.io">DataWriter</a>&lt;<a href="org/apache/iceberg/io/DataWriter.html" title="type parameter in DataWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i139" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/DateTimeUtil.html" title="class in org.apache.iceberg.util">DateTimeUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i140" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/DecimalUtil.html" title="class in org.apache.iceberg.util">DecimalUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i141" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/avro/DecoderResolver.html" title="class in org.apache.iceberg.data.avro">DecoderResolver</a></td>
+<th class="colLast" scope="row">
+<div class="block">Resolver to resolve <code>Decoder</code> to a <code>ResolvingDecoder</code>.</div>
+</th>
+</tr>
+<tr id="i142" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/DelegatingInputStream.html" title="interface in org.apache.iceberg.io">DelegatingInputStream</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i143" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/DelegatingOutputStream.html" title="interface in org.apache.iceberg.io">DelegatingOutputStream</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i144" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a></td>
+<th class="colLast" scope="row">
+<div class="block">Interface for delete files listed in a table delete manifest.</div>
+</th>
+</tr>
+<tr id="i145" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a></td>
+<th class="colLast" scope="row">
+<div class="block">API for deleting files from a table.</div>
+</th>
+</tr>
+<tr id="i146" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/DeleteFilter.html" title="class in org.apache.iceberg.data">DeleteFilter</a>&lt;<a href="org/apache/iceberg/data/DeleteFilter.html" title="type parameter in DeleteFilter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i147" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a></td>
+<th class="colLast" scope="row">
+<div class="block">An action that deletes orphan files in a table.</div>
+</th>
+</tr>
+<tr id="i148" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/DeleteOrphanFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles.Result</a></td>
+<th class="colLast" scope="row">
+<div class="block">The action result that contains a summary of the execution.</div>
+</th>
+</tr>
+<tr id="i149" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/DeleteReachableFiles.html" title="interface in org.apache.iceberg.actions">DeleteReachableFiles</a></td>
+<th class="colLast" scope="row">
+<div class="block">An action that deletes all files referenced by a table metadata file.</div>
+</th>
+</tr>
+<tr id="i150" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/DeleteReachableFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteReachableFiles.Result</a></td>
+<th class="colLast" scope="row">
+<div class="block">The action result that contains a summary of the execution.</div>
+</th>
+</tr>
+<tr id="i151" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/deletes/Deletes.html" title="class in org.apache.iceberg.deletes">Deletes</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i152" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/DeleteSchemaUtil.html" title="class in org.apache.iceberg.io">DeleteSchemaUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i153" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/Distribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions">Distribution</a></td>
+<th class="colLast" scope="row">
+<div class="block">An interface that defines how data is distributed across partitions.</div>
+</th>
+</tr>
+<tr id="i154" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a></td>
+<th class="colLast" scope="row">
+<div class="block">Enum of supported write distribution mode, it defines the write behavior of batch or streaming job:</div>
+</th>
+</tr>
+<tr id="i155" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/Distributions.html" title="class in org.apache.spark.sql.connector.iceberg.distributions">Distributions</a></td>
+<th class="colLast" scope="row">
+<div class="block">Helper methods to create distributions to pass into Spark.</div>
+</th>
+</tr>
+<tr id="i156" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/DoubleFieldMetrics.html" title="class in org.apache.iceberg">DoubleFieldMetrics</a></td>
+<th class="colLast" scope="row">
+<div class="block">Iceberg internally tracked field level metrics, used by Parquet and ORC writers only.</div>
+</th>
+</tr>
+<tr id="i157" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/DoubleFieldMetrics.Builder.html" title="class in org.apache.iceberg">DoubleFieldMetrics.Builder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i158" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/exceptions/DuplicateWAPCommitException.html" title="class in org.apache.iceberg.exceptions">DuplicateWAPCommitException</a></td>
+<th class="colLast" scope="row">
+<div class="block">This exception occurs when the WAP workflow detects a duplicate wap commit.</div>
+</th>
+</tr>
+<tr id="i159" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/aws/dynamodb/DynamoDbCatalog.html" title="class in org.apache.iceberg.aws.dynamodb">DynamoDbCatalog</a></td>
+<th class="colLast" scope="row">
+<div class="block">DynamoDB implementation of Iceberg catalog</div>
+</th>
+</tr>
+<tr id="i160" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/common/DynClasses.html" title="class in org.apache.iceberg.common">DynClasses</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i161" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/common/DynClasses.Builder.html" title="class in org.apache.iceberg.common">DynClasses.Builder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i162" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/common/DynConstructors.html" title="class in org.apache.iceberg.common">DynConstructors</a></td>
+<th class="colLast" scope="row">
+<div class="block">Copied from parquet-common</div>
+</th>
+</tr>
+<tr id="i163" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/common/DynConstructors.Builder.html" title="class in org.apache.iceberg.common">DynConstructors.Builder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i164" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/common/DynConstructors.Ctor.html" title="class in org.apache.iceberg.common">DynConstructors.Ctor</a>&lt;<a href="org/apache/iceberg/common/DynConstructors.Ctor.html" title="type parameter in DynConstructors.Ctor">C</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i165" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/common/DynFields.html" title="class in org.apache.iceberg.common">DynFields</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i166" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/common/DynFields.BoundField.html" title="class in org.apache.iceberg.common">DynFields.BoundField</a>&lt;<a href="org/apache/iceberg/common/DynFields.BoundField.html" title="type parameter in DynFields.BoundField">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i167" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/common/DynFields.Builder.html" title="class in org.apache.iceberg.common">DynFields.Builder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i168" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/common/DynFields.StaticField.html" title="class in org.apache.iceberg.common">DynFields.StaticField</a>&lt;<a href="org/apache/iceberg/common/DynFields.StaticField.html" title="type parameter in DynFields.StaticField">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i169" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/common/DynFields.UnboundField.html" title="class in org.apache.iceberg.common">DynFields.UnboundField</a>&lt;<a href="org/apache/iceberg/common/DynFields.UnboundField.html" title="type parameter in DynFields.UnboundField">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Convenience wrapper class around <code>Field</code>.</div>
+</th>
+</tr>
+<tr id="i170" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/common/DynMethods.html" title="class in org.apache.iceberg.common">DynMethods</a></td>
+<th class="colLast" scope="row">
+<div class="block">Copied from parquet-common</div>
+</th>
+</tr>
+<tr id="i171" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/common/DynMethods.BoundMethod.html" title="class in org.apache.iceberg.common">DynMethods.BoundMethod</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i172" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/common/DynMethods.Builder.html" title="class in org.apache.iceberg.common">DynMethods.Builder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i173" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/common/DynMethods.StaticMethod.html" title="class in org.apache.iceberg.common">DynMethods.StaticMethod</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i174" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/common/DynMethods.UnboundMethod.html" title="class in org.apache.iceberg.common">DynMethods.UnboundMethod</a></td>
+<th class="colLast" scope="row">
+<div class="block">Convenience wrapper class around <code>Method</code>.</div>
+</th>
+</tr>
+<tr id="i175" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/encryption/EncryptedFiles.html" title="class in org.apache.iceberg.encryption">EncryptedFiles</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i176" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/encryption/EncryptedInputFile.html" title="interface in org.apache.iceberg.encryption">EncryptedInputFile</a></td>
+<th class="colLast" scope="row">
+<div class="block">Thin wrapper around an <a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io"><code>InputFile</code></a> instance that is encrypted.</div>
+</th>
+</tr>
+<tr id="i177" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/encryption/EncryptedOutputFile.html" title="interface in org.apache.iceberg.encryption">EncryptedOutputFile</a></td>
+<th class="colLast" scope="row">
+<div class="block">Thin wrapper around a <a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io"><code>OutputFile</code></a> that is encrypting bytes written to the underlying
+ file system, via an encryption key that is symbolized by the enclosed
+ <a href="org/apache/iceberg/encryption/EncryptionKeyMetadata.html" title="interface in org.apache.iceberg.encryption"><code>EncryptionKeyMetadata</code></a>.</div>
+</th>
+</tr>
+<tr id="i178" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/encryption/EncryptionKeyMetadata.html" title="interface in org.apache.iceberg.encryption">EncryptionKeyMetadata</a></td>
+<th class="colLast" scope="row">
+<div class="block">Light typedef over a ByteBuffer that indicates that the given bytes represent metadata about
+ an encrypted data file's encryption key.</div>
+</th>
+</tr>
+<tr id="i179" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/encryption/EncryptionKeyMetadatas.html" title="class in org.apache.iceberg.encryption">EncryptionKeyMetadatas</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i180" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/encryption/EncryptionManager.html" title="interface in org.apache.iceberg.encryption">EncryptionManager</a></td>
+<th class="colLast" scope="row">
+<div class="block">Module for encrypting and decrypting table data files.</div>
+</th>
+</tr>
+<tr id="i181" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/source/EqualityDeleteRowReader.html" title="class in org.apache.iceberg.spark.source">EqualityDeleteRowReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i182" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html" title="class in org.apache.iceberg.deletes">EqualityDeleteWriter</a>&lt;<a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html" title="type parameter in EqualityDeleteWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i183" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/Evaluator.html" title="class in org.apache.iceberg.expressions">Evaluator</a></td>
+<th class="colLast" scope="row">
+<div class="block">Evaluates an <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a> for data described by a <a href="org/apache/iceberg/types/Types.StructType.html" title="class in org.apache.iceberg.types"><code>Types.StructType</code></a>.</div>
+</th>
+</tr>
+<tr id="i184" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/Exceptions.html" title="class in org.apache.iceberg.util">Exceptions</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i185" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/ExceptionUtil.html" title="class in org.apache.iceberg.util">ExceptionUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i186" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/ExceptionUtil.Block.html" title="interface in org.apache.iceberg.util">ExceptionUtil.Block</a>&lt;<a href="org/apache/iceberg/util/ExceptionUtil.Block.html" title="type parameter in ExceptionUtil.Block">R</a>,&#8203;<a href="org/apache/iceberg/util/ExceptionUtil.Block.html" title="type parameter in ExceptionUtil.Block">E1</a> extends java.lang.Exception,&#8203;<a href="org/apache/iceberg/util/ExceptionUtil.Block.html" title="type para [...]
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i187" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/ExceptionUtil.CatchBlock.html" title="interface in org.apache.iceberg.util">ExceptionUtil.CatchBlock</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i188" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/ExceptionUtil.FinallyBlock.html" title="interface in org.apache.iceberg.util">ExceptionUtil.FinallyBlock</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i189" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/ExpireSnapshots.html" title="interface in org.apache.iceberg.actions">ExpireSnapshots</a></td>
+<th class="colLast" scope="row">
+<div class="block">An action that expires snapshots in a table.</div>
+</th>
+</tr>
+<tr id="i190" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/ExpireSnapshots.html" title="interface in org.apache.iceberg">ExpireSnapshots</a></td>
+<th class="colLast" scope="row">
+<div class="block">API for removing old <a href="org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><code>snapshots</code></a> from a table.</div>
+</th>
+</tr>
+<tr id="i191" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions">ExpireSnapshots.Result</a></td>
+<th class="colLast" scope="row">
+<div class="block">The action result that contains a summary of the execution.</div>
+</th>
+</tr>
+<tr id="i192" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/ExpireSnapshotsAction.html" title="class in org.apache.iceberg.actions">ExpireSnapshotsAction</a></td>
+<th class="colLast" scope="row">Deprecated.
+<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/spark/actions/BaseExpireSnapshotsSparkAction.html" title="class in org.apache.iceberg.spark.actions"><code>BaseExpireSnapshotsSparkAction</code></a> instead.</div>
+</th>
+</tr>
+<tr id="i193" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/ExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">ExpireSnapshotsActionResult</a></td>
+<th class="colLast" scope="row">Deprecated.</th>
+</tr>
+<tr id="i194" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.html" title="class in org.apache.iceberg.spark.procedures">ExpireSnapshotsProcedure</a></td>
+<th class="colLast" scope="row">
+<div class="block">A procedure that expires snapshots in a table.</div>
+</th>
+</tr>
+<tr id="i195" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a></td>
+<th class="colLast" scope="row">
+<div class="block">Represents a boolean expression tree.</div>
+</th>
+</tr>
+<tr id="i196" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/Expression.Operation.html" title="enum in org.apache.iceberg.expressions">Expression.Operation</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i197" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/Expressions.html" title="class in org.apache.iceberg.expressions">Expressions</a></td>
+<th class="colLast" scope="row">
+<div class="block">Factory methods for creating <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>expressions</code></a>.</div>
+</th>
+</tr>
+<tr id="i198" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/ExpressionVisitors.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors</a></td>
+<th class="colLast" scope="row">
+<div class="block">Utils for traversing <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>expressions</code></a>.</div>
+</th>
+</tr>
+<tr id="i199" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundExpressionVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.BoundExpressionVisitor</a>&lt;<a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundExpressionVisitor.html" title="type parameter in ExpressionVisitors.BoundExpressionVisitor">R</a>&gt;</td>
+<th class="colLast" scope="row">Deprecated.
+<div class="deprecationComment">use <a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundVisitor.html" title="class in org.apache.iceberg.expressions"><code>ExpressionVisitors.BoundVisitor</code></a> instead</div>
+</th>
+</tr>
+<tr id="i200" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.BoundVisitor</a>&lt;<a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundVisitor.html" title="type parameter in ExpressionVisitors.BoundVisitor">R</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i201" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/ExpressionVisitors.ExpressionVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.ExpressionVisitor</a>&lt;<a href="org/apache/iceberg/expressions/ExpressionVisitors.ExpressionVisitor.html" title="type parameter in ExpressionVisitors.ExpressionVisitor">R</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i202" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/catalog/ExtendedSupportsDelete.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">ExtendedSupportsDelete</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i203" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/False.html" title="class in org.apache.iceberg.expressions">False</a></td>
+<th class="colLast" scope="row">
+<div class="block">An <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>expression</code></a> that is always false.</div>
+</th>
+</tr>
+<tr id="i204" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/FieldMetrics.html" title="class in org.apache.iceberg">FieldMetrics</a>&lt;<a href="org/apache/iceberg/FieldMetrics.html" title="type parameter in FieldMetrics">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Iceberg internally tracked field level metrics.</div>
+</th>
+</tr>
+<tr id="i205" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/FileAppender.html" title="interface in org.apache.iceberg.io">FileAppender</a>&lt;<a href="org/apache/iceberg/io/FileAppender.html" title="type parameter in FileAppender">D</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i206" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/FileAppenderFactory.html" title="interface in org.apache.iceberg.io">FileAppenderFactory</a>&lt;<a href="org/apache/iceberg/io/FileAppenderFactory.html" title="type parameter in FileAppenderFactory">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Factory to create a new <a href="org/apache/iceberg/io/FileAppender.html" title="interface in org.apache.iceberg.io"><code>FileAppender</code></a> to write records.</div>
+</th>
+</tr>
+<tr id="i207" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/FileContent.html" title="enum in org.apache.iceberg">FileContent</a></td>
+<th class="colLast" scope="row">
+<div class="block">Content type stored in a file, one of DATA, POSITION_DELETES, or EQUALITY_DELETES.</div>
+</th>
+</tr>
+<tr id="i208" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/FileFormat.html" title="enum in org.apache.iceberg">FileFormat</a></td>
+<th class="colLast" scope="row">
+<div class="block">Enum of supported file formats.</div>
+</th>
+</tr>
+<tr id="i209" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a></td>
+<th class="colLast" scope="row">
+<div class="block">Pluggable module for reading, writing, and deleting files.</div>
+</th>
+</tr>
+<tr id="i210" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/FileMetadata.html" title="class in org.apache.iceberg">FileMetadata</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i211" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/FileMetadata.Builder.html" title="class in org.apache.iceberg">FileMetadata.Builder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i212" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i213" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/Files.html" title="class in org.apache.iceberg">Files</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i214" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a></td>
+<th class="colLast" scope="row">
+<div class="block">A scan task over a range of a single file.</div>
+</th>
+</tr>
+<tr id="i215" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i216" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/Filter.html" title="class in org.apache.iceberg.util">Filter</a>&lt;<a href="org/apache/iceberg/util/Filter.html" title="type parameter in Filter">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A Class for generic filters</div>
+</th>
+</tr>
+<tr id="i217" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/FilterIterator.html" title="class in org.apache.iceberg.io">FilterIterator</a>&lt;<a href="org/apache/iceberg/io/FilterIterator.html" title="type parameter in FilterIterator">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">An Iterator that filters another Iterator.</div>
+</th>
+</tr>
+<tr id="i218" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/FindFiles.html" title="class in org.apache.iceberg">FindFiles</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i219" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/FindFiles.Builder.html" title="class in org.apache.iceberg">FindFiles.Builder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i220" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/FixupTypes.html" title="class in org.apache.iceberg.types">FixupTypes</a></td>
+<th class="colLast" scope="row">
+<div class="block">This is used to fix primitive types to match a table schema.</div>
+</th>
+</tr>
+<tr id="i221" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/sink/FlinkAppenderFactory.html" title="class in org.apache.iceberg.flink.sink">FlinkAppenderFactory</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i222" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkAvroReader.html" title="class in org.apache.iceberg.flink.data">FlinkAvroReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i223" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkAvroWriter.html" title="class in org.apache.iceberg.flink.data">FlinkAvroWriter</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i224" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/FlinkCatalog.html" title="class in org.apache.iceberg.flink">FlinkCatalog</a></td>
+<th class="colLast" scope="row">
+<div class="block">A Flink Catalog implementation that wraps an Iceberg <a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><code>Catalog</code></a>.</div>
+</th>
+</tr>
+<tr id="i225" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html" title="class in org.apache.iceberg.flink">FlinkCatalogFactory</a></td>
+<th class="colLast" scope="row">
+<div class="block">A Flink Catalog factory implementation that creates <a href="org/apache/iceberg/flink/FlinkCatalog.html" title="class in org.apache.iceberg.flink"><code>FlinkCatalog</code></a>.</div>
+</th>
+</tr>
+<tr id="i226" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/util/FlinkCompatibilityUtil.html" title="class in org.apache.iceberg.flink.util">FlinkCompatibilityUtil</a></td>
+<th class="colLast" scope="row">
+<div class="block">This is a small util class that try to hide calls to Flink
+ Internal or PublicEvolve interfaces as Flink can change
+ those APIs during minor version release.</div>
+</th>
+</tr>
+<tr id="i227" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/FlinkConfigOptions.html" title="class in org.apache.iceberg.flink">FlinkConfigOptions</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i228" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/FlinkDynamicTableFactory.html" title="class in org.apache.iceberg.flink">FlinkDynamicTableFactory</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i229" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/FlinkFilters.html" title="class in org.apache.iceberg.flink">FlinkFilters</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i230" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/source/FlinkInputFormat.html" title="class in org.apache.iceberg.flink.source">FlinkInputFormat</a></td>
+<th class="colLast" scope="row">
+<div class="block">Flink <code>InputFormat</code> for Iceberg.</div>
+</th>
+</tr>
+<tr id="i231" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/source/FlinkInputSplit.html" title="class in org.apache.iceberg.flink.source">FlinkInputSplit</a></td>
+<th class="colLast" scope="row">
+<div class="block">TODO Implement <code>LocatableInputSplit</code>.</div>
+</th>
+</tr>
+<tr id="i232" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkOrcReader.html" title="class in org.apache.iceberg.flink.data">FlinkOrcReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i233" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkOrcWriter.html" title="class in org.apache.iceberg.flink.data">FlinkOrcWriter</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i234" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkParquetReaders.html" title="class in org.apache.iceberg.flink.data">FlinkParquetReaders</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i235" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkParquetWriters.html" title="class in org.apache.iceberg.flink.data">FlinkParquetWriters</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i236" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/FlinkSchemaUtil.html" title="class in org.apache.iceberg.flink">FlinkSchemaUtil</a></td>
+<th class="colLast" scope="row">
+<div class="block">Converter between Flink types and Iceberg type.</div>
+</th>
+</tr>
+<tr id="i237" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/sink/FlinkSink.html" title="class in org.apache.iceberg.flink.sink">FlinkSink</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i238" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html" title="class in org.apache.iceberg.flink.sink">FlinkSink.Builder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i239" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/source/FlinkSource.html" title="class in org.apache.iceberg.flink.source">FlinkSource</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i240" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html" title="class in org.apache.iceberg.flink.source">FlinkSource.Builder</a></td>
+<th class="colLast" scope="row">
+<div class="block">Source builder to build <code>DataStream</code>.</div>
+</th>
+</tr>
+<tr id="i241" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/FlinkTypeVisitor.html" title="class in org.apache.iceberg.flink">FlinkTypeVisitor</a>&lt;<a href="org/apache/iceberg/flink/FlinkTypeVisitor.html" title="type parameter in FlinkTypeVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i242" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkValueReaders.html" title="class in org.apache.iceberg.flink.data">FlinkValueReaders</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i243" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkValueWriters.html" title="class in org.apache.iceberg.flink.data">FlinkValueWriters</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i244" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/FloatFieldMetrics.html" title="class in org.apache.iceberg">FloatFieldMetrics</a></td>
+<th class="colLast" scope="row">
+<div class="block">Iceberg internally tracked field level metrics, used by Parquet and ORC writers only.</div>
+</th>
+</tr>
+<tr id="i245" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/FloatFieldMetrics.Builder.html" title="class in org.apache.iceberg">FloatFieldMetrics.Builder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i246" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/GenericAppenderFactory.html" title="class in org.apache.iceberg.data">GenericAppenderFactory</a></td>
+<th class="colLast" scope="row">
+<div class="block">Factory to create a new <a href="org/apache/iceberg/io/FileAppender.html" title="interface in org.apache.iceberg.io"><code>FileAppender</code></a> to write <a href="org/apache/iceberg/data/Record.html" title="interface in org.apache.iceberg.data"><code>Record</code></a>s.</div>
+</th>
+</tr>
+<tr id="i247" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.html" title="class in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">DecimalT</a>,&#8203;<a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVecto [...]
+<th class="colLast" scope="row">
+<div class="block">This class is creates typed <a href="org/apache/iceberg/arrow/vectorized/ArrowVectorAccessor.html" title="class in org.apache.iceberg.arrow.vectorized"><code>ArrowVectorAccessor</code></a> from <a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized"><code>VectorHolder</code></a>.</div>
+</th>
+</tr>
+<tr id="i248" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.ArrayFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.ArrayFactory</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.ArrayFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.ArrayFactory">ChildVectorT</a>,&#8203;<a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAcce [...]
+<th class="colLast" scope="row">
+<div class="block">Create an array value of type <code>ArrayT</code> from arrow vector value.</div>
+</th>
+</tr>
+<tr id="i249" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.DecimalFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.DecimalFactory</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.DecimalFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.DecimalFactory">DecimalT</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Create a decimal value of type <code>DecimalT</code> from arrow vector value.</div>
+</th>
+</tr>
+<tr id="i250" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.StringFactory</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.StringFactory">Utf8StringT</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Create a UTF8 String value of type <code>Utf8StringT</code> from arrow vector value.</div>
+</th>
+</tr>
+<tr id="i251" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StructChildFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.StructChildFactory</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StructChildFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.StructChildFactory">ChildVectorT</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Create a struct child vector of type <code>ChildVectorT</code> from arrow vector value.</div>
+</th>
+</tr>
+<tr id="i252" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/GenericDeleteFilter.html" title="class in org.apache.iceberg.data">GenericDeleteFilter</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i253" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/GenericManifestFile.html" title="class in org.apache.iceberg">GenericManifestFile</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i254" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/GenericManifestFile.CopyBuilder.html" title="class in org.apache.iceberg">GenericManifestFile.CopyBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i255" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/orc/GenericOrcReader.html" title="class in org.apache.iceberg.data.orc">GenericOrcReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i256" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/orc/GenericOrcReaders.html" title="class in org.apache.iceberg.data.orc">GenericOrcReaders</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i257" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/orc/GenericOrcWriter.html" title="class in org.apache.iceberg.data.orc">GenericOrcWriter</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i258" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/orc/GenericOrcWriters.html" title="class in org.apache.iceberg.data.orc">GenericOrcWriters</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i259" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/parquet/GenericParquetReaders.html" title="class in org.apache.iceberg.data.parquet">GenericParquetReaders</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i260" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/parquet/GenericParquetWriter.html" title="class in org.apache.iceberg.data.parquet">GenericParquetWriter</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i261" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/GenericPartitionFieldSummary.html" title="class in org.apache.iceberg">GenericPartitionFieldSummary</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i262" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/GenericRecord.html" title="class in org.apache.iceberg.data">GenericRecord</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i263" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue">GlueCatalog</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i264" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/GuavaClasses.html" title="class in org.apache.iceberg">GuavaClasses</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i265" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/hadoop/HadoopCatalog.html" title="class in org.apache.iceberg.hadoop">HadoopCatalog</a></td>
+<th class="colLast" scope="row">
+<div class="block">HadoopCatalog provides a way to use table names like db.table to work with path-based tables under a common
+ location.</div>
+</th>
+</tr>
+<tr id="i266" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/hadoop/HadoopConfigurable.html" title="interface in org.apache.iceberg.hadoop">HadoopConfigurable</a></td>
+<th class="colLast" scope="row">
+<div class="block">An interface that extends the Hadoop <code>Configurable</code> interface to offer better serialization support for
+ customizable Iceberg objects such as <a href="org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io"><code>FileIO</code></a>.</div>
+</th>
+</tr>
+<tr id="i267" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/hadoop/HadoopFileIO.html" title="class in org.apache.iceberg.hadoop">HadoopFileIO</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i268" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/hadoop/HadoopInputFile.html" title="class in org.apache.iceberg.hadoop">HadoopInputFile</a></td>
+<th class="colLast" scope="row">
+<div class="block"><a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io"><code>InputFile</code></a> implementation using the Hadoop <code>FileSystem</code> API.</div>
+</th>
+</tr>
+<tr id="i269" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/hadoop/HadoopOutputFile.html" title="class in org.apache.iceberg.hadoop">HadoopOutputFile</a></td>
+<th class="colLast" scope="row">
+<div class="block"><a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io"><code>OutputFile</code></a> implementation using the Hadoop <code>FileSystem</code> API.</div>
+</th>
+</tr>
+<tr id="i270" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/hadoop/HadoopTableOperations.html" title="class in org.apache.iceberg.hadoop">HadoopTableOperations</a></td>
+<th class="colLast" scope="row">
+<div class="block">TableOperations implementation for file systems that support atomic rename.</div>
+</th>
+</tr>
+<tr id="i271" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/hadoop/HadoopTables.html" title="class in org.apache.iceberg.hadoop">HadoopTables</a></td>
+<th class="colLast" scope="row">
+<div class="block">Implementation of Iceberg tables that uses the Hadoop FileSystem
+ to store metadata and manifests.</div>
+</th>
+</tr>
+<tr id="i272" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/HasTableOperations.html" title="interface in org.apache.iceberg">HasTableOperations</a></td>
+<th class="colLast" scope="row">
+<div class="block">Used to expose a table's TableOperations.</div>
+</th>
+</tr>
+<tr id="i273" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/hadoop/HiddenPathFilter.html" title="class in org.apache.iceberg.hadoop">HiddenPathFilter</a></td>
+<th class="colLast" scope="row">
+<div class="block">A <code>PathFilter</code> that filters out hidden paths.</div>
+</th>
+</tr>
+<tr id="i274" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/HistoryEntry.html" title="interface in org.apache.iceberg">HistoryEntry</a></td>
+<th class="colLast" scope="row">
+<div class="block">Table history entry.</div>
+</th>
+</tr>
+<tr id="i275" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/HistoryTable.html" title="class in org.apache.iceberg">HistoryTable</a></td>
+<th class="colLast" scope="row">
+<div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's history as rows.</div>
+</th>
+</tr>
+<tr id="i276" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i277" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/hive/HiveCatalogs.html" title="class in org.apache.iceberg.hive">HiveCatalogs</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i278" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/hive/HiveClientPool.html" title="class in org.apache.iceberg.hive">HiveClientPool</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i279" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergFilterFactory.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergFilterFactory</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i280" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergInputFormat.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergInputFormat</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i281" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergMetaHook.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergMetaHook</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i282" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergOutputCommitter.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergOutputCommitter</a></td>
+<th class="colLast" scope="row">
+<div class="block">An Iceberg table committer for adding data files to the Iceberg tables.</div>
+</th>
+</tr>
+<tr id="i283" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergOutputFormat.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergOutputFormat</a>&lt;<a href="org/apache/iceberg/mr/hive/HiveIcebergOutputFormat.html" title="type parameter in HiveIcebergOutputFormat">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i284" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergSerDe.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergSerDe</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i285" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergSplit.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergSplit</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i286" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergStorageHandler</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i287" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/hive/HiveSchemaUtil.html" title="class in org.apache.iceberg.hive">HiveSchemaUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i288" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/hive/HiveTableOperations.html" title="class in org.apache.iceberg.hive">HiveTableOperations</a></td>
+<th class="colLast" scope="row">
+<div class="block">TODO we should be able to extract some more commonalities to BaseMetastoreTableOperations to
+ avoid code duplication between this class and Metacat Tables.</div>
+</th>
+</tr>
+<tr id="i289" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/vectorized/IcebergArrowColumnVector.html" title="class in org.apache.iceberg.spark.data.vectorized">IcebergArrowColumnVector</a></td>
+<th class="colLast" scope="row">
+<div class="block">Implementation of Spark's <code>ColumnVector</code> interface.</div>
+</th>
+</tr>
+<tr id="i290" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergBinaryObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergBinaryObjectInspector</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i291" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergDateObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergDateObjectInspector</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i292" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergDecimalObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergDecimalObjectInspector</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i293" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/avro/IcebergDecoder.html" title="class in org.apache.iceberg.data.avro">IcebergDecoder</a>&lt;<a href="org/apache/iceberg/data/avro/IcebergDecoder.html" title="type parameter in IcebergDecoder">D</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i294" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/avro/IcebergEncoder.html" title="class in org.apache.iceberg.data.avro">IcebergEncoder</a>&lt;<a href="org/apache/iceberg/data/avro/IcebergEncoder.html" title="type parameter in IcebergEncoder">D</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i295" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergFixedObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergFixedObjectInspector</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i296" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/IcebergGenerics.html" title="class in org.apache.iceberg.data">IcebergGenerics</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i297" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/IcebergGenerics.ScanBuilder.html" title="class in org.apache.iceberg.data">IcebergGenerics.ScanBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i298" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/mapreduce/IcebergInputFormat.html" title="class in org.apache.iceberg.mr.mapreduce">IcebergInputFormat</a>&lt;<a href="org/apache/iceberg/mr/mapreduce/IcebergInputFormat.html" title="type parameter in IcebergInputFormat">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Generic Mrv2 InputFormat API for Iceberg.</div>
+</th>
+</tr>
+<tr id="i299" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergObjectInspector</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i300" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/pig/IcebergPigInputFormat.html" title="class in org.apache.iceberg.pig">IcebergPigInputFormat</a>&lt;<a href="org/apache/iceberg/pig/IcebergPigInputFormat.html" title="type parameter in IcebergPigInputFormat">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i301" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergRecordObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergRecordObjectInspector</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i302" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/source/IcebergSource.html" title="class in org.apache.iceberg.spark.source">IcebergSource</a></td>
+<th class="colLast" scope="row">
+<div class="block">The IcebergSource loads/writes tables with format "iceberg".</div>
+</th>
+</tr>
+<tr id="i303" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/IcebergSpark.html" title="class in org.apache.iceberg.spark">IcebergSpark</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i304" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/mapreduce/IcebergSplit.html" title="class in org.apache.iceberg.mr.mapreduce">IcebergSplit</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i305" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/mapreduce/IcebergSplitContainer.html" title="interface in org.apache.iceberg.mr.mapreduce">IcebergSplitContainer</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i306" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsBaseListener.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsBaseListener</a></td>
+<th class="colLast" scope="row">
+<div class="block">This class provides an empty implementation of <a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsListener.html" title="interface in org.apache.spark.sql.catalyst.parser.extensions"><code>IcebergSqlExtensionsListener</code></a>,
+ which can be extended to create a listener which only needs to handle a subset
+ of the available methods.</div>
+</th>
+</tr>
+<tr id="i307" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsBaseVisitor.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsBaseVisitor</a>&lt;<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsBaseVisitor.html" title="type parameter in IcebergSqlExtensionsBaseVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">This class provides an empty implementation of <a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsVisitor.html" title="interface in org.apache.spark.sql.catalyst.parser.extensions"><code>IcebergSqlExtensionsVisitor</code></a>,
+ which can be extended to create a visitor which only needs to handle a subset
+ of the available methods.</div>
+</th>
+</tr>
+<tr id="i308" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsLexer</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i309" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsListener.html" title="interface in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsListener</a></td>
+<th class="colLast" scope="row">
+<div class="block">This interface defines a complete listener for a parse tree produced by
+ <a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html" title="class in org.apache.spark.sql.catalyst.parser.extensions"><code>IcebergSqlExtensionsParser</code></a>.</div>
+</th>
+</tr>
+<tr id="i310" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i311" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.AddPartitionFieldContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.AddPartitionFieldContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i312" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ApplyTransformContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.ApplyTransformContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i313" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.BigDecimalLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.BigDecimalLiteralContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i314" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.BigIntLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.BigIntLiteralContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i315" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.BooleanLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.BooleanLiteralContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i316" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.BooleanValueContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.BooleanValueContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i317" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.CallArgumentContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.CallArgumentContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i318" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.CallContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.CallContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i319" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ConstantContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.ConstantContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i320" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.DecimalLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.DecimalLiteralContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i321" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.DoubleLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.DoubleLiteralContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i322" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.DropIdentifierFieldsContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.DropIdentifierFieldsContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i323" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.DropPartitionFieldContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.DropPartitionFieldContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i324" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ExponentLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.ExponentLiteralContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i325" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ExpressionContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.ExpressionContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i326" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.FieldListContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.FieldListContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i327" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.FloatLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.FloatLiteralContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i328" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.IdentifierContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.IdentifierContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i329" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.IdentityTransformContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.IdentityTransformContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i330" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.IntegerLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.IntegerLiteralContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i331" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.MultipartIdentifierContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.MultipartIdentifierContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i332" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.NamedArgumentContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.NamedArgumentContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i333" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.NonReservedContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.NonReservedContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i334" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.NumberContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.NumberContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i335" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.NumericLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.NumericLiteralContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i336" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.OrderContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.OrderContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i337" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.OrderFieldContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.OrderFieldContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i338" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.PositionalArgumentContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.PositionalArgumentContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i339" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.QuotedIdentifierAlternativeContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.QuotedIdentifierAlternativeContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i340" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.QuotedIdentifierContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.QuotedIdentifierContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i341" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ReplacePartitionFieldContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.ReplacePartitionFieldContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i342" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SetIdentifierFieldsContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.SetIdentifierFieldsContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i343" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SetWriteDistributionAndOrderingContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.SetWriteDistributionAndOrderingContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i344" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SingleStatementContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.SingleStatementContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i345" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SmallIntLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.SmallIntLiteralContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i346" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.StatementContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.StatementContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i347" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.StringLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.StringLiteralContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i348" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.StringMapContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.StringMapContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i349" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.TinyIntLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.TinyIntLiteralContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i350" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.TransformArgumentContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.TransformArgumentContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i351" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.TransformContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.TransformContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i352" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.TypeConstructorContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.TypeConstructorContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i353" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.UnquotedIdentifierContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.UnquotedIdentifierContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i354" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.WriteDistributionSpecContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.WriteDistributionSpecContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i355" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.WriteOrderingSpecContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.WriteOrderingSpecContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i356" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.WriteSpecContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.WriteSpecContext</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i357" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsVisitor.html" title="interface in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsVisitor</a>&lt;<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsVisitor.html" title="type parameter in IcebergSqlExtensionsVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">This interface defines a complete generic visitor for a parse tree produced
+ by <a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html" title="class in org.apache.spark.sql.catalyst.parser.extensions"><code>IcebergSqlExtensionsParser</code></a>.</div>
+</th>
+</tr>
+<tr id="i358" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/pig/IcebergStorage.html" title="class in org.apache.iceberg.pig">IcebergStorage</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i359" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/IcebergTableSink.html" title="class in org.apache.iceberg.flink">IcebergTableSink</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i360" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/IcebergTableSource.html" title="class in org.apache.iceberg.flink">IcebergTableSource</a></td>
+<th class="colLast" scope="row">
+<div class="block">Flink Iceberg table source.</div>
+</th>
+</tr>
+<tr id="i361" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergTimeObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergTimeObjectInspector</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i362" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergTimestampObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergTimestampObjectInspector</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i363" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergTimestampWithZoneObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergTimestampWithZoneObjectInspector</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i364" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergUUIDObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergUUIDObjectInspector</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i365" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/IdentityPartitionConverters.html" title="class in org.apache.iceberg.data">IdentityPartitionConverters</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i366" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/InclusiveMetricsEvaluator.html" title="class in org.apache.iceberg.expressions">InclusiveMetricsEvaluator</a></td>
+<th class="colLast" scope="row">
+<div class="block">Evaluates an <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a> on a <a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> to test whether rows in the file may match.</div>
+</th>
+</tr>
+<tr id="i367" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/events/IncrementalScanEvent.html" title="class in org.apache.iceberg.events">IncrementalScanEvent</a></td>
+<th class="colLast" scope="row">
+<div class="block">Event sent to listeners when an incremental table scan is planned.</div>
+</th>
+</tr>
+<tr id="i368" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/IndexByName.html" title="class in org.apache.iceberg.types">IndexByName</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i369" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/IndexParents.html" title="class in org.apache.iceberg.types">IndexParents</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i370" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a></td>
+<th class="colLast" scope="row">
+<div class="block">An interface used to read input files using <a href="org/apache/iceberg/io/SeekableInputStream.html" title="class in org.apache.iceberg.io"><code>SeekableInputStream</code></a> instances.</div>
+</th>
+</tr>
+<tr id="i371" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/InputFormatConfig.html" title="class in org.apache.iceberg.mr">InputFormatConfig</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i372" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/InputFormatConfig.ConfigBuilder.html" title="class in org.apache.iceberg.mr">InputFormatConfig.ConfigBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i373" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/InputFormatConfig.InMemoryDataModel.html" title="enum in org.apache.iceberg.mr">InputFormatConfig.InMemoryDataModel</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i374" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/InternalRecordWrapper.html" title="class in org.apache.iceberg.data">InternalRecordWrapper</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i375" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/IsolationLevel.html" title="enum in org.apache.iceberg">IsolationLevel</a></td>
+<th class="colLast" scope="row">
+<div class="block">An isolation level in a table.</div>
+</th>
+</tr>
+<tr id="i376" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/JavaHash.html" title="interface in org.apache.iceberg.types">JavaHash</a>&lt;<a href="org/apache/iceberg/types/JavaHash.html" title="type parameter in JavaHash">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i377" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/JavaHashes.html" title="class in org.apache.iceberg.types">JavaHashes</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i378" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i379" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/JobGroupInfo.html" title="class in org.apache.iceberg.spark">JobGroupInfo</a></td>
+<th class="colLast" scope="row">
+<div class="block">Captures information about the current job
+ which is used for displaying on the UI</div>
+</th>
+</tr>
+<tr id="i380" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/JobGroupUtils.html" title="class in org.apache.iceberg.spark">JobGroupUtils</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i381" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/JsonUtil.html" title="class in org.apache.iceberg.util">JsonUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i382" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/events/Listener.html" title="interface in org.apache.iceberg.events">Listener</a>&lt;<a href="org/apache/iceberg/events/Listener.html" title="type parameter in Listener">E</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A listener interface that can receive notifications.</div>
+</th>
+</tr>
+<tr id="i383" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/events/Listeners.html" title="class in org.apache.iceberg.events">Listeners</a></td>
+<th class="colLast" scope="row">
+<div class="block">Static registration and notification for listeners.</div>
+</th>
+</tr>
+<tr id="i384" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/Literal.html" title="interface in org.apache.iceberg.expressions">Literal</a>&lt;<a href="org/apache/iceberg/expressions/Literal.html" title="type parameter in Literal">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Represents a literal fixed value in an expression predicate</div>
+</th>
+</tr>
+<tr id="i385" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/LocationProvider.html" title="interface in org.apache.iceberg.io">LocationProvider</a></td>
+<th class="colLast" scope="row">
+<div class="block">Interface for providing data file locations to write tasks.</div>
+</th>
+</tr>
+<tr id="i386" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/LocationProviders.html" title="class in org.apache.iceberg">LocationProviders</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i387" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/LogicalMap.html" title="class in org.apache.iceberg.avro">LogicalMap</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i388" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></td>
+<th class="colLast" scope="row">
+<div class="block">API for managing snapshots.</div>
+</th>
+</tr>
+<tr id="i389" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/ManifestContent.html" title="enum in org.apache.iceberg">ManifestContent</a></td>
+<th class="colLast" scope="row">
+<div class="block">Content type stored in a manifest file, either DATA or DELETES.</div>
+</th>
+</tr>
+<tr id="i390" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/ManifestEntriesTable.html" title="class in org.apache.iceberg">ManifestEntriesTable</a></td>
+<th class="colLast" scope="row">
+<div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's manifest entries as rows, for both delete and data files.</div>
+</th>
+</tr>
+<tr id="i391" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/ManifestEvaluator.html" title="class in org.apache.iceberg.expressions">ManifestEvaluator</a></td>
+<th class="colLast" scope="row">
+<div class="block">Evaluates an <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a> on a <a href="org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg"><code>ManifestFile</code></a> to test whether the file contains
+ matching partitions.</div>
+</th>
+</tr>
+<tr id="i392" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a></td>
+<th class="colLast" scope="row">
+<div class="block">Represents a manifest file that can be scanned to find data files in a table.</div>
+</th>
+</tr>
+<tr id="i393" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/ManifestFile.PartitionFieldSummary.html" title="interface in org.apache.iceberg">ManifestFile.PartitionFieldSummary</a></td>
+<th class="colLast" scope="row">
+<div class="block">Summarizes the values of one partition field stored in a manifest file.</div>
+</th>
+</tr>
+<tr id="i394" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/ManifestFileBean.html" title="class in org.apache.iceberg.actions">ManifestFileBean</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i395" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/ManifestFiles.html" title="class in org.apache.iceberg">ManifestFiles</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i396" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/ManifestFileUtil.html" title="class in org.apache.iceberg.util">ManifestFileUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i397" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a>&lt;<a href="org/apache/iceberg/ManifestReader.html" title="type parameter in ManifestReader">F</a> extends <a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a>&lt;<a href="org/apache/iceberg/ManifestReader.html" title="type parameter in ManifestReader">F</a>&gt;&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Base reader for data and delete manifest files.</div>
+</th>
+</tr>
+<tr id="i398" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/ManifestReader.FileType.html" title="enum in org.apache.iceberg">ManifestReader.FileType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i399" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/ManifestsTable.html" title="class in org.apache.iceberg">ManifestsTable</a></td>
+<th class="colLast" scope="row">
+<div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's manifest files as rows.</div>
+</th>
+</tr>
+<tr id="i400" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a>&lt;<a href="org/apache/iceberg/ManifestWriter.html" title="type parameter in ManifestWriter">F</a> extends <a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a>&lt;<a href="org/apache/iceberg/ManifestWriter.html" title="type parameter in ManifestWriter">F</a>&gt;&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Writer for manifest files.</div>
+</th>
+</tr>
+<tr id="i401" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mapping/MappedField.html" title="class in org.apache.iceberg.mapping">MappedField</a></td>
+<th class="colLast" scope="row">
+<div class="block">An immutable mapping between a field ID and a set of names.</div>
+</th>
+</tr>
+<tr id="i402" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mapping/MappedFields.html" title="class in org.apache.iceberg.mapping">MappedFields</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i403" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mapping/MappingUtil.html" title="class in org.apache.iceberg.mapping">MappingUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i404" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/mapred/MapredIcebergInputFormat.html" title="class in org.apache.iceberg.mr.mapred">MapredIcebergInputFormat</a>&lt;<a href="org/apache/iceberg/mr/mapred/MapredIcebergInputFormat.html" title="type parameter in MapredIcebergInputFormat">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Generic MR v1 InputFormat API for Iceberg.</div>
+</th>
+</tr>
+<tr id="i405" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/mapred/MapredIcebergInputFormat.CompatibilityTaskAttemptContextImpl.html" title="class in org.apache.iceberg.mr.mapred">MapredIcebergInputFormat.CompatibilityTaskAttemptContextImpl</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i406" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/write/MergeBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write">MergeBuilder</a></td>
+<th class="colLast" scope="row">
+<div class="block">An interface for building a scan and a write for a row-level operation.</div>
+</th>
+</tr>
+<tr id="i407" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i408" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i409" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataTableUtils.html" title="class in org.apache.iceberg">MetadataTableUtils</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i410" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/hive/MetastoreUtil.html" title="class in org.apache.iceberg.hive">MetastoreUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i411" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/Metrics.html" title="class in org.apache.iceberg">Metrics</a></td>
+<th class="colLast" scope="row">
+<div class="block">Iceberg file format metrics.</div>
+</th>
+</tr>
+<tr id="i412" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/MetricsAwareDatumWriter.html" title="interface in org.apache.iceberg.avro">MetricsAwareDatumWriter</a>&lt;<a href="org/apache/iceberg/avro/MetricsAwareDatumWriter.html" title="type parameter in MetricsAwareDatumWriter">D</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Wrapper writer around <code>DatumWriter</code> with metrics support.</div>
+</th>
+</tr>
+<tr id="i413" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetricsConfig.html" title="class in org.apache.iceberg">MetricsConfig</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i414" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetricsModes.html" title="class in org.apache.iceberg">MetricsModes</a></td>
+<th class="colLast" scope="row">
+<div class="block">This class defines different metrics modes, which allow users to control the collection of
+ value_counts, null_value_counts, nan_value_counts, lower_bounds, upper_bounds for different columns in metadata.</div>
+</th>
+</tr>
+<tr id="i415" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetricsModes.Counts.html" title="class in org.apache.iceberg">MetricsModes.Counts</a></td>
+<th class="colLast" scope="row">
+<div class="block">Under this mode, only value_counts, null_value_counts, nan_value_counts are persisted.</div>
+</th>
+</tr>
+<tr id="i416" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetricsModes.Full.html" title="class in org.apache.iceberg">MetricsModes.Full</a></td>
+<th class="colLast" scope="row">
+<div class="block">Under this mode, value_counts, null_value_counts, nan_value_counts
+ and full lower_bounds, upper_bounds are persisted.</div>
+</th>
+</tr>
+<tr id="i417" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetricsModes.MetricsMode.html" title="interface in org.apache.iceberg">MetricsModes.MetricsMode</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i418" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetricsModes.None.html" title="class in org.apache.iceberg">MetricsModes.None</a></td>
+<th class="colLast" scope="row">
+<div class="block">Under this mode, value_counts, null_value_counts, nan_value_counts, lower_bounds, upper_bounds are not persisted.</div>
+</th>
+</tr>
+<tr id="i419" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetricsModes.Truncate.html" title="class in org.apache.iceberg">MetricsModes.Truncate</a></td>
+<th class="colLast" scope="row">
+<div class="block">Under this mode, value_counts, null_value_counts, nan_value_counts
+ and truncated lower_bounds, upper_bounds are persisted.</div>
+</th>
+</tr>
+<tr id="i420" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetricsUtil.html" title="class in org.apache.iceberg">MetricsUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i421" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MicroBatches.html" title="class in org.apache.iceberg">MicroBatches</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i422" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/MicroBatches.MicroBatch.html" title="class in org.apache.iceberg">MicroBatches.MicroBatch</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i423" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MicroBatches.MicroBatchBuilder.html" title="class in org.apache.iceberg">MicroBatches.MicroBatchBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i424" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions">MigrateTable</a></td>
+<th class="colLast" scope="row">
+<div class="block">An action that migrates an existing table to Iceberg.</div>
+</th>
+</tr>
+<tr id="i425" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions">MigrateTable.Result</a></td>
+<th class="colLast" scope="row">
+<div class="block">The action result that contains a summary of the execution.</div>
+</th>
+</tr>
+<tr id="i426" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/NamedReference.html" title="class in org.apache.iceberg.expressions">NamedReference</a>&lt;<a href="org/apache/iceberg/expressions/NamedReference.html" title="type parameter in NamedReference">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i427" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/mapping/NameMapping.html" title="class in org.apache.iceberg.mapping">NameMapping</a></td>
+<th class="colLast" scope="row">
+<div class="block">Represents a mapping from external schema names to Iceberg type IDs.</div>
+</th>
+</tr>
+<tr id="i428" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mapping/NameMappingParser.html" title="class in org.apache.iceberg.mapping">NameMappingParser</a></td>
+<th class="colLast" scope="row">
+<div class="block">Parses external name mappings from a JSON representation.</div>
+</th>
+</tr>
+<tr id="i429" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a></td>
+<th class="colLast" scope="row">
+<div class="block">A namespace in a <a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><code>Catalog</code></a>.</div>
+</th>
+</tr>
+<tr id="i430" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/exceptions/NamespaceNotEmptyException.html" title="class in org.apache.iceberg.exceptions">NamespaceNotEmptyException</a></td>
+<th class="colLast" scope="row">
+<div class="block">Exception raised when attempting to drop a namespace that is not empty.</div>
+</th>
+</tr>
+<tr id="i431" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/NaNUtil.html" title="class in org.apache.iceberg.util">NaNUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i432" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a></td>
+<th class="colLast" scope="row">
+<div class="block">Nessie implementation of Iceberg Catalog.</div>
+</th>
+</tr>
+<tr id="i433" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/nessie/NessieTableOperations.html" title="class in org.apache.iceberg.nessie">NessieTableOperations</a></td>
+<th class="colLast" scope="row">
+<div class="block">Nessie implementation of Iceberg TableOperations.</div>
+</th>
+</tr>
+<tr id="i434" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/nessie/NessieUtil.html" title="class in org.apache.iceberg.nessie">NessieUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i435" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/exceptions/NoSuchIcebergTableException.html" title="class in org.apache.iceberg.exceptions">NoSuchIcebergTableException</a></td>
+<th class="colLast" scope="row">
+<div class="block">NoSuchTableException thrown when a table is found but it is not an Iceberg table.</div>
+</th>
+</tr>
+<tr id="i436" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/exceptions/NoSuchNamespaceException.html" title="class in org.apache.iceberg.exceptions">NoSuchNamespaceException</a></td>
+<th class="colLast" scope="row">
+<div class="block">Exception raised when attempting to load a namespace that does not exist.</div>
+</th>
+</tr>
+<tr id="i437" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/catalyst/analysis/NoSuchProcedureException.html" title="class in org.apache.spark.sql.catalyst.analysis">NoSuchProcedureException</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i438" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/exceptions/NoSuchTableException.html" title="class in org.apache.iceberg.exceptions">NoSuchTableException</a></td>
+<th class="colLast" scope="row">
+<div class="block">Exception raised when attempting to load a table that does not exist.</div>
+</th>
+</tr>
+<tr id="i439" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/Not.html" title="class in org.apache.iceberg.expressions">Not</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i440" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/exceptions/NotFoundException.html" title="class in org.apache.iceberg.exceptions">NotFoundException</a></td>
+<th class="colLast" scope="row">
+<div class="block">Exception raised when attempting to read a file that does not exist.</div>
+</th>
+</tr>
+<tr id="i441" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a></td>
+<th class="colLast" scope="row">
+<div class="block">Instances of this class simply track whether a value at an index is null.</div>
+</th>
+</tr>
+<tr id="i442" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/NullOrder.html" title="enum in org.apache.iceberg">NullOrder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i443" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/expressions/NullOrdering.html" title="enum in org.apache.spark.sql.connector.iceberg.expressions">NullOrdering</a></td>
+<th class="colLast" scope="row">
+<div class="block">A null order used in sorting expressions.</div>
+</th>
+</tr>
+<tr id="i444" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/Or.html" title="class in org.apache.iceberg.expressions">Or</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i445" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/ORC.html" title="class in org.apache.iceberg.orc">ORC</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i446" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/ORC.DataWriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.DataWriteBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i447" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/ORC.ReadBuilder.html" title="class in org.apache.iceberg.orc">ORC.ReadBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i448" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/ORC.WriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.WriteBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i449" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/OrcBatchReader.html" title="interface in org.apache.iceberg.orc">OrcBatchReader</a>&lt;<a href="org/apache/iceberg/orc/OrcBatchReader.html" title="type parameter in OrcBatchReader">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Used for implementing ORC batch readers.</div>
+</th>
+</tr>
+<tr id="i450" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/OrcMetrics.html" title="class in org.apache.iceberg.orc">OrcMetrics</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i451" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/OrcRowReader.html" title="interface in org.apache.iceberg.orc">OrcRowReader</a>&lt;<a href="org/apache/iceberg/orc/OrcRowReader.html" title="type parameter in OrcRowReader">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Used for implementing ORC row readers.</div>
+</th>
+</tr>
+<tr id="i452" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/OrcRowWriter.html" title="interface in org.apache.iceberg.orc">OrcRowWriter</a>&lt;<a href="org/apache/iceberg/orc/OrcRowWriter.html" title="type parameter in OrcRowWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Write data value of a schema.</div>
+</th>
+</tr>
+<tr id="i453" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/ORCSchemaUtil.html" title="class in org.apache.iceberg.orc">ORCSchemaUtil</a></td>
+<th class="colLast" scope="row">
+<div class="block">Utilities for mapping Iceberg to ORC schemas.</div>
+</th>
+</tr>
+<tr id="i454" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/ORCSchemaUtil.BinaryType.html" title="enum in org.apache.iceberg.orc">ORCSchemaUtil.BinaryType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i455" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/ORCSchemaUtil.LongType.html" title="enum in org.apache.iceberg.orc">ORCSchemaUtil.LongType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i456" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/OrcSchemaVisitor.html" title="class in org.apache.iceberg.orc">OrcSchemaVisitor</a>&lt;<a href="org/apache/iceberg/orc/OrcSchemaVisitor.html" title="type parameter in OrcSchemaVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Generic visitor of an ORC Schema.</div>
+</th>
+</tr>
+<tr id="i457" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/OrcSchemaWithTypeVisitor.html" title="class in org.apache.iceberg.orc">OrcSchemaWithTypeVisitor</a>&lt;<a href="org/apache/iceberg/orc/OrcSchemaWithTypeVisitor.html" title="type parameter in OrcSchemaWithTypeVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i458" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/OrcValueReader.html" title="interface in org.apache.iceberg.orc">OrcValueReader</a>&lt;<a href="org/apache/iceberg/orc/OrcValueReader.html" title="type parameter in OrcValueReader">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i459" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/OrcValueReaders.html" title="class in org.apache.iceberg.orc">OrcValueReaders</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i460" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/OrcValueReaders.StructReader.html" title="class in org.apache.iceberg.orc">OrcValueReaders.StructReader</a>&lt;<a href="org/apache/iceberg/orc/OrcValueReaders.StructReader.html" title="type parameter in OrcValueReaders.StructReader">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i461" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/OrcValueWriter.html" title="interface in org.apache.iceberg.orc">OrcValueWriter</a>&lt;<a href="org/apache/iceberg/orc/OrcValueWriter.html" title="type parameter in OrcValueWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i462" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/OrderedDistribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions">OrderedDistribution</a></td>
+<th class="colLast" scope="row">
+<div class="block">A distribution where tuples have been ordered across partitions according
+ to ordering expressions, but not necessarily within a given partition.</div>
+</th>
+</tr>
+<tr id="i463" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/OrderedDistributionImpl.html" title="class in org.apache.spark.sql.connector.iceberg.distributions.impl">OrderedDistributionImpl</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i464" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></td>
+<th class="colLast" scope="row">
+<div class="block">An interface used to create output files using <a href="org/apache/iceberg/io/PositionOutputStream.html" title="class in org.apache.iceberg.io"><code>PositionOutputStream</code></a> instances.</div>
+</th>
+</tr>
+<tr id="i465" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/OutputFileFactory.html" title="class in org.apache.iceberg.io">OutputFileFactory</a></td>
+<th class="colLast" scope="row">
+<div class="block">Factory responsible for generating unique but recognizable data file names.</div>
+</th>
+</tr>
+<tr id="i466" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/OutputFileFactory.Builder.html" title="class in org.apache.iceberg.io">OutputFileFactory.Builder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i467" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></td>
+<th class="colLast" scope="row">
+<div class="block">API for overwriting files in a table.</div>
+</th>
+</tr>
+<tr id="i468" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/Pair.html" title="class in org.apache.iceberg.util">Pair</a>&lt;<a href="org/apache/iceberg/util/Pair.html" title="type parameter in Pair">X</a>,&#8203;<a href="org/apache/iceberg/util/Pair.html" title="type parameter in Pair">Y</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i469" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/ParallelIterable.html" title="class in org.apache.iceberg.util">ParallelIterable</a>&lt;<a href="org/apache/iceberg/util/ParallelIterable.html" title="type parameter in ParallelIterable">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i470" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/Parquet.html" title="class in org.apache.iceberg.parquet">Parquet</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i471" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/Parquet.DataWriteBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.DataWriteBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i472" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/Parquet.DeleteWriteBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.DeleteWriteBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i473" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/Parquet.ReadBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.ReadBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i474" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/Parquet.WriteBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.WriteBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i475" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetAvroReader.html" title="class in org.apache.iceberg.parquet">ParquetAvroReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i476" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetAvroValueReaders.html" title="class in org.apache.iceberg.parquet">ParquetAvroValueReaders</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i477" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetAvroValueReaders.TimeMillisReader.html" title="class in org.apache.iceberg.parquet">ParquetAvroValueReaders.TimeMillisReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i478" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetAvroValueReaders.TimestampMillisReader.html" title="class in org.apache.iceberg.parquet">ParquetAvroValueReaders.TimestampMillisReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i479" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetAvroWriter.html" title="class in org.apache.iceberg.parquet">ParquetAvroWriter</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i480" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetDictionaryRowGroupFilter.html" title="class in org.apache.iceberg.parquet">ParquetDictionaryRowGroupFilter</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i481" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetIterable.html" title="class in org.apache.iceberg.parquet">ParquetIterable</a>&lt;<a href="org/apache/iceberg/parquet/ParquetIterable.html" title="type parameter in ParquetIterable">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i482" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetMetricsRowGroupFilter.html" title="class in org.apache.iceberg.parquet">ParquetMetricsRowGroupFilter</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i483" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetReader.html" title="class in org.apache.iceberg.parquet">ParquetReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetReader.html" title="type parameter in ParquetReader">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i484" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetSchemaUtil.html" title="class in org.apache.iceberg.parquet">ParquetSchemaUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i485" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetSchemaUtil.HasIds.html" title="class in org.apache.iceberg.parquet">ParquetSchemaUtil.HasIds</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i486" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetTypeVisitor.html" title="class in org.apache.iceberg.parquet">ParquetTypeVisitor</a>&lt;<a href="org/apache/iceberg/parquet/ParquetTypeVisitor.html" title="type parameter in ParquetTypeVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i487" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetUtil.html" title="class in org.apache.iceberg.parquet">ParquetUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i488" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReader.html" title="interface in org.apache.iceberg.parquet">ParquetValueReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReader.html" title="type parameter in ParquetValueReader">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i489" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i490" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.BinaryAsDecimalReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.BinaryAsDecimalReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i491" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.ByteArrayReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.ByteArrayReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i492" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.BytesReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.BytesReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i493" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.FloatAsDoubleReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.FloatAsDoubleReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i494" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.IntAsLongReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.IntAsLongReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i495" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.IntegerAsDecimalReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.IntegerAsDecimalReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i496" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.ListReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.ListReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.ListReader.html" title="type parameter in ParquetValueReaders.ListReader">E</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i497" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.LongAsDecimalReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.LongAsDecimalReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i498" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.MapReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.MapReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.MapReader.html" title="type parameter in ParquetValueReaders.MapReader">K</a>,&#8203;<a href="org/apache/iceberg/parquet/ParquetValueReaders.MapReader.html" title="type parameter in ParquetValueReaders.MapReader">V</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i499" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.PrimitiveReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.PrimitiveReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.PrimitiveReader.html" title="type parameter in ParquetValueReaders.PrimitiveReader">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i500" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedKeyValueReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.RepeatedKeyValueReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedKeyValueReader.html" title="type parameter in ParquetValueReaders.RepeatedKeyValueReader">M</a>,&#8203;<a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedKeyValueReader.html" title="type parameter in ParquetValueRea [...]
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i501" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.RepeatedReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedReader.html" title="type parameter in ParquetValueReaders.RepeatedReader">T</a>,&#8203;<a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedReader.html" title="type parameter in ParquetValueReaders.RepeatedReader">I</a>,&#8203;<a hre [...]
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i502" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.ReusableEntry.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.ReusableEntry</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.ReusableEntry.html" title="type parameter in ParquetValueReaders.ReusableEntry">K</a>,&#8203;<a href="org/apache/iceberg/parquet/ParquetValueReaders.ReusableEntry.html" title="type parameter in ParquetValueReaders.ReusableEntry">V</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i503" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.StringReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.StringReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i504" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.StructReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.StructReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.StructReader.html" title="type parameter in ParquetValueReaders.StructReader">T</a>,&#8203;<a href="org/apache/iceberg/parquet/ParquetValueReaders.StructReader.html" title="type parameter in ParquetValueReaders.StructReader">I</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i505" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.UnboxedReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.UnboxedReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.UnboxedReader.html" title="type parameter in ParquetValueReaders.UnboxedReader">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i506" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueWriter.html" title="interface in org.apache.iceberg.parquet">ParquetValueWriter</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueWriter.html" title="type parameter in ParquetValueWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i507" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueWriters.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i508" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueWriters.PositionDeleteStructWriter.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters.PositionDeleteStructWriter</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueWriters.PositionDeleteStructWriter.html" title="type parameter in ParquetValueWriters.PositionDeleteStructWriter">R</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i509" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueWriters.PrimitiveWriter.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters.PrimitiveWriter</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueWriters.PrimitiveWriter.html" title="type parameter in ParquetValueWriters.PrimitiveWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i510" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueWriters.RepeatedKeyValueWriter.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters.RepeatedKeyValueWriter</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueWriters.RepeatedKeyValueWriter.html" title="type parameter in ParquetValueWriters.RepeatedKeyValueWriter">M</a>,&#8203;<a href="org/apache/iceberg/parquet/ParquetValueWriters.RepeatedKeyValueWriter.html" title="type parameter in ParquetValueWri [...]
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i511" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueWriters.RepeatedWriter.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters.RepeatedWriter</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueWriters.RepeatedWriter.html" title="type parameter in ParquetValueWriters.RepeatedWriter">L</a>,&#8203;<a href="org/apache/iceberg/parquet/ParquetValueWriters.RepeatedWriter.html" title="type parameter in ParquetValueWriters.RepeatedWriter">E</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i512" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueWriters.StructWriter.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters.StructWriter</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueWriters.StructWriter.html" title="type parameter in ParquetValueWriters.StructWriter">S</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i513" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/data/ParquetWithFlinkSchemaVisitor.html" title="class in org.apache.iceberg.flink.data">ParquetWithFlinkSchemaVisitor</a>&lt;<a href="org/apache/iceberg/flink/data/ParquetWithFlinkSchemaVisitor.html" title="type parameter in ParquetWithFlinkSchemaVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i514" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/ParquetWithSparkSchemaVisitor.html" title="class in org.apache.iceberg.spark.data">ParquetWithSparkSchemaVisitor</a>&lt;<a href="org/apache/iceberg/spark/data/ParquetWithSparkSchemaVisitor.html" title="type parameter in ParquetWithSparkSchemaVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Visitor for traversing a Parquet type with a companion Spark type.</div>
+</th>
+</tr>
+<tr id="i515" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetWriteAdapter.html" title="class in org.apache.iceberg.parquet">ParquetWriteAdapter</a>&lt;<a href="org/apache/iceberg/parquet/ParquetWriteAdapter.html" title="type parameter in ParquetWriteAdapter">D</a>&gt;</td>
+<th class="colLast" scope="row">Deprecated.
+<div class="deprecationComment">use <code>ParquetWriter</code></div>
+</th>
+</tr>
+<tr id="i516" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/PartitionedFanoutWriter.html" title="class in org.apache.iceberg.io">PartitionedFanoutWriter</a>&lt;<a href="org/apache/iceberg/io/PartitionedFanoutWriter.html" title="type parameter in PartitionedFanoutWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i517" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/PartitionedWriter.html" title="class in org.apache.iceberg.io">PartitionedWriter</a>&lt;<a href="org/apache/iceberg/io/PartitionedWriter.html" title="type parameter in PartitionedWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i518" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/PartitionField.html" title="class in org.apache.iceberg">PartitionField</a></td>
+<th class="colLast" scope="row">
+<div class="block">Represents a single field in a <a href="org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg"><code>PartitionSpec</code></a>.</div>
+</th>
+</tr>
+<tr id="i519" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/Partitioning.html" title="class in org.apache.iceberg">Partitioning</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i520" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/PartitionKey.html" title="class in org.apache.iceberg">PartitionKey</a></td>
+<th class="colLast" scope="row">
+<div class="block">A struct of partition values.</div>
+</th>
+</tr>
+<tr id="i521" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i522" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a></td>
+<th class="colLast" scope="row">
+<div class="block">Represents how to produce partition data for a table.</div>
+</th>
+</tr>
+<tr id="i523" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/PartitionSpec.Builder.html" title="class in org.apache.iceberg">PartitionSpec.Builder</a></td>
+<th class="colLast" scope="row">
+<div class="block">Used to create valid <a href="org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg"><code>partition specs</code></a>.</div>
+</th>
+</tr>
+<tr id="i524" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/PartitionSpecParser.html" title="class in org.apache.iceberg">PartitionSpecParser</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i525" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/transforms/PartitionSpecVisitor.html" title="interface in org.apache.iceberg.transforms">PartitionSpecVisitor</a>&lt;<a href="org/apache/iceberg/transforms/PartitionSpecVisitor.html" title="type parameter in PartitionSpecVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i526" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/PartitionsTable.html" title="class in org.apache.iceberg">PartitionsTable</a></td>
+<th class="colLast" scope="row">
+<div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's partitions as rows.</div>
+</th>
+</tr>
+<tr id="i527" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/PartitionUtil.html" title="class in org.apache.iceberg.util">PartitionUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i528" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/PathIdentifier.html" title="class in org.apache.iceberg.spark">PathIdentifier</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i529" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a>&lt;<a href="org/apache/iceberg/PendingUpdate.html" title="type parameter in PendingUpdate">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">API for table metadata changes.</div>
+</th>
+</tr>
+<tr id="i530" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/pig/PigParquetReader.html" title="class in org.apache.iceberg.pig">PigParquetReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i531" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/encryption/PlaintextEncryptionManager.html" title="class in org.apache.iceberg.encryption">PlaintextEncryptionManager</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i532" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/deletes/PositionDelete.html" title="class in org.apache.iceberg.deletes">PositionDelete</a>&lt;<a href="org/apache/iceberg/deletes/PositionDelete.html" title="type parameter in PositionDelete">R</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i533" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/deletes/PositionDeleteWriter.html" title="class in org.apache.iceberg.deletes">PositionDeleteWriter</a>&lt;<a href="org/apache/iceberg/deletes/PositionDeleteWriter.html" title="type parameter in PositionDeleteWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i534" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/PositionOutputStream.html" title="class in org.apache.iceberg.io">PositionOutputStream</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i535" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/Predicate.html" title="class in org.apache.iceberg.expressions">Predicate</a>&lt;<a href="org/apache/iceberg/expressions/Predicate.html" title="type parameter in Predicate">T</a>,&#8203;<a href="org/apache/iceberg/expressions/Predicate.html" title="type parameter in Predicate">C</a> extends <a href="org/apache/iceberg/expressions/Term.html" title="interface in org.apache.iceberg.expressions">Term</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i536" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/catalog/Procedure.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">Procedure</a></td>
+<th class="colLast" scope="row">
+<div class="block">An interface representing a stored procedure available for execution.</div>
+</th>
+</tr>
+<tr id="i537" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/catalog/ProcedureCatalog.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">ProcedureCatalog</a></td>
+<th class="colLast" scope="row">
+<div class="block">A catalog API for working with stored procedures.</div>
+</th>
+</tr>
+<tr id="i538" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/catalog/ProcedureParameter.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">ProcedureParameter</a></td>
+<th class="colLast" scope="row">
+<div class="block">An input parameter of a <a href="org/apache/spark/sql/connector/iceberg/catalog/Procedure.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog"><code>stored procedure</code></a>.</div>
+</th>
+</tr>
+<tr id="i539" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/ProjectionDatumReader.html" title="class in org.apache.iceberg.avro">ProjectionDatumReader</a>&lt;<a href="org/apache/iceberg/avro/ProjectionDatumReader.html" title="type parameter in ProjectionDatumReader">D</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i540" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/Projections.html" title="class in org.apache.iceberg.expressions">Projections</a></td>
+<th class="colLast" scope="row">
+<div class="block">Utils to project expressions on rows to expressions on partitions.</div>
+</th>
+</tr>
+<tr id="i541" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/Projections.ProjectionEvaluator.html" title="class in org.apache.iceberg.expressions">Projections.ProjectionEvaluator</a></td>
+<th class="colLast" scope="row">
+<div class="block">A class that projects expressions for a table's data rows into expressions on the table's
+ partition values, for a table's <a href="org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg"><code>partition spec</code></a>.</div>
+</th>
+</tr>
+<tr id="i542" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/PropertyUtil.html" title="class in org.apache.iceberg.util">PropertyUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i543" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/PruneColumnsWithoutReordering.html" title="class in org.apache.iceberg.spark">PruneColumnsWithoutReordering</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i544" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/PruneColumnsWithReordering.html" title="class in org.apache.iceberg.spark">PruneColumnsWithReordering</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i545" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/ReachableFileUtil.html" title="class in org.apache.iceberg">ReachableFileUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i546" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/Record.html" title="interface in org.apache.iceberg.data">Record</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i547" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/Reference.html" title="interface in org.apache.iceberg.expressions">Reference</a>&lt;<a href="org/apache/iceberg/expressions/Reference.html" title="type parameter in Reference">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Represents a variable reference in an <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>expression</code></a>.</div>
+</th>
+</tr>
+<tr id="i548" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/RemoveIds.html" title="class in org.apache.iceberg.avro">RemoveIds</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i549" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/RemoveIds.html" title="class in org.apache.iceberg.parquet">RemoveIds</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i550" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RemoveOrphanFilesAction.html" title="class in org.apache.iceberg.actions">RemoveOrphanFilesAction</a></td>
+<th class="colLast" scope="row">Deprecated.
+<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions"><code>DeleteOrphanFiles</code></a> instead.</div>
+</th>
+</tr>
+<tr id="i551" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RemoveOrphanFilesProcedure</a></td>
+<th class="colLast" scope="row">
+<div class="block">A procedure that removes orphan files in a table.</div>
+</th>
+</tr>
+<tr id="i552" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/ReplacePartitions.html" title="interface in org.apache.iceberg">ReplacePartitions</a></td>
+<th class="colLast" scope="row">
+<div class="block">Not recommended: API for overwriting files in a table by partition.</div>
+</th>
+</tr>
+<tr id="i553" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/ReplaceSortOrder.html" title="interface in org.apache.iceberg">ReplaceSortOrder</a></td>
+<th class="colLast" scope="row">
+<div class="block">API for replacing table sort order with a newly created order.</div>
+</th>
+</tr>
+<tr id="i554" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/ResidualEvaluator.html" title="class in org.apache.iceberg.expressions">ResidualEvaluator</a></td>
+<th class="colLast" scope="row">
+<div class="block">Finds the residuals for an <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a> the partitions in the given <a href="org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg"><code>PartitionSpec</code></a>.</div>
+</th>
+</tr>
+<tr id="i555" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></td>
+<th class="colLast" scope="row">
+<div class="block">An action for rewriting data files according to a rewrite strategy.</div>
+</th>
+</tr>
+<tr id="i556" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a></td>
+<th class="colLast" scope="row">
+<div class="block">A description of a file group, when it was processed, and within which partition.</div>
+</th>
+</tr>
+<tr id="i557" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a></td>
+<th class="colLast" scope="row">
+<div class="block">For a particular file group, the number of files which are newly created and the number of files
+  which were formerly part of the table but have been rewritten.</div>
+</th>
+</tr>
+<tr id="i558" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></td>
+<th class="colLast" scope="row">
+<div class="block">A map of file group information to the results of rewriting that file group.</div>
+</th>
+</tr>
+<tr id="i559" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">RewriteDataFilesAction</a></td>
+<th class="colLast" scope="row">Deprecated.
+<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/RewriteDataFilesAction.html" title="class in org.apache.iceberg.actions"><code>RewriteDataFilesAction</code></a> instead.</div>
+</th>
+</tr>
+<tr id="i560" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/actions/RewriteDataFilesAction.html" title="class in org.apache.iceberg.flink.actions">RewriteDataFilesAction</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i561" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteDataFilesActionResult.html" title="class in org.apache.iceberg.actions">RewriteDataFilesActionResult</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i562" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.html" title="class in org.apache.iceberg.actions">RewriteDataFilesCommitManager</a></td>
+<th class="colLast" scope="row">
+<div class="block">Functionality used by RewriteDataFile Actions from different platforms to handle commits.</div>
+</th>
+</tr>
+<tr id="i563" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a></td>
+<th class="colLast" scope="row">
+<div class="block">Container class representing a set of files to be rewritten by a RewriteAction and the new files which have been
+ written by the action.</div>
+</th>
+</tr>
+<tr id="i564" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></td>
+<th class="colLast" scope="row">
+<div class="block">API for replacing files in a table.</div>
+</th>
+</tr>
+<tr id="i565" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteManifests.html" title="interface in org.apache.iceberg.actions">RewriteManifests</a></td>
+<th class="colLast" scope="row">
+<div class="block">An action that rewrites manifests.</div>
+</th>
+</tr>
+<tr id="i566" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a></td>
+<th class="colLast" scope="row">
+<div class="block">API for rewriting manifests for a table.</div>
+</th>
+</tr>
+<tr id="i567" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions">RewriteManifests.Result</a></td>
+<th class="colLast" scope="row">
+<div class="block">The action result that contains a summary of the execution.</div>
+</th>
+</tr>
+<tr id="i568" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteManifestsAction.html" title="class in org.apache.iceberg.actions">RewriteManifestsAction</a></td>
+<th class="colLast" scope="row">Deprecated.
+<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/RewriteManifests.html" title="interface in org.apache.iceberg.actions"><code>RewriteManifests</code></a> instead.</div>
+</th>
+</tr>
+<tr id="i569" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">RewriteManifestsActionResult</a></td>
+<th class="colLast" scope="row">Deprecated.</th>
+</tr>
+<tr id="i570" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i571" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/Rollback.html" title="interface in org.apache.iceberg">Rollback</a></td>
+<th class="colLast" scope="row">
+<div class="block">API for rolling table data back to the state at an older table <a href="org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><code>snapshot</code></a>.</div>
+</th>
+</tr>
+<tr id="i572" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/RollbackStagedTable.html" title="class in org.apache.iceberg.spark">RollbackStagedTable</a></td>
+<th class="colLast" scope="row">
+<div class="block">An implementation of StagedTable that mimics the behavior of Spark's non-atomic CTAS and RTAS.</div>
+</th>
+</tr>
+<tr id="i573" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/source/RowDataRewriter.html" title="class in org.apache.iceberg.flink.source">RowDataRewriter</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i574" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/source/RowDataRewriter.html" title="class in org.apache.iceberg.spark.source">RowDataRewriter</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i575" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/source/RowDataRewriter.RewriteMap.html" title="class in org.apache.iceberg.flink.source">RowDataRewriter.RewriteMap</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i576" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/sink/RowDataTaskWriterFactory.html" title="class in org.apache.iceberg.flink.sink">RowDataTaskWriterFactory</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i577" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/data/RowDataUtil.html" title="class in org.apache.iceberg.flink.data">RowDataUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i578" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/RowDataWrapper.html" title="class in org.apache.iceberg.flink">RowDataWrapper</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i579" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/RowDelta.html" title="interface in org.apache.iceberg">RowDelta</a></td>
+<th class="colLast" scope="row">
+<div class="block">API for encoding row-level changes to a table.</div>
+</th>
+</tr>
+<tr id="i580" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/vectorized/RowPositionColumnVector.html" title="class in org.apache.iceberg.spark.data.vectorized">RowPositionColumnVector</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i581" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/exceptions/RuntimeIOException.html" title="class in org.apache.iceberg.exceptions">RuntimeIOException</a></td>
+<th class="colLast" scope="row">Deprecated.
+<div class="deprecationComment">Use java.io.UncheckedIOException directly instead.</div>
+</th>
+</tr>
+<tr id="i582" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/hive/RuntimeMetaException.html" title="class in org.apache.iceberg.hive">RuntimeMetaException</a></td>
+<th class="colLast" scope="row">
+<div class="block">Exception used to wrap <code>MetaException</code> as a <code>RuntimeException</code> and add context.</div>
+</th>
+</tr>
+<tr id="i583" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3">S3FileIO</a></td>
+<th class="colLast" scope="row">
+<div class="block">FileIO implementation backed by S3.</div>
+</th>
+</tr>
+<tr id="i584" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i585" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3">S3OutputFile</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i586" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/aws/s3/S3RequestUtil.html" title="class in org.apache.iceberg.aws.s3">S3RequestUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i587" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/events/ScanEvent.html" title="class in org.apache.iceberg.events">ScanEvent</a></td>
+<th class="colLast" scope="row">
+<div class="block">Event sent to listeners when a table scan is planned.</div>
+</th>
+</tr>
+<tr id="i588" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/ScanSummary.html" title="class in org.apache.iceberg">ScanSummary</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i589" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/ScanSummary.Builder.html" title="class in org.apache.iceberg">ScanSummary.Builder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i590" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/ScanSummary.PartitionMetrics.html" title="class in org.apache.iceberg">ScanSummary.PartitionMetrics</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i591" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a></td>
+<th class="colLast" scope="row">
+<div class="block">A scan task.</div>
+</th>
+</tr>
+<tr id="i592" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></td>
+<th class="colLast" scope="row">
+<div class="block">The schema of a data table.</div>
+</th>
+</tr>
+<tr id="i593" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/SchemaParser.html" title="class in org.apache.iceberg">SchemaParser</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i594" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/pig/SchemaUtil.html" title="class in org.apache.iceberg.pig">SchemaUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i595" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/schema/SchemaWithPartnerVisitor.html" title="class in org.apache.iceberg.schema">SchemaWithPartnerVisitor</a>&lt;<a href="org/apache/iceberg/schema/SchemaWithPartnerVisitor.html" title="type parameter in SchemaWithPartnerVisitor">P</a>,&#8203;<a href="org/apache/iceberg/schema/SchemaWithPartnerVisitor.html" title="type parameter in SchemaWithPartnerVisitor">R</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i596" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/schema/SchemaWithPartnerVisitor.PartnerAccessors.html" title="interface in org.apache.iceberg.schema">SchemaWithPartnerVisitor.PartnerAccessors</a>&lt;<a href="org/apache/iceberg/schema/SchemaWithPartnerVisitor.PartnerAccessors.html" title="type parameter in SchemaWithPartnerVisitor.PartnerAccessors">P</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i597" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/SeekableInputStream.html" title="class in org.apache.iceberg.io">SeekableInputStream</a></td>
+<th class="colLast" scope="row">
+<div class="block"><code>SeekableInputStream</code> is an interface with the methods needed to read data from a file or
+ Hadoop data stream.</div>
+</th>
+</tr>
+<tr id="i598" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/hadoop/SerializableConfiguration.html" title="class in org.apache.iceberg.hadoop">SerializableConfiguration</a></td>
+<th class="colLast" scope="row">
+<div class="block">Wraps a <code>Configuration</code> object in a <code>Serializable</code> layer.</div>
+</th>
+</tr>
+<tr id="i599" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/SerializableMap.html" title="class in org.apache.iceberg.util">SerializableMap</a>&lt;<a href="org/apache/iceberg/util/SerializableMap.html" title="type parameter in SerializableMap">K</a>,&#8203;<a href="org/apache/iceberg/util/SerializableMap.html" title="type parameter in SerializableMap">V</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i600" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/SerializableSupplier.html" title="interface in org.apache.iceberg.util">SerializableSupplier</a>&lt;<a href="org/apache/iceberg/util/SerializableSupplier.html" title="type parameter in SerializableSupplier">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i601" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/SerializableTable.html" title="class in org.apache.iceberg">SerializableTable</a></td>
+<th class="colLast" scope="row">
+<div class="block">A read-only serializable table that can be sent to other nodes in a cluster.</div>
+</th>
+</tr>
+<tr id="i602" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/SerializationUtil.html" title="class in org.apache.iceberg.util">SerializationUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i603" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/SetLocation.html" title="class in org.apache.iceberg">SetLocation</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i604" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></td>
+<th class="colLast" scope="row">
+<div class="block">A snapshot of the data in a table at a point in time.</div>
+</th>
+</tr>
+<tr id="i605" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/SnapshotAction.html" title="interface in org.apache.iceberg.actions">SnapshotAction</a></td>
+<th class="colLast" scope="row">Deprecated.
+<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions"><code>SnapshotTable</code></a> instead.</div>
+</th>
+</tr>
+<tr id="i606" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/SnapshotManager.html" title="class in org.apache.iceberg">SnapshotManager</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i607" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/SnapshotParser.html" title="class in org.apache.iceberg">SnapshotParser</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i608" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/SnapshotsTable.html" title="class in org.apache.iceberg">SnapshotsTable</a></td>
+<th class="colLast" scope="row">
+<div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's known snapshots as rows.</div>
+</th>
+</tr>
+<tr id="i609" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/SnapshotSummary.html" title="class in org.apache.iceberg">SnapshotSummary</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i610" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/SnapshotSummary.Builder.html" title="class in org.apache.iceberg">SnapshotSummary.Builder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i611" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions">SnapshotTable</a></td>
+<th class="colLast" scope="row">
+<div class="block">An action that creates an independent snapshot of an existing table.</div>
+</th>
+</tr>
+<tr id="i612" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/SnapshotTable.Result.html" title="interface in org.apache.iceberg.actions">SnapshotTable.Result</a></td>
+<th class="colLast" scope="row">
+<div class="block">The action result that contains a summary of the execution.</div>
+</th>
+</tr>
+<tr id="i613" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/SnapshotUpdate.html" title="interface in org.apache.iceberg.actions">SnapshotUpdate</a>&lt;<a href="org/apache/iceberg/actions/SnapshotUpdate.html" title="type parameter in SnapshotUpdate">ThisT</a>,&#8203;<a href="org/apache/iceberg/actions/SnapshotUpdate.html" title="type parameter in SnapshotUpdate">R</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">An action that produces snapshots.</div>
+</th>
+</tr>
+<tr id="i614" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a>&lt;<a href="org/apache/iceberg/SnapshotUpdate.html" title="type parameter in SnapshotUpdate">ThisT</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">API for table changes that produce snapshots.</div>
+</th>
+</tr>
+<tr id="i615" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/SnapshotUpdateAction.html" title="interface in org.apache.iceberg.actions">SnapshotUpdateAction</a>&lt;<a href="org/apache/iceberg/actions/SnapshotUpdateAction.html" title="type parameter in SnapshotUpdateAction">ThisT</a>,&#8203;<a href="org/apache/iceberg/actions/SnapshotUpdateAction.html" title="type parameter in SnapshotUpdateAction">R</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i616" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/SnapshotUtil.html" title="class in org.apache.iceberg.util">SnapshotUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i617" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/SortDirection.html" title="enum in org.apache.iceberg">SortDirection</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i618" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/expressions/SortDirection.html" title="enum in org.apache.spark.sql.connector.iceberg.expressions">SortDirection</a></td>
+<th class="colLast" scope="row">
+<div class="block">A sort direction used in sorting expressions.</div>
+</th>
+</tr>
+<tr id="i619" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/SortedMerge.html" title="class in org.apache.iceberg.util">SortedMerge</a>&lt;<a href="org/apache/iceberg/util/SortedMerge.html" title="type parameter in SortedMerge">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">An Iterable that merges the items from other Iterables in order.</div>
+</th>
+</tr>
+<tr id="i620" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/SortField.html" title="class in org.apache.iceberg">SortField</a></td>
+<th class="colLast" scope="row">
+<div class="block">A field in a <a href="org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg"><code>SortOrder</code></a>.</div>
+</th>
+</tr>
+<tr id="i621" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a></td>
+<th class="colLast" scope="row">
+<div class="block">A sort order that defines how data and delete files should be ordered in a table.</div>
+</th>
+</tr>
+<tr id="i622" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/expressions/SortOrder.html" title="interface in org.apache.spark.sql.connector.iceberg.expressions">SortOrder</a></td>
+<th class="colLast" scope="row">
+<div class="block">Represents a sort order in the public expression API.</div>
+</th>
+</tr>
+<tr id="i623" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/SortOrder.Builder.html" title="class in org.apache.iceberg">SortOrder.Builder</a></td>
+<th class="colLast" scope="row">
+<div class="block">A builder used to create valid <a href="org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg"><code>sort orders</code></a>.</div>
+</th>
+</tr>
+<tr id="i624" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/SortOrderBuilder.html" title="interface in org.apache.iceberg">SortOrderBuilder</a>&lt;<a href="org/apache/iceberg/SortOrderBuilder.html" title="type parameter in SortOrderBuilder">R</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Methods for building a sort order.</div>
+</th>
+</tr>
+<tr id="i625" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/SortOrderParser.html" title="class in org.apache.iceberg">SortOrderParser</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i626" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/SortOrderUtil.html" title="class in org.apache.iceberg.util">SortOrderUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i627" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/transforms/SortOrderVisitor.html" title="interface in org.apache.iceberg.transforms">SortOrderVisitor</a>&lt;<a href="org/apache/iceberg/transforms/SortOrderVisitor.html" title="type parameter in SortOrderVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i628" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></td>
+<th class="colLast" scope="row">
+<div class="block">A rewrite strategy for data files which aims to reorder data with data files to optimally lay them out
+ in relation to a column.</div>
+</th>
+</tr>
+<tr id="i629" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/actions/Spark3BinPackStrategy.html" title="class in org.apache.iceberg.spark.actions">Spark3BinPackStrategy</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i630" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/Spark3MigrateAction.html" title="class in org.apache.iceberg.actions">Spark3MigrateAction</a></td>
+<th class="colLast" scope="row">Deprecated.
+<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions"><code>MigrateTable</code></a> instead.</div>
+</th>
+</tr>
+<tr id="i631" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/Spark3SnapshotAction.html" title="class in org.apache.iceberg.actions">Spark3SnapshotAction</a></td>
+<th class="colLast" scope="row">Deprecated.
+<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions"><code>SnapshotTable</code></a> instead.</div>
+</th>
+</tr>
+<tr id="i632" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i633" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/Spark3Util.CatalogAndIdentifier.html" title="class in org.apache.iceberg.spark">Spark3Util.CatalogAndIdentifier</a></td>
+<th class="colLast" scope="row">
+<div class="block">This mimics a class inside of Spark which is private inside of LookupCatalog.</div>
+</th>
+</tr>
+<tr id="i634" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/Spark3Util.DescribeSchemaVisitor.html" title="class in org.apache.iceberg.spark">Spark3Util.DescribeSchemaVisitor</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i635" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/Spark3VersionUtil.html" title="class in org.apache.iceberg.spark">Spark3VersionUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i636" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/SparkActions.html" title="class in org.apache.iceberg.actions">SparkActions</a></td>
+<th class="colLast" scope="row">Deprecated.</th>
+</tr>
+<tr id="i637" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/actions/SparkActions.html" title="class in org.apache.iceberg.spark.actions">SparkActions</a></td>
+<th class="colLast" scope="row">
+<div class="block">An implementation of <a href="org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions"><code>ActionsProvider</code></a> for Spark.</div>
+</th>
+</tr>
+<tr id="i638" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkAvroReader.html" title="class in org.apache.iceberg.spark.data">SparkAvroReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i639" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkAvroWriter.html" title="class in org.apache.iceberg.spark.data">SparkAvroWriter</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i640" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark">SparkCatalog</a></td>
+<th class="colLast" scope="row">
+<div class="block">A Spark TableCatalog implementation that wraps an Iceberg <a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><code>Catalog</code></a>.</div>
+</th>
+</tr>
+<tr id="i641" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark">SparkDataFile</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i642" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark">SparkExceptionUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i643" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark">SparkFilters</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i644" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/source/SparkMicroBatchStream.html" title="class in org.apache.iceberg.spark.source">SparkMicroBatchStream</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i645" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkOrcReader.html" title="class in org.apache.iceberg.spark.data">SparkOrcReader</a></td>
+<th class="colLast" scope="row">
+<div class="block">Converts the OrcIterator, which returns ORC's VectorizedRowBatch to a
+ set of Spark's UnsafeRows.</div>
+</th>
+</tr>
+<tr id="i646" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkOrcValueReaders.html" title="class in org.apache.iceberg.spark.data">SparkOrcValueReaders</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i647" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkOrcWriter.html" title="class in org.apache.iceberg.spark.data">SparkOrcWriter</a></td>
+<th class="colLast" scope="row">
+<div class="block">This class acts as an adaptor from an OrcFileAppender to a
+ FileAppender&lt;InternalRow&gt;.</div>
+</th>
+</tr>
+<tr id="i648" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkParquetReaders.html" title="class in org.apache.iceberg.spark.data">SparkParquetReaders</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i649" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkParquetWriters.html" title="class in org.apache.iceberg.spark.data">SparkParquetWriters</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i650" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/source/SparkPartitionedFanoutWriter.html" title="class in org.apache.iceberg.spark.source">SparkPartitionedFanoutWriter</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i651" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/source/SparkPartitionedWriter.html" title="class in org.apache.iceberg.spark.source">SparkPartitionedWriter</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i652" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/procedures/SparkProcedures.html" title="class in org.apache.iceberg.spark.procedures">SparkProcedures</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i653" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/procedures/SparkProcedures.ProcedureBuilder.html" title="interface in org.apache.iceberg.spark.procedures">SparkProcedures.ProcedureBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i654" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark">SparkReadOptions</a></td>
+<th class="colLast" scope="row">
+<div class="block">Spark DF read options</div>
+</th>
+</tr>
+<tr id="i655" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/source/SparkRewriteBuilder.html" title="class in org.apache.iceberg.spark.source">SparkRewriteBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i656" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source">SparkScanBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i657" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkSchemaUtil.html" title="class in org.apache.iceberg.spark">SparkSchemaUtil</a></td>
+<th class="colLast" scope="row">
+<div class="block">Helper methods for working with Spark/Hive metadata.</div>
+</th>
+</tr>
+<tr id="i658" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a>&lt;<a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="type parameter in SparkSessionCatalog">T</a> extends org.apache.spark.sql.connector.catalog.TableCatalog &amp; org.apache.spark.sql.connector.catalog.SupportsNamespaces&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A Spark catalog that can also load non-Iceberg tables.</div>
+</th>
+</tr>
+<tr id="i659" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkStructLike.html" title="class in org.apache.iceberg.spark">SparkStructLike</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i660" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i661" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkTableUtil.html" title="class in org.apache.iceberg.spark">SparkTableUtil</a></td>
+<th class="colLast" scope="row">
+<div class="block">Java version of the original SparkTableUtil.scala
+ https://github.com/apache/iceberg/blob/apache-iceberg-0.8.0-incubating/spark/src/main/scala/org/apache/iceberg/spark/SparkTableUtil.scala</div>
+</th>
+</tr>
+<tr id="i662" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a></td>
+<th class="colLast" scope="row">
+<div class="block">Class representing a table partition.</div>
+</th>
+</tr>
+<tr id="i663" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkUtil.html" title="class in org.apache.iceberg.spark">SparkUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i664" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkValueConverter.html" title="class in org.apache.iceberg.spark">SparkValueConverter</a></td>
+<th class="colLast" scope="row">
+<div class="block">A utility class that converts Spark values to Iceberg's internal representation.</div>
+</th>
+</tr>
+<tr id="i665" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkValueReaders.html" title="class in org.apache.iceberg.spark.data">SparkValueReaders</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i666" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkValueWriters.html" title="class in org.apache.iceberg.spark.data">SparkValueWriters</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i667" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></td>
+<th class="colLast" scope="row">
+<div class="block">Spark DF write options</div>
+</th>
+</tr>
+<tr id="i668" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/source/StagedSparkTable.html" title="class in org.apache.iceberg.spark.source">StagedSparkTable</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i669" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/StaticTableOperations.html" title="class in org.apache.iceberg">StaticTableOperations</a></td>
+<th class="colLast" scope="row">
+<div class="block">TableOperations implementation that provides access to metadata for a Table at some point in time, using a
+ table metadata location.</div>
+</th>
+</tr>
+<tr id="i670" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/source/StreamingMonitorFunction.html" title="class in org.apache.iceberg.flink.source">StreamingMonitorFunction</a></td>
+<th class="colLast" scope="row">
+<div class="block">This is the single (non-parallel) monitoring task which takes a <a href="org/apache/iceberg/flink/source/FlinkInputFormat.html" title="class in org.apache.iceberg.flink.source"><code>FlinkInputFormat</code></a>,
+ it is responsible for:
+
+ 
+     Monitoring snapshots of the Iceberg table.
+     Creating the <a href="org/apache/iceberg/flink/source/FlinkInputSplit.html" title="class in org.apache.iceberg.flink.source"><code>splits</code></a> corresponding to the incremental files
+     Assigning them to downstream tasks for further processing.
+ </div>
+</th>
+</tr>
+<tr id="i671" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/source/StreamingReaderOperator.html" title="class in org.apache.iceberg.flink.source">StreamingReaderOperator</a></td>
+<th class="colLast" scope="row">
+<div class="block">The operator that reads the <a href="org/apache/iceberg/flink/source/FlinkInputSplit.html" title="class in org.apache.iceberg.flink.source"><code>splits</code></a> received from the preceding <a href="org/apache/iceberg/flink/source/StreamingMonitorFunction.html" title="class in org.apache.iceberg.flink.source"><code>StreamingMonitorFunction</code></a>.</div>
+</th>
+</tr>
+<tr id="i672" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/StrictMetricsEvaluator.html" title="class in org.apache.iceberg.expressions">StrictMetricsEvaluator</a></td>
+<th class="colLast" scope="row">
+<div class="block">Evaluates an <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a> on a <a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> to test whether all rows in the file match.</div>
+</th>
+</tr>
+<tr id="i673" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a></td>
+<th class="colLast" scope="row">
+<div class="block">Interface for accessing data by position in a schema.</div>
+</th>
+</tr>
+<tr id="i674" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/StructLikeMap.html" title="class in org.apache.iceberg.util">StructLikeMap</a>&lt;<a href="org/apache/iceberg/util/StructLikeMap.html" title="type parameter in StructLikeMap">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i675" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/StructLikeSet.html" title="class in org.apache.iceberg.util">StructLikeSet</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i676" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/StructLikeWrapper.html" title="class in org.apache.iceberg.util">StructLikeWrapper</a></td>
+<th class="colLast" scope="row">
+<div class="block">Wrapper to adapt StructLike for use in maps and sets by implementing equals and hashCode.</div>
+</th>
+</tr>
+<tr id="i677" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/StructProjection.html" title="class in org.apache.iceberg.util">StructProjection</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i678" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/read/SupportsFileFilter.html" title="interface in org.apache.spark.sql.connector.iceberg.read">SupportsFileFilter</a></td>
+<th class="colLast" scope="row">
+<div class="block">A mix-in interface for Scan.</div>
+</th>
+</tr>
+<tr id="i679" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/catalog/SupportsMerge.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">SupportsMerge</a></td>
+<th class="colLast" scope="row">
+<div class="block">A mix-in interface for Table to indicate that it supports row-level operations.</div>
+</th>
+</tr>
+<tr id="i680" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a></td>
+<th class="colLast" scope="row">
+<div class="block">Catalog methods for working with namespaces.</div>
+</th>
+</tr>
+<tr id="i681" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/SupportsRowPosition.html" title="interface in org.apache.iceberg.avro">SupportsRowPosition</a></td>
+<th class="colLast" scope="row">
+<div class="block">Interface for readers that accept a callback to determine the starting row position of an Avro split.</div>
+</th>
+</tr>
+<tr id="i682" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/SystemProperties.html" title="class in org.apache.iceberg">SystemProperties</a></td>
+<th class="colLast" scope="row">
+<div class="block">Configuration properties that are controlled by Java system properties.</div>
+</th>
+</tr>
+<tr id="i683" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a></td>
+<th class="colLast" scope="row">
+<div class="block">Represents a table.</div>
+</th>
+</tr>
+<tr id="i684" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a></td>
+<th class="colLast" scope="row">
+<div class="block">Identifies a table in iceberg catalog.</div>
+</th>
+</tr>
+<tr id="i685" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a></td>
+<th class="colLast" scope="row">
+<div class="block">Serializable loader to load an Iceberg <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a>.</div>
+</th>
+</tr>
+<tr id="i686" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html" title="class in org.apache.iceberg.flink">TableLoader.CatalogTableLoader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i687" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html" title="class in org.apache.iceberg.flink">TableLoader.HadoopTableLoader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i688" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></td>
+<th class="colLast" scope="row">
+<div class="block">Metadata for a table.</div>
+</th>
+</tr>
+<tr id="i689" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/TableMetadata.MetadataLogEntry.html" title="class in org.apache.iceberg">TableMetadata.MetadataLogEntry</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i690" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/TableMetadata.SnapshotLogEntry.html" title="class in org.apache.iceberg">TableMetadata.SnapshotLogEntry</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i691" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/TableMetadataParser.html" title="class in org.apache.iceberg">TableMetadataParser</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i692" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/TableMetadataParser.Codec.html" title="enum in org.apache.iceberg">TableMetadataParser.Codec</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i693" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/TableMigrationUtil.html" title="class in org.apache.iceberg.data">TableMigrationUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i694" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></td>
+<th class="colLast" scope="row">
+<div class="block">SPI interface to abstract table metadata access and updates.</div>
+</th>
+</tr>
+<tr id="i695" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i696" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/nessie/TableReference.html" title="class in org.apache.iceberg.nessie">TableReference</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i697" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/Tables.html" title="interface in org.apache.iceberg">Tables</a></td>
+<th class="colLast" scope="row">
+<div class="block">Generic interface for creating and loading a table implementation.</div>
+</th>
+</tr>
+<tr id="i698" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg">TableScan</a></td>
+<th class="colLast" scope="row">
+<div class="block">API for configuring a table scan.</div>
+</th>
+</tr>
+<tr id="i699" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/TableScanUtil.html" title="class in org.apache.iceberg.util">TableScanUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i700" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/Tasks.html" title="class in org.apache.iceberg.util">Tasks</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i701" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/Tasks.Builder.html" title="class in org.apache.iceberg.util">Tasks.Builder</a>&lt;<a href="org/apache/iceberg/util/Tasks.Builder.html" title="type parameter in Tasks.Builder">I</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i702" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/Tasks.FailureTask.html" title="interface in org.apache.iceberg.util">Tasks.FailureTask</a>&lt;<a href="org/apache/iceberg/util/Tasks.FailureTask.html" title="type parameter in Tasks.FailureTask">I</a>,&#8203;<a href="org/apache/iceberg/util/Tasks.FailureTask.html" title="type parameter in Tasks.FailureTask">E</a> extends java.lang.Exception&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i703" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/Tasks.Task.html" title="interface in org.apache.iceberg.util">Tasks.Task</a>&lt;<a href="org/apache/iceberg/util/Tasks.Task.html" title="type parameter in Tasks.Task">I</a>,&#8203;<a href="org/apache/iceberg/util/Tasks.Task.html" title="type parameter in Tasks.Task">E</a> extends java.lang.Exception&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i704" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/Tasks.UnrecoverableException.html" title="class in org.apache.iceberg.util">Tasks.UnrecoverableException</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i705" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/TaskWriter.html" title="interface in org.apache.iceberg.io">TaskWriter</a>&lt;<a href="org/apache/iceberg/io/TaskWriter.html" title="type parameter in TaskWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">The writer interface could accept records and provide the generated data files.</div>
+</th>
+</tr>
+<tr id="i706" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/sink/TaskWriterFactory.html" title="interface in org.apache.iceberg.flink.sink">TaskWriterFactory</a>&lt;<a href="org/apache/iceberg/flink/sink/TaskWriterFactory.html" title="type parameter in TaskWriterFactory">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Factory to create <a href="org/apache/iceberg/io/TaskWriter.html" title="interface in org.apache.iceberg.io"><code>TaskWriter</code></a></div>
+</th>
+</tr>
+<tr id="i707" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/Term.html" title="interface in org.apache.iceberg.expressions">Term</a></td>
+<th class="colLast" scope="row">
+<div class="block">An expression that evaluates to a value.</div>
+</th>
+</tr>
+<tr id="i708" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/TezUtil.html" title="class in org.apache.iceberg.mr.hive">TezUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i709" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/ThreadPools.html" title="class in org.apache.iceberg.util">ThreadPools</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i710" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/Transaction.html" title="interface in org.apache.iceberg">Transaction</a></td>
+<th class="colLast" scope="row">
+<div class="block">A transaction for performing multiple updates to a table.</div>
+</th>
+</tr>
+<tr id="i711" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/Transactions.html" title="class in org.apache.iceberg">Transactions</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i712" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/transforms/Transform.html" title="interface in org.apache.iceberg.transforms">Transform</a>&lt;<a href="org/apache/iceberg/transforms/Transform.html" title="type parameter in Transform">S</a>,&#8203;<a href="org/apache/iceberg/transforms/Transform.html" title="type parameter in Transform">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A transform function used for partitioning.</div>
+</th>
+</tr>
+<tr id="i713" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/transforms/Transforms.html" title="class in org.apache.iceberg.transforms">Transforms</a></td>
+<th class="colLast" scope="row">
+<div class="block">Factory methods for transforms.</div>
+</th>
+</tr>
+<tr id="i714" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/TripleWriter.html" title="interface in org.apache.iceberg.parquet">TripleWriter</a>&lt;<a href="org/apache/iceberg/parquet/TripleWriter.html" title="type parameter in TripleWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i715" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/True.html" title="class in org.apache.iceberg.expressions">True</a></td>
+<th class="colLast" scope="row">
+<div class="block">An <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>expression</code></a> that is always true.</div>
+</th>
+</tr>
+<tr id="i716" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i717" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Type.NestedType.html" title="class in org.apache.iceberg.types">Type.NestedType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i718" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Type.PrimitiveType.html" title="class in org.apache.iceberg.types">Type.PrimitiveType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i719" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Type.TypeID.html" title="enum in org.apache.iceberg.types">Type.TypeID</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i720" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.html" title="class in org.apache.iceberg.types">Types</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i721" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.BinaryType.html" title="class in org.apache.iceberg.types">Types.BinaryType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i722" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.BooleanType.html" title="class in org.apache.iceberg.types">Types.BooleanType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i723" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.DateType.html" title="class in org.apache.iceberg.types">Types.DateType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i724" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.DecimalType.html" title="class in org.apache.iceberg.types">Types.DecimalType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i725" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.DoubleType.html" title="class in org.apache.iceberg.types">Types.DoubleType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i726" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.FixedType.html" title="class in org.apache.iceberg.types">Types.FixedType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i727" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.FloatType.html" title="class in org.apache.iceberg.types">Types.FloatType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i728" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.IntegerType.html" title="class in org.apache.iceberg.types">Types.IntegerType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i729" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.ListType.html" title="class in org.apache.iceberg.types">Types.ListType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i730" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.LongType.html" title="class in org.apache.iceberg.types">Types.LongType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i731" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.MapType.html" title="class in org.apache.iceberg.types">Types.MapType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i732" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.NestedField.html" title="class in org.apache.iceberg.types">Types.NestedField</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i733" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.StringType.html" title="class in org.apache.iceberg.types">Types.StringType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i734" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.StructType.html" title="class in org.apache.iceberg.types">Types.StructType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i735" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.TimestampType.html" title="class in org.apache.iceberg.types">Types.TimestampType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i736" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.TimeType.html" title="class in org.apache.iceberg.types">Types.TimeType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i737" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/Types.UUIDType.html" title="class in org.apache.iceberg.types">Types.UUIDType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i738" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/TypeToMessageType.html" title="class in org.apache.iceberg.parquet">TypeToMessageType</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i739" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/TypeUtil.html" title="class in org.apache.iceberg.types">TypeUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i740" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/TypeUtil.CustomOrderSchemaVisitor.html" title="class in org.apache.iceberg.types">TypeUtil.CustomOrderSchemaVisitor</a>&lt;<a href="org/apache/iceberg/types/TypeUtil.CustomOrderSchemaVisitor.html" title="type parameter in TypeUtil.CustomOrderSchemaVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i741" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/TypeUtil.NextID.html" title="interface in org.apache.iceberg.types">TypeUtil.NextID</a></td>
+<th class="colLast" scope="row">
+<div class="block">Interface for passing a function that assigns column IDs.</div>
+</th>
+</tr>
+<tr id="i742" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/types/TypeUtil.SchemaVisitor.html" title="class in org.apache.iceberg.types">TypeUtil.SchemaVisitor</a>&lt;<a href="org/apache/iceberg/types/TypeUtil.SchemaVisitor.html" title="type parameter in TypeUtil.SchemaVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i743" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/TypeWithSchemaVisitor.html" title="class in org.apache.iceberg.parquet">TypeWithSchemaVisitor</a>&lt;<a href="org/apache/iceberg/parquet/TypeWithSchemaVisitor.html" title="type parameter in TypeWithSchemaVisitor">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Visitor for traversing a Parquet type with a companion Iceberg type.</div>
+</th>
+</tr>
+<tr id="i744" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/Unbound.html" title="interface in org.apache.iceberg.expressions">Unbound</a>&lt;<a href="org/apache/iceberg/expressions/Unbound.html" title="type parameter in Unbound">T</a>,&#8203;<a href="org/apache/iceberg/expressions/Unbound.html" title="type parameter in Unbound">B</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Represents an unbound expression node.</div>
+</th>
+</tr>
+<tr id="i745" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/UnboundPredicate.html" title="class in org.apache.iceberg.expressions">UnboundPredicate</a>&lt;<a href="org/apache/iceberg/expressions/UnboundPredicate.html" title="type parameter in UnboundPredicate">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i746" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/UnboundTerm.html" title="interface in org.apache.iceberg.expressions">UnboundTerm</a>&lt;<a href="org/apache/iceberg/expressions/UnboundTerm.html" title="type parameter in UnboundTerm">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Represents an unbound term.</div>
+</th>
+</tr>
+<tr id="i747" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/expressions/UnboundTransform.html" title="class in org.apache.iceberg.expressions">UnboundTransform</a>&lt;<a href="org/apache/iceberg/expressions/UnboundTransform.html" title="type parameter in UnboundTransform">S</a>,&#8203;<a href="org/apache/iceberg/expressions/UnboundTransform.html" title="type parameter in UnboundTransform">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i748" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/jdbc/UncheckedInterruptedException.html" title="class in org.apache.iceberg.jdbc">UncheckedInterruptedException</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i749" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/jdbc/UncheckedSQLException.html" title="class in org.apache.iceberg.jdbc">UncheckedSQLException</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i750" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/UnicodeUtil.html" title="class in org.apache.iceberg.util">UnicodeUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i751" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/schema/UnionByNameVisitor.html" title="class in org.apache.iceberg.schema">UnionByNameVisitor</a></td>
+<th class="colLast" scope="row">
+<div class="block">Visitor class that accumulates the set of changes needed to evolve an existing schema into the union of the
+ existing and a new schema.</div>
+</th>
+</tr>
+<tr id="i752" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/transforms/UnknownTransform.html" title="class in org.apache.iceberg.transforms">UnknownTransform</a>&lt;<a href="org/apache/iceberg/transforms/UnknownTransform.html" title="type parameter in UnknownTransform">S</a>,&#8203;<a href="org/apache/iceberg/transforms/UnknownTransform.html" title="type parameter in UnknownTransform">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i753" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/UnpartitionedWriter.html" title="class in org.apache.iceberg.io">UnpartitionedWriter</a>&lt;<a href="org/apache/iceberg/io/UnpartitionedWriter.html" title="type parameter in UnpartitionedWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i754" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/UnspecifiedDistribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions">UnspecifiedDistribution</a></td>
+<th class="colLast" scope="row">
+<div class="block">A distribution where no promises are made about co-location of data.</div>
+</th>
+</tr>
+<tr id="i755" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/UnspecifiedDistributionImpl.html" title="class in org.apache.spark.sql.connector.iceberg.distributions.impl">UnspecifiedDistributionImpl</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i756" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/UpdateLocation.html" title="interface in org.apache.iceberg">UpdateLocation</a></td>
+<th class="colLast" scope="row">
+<div class="block">API for setting a table's base location.</div>
+</th>
+</tr>
+<tr id="i757" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/UpdatePartitionSpec.html" title="interface in org.apache.iceberg">UpdatePartitionSpec</a></td>
+<th class="colLast" scope="row">
+<div class="block">API for partition spec evolution.</div>
+</th>
+</tr>
+<tr id="i758" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/UpdateProperties.html" title="interface in org.apache.iceberg">UpdateProperties</a></td>
+<th class="colLast" scope="row">
+<div class="block">API for updating table properties.</div>
+</th>
+</tr>
+<tr id="i759" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/UpdateSchema.html" title="interface in org.apache.iceberg">UpdateSchema</a></td>
+<th class="colLast" scope="row">
+<div class="block">API for schema evolution.</div>
+</th>
+</tr>
+<tr id="i760" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/hadoop/Util.html" title="class in org.apache.iceberg.hadoop">Util</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i761" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/UUIDConversion.html" title="class in org.apache.iceberg.avro">UUIDConversion</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i762" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/UUIDUtil.html" title="class in org.apache.iceberg.util">UUIDUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i763" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/exceptions/ValidationException.html" title="class in org.apache.iceberg.exceptions">ValidationException</a></td>
+<th class="colLast" scope="row">
+<div class="block">Exception raised when validation checks fail.</div>
+</th>
+</tr>
+<tr id="i764" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/ValueReader.html" title="interface in org.apache.iceberg.avro">ValueReader</a>&lt;<a href="org/apache/iceberg/avro/ValueReader.html" title="type parameter in ValueReader">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i765" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/ValueReaders.html" title="class in org.apache.iceberg.avro">ValueReaders</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i766" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/ValueReaders.StructReader.html" title="class in org.apache.iceberg.avro">ValueReaders.StructReader</a>&lt;<a href="org/apache/iceberg/avro/ValueReaders.StructReader.html" title="type parameter in ValueReaders.StructReader">S</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i767" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/ValuesAsBytesReader.html" title="class in org.apache.iceberg.parquet">ValuesAsBytesReader</a></td>
+<th class="colLast" scope="row">
+<div class="block">Implements a <code>ValuesReader</code> specifically to read given number of bytes from the underlying <code>ByteBufferInputStream</code>.</div>
+</th>
+</tr>
+<tr id="i768" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/ValueWriter.html" title="interface in org.apache.iceberg.avro">ValueWriter</a>&lt;<a href="org/apache/iceberg/avro/ValueWriter.html" title="type parameter in ValueWriter">D</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i769" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/ValueWriters.html" title="class in org.apache.iceberg.avro">ValueWriters</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i770" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/avro/ValueWriters.StructWriter.html" title="class in org.apache.iceberg.avro">ValueWriters.StructWriter</a>&lt;<a href="org/apache/iceberg/avro/ValueWriters.StructWriter.html" title="type parameter in ValueWriters.StructWriter">S</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i771" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder</a></td>
+<th class="colLast" scope="row">
+<div class="block">Container class for holding the Arrow vector storing a batch of values along with other state needed for reading
+ values out of it.</div>
+</th>
+</tr>
+<tr id="i772" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder.ConstantVectorHolder</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html" title="type parameter in VectorHolder.ConstantVectorHolder">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A Vector Holder which does not actually produce values, consumers of this class should
+ use the constantValue to populate their ColumnVector implementation.</div>
+</th>
+</tr>
+<tr id="i773" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.PositionVectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder.PositionVectorHolder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i774" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedArrowReader</a></td>
+<th class="colLast" scope="row">
+<div class="block"><a href="org/apache/iceberg/parquet/VectorizedReader.html" title="interface in org.apache.iceberg.parquet"><code>VectorReader(s)</code></a> that read in a batch of values into Arrow vectors.</div>
+</th>
+</tr>
+<tr id="i775" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.ConstantVectorReader.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedArrowReader.ConstantVectorReader</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.ConstantVectorReader.html" title="type parameter in VectorizedArrowReader.ConstantVectorReader">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A Dummy Vector Reader which doesn't actually read files, instead it returns a dummy
+ VectorHolder which indicates the constant value which should be used for this column.</div>
+</th>
+</tr>
+<tr id="i776" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator</a></td>
+<th class="colLast" scope="row">
+<div class="block">Vectorized version of the ColumnIterator that reads column values in data pages of a column in a row group in a
+ batched fashion.</div>
+</th>
+</tr>
+<tr id="i777" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedDictionaryEncodedParquetValuesReader</a></td>
+<th class="colLast" scope="row">
+<div class="block">This decoder reads Parquet dictionary encoded data in a vectorized fashion.</div>
+</th>
+</tr>
+<tr id="i778" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedPageIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedPageIterator</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i779" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedParquetDefinitionLevelReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedParquetDefinitionLevelReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i780" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/VectorizedParquetReader.html" title="class in org.apache.iceberg.parquet">VectorizedParquetReader</a>&lt;<a href="org/apache/iceberg/parquet/VectorizedParquetReader.html" title="type parameter in VectorizedParquetReader">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i781" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/parquet/VectorizedReader.html" title="interface in org.apache.iceberg.parquet">VectorizedReader</a>&lt;<a href="org/apache/iceberg/parquet/VectorizedReader.html" title="type parameter in VectorizedReader">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Interface for vectorized Iceberg readers.</div>
+</th>
+</tr>
+<tr id="i782" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/VectorizedReaderBuilder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedReaderBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i783" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/VectorizedRowBatchIterator.html" title="class in org.apache.iceberg.orc">VectorizedRowBatchIterator</a></td>
+<th class="colLast" scope="row">
+<div class="block">An adaptor so that the ORC RecordReader can be used as an Iterator.</div>
+</th>
+</tr>
+<tr id="i784" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkOrcReaders.html" title="class in org.apache.iceberg.spark.data.vectorized">VectorizedSparkOrcReaders</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i785" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html" title="class in org.apache.iceberg.spark.data.vectorized">VectorizedSparkParquetReaders</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i786" class="altColor">
+<td class="colFirst"><a href="org/apache/hadoop/hive/ql/exec/vector/VectorizedSupport.html" title="class in org.apache.hadoop.hive.ql.exec.vector">VectorizedSupport</a></td>
+<th class="colLast" scope="row">
+<div class="block">Copied here from Hive for compatibility</div>
+</th>
+</tr>
+<tr id="i787" class="rowColor">
+<td class="colFirst"><a href="org/apache/hadoop/hive/ql/exec/vector/VectorizedSupport.Support.html" title="enum in org.apache.hadoop.hive.ql.exec.vector">VectorizedSupport.Support</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i788" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/VectorizedTableScanIterable.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedTableScanIterable</a></td>
+<th class="colLast" scope="row">
+<div class="block">A vectorized implementation of the Iceberg reader that iterates over the table scan.</div>
+</th>
+</tr>
+<tr id="i789" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/WapUtil.html" title="class in org.apache.iceberg.util">WapUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i790" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/WriteObjectInspector.html" title="interface in org.apache.iceberg.mr.hive.serde.objectinspector">WriteObjectInspector</a></td>
+<th class="colLast" scope="row">
+<div class="block">Interface for converting the Hive primitive objects for the objects which could be added to an Iceberg Record.</div>
+</th>
+</tr>
+<tr id="i791" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/WriteResult.html" title="class in org.apache.iceberg.io">WriteResult</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i792" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/WriteResult.Builder.html" title="class in org.apache.iceberg.io">WriteResult.Builder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i793" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/WriterFactory.html" title="interface in org.apache.iceberg.io">WriterFactory</a>&lt;<a href="org/apache/iceberg/io/WriterFactory.html" title="type parameter in WriterFactory">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A factory for creating data and delete writers.</div>
+</th>
+</tr>
+</table>
+</li>
+</ul>
+</div>
+</main>
+<footer role="contentinfo">
+<nav role="navigation">
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a id="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="index.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<a id="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</nav>
+</footer>
+</body>
+</html>
diff --git a/javadoc/allclasses.html b/javadoc/allclasses.html
new file mode 100644
index 0000000..4fecf88
--- /dev/null
+++ b/javadoc/allclasses.html
@@ -0,0 +1,821 @@
+<!DOCTYPE HTML>
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (11.0.12) on Mon Nov 08 18:33:49 PST 2021 -->
+<title>All Classes</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2021-11-08">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+<script type="text/javascript" src="jquery/jszip/dist/jszip.min.js"></script>
+<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils.min.js"></script>
+<!--[if IE]>
+<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
+<![endif]-->
+<script type="text/javascript" src="jquery/jquery-3.5.1.js"></script>
+<script type="text/javascript" src="jquery/jquery-ui.js"></script>
+</head>
+<body>
+<h1 class="bar">All&nbsp;Classes</h1>
+<main role="main" class="indexContainer">
+<ul>
+<li><a href="org/apache/iceberg/mr/mapred/AbstractMapredIcebergRecordReader.html" title="class in org.apache.iceberg.mr.mapred">AbstractMapredIcebergRecordReader</a></li>
+<li><a href="org/apache/iceberg/Accessor.html" title="interface in org.apache.iceberg"><span class="interfaceName">Accessor</span></a></li>
+<li><a href="org/apache/iceberg/Accessors.html" title="class in org.apache.iceberg">Accessors</a></li>
+<li><a href="org/apache/iceberg/actions/Action.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">Action</span></a></li>
+<li><a href="org/apache/iceberg/actions/Actions.html" title="class in org.apache.iceberg.actions">Actions</a></li>
+<li><a href="org/apache/iceberg/flink/actions/Actions.html" title="class in org.apache.iceberg.flink.actions">Actions</a></li>
+<li><a href="org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">ActionsProvider</span></a></li>
+<li><a href="org/apache/iceberg/AllDataFilesTable.html" title="class in org.apache.iceberg">AllDataFilesTable</a></li>
+<li><a href="org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html" title="class in org.apache.iceberg">AllDataFilesTable.AllDataFilesTableScan</a></li>
+<li><a href="org/apache/iceberg/AllEntriesTable.html" title="class in org.apache.iceberg">AllEntriesTable</a></li>
+<li><a href="org/apache/iceberg/AllManifestsTable.html" title="class in org.apache.iceberg">AllManifestsTable</a></li>
+<li><a href="org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html" title="class in org.apache.iceberg">AllManifestsTable.AllManifestsTableScan</a></li>
+<li><a href="org/apache/iceberg/exceptions/AlreadyExistsException.html" title="class in org.apache.iceberg.exceptions">AlreadyExistsException</a></li>
+<li><a href="org/apache/iceberg/expressions/And.html" title="class in org.apache.iceberg.expressions">And</a></li>
+<li><a href="org/apache/iceberg/AppendFiles.html" title="interface in org.apache.iceberg"><span class="interfaceName">AppendFiles</span></a></li>
+<li><a href="org/apache/iceberg/util/ArrayUtil.html" title="class in org.apache.iceberg.util">ArrayUtil</a></li>
+<li><a href="org/apache/iceberg/arrow/ArrowAllocation.html" title="class in org.apache.iceberg.arrow">ArrowAllocation</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/ArrowReader.html" title="class in org.apache.iceberg.arrow.vectorized">ArrowReader</a></li>
+<li><a href="org/apache/iceberg/arrow/ArrowSchemaUtil.html" title="class in org.apache.iceberg.arrow">ArrowSchemaUtil</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/ArrowVectorAccessor.html" title="class in org.apache.iceberg.arrow.vectorized">ArrowVectorAccessor</a></li>
+<li><a href="org/apache/iceberg/spark/data/vectorized/ArrowVectorAccessors.html" title="class in org.apache.iceberg.spark.data.vectorized">ArrowVectorAccessors</a></li>
+<li><a href="org/apache/iceberg/aws/AssumeRoleAwsClientFactory.html" title="class in org.apache.iceberg.aws">AssumeRoleAwsClientFactory</a></li>
+<li><a href="org/apache/iceberg/avro/Avro.html" title="class in org.apache.iceberg.avro">Avro</a></li>
+<li><a href="org/apache/iceberg/avro/Avro.DataWriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.DataWriteBuilder</a></li>
+<li><a href="org/apache/iceberg/avro/Avro.DeleteWriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.DeleteWriteBuilder</a></li>
+<li><a href="org/apache/iceberg/avro/Avro.ReadBuilder.html" title="class in org.apache.iceberg.avro">Avro.ReadBuilder</a></li>
+<li><a href="org/apache/iceberg/avro/Avro.WriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.WriteBuilder</a></li>
+<li><a href="org/apache/iceberg/avro/AvroEncoderUtil.html" title="class in org.apache.iceberg.avro">AvroEncoderUtil</a></li>
+<li><a href="org/apache/iceberg/avro/AvroIterable.html" title="class in org.apache.iceberg.avro">AvroIterable</a></li>
+<li><a href="org/apache/iceberg/avro/AvroMetrics.html" title="class in org.apache.iceberg.avro">AvroMetrics</a></li>
+<li><a href="org/apache/iceberg/avro/AvroSchemaUtil.html" title="class in org.apache.iceberg.avro">AvroSchemaUtil</a></li>
+<li><a href="org/apache/iceberg/avro/AvroSchemaVisitor.html" title="class in org.apache.iceberg.avro">AvroSchemaVisitor</a></li>
+<li><a href="org/apache/iceberg/avro/AvroSchemaWithTypeVisitor.html" title="class in org.apache.iceberg.avro">AvroSchemaWithTypeVisitor</a></li>
+<li><a href="org/apache/iceberg/flink/data/AvroWithFlinkSchemaVisitor.html" title="class in org.apache.iceberg.flink.data">AvroWithFlinkSchemaVisitor</a></li>
+<li><a href="org/apache/iceberg/avro/AvroWithPartnerByStructureVisitor.html" title="class in org.apache.iceberg.avro">AvroWithPartnerByStructureVisitor</a></li>
+<li><a href="org/apache/iceberg/spark/data/AvroWithSparkSchemaVisitor.html" title="class in org.apache.iceberg.spark.data">AvroWithSparkSchemaVisitor</a></li>
+<li><a href="org/apache/iceberg/aws/AwsClientFactories.html" title="class in org.apache.iceberg.aws">AwsClientFactories</a></li>
+<li><a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><span class="interfaceName">AwsClientFactory</span></a></li>
+<li><a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></li>
+<li><a href="org/apache/iceberg/parquet/BaseColumnIterator.html" title="class in org.apache.iceberg.parquet">BaseColumnIterator</a></li>
+<li><a href="org/apache/iceberg/BaseCombinedScanTask.html" title="class in org.apache.iceberg">BaseCombinedScanTask</a></li>
+<li><a href="org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteOrphanFilesActionResult</a></li>
+<li><a href="org/apache/iceberg/spark/actions/BaseDeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseDeleteOrphanFilesSparkAction</a></li>
+<li><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></li>
+<li><a href="org/apache/iceberg/spark/actions/BaseDeleteReachableFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseDeleteReachableFilesSparkAction</a></li>
+<li><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></li>
+<li><a href="org/apache/iceberg/spark/actions/BaseExpireSnapshotsSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseExpireSnapshotsSparkAction</a></li>
+<li><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></li>
+<li><a href="org/apache/iceberg/BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a></li>
+<li><a href="org/apache/iceberg/BaseMetastoreTableOperations.html" title="class in org.apache.iceberg">BaseMetastoreTableOperations</a></li>
+<li><a href="org/apache/iceberg/BaseMetastoreTableOperations.CommitStatus.html" title="enum in org.apache.iceberg">BaseMetastoreTableOperations.CommitStatus</a></li>
+<li><a href="org/apache/iceberg/actions/BaseMigrateTableActionResult.html" title="class in org.apache.iceberg.actions">BaseMigrateTableActionResult</a></li>
+<li><a href="org/apache/iceberg/spark/actions/BaseMigrateTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseMigrateTableSparkAction</a></li>
+<li><a href="org/apache/iceberg/BaseOverwriteFiles.html" title="class in org.apache.iceberg">BaseOverwriteFiles</a></li>
+<li><a href="org/apache/iceberg/parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></li>
+<li><a href="org/apache/iceberg/parquet/BasePageIterator.IntIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator.IntIterator</a></li>
+<li><a href="org/apache/iceberg/data/parquet/BaseParquetReaders.html" title="class in org.apache.iceberg.data.parquet">BaseParquetReaders</a></li>
+<li><a href="org/apache/iceberg/data/parquet/BaseParquetWriter.html" title="class in org.apache.iceberg.data.parquet">BaseParquetWriter</a></li>
+<li><a href="org/apache/iceberg/BaseReplacePartitions.html" title="class in org.apache.iceberg">BaseReplacePartitions</a></li>
+<li><a href="org/apache/iceberg/BaseReplaceSortOrder.html" title="class in org.apache.iceberg">BaseReplaceSortOrder</a></li>
+<li><a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a></li>
+<li><a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesFileGroupInfo</a></li>
+<li><a href="org/apache/iceberg/actions/BaseRewriteDataFilesResult.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesResult</a></li>
+<li><a href="org/apache/iceberg/spark/actions/BaseRewriteDataFilesSpark3Action.html" title="class in org.apache.iceberg.spark.actions">BaseRewriteDataFilesSpark3Action</a></li>
+<li><a href="org/apache/iceberg/BaseRewriteManifests.html" title="class in org.apache.iceberg">BaseRewriteManifests</a></li>
+<li><a href="org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">BaseRewriteManifestsActionResult</a></li>
+<li><a href="org/apache/iceberg/spark/actions/BaseRewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseRewriteManifestsSparkAction</a></li>
+<li><a href="org/apache/iceberg/actions/BaseSnapshotTableActionResult.html" title="class in org.apache.iceberg.actions">BaseSnapshotTableActionResult</a></li>
+<li><a href="org/apache/iceberg/spark/actions/BaseSnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseSnapshotTableSparkAction</a></li>
+<li><a href="org/apache/iceberg/BaseTable.html" title="class in org.apache.iceberg">BaseTable</a></li>
+<li><a href="org/apache/iceberg/io/BaseTaskWriter.html" title="class in org.apache.iceberg.io">BaseTaskWriter</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/parquet/BaseVectorizedParquetValuesReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">BaseVectorizedParquetValuesReader</a></li>
+<li><a href="org/apache/iceberg/data/BaseWriterFactory.html" title="class in org.apache.iceberg.data">BaseWriterFactory</a></li>
+<li><a href="org/apache/iceberg/util/BinaryUtil.html" title="class in org.apache.iceberg.util">BinaryUtil</a></li>
+<li><a href="org/apache/iceberg/expressions/Binder.html" title="class in org.apache.iceberg.expressions">Binder</a></li>
+<li><a href="org/apache/iceberg/util/BinPacking.html" title="class in org.apache.iceberg.util">BinPacking</a></li>
+<li><a href="org/apache/iceberg/util/BinPacking.ListPacker.html" title="class in org.apache.iceberg.util">BinPacking.ListPacker</a></li>
+<li><a href="org/apache/iceberg/util/BinPacking.PackingIterable.html" title="class in org.apache.iceberg.util">BinPacking.PackingIterable</a></li>
+<li><a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></li>
+<li><a href="org/apache/iceberg/expressions/Bound.html" title="interface in org.apache.iceberg.expressions"><span class="interfaceName">Bound</span></a></li>
+<li><a href="org/apache/iceberg/expressions/BoundLiteralPredicate.html" title="class in org.apache.iceberg.expressions">BoundLiteralPredicate</a></li>
+<li><a href="org/apache/iceberg/expressions/BoundPredicate.html" title="class in org.apache.iceberg.expressions">BoundPredicate</a></li>
+<li><a href="org/apache/iceberg/expressions/BoundReference.html" title="class in org.apache.iceberg.expressions">BoundReference</a></li>
+<li><a href="org/apache/iceberg/expressions/BoundSetPredicate.html" title="class in org.apache.iceberg.expressions">BoundSetPredicate</a></li>
+<li><a href="org/apache/iceberg/expressions/BoundTerm.html" title="interface in org.apache.iceberg.expressions"><span class="interfaceName">BoundTerm</span></a></li>
+<li><a href="org/apache/iceberg/expressions/BoundTransform.html" title="class in org.apache.iceberg.expressions">BoundTransform</a></li>
+<li><a href="org/apache/iceberg/expressions/BoundUnaryPredicate.html" title="class in org.apache.iceberg.expressions">BoundUnaryPredicate</a></li>
+<li><a href="org/apache/iceberg/util/ByteBuffers.html" title="class in org.apache.iceberg.util">ByteBuffers</a></li>
+<li><a href="org/apache/iceberg/hive/CachedClientPool.html" title="class in org.apache.iceberg.hive">CachedClientPool</a></li>
+<li><a href="org/apache/iceberg/CachingCatalog.html" title="class in org.apache.iceberg">CachingCatalog</a></li>
+<li><a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><span class="interfaceName">Catalog</span></a></li>
+<li><a href="org/apache/iceberg/catalog/Catalog.TableBuilder.html" title="interface in org.apache.iceberg.catalog"><span class="interfaceName">Catalog.TableBuilder</span></a></li>
+<li><a href="org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink"><span class="interfaceName">CatalogLoader</span></a></li>
+<li><a href="org/apache/iceberg/flink/CatalogLoader.CustomCatalogLoader.html" title="class in org.apache.iceberg.flink">CatalogLoader.CustomCatalogLoader</a></li>
+<li><a href="org/apache/iceberg/flink/CatalogLoader.HadoopCatalogLoader.html" title="class in org.apache.iceberg.flink">CatalogLoader.HadoopCatalogLoader</a></li>
+<li><a href="org/apache/iceberg/flink/CatalogLoader.HiveCatalogLoader.html" title="class in org.apache.iceberg.flink">CatalogLoader.HiveCatalogLoader</a></li>
+<li><a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></li>
+<li><a href="org/apache/iceberg/mr/Catalogs.html" title="class in org.apache.iceberg.mr">Catalogs</a></li>
+<li><a href="org/apache/iceberg/CatalogUtil.html" title="class in org.apache.iceberg">CatalogUtil</a></li>
+<li><a href="org/apache/iceberg/util/CharSequenceSet.html" title="class in org.apache.iceberg.util">CharSequenceSet</a></li>
+<li><a href="org/apache/iceberg/util/CharSequenceWrapper.html" title="class in org.apache.iceberg.util">CharSequenceWrapper</a></li>
+<li><a href="org/apache/iceberg/types/CheckCompatibility.html" title="class in org.apache.iceberg.types">CheckCompatibility</a></li>
+<li><a href="org/apache/iceberg/exceptions/CherrypickAncestorCommitException.html" title="class in org.apache.iceberg.exceptions">CherrypickAncestorCommitException</a></li>
+<li><a href="org/apache/iceberg/ClientPool.html" title="interface in org.apache.iceberg"><span class="interfaceName">ClientPool</span></a></li>
+<li><a href="org/apache/iceberg/ClientPool.Action.html" title="interface in org.apache.iceberg"><span class="interfaceName">ClientPool.Action</span></a></li>
+<li><a href="org/apache/iceberg/ClientPoolImpl.html" title="class in org.apache.iceberg">ClientPoolImpl</a></li>
+<li><a href="org/apache/iceberg/io/CloseableGroup.html" title="class in org.apache.iceberg.io">CloseableGroup</a></li>
+<li><a href="org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">CloseableIterable</span></a></li>
+<li><a href="org/apache/iceberg/io/CloseableIterable.ConcatCloseableIterable.html" title="class in org.apache.iceberg.io">CloseableIterable.ConcatCloseableIterable</a></li>
+<li><a href="org/apache/iceberg/io/CloseableIterator.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">CloseableIterator</span></a></li>
+<li><a href="org/apache/iceberg/io/ClosingIterator.html" title="class in org.apache.iceberg.io">ClosingIterator</a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/ClusterDistributionImpl.html" title="class in org.apache.spark.sql.connector.iceberg.distributions.impl">ClusterDistributionImpl</a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/distributions/ClusteredDistribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions"><span class="interfaceName">ClusteredDistribution</span></a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/ColumnarBatch.html" title="class in org.apache.iceberg.arrow.vectorized">ColumnarBatch</a></li>
+<li><a href="org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnarBatchReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ColumnIterator.html" title="class in org.apache.iceberg.parquet">ColumnIterator</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/ColumnVector.html" title="class in org.apache.iceberg.arrow.vectorized">ColumnVector</a></li>
+<li><a href="org/apache/iceberg/parquet/ColumnWriter.html" title="class in org.apache.iceberg.parquet">ColumnWriter</a></li>
+<li><a href="org/apache/iceberg/CombinedScanTask.html" title="interface in org.apache.iceberg"><span class="interfaceName">CombinedScanTask</span></a></li>
+<li><a href="org/apache/iceberg/exceptions/CommitFailedException.html" title="class in org.apache.iceberg.exceptions">CommitFailedException</a></li>
+<li><a href="org/apache/iceberg/exceptions/CommitStateUnknownException.html" title="class in org.apache.iceberg.exceptions">CommitStateUnknownException</a></li>
+<li><a href="org/apache/iceberg/types/Comparators.html" title="class in org.apache.iceberg.types">Comparators</a></li>
+<li><a href="org/apache/iceberg/hadoop/ConfigProperties.html" title="class in org.apache.iceberg.hadoop">ConfigProperties</a></li>
+<li><a href="org/apache/iceberg/mr/mapred/Container.html" title="class in org.apache.iceberg.mr.mapred">Container</a></li>
+<li><a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg"><span class="interfaceName">ContentFile</span></a></li>
+<li><a href="org/apache/iceberg/types/Conversions.html" title="class in org.apache.iceberg.types">Conversions</a></li>
+<li><a href="org/apache/iceberg/actions/CreateAction.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">CreateAction</span></a></li>
+<li><a href="org/apache/iceberg/events/CreateSnapshotEvent.html" title="class in org.apache.iceberg.events">CreateSnapshotEvent</a></li>
+<li><a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><span class="interfaceName">DataFile</span></a></li>
+<li><a href="org/apache/iceberg/DataFiles.html" title="class in org.apache.iceberg">DataFiles</a></li>
+<li><a href="org/apache/iceberg/DataFiles.Builder.html" title="class in org.apache.iceberg">DataFiles.Builder</a></li>
+<li><a href="org/apache/iceberg/DataFilesTable.html" title="class in org.apache.iceberg">DataFilesTable</a></li>
+<li><a href="org/apache/iceberg/DataFilesTable.FilesTableScan.html" title="class in org.apache.iceberg">DataFilesTable.FilesTableScan</a></li>
+<li><a href="org/apache/iceberg/DataOperations.html" title="class in org.apache.iceberg">DataOperations</a></li>
+<li><a href="org/apache/iceberg/data/avro/DataReader.html" title="class in org.apache.iceberg.data.avro">DataReader</a></li>
+<li><a href="org/apache/iceberg/DataTableScan.html" title="class in org.apache.iceberg">DataTableScan</a></li>
+<li><a href="org/apache/iceberg/DataTask.html" title="interface in org.apache.iceberg"><span class="interfaceName">DataTask</span></a></li>
+<li><a href="org/apache/iceberg/data/avro/DataWriter.html" title="class in org.apache.iceberg.data.avro">DataWriter</a></li>
+<li><a href="org/apache/iceberg/io/DataWriter.html" title="class in org.apache.iceberg.io">DataWriter</a></li>
+<li><a href="org/apache/iceberg/util/DateTimeUtil.html" title="class in org.apache.iceberg.util">DateTimeUtil</a></li>
+<li><a href="org/apache/iceberg/util/DecimalUtil.html" title="class in org.apache.iceberg.util">DecimalUtil</a></li>
+<li><a href="org/apache/iceberg/data/avro/DecoderResolver.html" title="class in org.apache.iceberg.data.avro">DecoderResolver</a></li>
+<li><a href="org/apache/iceberg/io/DelegatingInputStream.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">DelegatingInputStream</span></a></li>
+<li><a href="org/apache/iceberg/io/DelegatingOutputStream.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">DelegatingOutputStream</span></a></li>
+<li><a href="org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg"><span class="interfaceName">DeleteFile</span></a></li>
+<li><a href="org/apache/iceberg/DeleteFiles.html" title="interface in org.apache.iceberg"><span class="interfaceName">DeleteFiles</span></a></li>
+<li><a href="org/apache/iceberg/data/DeleteFilter.html" title="class in org.apache.iceberg.data">DeleteFilter</a></li>
+<li><a href="org/apache/iceberg/actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">DeleteOrphanFiles</span></a></li>
+<li><a href="org/apache/iceberg/actions/DeleteOrphanFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">DeleteOrphanFiles.Result</span></a></li>
+<li><a href="org/apache/iceberg/actions/DeleteReachableFiles.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">DeleteReachableFiles</span></a></li>
+<li><a href="org/apache/iceberg/actions/DeleteReachableFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">DeleteReachableFiles.Result</span></a></li>
+<li><a href="org/apache/iceberg/deletes/Deletes.html" title="class in org.apache.iceberg.deletes">Deletes</a></li>
+<li><a href="org/apache/iceberg/io/DeleteSchemaUtil.html" title="class in org.apache.iceberg.io">DeleteSchemaUtil</a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/distributions/Distribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions"><span class="interfaceName">Distribution</span></a></li>
+<li><a href="org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/distributions/Distributions.html" title="class in org.apache.spark.sql.connector.iceberg.distributions">Distributions</a></li>
+<li><a href="org/apache/iceberg/DoubleFieldMetrics.html" title="class in org.apache.iceberg">DoubleFieldMetrics</a></li>
+<li><a href="org/apache/iceberg/DoubleFieldMetrics.Builder.html" title="class in org.apache.iceberg">DoubleFieldMetrics.Builder</a></li>
+<li><a href="org/apache/iceberg/exceptions/DuplicateWAPCommitException.html" title="class in org.apache.iceberg.exceptions">DuplicateWAPCommitException</a></li>
+<li><a href="org/apache/iceberg/aws/dynamodb/DynamoDbCatalog.html" title="class in org.apache.iceberg.aws.dynamodb">DynamoDbCatalog</a></li>
+<li><a href="org/apache/iceberg/common/DynClasses.html" title="class in org.apache.iceberg.common">DynClasses</a></li>
+<li><a href="org/apache/iceberg/common/DynClasses.Builder.html" title="class in org.apache.iceberg.common">DynClasses.Builder</a></li>
+<li><a href="org/apache/iceberg/common/DynConstructors.html" title="class in org.apache.iceberg.common">DynConstructors</a></li>
+<li><a href="org/apache/iceberg/common/DynConstructors.Builder.html" title="class in org.apache.iceberg.common">DynConstructors.Builder</a></li>
+<li><a href="org/apache/iceberg/common/DynConstructors.Ctor.html" title="class in org.apache.iceberg.common">DynConstructors.Ctor</a></li>
+<li><a href="org/apache/iceberg/common/DynFields.html" title="class in org.apache.iceberg.common">DynFields</a></li>
+<li><a href="org/apache/iceberg/common/DynFields.BoundField.html" title="class in org.apache.iceberg.common">DynFields.BoundField</a></li>
+<li><a href="org/apache/iceberg/common/DynFields.Builder.html" title="class in org.apache.iceberg.common">DynFields.Builder</a></li>
+<li><a href="org/apache/iceberg/common/DynFields.StaticField.html" title="class in org.apache.iceberg.common">DynFields.StaticField</a></li>
+<li><a href="org/apache/iceberg/common/DynFields.UnboundField.html" title="class in org.apache.iceberg.common">DynFields.UnboundField</a></li>
+<li><a href="org/apache/iceberg/common/DynMethods.html" title="class in org.apache.iceberg.common">DynMethods</a></li>
+<li><a href="org/apache/iceberg/common/DynMethods.BoundMethod.html" title="class in org.apache.iceberg.common">DynMethods.BoundMethod</a></li>
+<li><a href="org/apache/iceberg/common/DynMethods.Builder.html" title="class in org.apache.iceberg.common">DynMethods.Builder</a></li>
+<li><a href="org/apache/iceberg/common/DynMethods.StaticMethod.html" title="class in org.apache.iceberg.common">DynMethods.StaticMethod</a></li>
+<li><a href="org/apache/iceberg/common/DynMethods.UnboundMethod.html" title="class in org.apache.iceberg.common">DynMethods.UnboundMethod</a></li>
+<li><a href="org/apache/iceberg/encryption/EncryptedFiles.html" title="class in org.apache.iceberg.encryption">EncryptedFiles</a></li>
+<li><a href="org/apache/iceberg/encryption/EncryptedInputFile.html" title="interface in org.apache.iceberg.encryption"><span class="interfaceName">EncryptedInputFile</span></a></li>
+<li><a href="org/apache/iceberg/encryption/EncryptedOutputFile.html" title="interface in org.apache.iceberg.encryption"><span class="interfaceName">EncryptedOutputFile</span></a></li>
+<li><a href="org/apache/iceberg/encryption/EncryptionKeyMetadata.html" title="interface in org.apache.iceberg.encryption"><span class="interfaceName">EncryptionKeyMetadata</span></a></li>
+<li><a href="org/apache/iceberg/encryption/EncryptionKeyMetadatas.html" title="class in org.apache.iceberg.encryption">EncryptionKeyMetadatas</a></li>
+<li><a href="org/apache/iceberg/encryption/EncryptionManager.html" title="interface in org.apache.iceberg.encryption"><span class="interfaceName">EncryptionManager</span></a></li>
+<li><a href="org/apache/iceberg/spark/source/EqualityDeleteRowReader.html" title="class in org.apache.iceberg.spark.source">EqualityDeleteRowReader</a></li>
+<li><a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html" title="class in org.apache.iceberg.deletes">EqualityDeleteWriter</a></li>
+<li><a href="org/apache/iceberg/expressions/Evaluator.html" title="class in org.apache.iceberg.expressions">Evaluator</a></li>
+<li><a href="org/apache/iceberg/util/Exceptions.html" title="class in org.apache.iceberg.util">Exceptions</a></li>
+<li><a href="org/apache/iceberg/util/ExceptionUtil.html" title="class in org.apache.iceberg.util">ExceptionUtil</a></li>
+<li><a href="org/apache/iceberg/util/ExceptionUtil.Block.html" title="interface in org.apache.iceberg.util"><span class="interfaceName">ExceptionUtil.Block</span></a></li>
+<li><a href="org/apache/iceberg/util/ExceptionUtil.CatchBlock.html" title="interface in org.apache.iceberg.util"><span class="interfaceName">ExceptionUtil.CatchBlock</span></a></li>
+<li><a href="org/apache/iceberg/util/ExceptionUtil.FinallyBlock.html" title="interface in org.apache.iceberg.util"><span class="interfaceName">ExceptionUtil.FinallyBlock</span></a></li>
+<li><a href="org/apache/iceberg/actions/ExpireSnapshots.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">ExpireSnapshots</span></a></li>
+<li><a href="org/apache/iceberg/ExpireSnapshots.html" title="interface in org.apache.iceberg"><span class="interfaceName">ExpireSnapshots</span></a></li>
+<li><a href="org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">ExpireSnapshots.Result</span></a></li>
+<li><a href="org/apache/iceberg/actions/ExpireSnapshotsAction.html" title="class in org.apache.iceberg.actions">ExpireSnapshotsAction</a></li>
+<li><a href="org/apache/iceberg/actions/ExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">ExpireSnapshotsActionResult</a></li>
+<li><a href="org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.html" title="class in org.apache.iceberg.spark.procedures">ExpireSnapshotsProcedure</a></li>
+<li><a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><span class="interfaceName">Expression</span></a></li>
+<li><a href="org/apache/iceberg/expressions/Expression.Operation.html" title="enum in org.apache.iceberg.expressions">Expression.Operation</a></li>
+<li><a href="org/apache/iceberg/expressions/Expressions.html" title="class in org.apache.iceberg.expressions">Expressions</a></li>
+<li><a href="org/apache/iceberg/expressions/ExpressionVisitors.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors</a></li>
+<li><a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundExpressionVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.BoundExpressionVisitor</a></li>
+<li><a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.BoundVisitor</a></li>
+<li><a href="org/apache/iceberg/expressions/ExpressionVisitors.ExpressionVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.ExpressionVisitor</a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/catalog/ExtendedSupportsDelete.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog"><span class="interfaceName">ExtendedSupportsDelete</span></a></li>
+<li><a href="org/apache/iceberg/expressions/False.html" title="class in org.apache.iceberg.expressions">False</a></li>
+<li><a href="org/apache/iceberg/FieldMetrics.html" title="class in org.apache.iceberg">FieldMetrics</a></li>
+<li><a href="org/apache/iceberg/io/FileAppender.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">FileAppender</span></a></li>
+<li><a href="org/apache/iceberg/io/FileAppenderFactory.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">FileAppenderFactory</span></a></li>
+<li><a href="org/apache/iceberg/FileContent.html" title="enum in org.apache.iceberg">FileContent</a></li>
+<li><a href="org/apache/iceberg/FileFormat.html" title="enum in org.apache.iceberg">FileFormat</a></li>
+<li><a href="org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">FileIO</span></a></li>
+<li><a href="org/apache/iceberg/FileMetadata.html" title="class in org.apache.iceberg">FileMetadata</a></li>
+<li><a href="org/apache/iceberg/FileMetadata.Builder.html" title="class in org.apache.iceberg">FileMetadata.Builder</a></li>
+<li><a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a></li>
+<li><a href="org/apache/iceberg/Files.html" title="class in org.apache.iceberg">Files</a></li>
+<li><a href="org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg"><span class="interfaceName">FileScanTask</span></a></li>
+<li><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a></li>
+<li><a href="org/apache/iceberg/util/Filter.html" title="class in org.apache.iceberg.util">Filter</a></li>
+<li><a href="org/apache/iceberg/io/FilterIterator.html" title="class in org.apache.iceberg.io">FilterIterator</a></li>
+<li><a href="org/apache/iceberg/FindFiles.html" title="class in org.apache.iceberg">FindFiles</a></li>
+<li><a href="org/apache/iceberg/FindFiles.Builder.html" title="class in org.apache.iceberg">FindFiles.Builder</a></li>
+<li><a href="org/apache/iceberg/types/FixupTypes.html" title="class in org.apache.iceberg.types">FixupTypes</a></li>
+<li><a href="org/apache/iceberg/flink/sink/FlinkAppenderFactory.html" title="class in org.apache.iceberg.flink.sink">FlinkAppenderFactory</a></li>
+<li><a href="org/apache/iceberg/flink/data/FlinkAvroReader.html" title="class in org.apache.iceberg.flink.data">FlinkAvroReader</a></li>
+<li><a href="org/apache/iceberg/flink/data/FlinkAvroWriter.html" title="class in org.apache.iceberg.flink.data">FlinkAvroWriter</a></li>
+<li><a href="org/apache/iceberg/flink/FlinkCatalog.html" title="class in org.apache.iceberg.flink">FlinkCatalog</a></li>
+<li><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html" title="class in org.apache.iceberg.flink">FlinkCatalogFactory</a></li>
+<li><a href="org/apache/iceberg/flink/util/FlinkCompatibilityUtil.html" title="class in org.apache.iceberg.flink.util">FlinkCompatibilityUtil</a></li>
+<li><a href="org/apache/iceberg/flink/FlinkConfigOptions.html" title="class in org.apache.iceberg.flink">FlinkConfigOptions</a></li>
+<li><a href="org/apache/iceberg/flink/FlinkDynamicTableFactory.html" title="class in org.apache.iceberg.flink">FlinkDynamicTableFactory</a></li>
+<li><a href="org/apache/iceberg/flink/FlinkFilters.html" title="class in org.apache.iceberg.flink">FlinkFilters</a></li>
+<li><a href="org/apache/iceberg/flink/source/FlinkInputFormat.html" title="class in org.apache.iceberg.flink.source">FlinkInputFormat</a></li>
+<li><a href="org/apache/iceberg/flink/source/FlinkInputSplit.html" title="class in org.apache.iceberg.flink.source">FlinkInputSplit</a></li>
+<li><a href="org/apache/iceberg/flink/data/FlinkOrcReader.html" title="class in org.apache.iceberg.flink.data">FlinkOrcReader</a></li>
+<li><a href="org/apache/iceberg/flink/data/FlinkOrcWriter.html" title="class in org.apache.iceberg.flink.data">FlinkOrcWriter</a></li>
+<li><a href="org/apache/iceberg/flink/data/FlinkParquetReaders.html" title="class in org.apache.iceberg.flink.data">FlinkParquetReaders</a></li>
+<li><a href="org/apache/iceberg/flink/data/FlinkParquetWriters.html" title="class in org.apache.iceberg.flink.data">FlinkParquetWriters</a></li>
+<li><a href="org/apache/iceberg/flink/FlinkSchemaUtil.html" title="class in org.apache.iceberg.flink">FlinkSchemaUtil</a></li>
+<li><a href="org/apache/iceberg/flink/sink/FlinkSink.html" title="class in org.apache.iceberg.flink.sink">FlinkSink</a></li>
+<li><a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html" title="class in org.apache.iceberg.flink.sink">FlinkSink.Builder</a></li>
+<li><a href="org/apache/iceberg/flink/source/FlinkSource.html" title="class in org.apache.iceberg.flink.source">FlinkSource</a></li>
+<li><a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html" title="class in org.apache.iceberg.flink.source">FlinkSource.Builder</a></li>
+<li><a href="org/apache/iceberg/flink/FlinkTypeVisitor.html" title="class in org.apache.iceberg.flink">FlinkTypeVisitor</a></li>
+<li><a href="org/apache/iceberg/flink/data/FlinkValueReaders.html" title="class in org.apache.iceberg.flink.data">FlinkValueReaders</a></li>
+<li><a href="org/apache/iceberg/flink/data/FlinkValueWriters.html" title="class in org.apache.iceberg.flink.data">FlinkValueWriters</a></li>
+<li><a href="org/apache/iceberg/FloatFieldMetrics.html" title="class in org.apache.iceberg">FloatFieldMetrics</a></li>
+<li><a href="org/apache/iceberg/FloatFieldMetrics.Builder.html" title="class in org.apache.iceberg">FloatFieldMetrics.Builder</a></li>
+<li><a href="org/apache/iceberg/data/GenericAppenderFactory.html" title="class in org.apache.iceberg.data">GenericAppenderFactory</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.html" title="class in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.ArrayFactory.html" title="interface in org.apache.iceberg.arrow.vectorized"><span class="interfaceName">GenericArrowVectorAccessorFactory.ArrayFactory</span></a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.DecimalFactory.html" title="interface in org.apache.iceberg.arrow.vectorized"><span class="interfaceName">GenericArrowVectorAccessorFactory.DecimalFactory</span></a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html" title="interface in org.apache.iceberg.arrow.vectorized"><span class="interfaceName">GenericArrowVectorAccessorFactory.StringFactory</span></a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StructChildFactory.html" title="interface in org.apache.iceberg.arrow.vectorized"><span class="interfaceName">GenericArrowVectorAccessorFactory.StructChildFactory</span></a></li>
+<li><a href="org/apache/iceberg/data/GenericDeleteFilter.html" title="class in org.apache.iceberg.data">GenericDeleteFilter</a></li>
+<li><a href="org/apache/iceberg/GenericManifestFile.html" title="class in org.apache.iceberg">GenericManifestFile</a></li>
+<li><a href="org/apache/iceberg/GenericManifestFile.CopyBuilder.html" title="class in org.apache.iceberg">GenericManifestFile.CopyBuilder</a></li>
+<li><a href="org/apache/iceberg/data/orc/GenericOrcReader.html" title="class in org.apache.iceberg.data.orc">GenericOrcReader</a></li>
+<li><a href="org/apache/iceberg/data/orc/GenericOrcReaders.html" title="class in org.apache.iceberg.data.orc">GenericOrcReaders</a></li>
+<li><a href="org/apache/iceberg/data/orc/GenericOrcWriter.html" title="class in org.apache.iceberg.data.orc">GenericOrcWriter</a></li>
+<li><a href="org/apache/iceberg/data/orc/GenericOrcWriters.html" title="class in org.apache.iceberg.data.orc">GenericOrcWriters</a></li>
+<li><a href="org/apache/iceberg/data/parquet/GenericParquetReaders.html" title="class in org.apache.iceberg.data.parquet">GenericParquetReaders</a></li>
+<li><a href="org/apache/iceberg/data/parquet/GenericParquetWriter.html" title="class in org.apache.iceberg.data.parquet">GenericParquetWriter</a></li>
+<li><a href="org/apache/iceberg/GenericPartitionFieldSummary.html" title="class in org.apache.iceberg">GenericPartitionFieldSummary</a></li>
+<li><a href="org/apache/iceberg/data/GenericRecord.html" title="class in org.apache.iceberg.data">GenericRecord</a></li>
+<li><a href="org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue">GlueCatalog</a></li>
+<li><a href="org/apache/iceberg/GuavaClasses.html" title="class in org.apache.iceberg">GuavaClasses</a></li>
+<li><a href="org/apache/iceberg/hadoop/HadoopCatalog.html" title="class in org.apache.iceberg.hadoop">HadoopCatalog</a></li>
+<li><a href="org/apache/iceberg/hadoop/HadoopConfigurable.html" title="interface in org.apache.iceberg.hadoop"><span class="interfaceName">HadoopConfigurable</span></a></li>
+<li><a href="org/apache/iceberg/hadoop/HadoopFileIO.html" title="class in org.apache.iceberg.hadoop">HadoopFileIO</a></li>
+<li><a href="org/apache/iceberg/hadoop/HadoopInputFile.html" title="class in org.apache.iceberg.hadoop">HadoopInputFile</a></li>
+<li><a href="org/apache/iceberg/hadoop/HadoopOutputFile.html" title="class in org.apache.iceberg.hadoop">HadoopOutputFile</a></li>
+<li><a href="org/apache/iceberg/hadoop/HadoopTableOperations.html" title="class in org.apache.iceberg.hadoop">HadoopTableOperations</a></li>
+<li><a href="org/apache/iceberg/hadoop/HadoopTables.html" title="class in org.apache.iceberg.hadoop">HadoopTables</a></li>
+<li><a href="org/apache/iceberg/HasTableOperations.html" title="interface in org.apache.iceberg"><span class="interfaceName">HasTableOperations</span></a></li>
+<li><a href="org/apache/iceberg/hadoop/HiddenPathFilter.html" title="class in org.apache.iceberg.hadoop">HiddenPathFilter</a></li>
+<li><a href="org/apache/iceberg/HistoryEntry.html" title="interface in org.apache.iceberg"><span class="interfaceName">HistoryEntry</span></a></li>
+<li><a href="org/apache/iceberg/HistoryTable.html" title="class in org.apache.iceberg">HistoryTable</a></li>
+<li><a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></li>
+<li><a href="org/apache/iceberg/hive/HiveCatalogs.html" title="class in org.apache.iceberg.hive">HiveCatalogs</a></li>
+<li><a href="org/apache/iceberg/hive/HiveClientPool.html" title="class in org.apache.iceberg.hive">HiveClientPool</a></li>
+<li><a href="org/apache/iceberg/mr/hive/HiveIcebergFilterFactory.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergFilterFactory</a></li>
+<li><a href="org/apache/iceberg/mr/hive/HiveIcebergInputFormat.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergInputFormat</a></li>
+<li><a href="org/apache/iceberg/mr/hive/HiveIcebergMetaHook.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergMetaHook</a></li>
+<li><a href="org/apache/iceberg/mr/hive/HiveIcebergOutputCommitter.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergOutputCommitter</a></li>
+<li><a href="org/apache/iceberg/mr/hive/HiveIcebergOutputFormat.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergOutputFormat</a></li>
+<li><a href="org/apache/iceberg/mr/hive/HiveIcebergSerDe.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergSerDe</a></li>
+<li><a href="org/apache/iceberg/mr/hive/HiveIcebergSplit.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergSplit</a></li>
+<li><a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergStorageHandler</a></li>
+<li><a href="org/apache/iceberg/hive/HiveSchemaUtil.html" title="class in org.apache.iceberg.hive">HiveSchemaUtil</a></li>
+<li><a href="org/apache/iceberg/hive/HiveTableOperations.html" title="class in org.apache.iceberg.hive">HiveTableOperations</a></li>
+<li><a href="org/apache/iceberg/spark/data/vectorized/IcebergArrowColumnVector.html" title="class in org.apache.iceberg.spark.data.vectorized">IcebergArrowColumnVector</a></li>
+<li><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergBinaryObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergBinaryObjectInspector</a></li>
+<li><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergDateObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergDateObjectInspector</a></li>
+<li><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergDecimalObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergDecimalObjectInspector</a></li>
+<li><a href="org/apache/iceberg/data/avro/IcebergDecoder.html" title="class in org.apache.iceberg.data.avro">IcebergDecoder</a></li>
+<li><a href="org/apache/iceberg/data/avro/IcebergEncoder.html" title="class in org.apache.iceberg.data.avro">IcebergEncoder</a></li>
+<li><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergFixedObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergFixedObjectInspector</a></li>
+<li><a href="org/apache/iceberg/data/IcebergGenerics.html" title="class in org.apache.iceberg.data">IcebergGenerics</a></li>
+<li><a href="org/apache/iceberg/data/IcebergGenerics.ScanBuilder.html" title="class in org.apache.iceberg.data">IcebergGenerics.ScanBuilder</a></li>
+<li><a href="org/apache/iceberg/mr/mapreduce/IcebergInputFormat.html" title="class in org.apache.iceberg.mr.mapreduce">IcebergInputFormat</a></li>
+<li><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergObjectInspector</a></li>
+<li><a href="org/apache/iceberg/pig/IcebergPigInputFormat.html" title="class in org.apache.iceberg.pig">IcebergPigInputFormat</a></li>
+<li><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergRecordObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergRecordObjectInspector</a></li>
+<li><a href="org/apache/iceberg/spark/source/IcebergSource.html" title="class in org.apache.iceberg.spark.source">IcebergSource</a></li>
+<li><a href="org/apache/iceberg/spark/IcebergSpark.html" title="class in org.apache.iceberg.spark">IcebergSpark</a></li>
+<li><a href="org/apache/iceberg/mr/mapreduce/IcebergSplit.html" title="class in org.apache.iceberg.mr.mapreduce">IcebergSplit</a></li>
+<li><a href="org/apache/iceberg/mr/mapreduce/IcebergSplitContainer.html" title="interface in org.apache.iceberg.mr.mapreduce"><span class="interfaceName">IcebergSplitContainer</span></a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsBaseListener.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsBaseListener</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsBaseVisitor.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsBaseVisitor</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsLexer</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsListener.html" title="interface in org.apache.spark.sql.catalyst.parser.extensions"><span class="interfaceName">IcebergSqlExtensionsListener</span></a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.AddPartitionFieldContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.AddPartitionFieldContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ApplyTransformContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.ApplyTransformContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.BigDecimalLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.BigDecimalLiteralContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.BigIntLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.BigIntLiteralContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.BooleanLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.BooleanLiteralContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.BooleanValueContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.BooleanValueContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.CallArgumentContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.CallArgumentContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.CallContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.CallContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ConstantContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.ConstantContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.DecimalLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.DecimalLiteralContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.DoubleLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.DoubleLiteralContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.DropIdentifierFieldsContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.DropIdentifierFieldsContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.DropPartitionFieldContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.DropPartitionFieldContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ExponentLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.ExponentLiteralContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ExpressionContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.ExpressionContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.FieldListContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.FieldListContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.FloatLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.FloatLiteralContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.IdentifierContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.IdentifierContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.IdentityTransformContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.IdentityTransformContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.IntegerLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.IntegerLiteralContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.MultipartIdentifierContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.MultipartIdentifierContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.NamedArgumentContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.NamedArgumentContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.NonReservedContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.NonReservedContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.NumberContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.NumberContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.NumericLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.NumericLiteralContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.OrderContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.OrderContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.OrderFieldContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.OrderFieldContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.PositionalArgumentContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.PositionalArgumentContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.QuotedIdentifierAlternativeContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.QuotedIdentifierAlternativeContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.QuotedIdentifierContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.QuotedIdentifierContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ReplacePartitionFieldContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.ReplacePartitionFieldContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SetIdentifierFieldsContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.SetIdentifierFieldsContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SetWriteDistributionAndOrderingContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.SetWriteDistributionAndOrderingContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SingleStatementContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.SingleStatementContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SmallIntLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.SmallIntLiteralContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.StatementContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.StatementContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.StringLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.StringLiteralContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.StringMapContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.StringMapContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.TinyIntLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.TinyIntLiteralContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.TransformArgumentContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.TransformArgumentContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.TransformContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.TransformContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.TypeConstructorContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.TypeConstructorContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.UnquotedIdentifierContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.UnquotedIdentifierContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.WriteDistributionSpecContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.WriteDistributionSpecContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.WriteOrderingSpecContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.WriteOrderingSpecContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.WriteSpecContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.WriteSpecContext</a></li>
+<li><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsVisitor.html" title="interface in org.apache.spark.sql.catalyst.parser.extensions"><span class="interfaceName">IcebergSqlExtensionsVisitor</span></a></li>
+<li><a href="org/apache/iceberg/pig/IcebergStorage.html" title="class in org.apache.iceberg.pig">IcebergStorage</a></li>
+<li><a href="org/apache/iceberg/flink/IcebergTableSink.html" title="class in org.apache.iceberg.flink">IcebergTableSink</a></li>
+<li><a href="org/apache/iceberg/flink/IcebergTableSource.html" title="class in org.apache.iceberg.flink">IcebergTableSource</a></li>
+<li><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergTimeObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergTimeObjectInspector</a></li>
+<li><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergTimestampObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergTimestampObjectInspector</a></li>
+<li><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergTimestampWithZoneObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergTimestampWithZoneObjectInspector</a></li>
+<li><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergUUIDObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergUUIDObjectInspector</a></li>
+<li><a href="org/apache/iceberg/data/IdentityPartitionConverters.html" title="class in org.apache.iceberg.data">IdentityPartitionConverters</a></li>
+<li><a href="org/apache/iceberg/expressions/InclusiveMetricsEvaluator.html" title="class in org.apache.iceberg.expressions">InclusiveMetricsEvaluator</a></li>
+<li><a href="org/apache/iceberg/events/IncrementalScanEvent.html" title="class in org.apache.iceberg.events">IncrementalScanEvent</a></li>
+<li><a href="org/apache/iceberg/types/IndexByName.html" title="class in org.apache.iceberg.types">IndexByName</a></li>
+<li><a href="org/apache/iceberg/types/IndexParents.html" title="class in org.apache.iceberg.types">IndexParents</a></li>
+<li><a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">InputFile</span></a></li>
+<li><a href="org/apache/iceberg/mr/InputFormatConfig.html" title="class in org.apache.iceberg.mr">InputFormatConfig</a></li>
+<li><a href="org/apache/iceberg/mr/InputFormatConfig.ConfigBuilder.html" title="class in org.apache.iceberg.mr">InputFormatConfig.ConfigBuilder</a></li>
+<li><a href="org/apache/iceberg/mr/InputFormatConfig.InMemoryDataModel.html" title="enum in org.apache.iceberg.mr">InputFormatConfig.InMemoryDataModel</a></li>
+<li><a href="org/apache/iceberg/data/InternalRecordWrapper.html" title="class in org.apache.iceberg.data">InternalRecordWrapper</a></li>
+<li><a href="org/apache/iceberg/IsolationLevel.html" title="enum in org.apache.iceberg">IsolationLevel</a></li>
+<li><a href="org/apache/iceberg/types/JavaHash.html" title="interface in org.apache.iceberg.types"><span class="interfaceName">JavaHash</span></a></li>
+<li><a href="org/apache/iceberg/types/JavaHashes.html" title="class in org.apache.iceberg.types">JavaHashes</a></li>
+<li><a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></li>
+<li><a href="org/apache/iceberg/spark/JobGroupInfo.html" title="class in org.apache.iceberg.spark">JobGroupInfo</a></li>
+<li><a href="org/apache/iceberg/spark/JobGroupUtils.html" title="class in org.apache.iceberg.spark">JobGroupUtils</a></li>
+<li><a href="org/apache/iceberg/util/JsonUtil.html" title="class in org.apache.iceberg.util">JsonUtil</a></li>
+<li><a href="org/apache/iceberg/events/Listener.html" title="interface in org.apache.iceberg.events"><span class="interfaceName">Listener</span></a></li>
+<li><a href="org/apache/iceberg/events/Listeners.html" title="class in org.apache.iceberg.events">Listeners</a></li>
+<li><a href="org/apache/iceberg/expressions/Literal.html" title="interface in org.apache.iceberg.expressions"><span class="interfaceName">Literal</span></a></li>
+<li><a href="org/apache/iceberg/io/LocationProvider.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">LocationProvider</span></a></li>
+<li><a href="org/apache/iceberg/LocationProviders.html" title="class in org.apache.iceberg">LocationProviders</a></li>
+<li><a href="org/apache/iceberg/avro/LogicalMap.html" title="class in org.apache.iceberg.avro">LogicalMap</a></li>
+<li><a href="org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg"><span class="interfaceName">ManageSnapshots</span></a></li>
+<li><a href="org/apache/iceberg/ManifestContent.html" title="enum in org.apache.iceberg">ManifestContent</a></li>
+<li><a href="org/apache/iceberg/ManifestEntriesTable.html" title="class in org.apache.iceberg">ManifestEntriesTable</a></li>
+<li><a href="org/apache/iceberg/expressions/ManifestEvaluator.html" title="class in org.apache.iceberg.expressions">ManifestEvaluator</a></li>
+<li><a href="org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg"><span class="interfaceName">ManifestFile</span></a></li>
+<li><a href="org/apache/iceberg/ManifestFile.PartitionFieldSummary.html" title="interface in org.apache.iceberg"><span class="interfaceName">ManifestFile.PartitionFieldSummary</span></a></li>
+<li><a href="org/apache/iceberg/actions/ManifestFileBean.html" title="class in org.apache.iceberg.actions">ManifestFileBean</a></li>
+<li><a href="org/apache/iceberg/ManifestFiles.html" title="class in org.apache.iceberg">ManifestFiles</a></li>
+<li><a href="org/apache/iceberg/util/ManifestFileUtil.html" title="class in org.apache.iceberg.util">ManifestFileUtil</a></li>
+<li><a href="org/apache/iceberg/ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a></li>
+<li><a href="org/apache/iceberg/ManifestReader.FileType.html" title="enum in org.apache.iceberg">ManifestReader.FileType</a></li>
+<li><a href="org/apache/iceberg/ManifestsTable.html" title="class in org.apache.iceberg">ManifestsTable</a></li>
+<li><a href="org/apache/iceberg/ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a></li>
+<li><a href="org/apache/iceberg/mapping/MappedField.html" title="class in org.apache.iceberg.mapping">MappedField</a></li>
+<li><a href="org/apache/iceberg/mapping/MappedFields.html" title="class in org.apache.iceberg.mapping">MappedFields</a></li>
+<li><a href="org/apache/iceberg/mapping/MappingUtil.html" title="class in org.apache.iceberg.mapping">MappingUtil</a></li>
+<li><a href="org/apache/iceberg/mr/mapred/MapredIcebergInputFormat.html" title="class in org.apache.iceberg.mr.mapred">MapredIcebergInputFormat</a></li>
+<li><a href="org/apache/iceberg/mr/mapred/MapredIcebergInputFormat.CompatibilityTaskAttemptContextImpl.html" title="class in org.apache.iceberg.mr.mapred">MapredIcebergInputFormat.CompatibilityTaskAttemptContextImpl</a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/write/MergeBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">MergeBuilder</span></a></li>
+<li><a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></li>
+<li><a href="org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a></li>
+<li><a href="org/apache/iceberg/MetadataTableUtils.html" title="class in org.apache.iceberg">MetadataTableUtils</a></li>
+<li><a href="org/apache/iceberg/hive/MetastoreUtil.html" title="class in org.apache.iceberg.hive">MetastoreUtil</a></li>
+<li><a href="org/apache/iceberg/Metrics.html" title="class in org.apache.iceberg">Metrics</a></li>
+<li><a href="org/apache/iceberg/avro/MetricsAwareDatumWriter.html" title="interface in org.apache.iceberg.avro"><span class="interfaceName">MetricsAwareDatumWriter</span></a></li>
+<li><a href="org/apache/iceberg/MetricsConfig.html" title="class in org.apache.iceberg">MetricsConfig</a></li>
+<li><a href="org/apache/iceberg/MetricsModes.html" title="class in org.apache.iceberg">MetricsModes</a></li>
+<li><a href="org/apache/iceberg/MetricsModes.Counts.html" title="class in org.apache.iceberg">MetricsModes.Counts</a></li>
+<li><a href="org/apache/iceberg/MetricsModes.Full.html" title="class in org.apache.iceberg">MetricsModes.Full</a></li>
+<li><a href="org/apache/iceberg/MetricsModes.MetricsMode.html" title="interface in org.apache.iceberg"><span class="interfaceName">MetricsModes.MetricsMode</span></a></li>
+<li><a href="org/apache/iceberg/MetricsModes.None.html" title="class in org.apache.iceberg">MetricsModes.None</a></li>
+<li><a href="org/apache/iceberg/MetricsModes.Truncate.html" title="class in org.apache.iceberg">MetricsModes.Truncate</a></li>
+<li><a href="org/apache/iceberg/MetricsUtil.html" title="class in org.apache.iceberg">MetricsUtil</a></li>
+<li><a href="org/apache/iceberg/MicroBatches.html" title="class in org.apache.iceberg">MicroBatches</a></li>
+<li><a href="org/apache/iceberg/MicroBatches.MicroBatch.html" title="class in org.apache.iceberg">MicroBatches.MicroBatch</a></li>
+<li><a href="org/apache/iceberg/MicroBatches.MicroBatchBuilder.html" title="class in org.apache.iceberg">MicroBatches.MicroBatchBuilder</a></li>
+<li><a href="org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">MigrateTable</span></a></li>
+<li><a href="org/apache/iceberg/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">MigrateTable.Result</span></a></li>
+<li><a href="org/apache/iceberg/expressions/NamedReference.html" title="class in org.apache.iceberg.expressions">NamedReference</a></li>
+<li><a href="org/apache/iceberg/mapping/NameMapping.html" title="class in org.apache.iceberg.mapping">NameMapping</a></li>
+<li><a href="org/apache/iceberg/mapping/NameMappingParser.html" title="class in org.apache.iceberg.mapping">NameMappingParser</a></li>
+<li><a href="org/apache/iceberg/catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a></li>
+<li><a href="org/apache/iceberg/exceptions/NamespaceNotEmptyException.html" title="class in org.apache.iceberg.exceptions">NamespaceNotEmptyException</a></li>
+<li><a href="org/apache/iceberg/util/NaNUtil.html" title="class in org.apache.iceberg.util">NaNUtil</a></li>
+<li><a href="org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a></li>
+<li><a href="org/apache/iceberg/nessie/NessieTableOperations.html" title="class in org.apache.iceberg.nessie">NessieTableOperations</a></li>
+<li><a href="org/apache/iceberg/nessie/NessieUtil.html" title="class in org.apache.iceberg.nessie">NessieUtil</a></li>
+<li><a href="org/apache/iceberg/exceptions/NoSuchIcebergTableException.html" title="class in org.apache.iceberg.exceptions">NoSuchIcebergTableException</a></li>
+<li><a href="org/apache/iceberg/exceptions/NoSuchNamespaceException.html" title="class in org.apache.iceberg.exceptions">NoSuchNamespaceException</a></li>
+<li><a href="org/apache/spark/sql/catalyst/analysis/NoSuchProcedureException.html" title="class in org.apache.spark.sql.catalyst.analysis">NoSuchProcedureException</a></li>
+<li><a href="org/apache/iceberg/exceptions/NoSuchTableException.html" title="class in org.apache.iceberg.exceptions">NoSuchTableException</a></li>
+<li><a href="org/apache/iceberg/expressions/Not.html" title="class in org.apache.iceberg.expressions">Not</a></li>
+<li><a href="org/apache/iceberg/exceptions/NotFoundException.html" title="class in org.apache.iceberg.exceptions">NotFoundException</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a></li>
+<li><a href="org/apache/iceberg/NullOrder.html" title="enum in org.apache.iceberg">NullOrder</a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/expressions/NullOrdering.html" title="enum in org.apache.spark.sql.connector.iceberg.expressions">NullOrdering</a></li>
+<li><a href="org/apache/iceberg/expressions/Or.html" title="class in org.apache.iceberg.expressions">Or</a></li>
+<li><a href="org/apache/iceberg/orc/ORC.html" title="class in org.apache.iceberg.orc">ORC</a></li>
+<li><a href="org/apache/iceberg/orc/ORC.DataWriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.DataWriteBuilder</a></li>
+<li><a href="org/apache/iceberg/orc/ORC.ReadBuilder.html" title="class in org.apache.iceberg.orc">ORC.ReadBuilder</a></li>
+<li><a href="org/apache/iceberg/orc/ORC.WriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.WriteBuilder</a></li>
+<li><a href="org/apache/iceberg/orc/OrcBatchReader.html" title="interface in org.apache.iceberg.orc"><span class="interfaceName">OrcBatchReader</span></a></li>
+<li><a href="org/apache/iceberg/orc/OrcMetrics.html" title="class in org.apache.iceberg.orc">OrcMetrics</a></li>
+<li><a href="org/apache/iceberg/orc/OrcRowReader.html" title="interface in org.apache.iceberg.orc"><span class="interfaceName">OrcRowReader</span></a></li>
+<li><a href="org/apache/iceberg/orc/OrcRowWriter.html" title="interface in org.apache.iceberg.orc"><span class="interfaceName">OrcRowWriter</span></a></li>
+<li><a href="org/apache/iceberg/orc/ORCSchemaUtil.html" title="class in org.apache.iceberg.orc">ORCSchemaUtil</a></li>
+<li><a href="org/apache/iceberg/orc/ORCSchemaUtil.BinaryType.html" title="enum in org.apache.iceberg.orc">ORCSchemaUtil.BinaryType</a></li>
+<li><a href="org/apache/iceberg/orc/ORCSchemaUtil.LongType.html" title="enum in org.apache.iceberg.orc">ORCSchemaUtil.LongType</a></li>
+<li><a href="org/apache/iceberg/orc/OrcSchemaVisitor.html" title="class in org.apache.iceberg.orc">OrcSchemaVisitor</a></li>
+<li><a href="org/apache/iceberg/orc/OrcSchemaWithTypeVisitor.html" title="class in org.apache.iceberg.orc">OrcSchemaWithTypeVisitor</a></li>
+<li><a href="org/apache/iceberg/orc/OrcValueReader.html" title="interface in org.apache.iceberg.orc"><span class="interfaceName">OrcValueReader</span></a></li>
+<li><a href="org/apache/iceberg/orc/OrcValueReaders.html" title="class in org.apache.iceberg.orc">OrcValueReaders</a></li>
+<li><a href="org/apache/iceberg/orc/OrcValueReaders.StructReader.html" title="class in org.apache.iceberg.orc">OrcValueReaders.StructReader</a></li>
+<li><a href="org/apache/iceberg/orc/OrcValueWriter.html" title="interface in org.apache.iceberg.orc"><span class="interfaceName">OrcValueWriter</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/distributions/OrderedDistribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions"><span class="interfaceName">OrderedDistribution</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/OrderedDistributionImpl.html" title="class in org.apache.spark.sql.connector.iceberg.distributions.impl">OrderedDistributionImpl</a></li>
+<li><a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">OutputFile</span></a></li>
+<li><a href="org/apache/iceberg/io/OutputFileFactory.html" title="class in org.apache.iceberg.io">OutputFileFactory</a></li>
+<li><a href="org/apache/iceberg/io/OutputFileFactory.Builder.html" title="class in org.apache.iceberg.io">OutputFileFactory.Builder</a></li>
+<li><a href="org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg"><span class="interfaceName">OverwriteFiles</span></a></li>
+<li><a href="org/apache/iceberg/util/Pair.html" title="class in org.apache.iceberg.util">Pair</a></li>
+<li><a href="org/apache/iceberg/util/ParallelIterable.html" title="class in org.apache.iceberg.util">ParallelIterable</a></li>
+<li><a href="org/apache/iceberg/parquet/Parquet.html" title="class in org.apache.iceberg.parquet">Parquet</a></li>
+<li><a href="org/apache/iceberg/parquet/Parquet.DataWriteBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.DataWriteBuilder</a></li>
+<li><a href="org/apache/iceberg/parquet/Parquet.DeleteWriteBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.DeleteWriteBuilder</a></li>
+<li><a href="org/apache/iceberg/parquet/Parquet.ReadBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.ReadBuilder</a></li>
+<li><a href="org/apache/iceberg/parquet/Parquet.WriteBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.WriteBuilder</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetAvroReader.html" title="class in org.apache.iceberg.parquet">ParquetAvroReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetAvroValueReaders.html" title="class in org.apache.iceberg.parquet">ParquetAvroValueReaders</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetAvroValueReaders.TimeMillisReader.html" title="class in org.apache.iceberg.parquet">ParquetAvroValueReaders.TimeMillisReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetAvroValueReaders.TimestampMillisReader.html" title="class in org.apache.iceberg.parquet">ParquetAvroValueReaders.TimestampMillisReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetAvroWriter.html" title="class in org.apache.iceberg.parquet">ParquetAvroWriter</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetDictionaryRowGroupFilter.html" title="class in org.apache.iceberg.parquet">ParquetDictionaryRowGroupFilter</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetIterable.html" title="class in org.apache.iceberg.parquet">ParquetIterable</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetMetricsRowGroupFilter.html" title="class in org.apache.iceberg.parquet">ParquetMetricsRowGroupFilter</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetReader.html" title="class in org.apache.iceberg.parquet">ParquetReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetSchemaUtil.html" title="class in org.apache.iceberg.parquet">ParquetSchemaUtil</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetSchemaUtil.HasIds.html" title="class in org.apache.iceberg.parquet">ParquetSchemaUtil.HasIds</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetTypeVisitor.html" title="class in org.apache.iceberg.parquet">ParquetTypeVisitor</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetUtil.html" title="class in org.apache.iceberg.parquet">ParquetUtil</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReader.html" title="interface in org.apache.iceberg.parquet"><span class="interfaceName">ParquetValueReader</span></a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.BinaryAsDecimalReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.BinaryAsDecimalReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.ByteArrayReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.ByteArrayReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.BytesReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.BytesReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.FloatAsDoubleReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.FloatAsDoubleReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.IntAsLongReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.IntAsLongReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.IntegerAsDecimalReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.IntegerAsDecimalReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.ListReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.ListReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.LongAsDecimalReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.LongAsDecimalReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.MapReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.MapReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.PrimitiveReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.PrimitiveReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedKeyValueReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.RepeatedKeyValueReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.RepeatedReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.ReusableEntry.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.ReusableEntry</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.StringReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.StringReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.StructReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.StructReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueReaders.UnboxedReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.UnboxedReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueWriter.html" title="interface in org.apache.iceberg.parquet"><span class="interfaceName">ParquetValueWriter</span></a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueWriters.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueWriters.PositionDeleteStructWriter.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters.PositionDeleteStructWriter</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueWriters.PrimitiveWriter.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters.PrimitiveWriter</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueWriters.RepeatedKeyValueWriter.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters.RepeatedKeyValueWriter</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueWriters.RepeatedWriter.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters.RepeatedWriter</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetValueWriters.StructWriter.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters.StructWriter</a></li>
+<li><a href="org/apache/iceberg/flink/data/ParquetWithFlinkSchemaVisitor.html" title="class in org.apache.iceberg.flink.data">ParquetWithFlinkSchemaVisitor</a></li>
+<li><a href="org/apache/iceberg/spark/data/ParquetWithSparkSchemaVisitor.html" title="class in org.apache.iceberg.spark.data">ParquetWithSparkSchemaVisitor</a></li>
+<li><a href="org/apache/iceberg/parquet/ParquetWriteAdapter.html" title="class in org.apache.iceberg.parquet">ParquetWriteAdapter</a></li>
+<li><a href="org/apache/iceberg/io/PartitionedFanoutWriter.html" title="class in org.apache.iceberg.io">PartitionedFanoutWriter</a></li>
+<li><a href="org/apache/iceberg/io/PartitionedWriter.html" title="class in org.apache.iceberg.io">PartitionedWriter</a></li>
+<li><a href="org/apache/iceberg/PartitionField.html" title="class in org.apache.iceberg">PartitionField</a></li>
+<li><a href="org/apache/iceberg/Partitioning.html" title="class in org.apache.iceberg">Partitioning</a></li>
+<li><a href="org/apache/iceberg/PartitionKey.html" title="class in org.apache.iceberg">PartitionKey</a></li>
+<li><a href="org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a></li>
+<li><a href="org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a></li>
+<li><a href="org/apache/iceberg/PartitionSpec.Builder.html" title="class in org.apache.iceberg">PartitionSpec.Builder</a></li>
+<li><a href="org/apache/iceberg/PartitionSpecParser.html" title="class in org.apache.iceberg">PartitionSpecParser</a></li>
+<li><a href="org/apache/iceberg/transforms/PartitionSpecVisitor.html" title="interface in org.apache.iceberg.transforms"><span class="interfaceName">PartitionSpecVisitor</span></a></li>
+<li><a href="org/apache/iceberg/PartitionsTable.html" title="class in org.apache.iceberg">PartitionsTable</a></li>
+<li><a href="org/apache/iceberg/util/PartitionUtil.html" title="class in org.apache.iceberg.util">PartitionUtil</a></li>
+<li><a href="org/apache/iceberg/spark/PathIdentifier.html" title="class in org.apache.iceberg.spark">PathIdentifier</a></li>
+<li><a href="org/apache/iceberg/PendingUpdate.html" title="interface in org.apache.iceberg"><span class="interfaceName">PendingUpdate</span></a></li>
+<li><a href="org/apache/iceberg/pig/PigParquetReader.html" title="class in org.apache.iceberg.pig">PigParquetReader</a></li>
+<li><a href="org/apache/iceberg/encryption/PlaintextEncryptionManager.html" title="class in org.apache.iceberg.encryption">PlaintextEncryptionManager</a></li>
+<li><a href="org/apache/iceberg/deletes/PositionDelete.html" title="class in org.apache.iceberg.deletes">PositionDelete</a></li>
+<li><a href="org/apache/iceberg/deletes/PositionDeleteWriter.html" title="class in org.apache.iceberg.deletes">PositionDeleteWriter</a></li>
+<li><a href="org/apache/iceberg/io/PositionOutputStream.html" title="class in org.apache.iceberg.io">PositionOutputStream</a></li>
+<li><a href="org/apache/iceberg/expressions/Predicate.html" title="class in org.apache.iceberg.expressions">Predicate</a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/catalog/Procedure.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog"><span class="interfaceName">Procedure</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/catalog/ProcedureCatalog.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog"><span class="interfaceName">ProcedureCatalog</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/catalog/ProcedureParameter.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog"><span class="interfaceName">ProcedureParameter</span></a></li>
+<li><a href="org/apache/iceberg/avro/ProjectionDatumReader.html" title="class in org.apache.iceberg.avro">ProjectionDatumReader</a></li>
+<li><a href="org/apache/iceberg/expressions/Projections.html" title="class in org.apache.iceberg.expressions">Projections</a></li>
+<li><a href="org/apache/iceberg/expressions/Projections.ProjectionEvaluator.html" title="class in org.apache.iceberg.expressions">Projections.ProjectionEvaluator</a></li>
+<li><a href="org/apache/iceberg/util/PropertyUtil.html" title="class in org.apache.iceberg.util">PropertyUtil</a></li>
+<li><a href="org/apache/iceberg/spark/PruneColumnsWithoutReordering.html" title="class in org.apache.iceberg.spark">PruneColumnsWithoutReordering</a></li>
+<li><a href="org/apache/iceberg/spark/PruneColumnsWithReordering.html" title="class in org.apache.iceberg.spark">PruneColumnsWithReordering</a></li>
+<li><a href="org/apache/iceberg/ReachableFileUtil.html" title="class in org.apache.iceberg">ReachableFileUtil</a></li>
+<li><a href="org/apache/iceberg/data/Record.html" title="interface in org.apache.iceberg.data"><span class="interfaceName">Record</span></a></li>
+<li><a href="org/apache/iceberg/expressions/Reference.html" title="interface in org.apache.iceberg.expressions"><span class="interfaceName">Reference</span></a></li>
+<li><a href="org/apache/iceberg/avro/RemoveIds.html" title="class in org.apache.iceberg.avro">RemoveIds</a></li>
+<li><a href="org/apache/iceberg/parquet/RemoveIds.html" title="class in org.apache.iceberg.parquet">RemoveIds</a></li>
+<li><a href="org/apache/iceberg/actions/RemoveOrphanFilesAction.html" title="class in org.apache.iceberg.actions">RemoveOrphanFilesAction</a></li>
+<li><a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RemoveOrphanFilesProcedure</a></li>
+<li><a href="org/apache/iceberg/ReplacePartitions.html" title="interface in org.apache.iceberg"><span class="interfaceName">ReplacePartitions</span></a></li>
+<li><a href="org/apache/iceberg/ReplaceSortOrder.html" title="interface in org.apache.iceberg"><span class="interfaceName">ReplaceSortOrder</span></a></li>
+<li><a href="org/apache/iceberg/expressions/ResidualEvaluator.html" title="class in org.apache.iceberg.expressions">ResidualEvaluator</a></li>
+<li><a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteDataFiles</span></a></li>
+<li><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteDataFiles.FileGroupInfo</span></a></li>
+<li><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteDataFiles.FileGroupRewriteResult</span></a></li>
+<li><a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteDataFiles.Result</span></a></li>
+<li><a href="org/apache/iceberg/actions/RewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">RewriteDataFilesAction</a></li>
+<li><a href="org/apache/iceberg/flink/actions/RewriteDataFilesAction.html" title="class in org.apache.iceberg.flink.actions">RewriteDataFilesAction</a></li>
+<li><a href="org/apache/iceberg/actions/RewriteDataFilesActionResult.html" title="class in org.apache.iceberg.actions">RewriteDataFilesActionResult</a></li>
+<li><a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.html" title="class in org.apache.iceberg.actions">RewriteDataFilesCommitManager</a></li>
+<li><a href="org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a></li>
+<li><a href="org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg"><span class="interfaceName">RewriteFiles</span></a></li>
+<li><a href="org/apache/iceberg/actions/RewriteManifests.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteManifests</span></a></li>
+<li><a href="org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg"><span class="interfaceName">RewriteManifests</span></a></li>
+<li><a href="org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteManifests.Result</span></a></li>
+<li><a href="org/apache/iceberg/actions/RewriteManifestsAction.html" title="class in org.apache.iceberg.actions">RewriteManifestsAction</a></li>
+<li><a href="org/apache/iceberg/actions/RewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">RewriteManifestsActionResult</a></li>
+<li><a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteStrategy</span></a></li>
+<li><a href="org/apache/iceberg/Rollback.html" title="interface in org.apache.iceberg"><span class="interfaceName">Rollback</span></a></li>
+<li><a href="org/apache/iceberg/spark/RollbackStagedTable.html" title="class in org.apache.iceberg.spark">RollbackStagedTable</a></li>
+<li><a href="org/apache/iceberg/flink/source/RowDataRewriter.html" title="class in org.apache.iceberg.flink.source">RowDataRewriter</a></li>
+<li><a href="org/apache/iceberg/spark/source/RowDataRewriter.html" title="class in org.apache.iceberg.spark.source">RowDataRewriter</a></li>
+<li><a href="org/apache/iceberg/flink/source/RowDataRewriter.RewriteMap.html" title="class in org.apache.iceberg.flink.source">RowDataRewriter.RewriteMap</a></li>
+<li><a href="org/apache/iceberg/flink/sink/RowDataTaskWriterFactory.html" title="class in org.apache.iceberg.flink.sink">RowDataTaskWriterFactory</a></li>
+<li><a href="org/apache/iceberg/flink/data/RowDataUtil.html" title="class in org.apache.iceberg.flink.data">RowDataUtil</a></li>
+<li><a href="org/apache/iceberg/flink/RowDataWrapper.html" title="class in org.apache.iceberg.flink">RowDataWrapper</a></li>
+<li><a href="org/apache/iceberg/RowDelta.html" title="interface in org.apache.iceberg"><span class="interfaceName">RowDelta</span></a></li>
+<li><a href="org/apache/iceberg/spark/data/vectorized/RowPositionColumnVector.html" title="class in org.apache.iceberg.spark.data.vectorized">RowPositionColumnVector</a></li>
+<li><a href="org/apache/iceberg/exceptions/RuntimeIOException.html" title="class in org.apache.iceberg.exceptions">RuntimeIOException</a></li>
+<li><a href="org/apache/iceberg/hive/RuntimeMetaException.html" title="class in org.apache.iceberg.hive">RuntimeMetaException</a></li>
+<li><a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3">S3FileIO</a></li>
+<li><a href="org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></li>
+<li><a href="org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3">S3OutputFile</a></li>
+<li><a href="org/apache/iceberg/aws/s3/S3RequestUtil.html" title="class in org.apache.iceberg.aws.s3">S3RequestUtil</a></li>
+<li><a href="org/apache/iceberg/events/ScanEvent.html" title="class in org.apache.iceberg.events">ScanEvent</a></li>
+<li><a href="org/apache/iceberg/ScanSummary.html" title="class in org.apache.iceberg">ScanSummary</a></li>
+<li><a href="org/apache/iceberg/ScanSummary.Builder.html" title="class in org.apache.iceberg">ScanSummary.Builder</a></li>
+<li><a href="org/apache/iceberg/ScanSummary.PartitionMetrics.html" title="class in org.apache.iceberg">ScanSummary.PartitionMetrics</a></li>
+<li><a href="org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg"><span class="interfaceName">ScanTask</span></a></li>
+<li><a href="org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></li>
+<li><a href="org/apache/iceberg/SchemaParser.html" title="class in org.apache.iceberg">SchemaParser</a></li>
+<li><a href="org/apache/iceberg/pig/SchemaUtil.html" title="class in org.apache.iceberg.pig">SchemaUtil</a></li>
+<li><a href="org/apache/iceberg/schema/SchemaWithPartnerVisitor.html" title="class in org.apache.iceberg.schema">SchemaWithPartnerVisitor</a></li>
+<li><a href="org/apache/iceberg/schema/SchemaWithPartnerVisitor.PartnerAccessors.html" title="interface in org.apache.iceberg.schema"><span class="interfaceName">SchemaWithPartnerVisitor.PartnerAccessors</span></a></li>
+<li><a href="org/apache/iceberg/io/SeekableInputStream.html" title="class in org.apache.iceberg.io">SeekableInputStream</a></li>
+<li><a href="org/apache/iceberg/hadoop/SerializableConfiguration.html" title="class in org.apache.iceberg.hadoop">SerializableConfiguration</a></li>
+<li><a href="org/apache/iceberg/util/SerializableMap.html" title="class in org.apache.iceberg.util">SerializableMap</a></li>
+<li><a href="org/apache/iceberg/util/SerializableSupplier.html" title="interface in org.apache.iceberg.util"><span class="interfaceName">SerializableSupplier</span></a></li>
+<li><a href="org/apache/iceberg/SerializableTable.html" title="class in org.apache.iceberg">SerializableTable</a></li>
+<li><a href="org/apache/iceberg/util/SerializationUtil.html" title="class in org.apache.iceberg.util">SerializationUtil</a></li>
+<li><a href="org/apache/iceberg/SetLocation.html" title="class in org.apache.iceberg">SetLocation</a></li>
+<li><a href="org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><span class="interfaceName">Snapshot</span></a></li>
+<li><a href="org/apache/iceberg/actions/SnapshotAction.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">SnapshotAction</span></a></li>
+<li><a href="org/apache/iceberg/SnapshotManager.html" title="class in org.apache.iceberg">SnapshotManager</a></li>
+<li><a href="org/apache/iceberg/SnapshotParser.html" title="class in org.apache.iceberg">SnapshotParser</a></li>
+<li><a href="org/apache/iceberg/SnapshotsTable.html" title="class in org.apache.iceberg">SnapshotsTable</a></li>
+<li><a href="org/apache/iceberg/SnapshotSummary.html" title="class in org.apache.iceberg">SnapshotSummary</a></li>
+<li><a href="org/apache/iceberg/SnapshotSummary.Builder.html" title="class in org.apache.iceberg">SnapshotSummary.Builder</a></li>
+<li><a href="org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">SnapshotTable</span></a></li>
+<li><a href="org/apache/iceberg/actions/SnapshotTable.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">SnapshotTable.Result</span></a></li>
+<li><a href="org/apache/iceberg/actions/SnapshotUpdate.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">SnapshotUpdate</span></a></li>
+<li><a href="org/apache/iceberg/SnapshotUpdate.html" title="interface in org.apache.iceberg"><span class="interfaceName">SnapshotUpdate</span></a></li>
+<li><a href="org/apache/iceberg/actions/SnapshotUpdateAction.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">SnapshotUpdateAction</span></a></li>
+<li><a href="org/apache/iceberg/util/SnapshotUtil.html" title="class in org.apache.iceberg.util">SnapshotUtil</a></li>
+<li><a href="org/apache/iceberg/SortDirection.html" title="enum in org.apache.iceberg">SortDirection</a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/expressions/SortDirection.html" title="enum in org.apache.spark.sql.connector.iceberg.expressions">SortDirection</a></li>
+<li><a href="org/apache/iceberg/util/SortedMerge.html" title="class in org.apache.iceberg.util">SortedMerge</a></li>
+<li><a href="org/apache/iceberg/SortField.html" title="class in org.apache.iceberg">SortField</a></li>
+<li><a href="org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/expressions/SortOrder.html" title="interface in org.apache.spark.sql.connector.iceberg.expressions"><span class="interfaceName">SortOrder</span></a></li>
+<li><a href="org/apache/iceberg/SortOrder.Builder.html" title="class in org.apache.iceberg">SortOrder.Builder</a></li>
+<li><a href="org/apache/iceberg/SortOrderBuilder.html" title="interface in org.apache.iceberg"><span class="interfaceName">SortOrderBuilder</span></a></li>
+<li><a href="org/apache/iceberg/SortOrderParser.html" title="class in org.apache.iceberg">SortOrderParser</a></li>
+<li><a href="org/apache/iceberg/util/SortOrderUtil.html" title="class in org.apache.iceberg.util">SortOrderUtil</a></li>
+<li><a href="org/apache/iceberg/transforms/SortOrderVisitor.html" title="interface in org.apache.iceberg.transforms"><span class="interfaceName">SortOrderVisitor</span></a></li>
+<li><a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></li>
+<li><a href="org/apache/iceberg/spark/actions/Spark3BinPackStrategy.html" title="class in org.apache.iceberg.spark.actions">Spark3BinPackStrategy</a></li>
+<li><a href="org/apache/iceberg/actions/Spark3MigrateAction.html" title="class in org.apache.iceberg.actions">Spark3MigrateAction</a></li>
+<li><a href="org/apache/iceberg/actions/Spark3SnapshotAction.html" title="class in org.apache.iceberg.actions">Spark3SnapshotAction</a></li>
+<li><a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></li>
+<li><a href="org/apache/iceberg/spark/Spark3Util.CatalogAndIdentifier.html" title="class in org.apache.iceberg.spark">Spark3Util.CatalogAndIdentifier</a></li>
+<li><a href="org/apache/iceberg/spark/Spark3Util.DescribeSchemaVisitor.html" title="class in org.apache.iceberg.spark">Spark3Util.DescribeSchemaVisitor</a></li>
+<li><a href="org/apache/iceberg/spark/Spark3VersionUtil.html" title="class in org.apache.iceberg.spark">Spark3VersionUtil</a></li>
+<li><a href="org/apache/iceberg/actions/SparkActions.html" title="class in org.apache.iceberg.actions">SparkActions</a></li>
+<li><a href="org/apache/iceberg/spark/actions/SparkActions.html" title="class in org.apache.iceberg.spark.actions">SparkActions</a></li>
+<li><a href="org/apache/iceberg/spark/data/SparkAvroReader.html" title="class in org.apache.iceberg.spark.data">SparkAvroReader</a></li>
+<li><a href="org/apache/iceberg/spark/data/SparkAvroWriter.html" title="class in org.apache.iceberg.spark.data">SparkAvroWriter</a></li>
+<li><a href="org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark">SparkCatalog</a></li>
+<li><a href="org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark">SparkDataFile</a></li>
+<li><a href="org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark">SparkExceptionUtil</a></li>
+<li><a href="org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark">SparkFilters</a></li>
+<li><a href="org/apache/iceberg/spark/source/SparkMicroBatchStream.html" title="class in org.apache.iceberg.spark.source">SparkMicroBatchStream</a></li>
+<li><a href="org/apache/iceberg/spark/data/SparkOrcReader.html" title="class in org.apache.iceberg.spark.data">SparkOrcReader</a></li>
+<li><a href="org/apache/iceberg/spark/data/SparkOrcValueReaders.html" title="class in org.apache.iceberg.spark.data">SparkOrcValueReaders</a></li>
+<li><a href="org/apache/iceberg/spark/data/SparkOrcWriter.html" title="class in org.apache.iceberg.spark.data">SparkOrcWriter</a></li>
+<li><a href="org/apache/iceberg/spark/data/SparkParquetReaders.html" title="class in org.apache.iceberg.spark.data">SparkParquetReaders</a></li>
+<li><a href="org/apache/iceberg/spark/data/SparkParquetWriters.html" title="class in org.apache.iceberg.spark.data">SparkParquetWriters</a></li>
+<li><a href="org/apache/iceberg/spark/source/SparkPartitionedFanoutWriter.html" title="class in org.apache.iceberg.spark.source">SparkPartitionedFanoutWriter</a></li>
+<li><a href="org/apache/iceberg/spark/source/SparkPartitionedWriter.html" title="class in org.apache.iceberg.spark.source">SparkPartitionedWriter</a></li>
+<li><a href="org/apache/iceberg/spark/procedures/SparkProcedures.html" title="class in org.apache.iceberg.spark.procedures">SparkProcedures</a></li>
+<li><a href="org/apache/iceberg/spark/procedures/SparkProcedures.ProcedureBuilder.html" title="interface in org.apache.iceberg.spark.procedures"><span class="interfaceName">SparkProcedures.ProcedureBuilder</span></a></li>
+<li><a href="org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark">SparkReadOptions</a></li>
+<li><a href="org/apache/iceberg/spark/source/SparkRewriteBuilder.html" title="class in org.apache.iceberg.spark.source">SparkRewriteBuilder</a></li>
+<li><a href="org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source">SparkScanBuilder</a></li>
+<li><a href="org/apache/iceberg/spark/SparkSchemaUtil.html" title="class in org.apache.iceberg.spark">SparkSchemaUtil</a></li>
+<li><a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a></li>
+<li><a href="org/apache/iceberg/spark/SparkStructLike.html" title="class in org.apache.iceberg.spark">SparkStructLike</a></li>
+<li><a href="org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></li>
+<li><a href="org/apache/iceberg/spark/SparkTableUtil.html" title="class in org.apache.iceberg.spark">SparkTableUtil</a></li>
+<li><a href="org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a></li>
+<li><a href="org/apache/iceberg/spark/SparkUtil.html" title="class in org.apache.iceberg.spark">SparkUtil</a></li>
+<li><a href="org/apache/iceberg/spark/SparkValueConverter.html" title="class in org.apache.iceberg.spark">SparkValueConverter</a></li>
+<li><a href="org/apache/iceberg/spark/data/SparkValueReaders.html" title="class in org.apache.iceberg.spark.data">SparkValueReaders</a></li>
+<li><a href="org/apache/iceberg/spark/data/SparkValueWriters.html" title="class in org.apache.iceberg.spark.data">SparkValueWriters</a></li>
+<li><a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></li>
+<li><a href="org/apache/iceberg/spark/source/StagedSparkTable.html" title="class in org.apache.iceberg.spark.source">StagedSparkTable</a></li>
+<li><a href="org/apache/iceberg/StaticTableOperations.html" title="class in org.apache.iceberg">StaticTableOperations</a></li>
+<li><a href="org/apache/iceberg/flink/source/StreamingMonitorFunction.html" title="class in org.apache.iceberg.flink.source">StreamingMonitorFunction</a></li>
+<li><a href="org/apache/iceberg/flink/source/StreamingReaderOperator.html" title="class in org.apache.iceberg.flink.source">StreamingReaderOperator</a></li>
+<li><a href="org/apache/iceberg/expressions/StrictMetricsEvaluator.html" title="class in org.apache.iceberg.expressions">StrictMetricsEvaluator</a></li>
+<li><a href="org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg"><span class="interfaceName">StructLike</span></a></li>
+<li><a href="org/apache/iceberg/util/StructLikeMap.html" title="class in org.apache.iceberg.util">StructLikeMap</a></li>
+<li><a href="org/apache/iceberg/util/StructLikeSet.html" title="class in org.apache.iceberg.util">StructLikeSet</a></li>
+<li><a href="org/apache/iceberg/util/StructLikeWrapper.html" title="class in org.apache.iceberg.util">StructLikeWrapper</a></li>
+<li><a href="org/apache/iceberg/util/StructProjection.html" title="class in org.apache.iceberg.util">StructProjection</a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/read/SupportsFileFilter.html" title="interface in org.apache.spark.sql.connector.iceberg.read"><span class="interfaceName">SupportsFileFilter</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/catalog/SupportsMerge.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog"><span class="interfaceName">SupportsMerge</span></a></li>
+<li><a href="org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog"><span class="interfaceName">SupportsNamespaces</span></a></li>
+<li><a href="org/apache/iceberg/avro/SupportsRowPosition.html" title="interface in org.apache.iceberg.avro"><span class="interfaceName">SupportsRowPosition</span></a></li>
+<li><a href="org/apache/iceberg/SystemProperties.html" title="class in org.apache.iceberg">SystemProperties</a></li>
+<li><a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><span class="interfaceName">Table</span></a></li>
+<li><a href="org/apache/iceberg/catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a></li>
+<li><a href="org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink"><span class="interfaceName">TableLoader</span></a></li>
+<li><a href="org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html" title="class in org.apache.iceberg.flink">TableLoader.CatalogTableLoader</a></li>
+<li><a href="org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html" title="class in org.apache.iceberg.flink">TableLoader.HadoopTableLoader</a></li>
+<li><a href="org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></li>
+<li><a href="org/apache/iceberg/TableMetadata.MetadataLogEntry.html" title="class in org.apache.iceberg">TableMetadata.MetadataLogEntry</a></li>
+<li><a href="org/apache/iceberg/TableMetadata.SnapshotLogEntry.html" title="class in org.apache.iceberg">TableMetadata.SnapshotLogEntry</a></li>
+<li><a href="org/apache/iceberg/TableMetadataParser.html" title="class in org.apache.iceberg">TableMetadataParser</a></li>
+<li><a href="org/apache/iceberg/TableMetadataParser.Codec.html" title="enum in org.apache.iceberg">TableMetadataParser.Codec</a></li>
+<li><a href="org/apache/iceberg/data/TableMigrationUtil.html" title="class in org.apache.iceberg.data">TableMigrationUtil</a></li>
+<li><a href="org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg"><span class="interfaceName">TableOperations</span></a></li>
+<li><a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></li>
+<li><a href="org/apache/iceberg/nessie/TableReference.html" title="class in org.apache.iceberg.nessie">TableReference</a></li>
+<li><a href="org/apache/iceberg/Tables.html" title="interface in org.apache.iceberg"><span class="interfaceName">Tables</span></a></li>
+<li><a href="org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg"><span class="interfaceName">TableScan</span></a></li>
+<li><a href="org/apache/iceberg/util/TableScanUtil.html" title="class in org.apache.iceberg.util">TableScanUtil</a></li>
+<li><a href="org/apache/iceberg/util/Tasks.html" title="class in org.apache.iceberg.util">Tasks</a></li>
+<li><a href="org/apache/iceberg/util/Tasks.Builder.html" title="class in org.apache.iceberg.util">Tasks.Builder</a></li>
+<li><a href="org/apache/iceberg/util/Tasks.FailureTask.html" title="interface in org.apache.iceberg.util"><span class="interfaceName">Tasks.FailureTask</span></a></li>
+<li><a href="org/apache/iceberg/util/Tasks.Task.html" title="interface in org.apache.iceberg.util"><span class="interfaceName">Tasks.Task</span></a></li>
+<li><a href="org/apache/iceberg/util/Tasks.UnrecoverableException.html" title="class in org.apache.iceberg.util">Tasks.UnrecoverableException</a></li>
+<li><a href="org/apache/iceberg/io/TaskWriter.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">TaskWriter</span></a></li>
+<li><a href="org/apache/iceberg/flink/sink/TaskWriterFactory.html" title="interface in org.apache.iceberg.flink.sink"><span class="interfaceName">TaskWriterFactory</span></a></li>
+<li><a href="org/apache/iceberg/expressions/Term.html" title="interface in org.apache.iceberg.expressions"><span class="interfaceName">Term</span></a></li>
+<li><a href="org/apache/iceberg/mr/hive/TezUtil.html" title="class in org.apache.iceberg.mr.hive">TezUtil</a></li>
+<li><a href="org/apache/iceberg/util/ThreadPools.html" title="class in org.apache.iceberg.util">ThreadPools</a></li>
+<li><a href="org/apache/iceberg/Transaction.html" title="interface in org.apache.iceberg"><span class="interfaceName">Transaction</span></a></li>
+<li><a href="org/apache/iceberg/Transactions.html" title="class in org.apache.iceberg">Transactions</a></li>
+<li><a href="org/apache/iceberg/transforms/Transform.html" title="interface in org.apache.iceberg.transforms"><span class="interfaceName">Transform</span></a></li>
+<li><a href="org/apache/iceberg/transforms/Transforms.html" title="class in org.apache.iceberg.transforms">Transforms</a></li>
+<li><a href="org/apache/iceberg/parquet/TripleWriter.html" title="interface in org.apache.iceberg.parquet"><span class="interfaceName">TripleWriter</span></a></li>
+<li><a href="org/apache/iceberg/expressions/True.html" title="class in org.apache.iceberg.expressions">True</a></li>
+<li><a href="org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types"><span class="interfaceName">Type</span></a></li>
+<li><a href="org/apache/iceberg/types/Type.NestedType.html" title="class in org.apache.iceberg.types">Type.NestedType</a></li>
+<li><a href="org/apache/iceberg/types/Type.PrimitiveType.html" title="class in org.apache.iceberg.types">Type.PrimitiveType</a></li>
+<li><a href="org/apache/iceberg/types/Type.TypeID.html" title="enum in org.apache.iceberg.types">Type.TypeID</a></li>
+<li><a href="org/apache/iceberg/types/Types.html" title="class in org.apache.iceberg.types">Types</a></li>
+<li><a href="org/apache/iceberg/types/Types.BinaryType.html" title="class in org.apache.iceberg.types">Types.BinaryType</a></li>
+<li><a href="org/apache/iceberg/types/Types.BooleanType.html" title="class in org.apache.iceberg.types">Types.BooleanType</a></li>
+<li><a href="org/apache/iceberg/types/Types.DateType.html" title="class in org.apache.iceberg.types">Types.DateType</a></li>
+<li><a href="org/apache/iceberg/types/Types.DecimalType.html" title="class in org.apache.iceberg.types">Types.DecimalType</a></li>
+<li><a href="org/apache/iceberg/types/Types.DoubleType.html" title="class in org.apache.iceberg.types">Types.DoubleType</a></li>
+<li><a href="org/apache/iceberg/types/Types.FixedType.html" title="class in org.apache.iceberg.types">Types.FixedType</a></li>
+<li><a href="org/apache/iceberg/types/Types.FloatType.html" title="class in org.apache.iceberg.types">Types.FloatType</a></li>
+<li><a href="org/apache/iceberg/types/Types.IntegerType.html" title="class in org.apache.iceberg.types">Types.IntegerType</a></li>
+<li><a href="org/apache/iceberg/types/Types.ListType.html" title="class in org.apache.iceberg.types">Types.ListType</a></li>
+<li><a href="org/apache/iceberg/types/Types.LongType.html" title="class in org.apache.iceberg.types">Types.LongType</a></li>
+<li><a href="org/apache/iceberg/types/Types.MapType.html" title="class in org.apache.iceberg.types">Types.MapType</a></li>
+<li><a href="org/apache/iceberg/types/Types.NestedField.html" title="class in org.apache.iceberg.types">Types.NestedField</a></li>
+<li><a href="org/apache/iceberg/types/Types.StringType.html" title="class in org.apache.iceberg.types">Types.StringType</a></li>
+<li><a href="org/apache/iceberg/types/Types.StructType.html" title="class in org.apache.iceberg.types">Types.StructType</a></li>
+<li><a href="org/apache/iceberg/types/Types.TimestampType.html" title="class in org.apache.iceberg.types">Types.TimestampType</a></li>
+<li><a href="org/apache/iceberg/types/Types.TimeType.html" title="class in org.apache.iceberg.types">Types.TimeType</a></li>
+<li><a href="org/apache/iceberg/types/Types.UUIDType.html" title="class in org.apache.iceberg.types">Types.UUIDType</a></li>
+<li><a href="org/apache/iceberg/parquet/TypeToMessageType.html" title="class in org.apache.iceberg.parquet">TypeToMessageType</a></li>
+<li><a href="org/apache/iceberg/types/TypeUtil.html" title="class in org.apache.iceberg.types">TypeUtil</a></li>
+<li><a href="org/apache/iceberg/types/TypeUtil.CustomOrderSchemaVisitor.html" title="class in org.apache.iceberg.types">TypeUtil.CustomOrderSchemaVisitor</a></li>
+<li><a href="org/apache/iceberg/types/TypeUtil.NextID.html" title="interface in org.apache.iceberg.types"><span class="interfaceName">TypeUtil.NextID</span></a></li>
+<li><a href="org/apache/iceberg/types/TypeUtil.SchemaVisitor.html" title="class in org.apache.iceberg.types">TypeUtil.SchemaVisitor</a></li>
+<li><a href="org/apache/iceberg/parquet/TypeWithSchemaVisitor.html" title="class in org.apache.iceberg.parquet">TypeWithSchemaVisitor</a></li>
+<li><a href="org/apache/iceberg/expressions/Unbound.html" title="interface in org.apache.iceberg.expressions"><span class="interfaceName">Unbound</span></a></li>
+<li><a href="org/apache/iceberg/expressions/UnboundPredicate.html" title="class in org.apache.iceberg.expressions">UnboundPredicate</a></li>
+<li><a href="org/apache/iceberg/expressions/UnboundTerm.html" title="interface in org.apache.iceberg.expressions"><span class="interfaceName">UnboundTerm</span></a></li>
+<li><a href="org/apache/iceberg/expressions/UnboundTransform.html" title="class in org.apache.iceberg.expressions">UnboundTransform</a></li>
+<li><a href="org/apache/iceberg/jdbc/UncheckedInterruptedException.html" title="class in org.apache.iceberg.jdbc">UncheckedInterruptedException</a></li>
+<li><a href="org/apache/iceberg/jdbc/UncheckedSQLException.html" title="class in org.apache.iceberg.jdbc">UncheckedSQLException</a></li>
+<li><a href="org/apache/iceberg/util/UnicodeUtil.html" title="class in org.apache.iceberg.util">UnicodeUtil</a></li>
+<li><a href="org/apache/iceberg/schema/UnionByNameVisitor.html" title="class in org.apache.iceberg.schema">UnionByNameVisitor</a></li>
+<li><a href="org/apache/iceberg/transforms/UnknownTransform.html" title="class in org.apache.iceberg.transforms">UnknownTransform</a></li>
+<li><a href="org/apache/iceberg/io/UnpartitionedWriter.html" title="class in org.apache.iceberg.io">UnpartitionedWriter</a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/distributions/UnspecifiedDistribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions"><span class="interfaceName">UnspecifiedDistribution</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/UnspecifiedDistributionImpl.html" title="class in org.apache.spark.sql.connector.iceberg.distributions.impl">UnspecifiedDistributionImpl</a></li>
+<li><a href="org/apache/iceberg/UpdateLocation.html" title="interface in org.apache.iceberg"><span class="interfaceName">UpdateLocation</span></a></li>
+<li><a href="org/apache/iceberg/UpdatePartitionSpec.html" title="interface in org.apache.iceberg"><span class="interfaceName">UpdatePartitionSpec</span></a></li>
+<li><a href="org/apache/iceberg/UpdateProperties.html" title="interface in org.apache.iceberg"><span class="interfaceName">UpdateProperties</span></a></li>
+<li><a href="org/apache/iceberg/UpdateSchema.html" title="interface in org.apache.iceberg"><span class="interfaceName">UpdateSchema</span></a></li>
+<li><a href="org/apache/iceberg/hadoop/Util.html" title="class in org.apache.iceberg.hadoop">Util</a></li>
+<li><a href="org/apache/iceberg/avro/UUIDConversion.html" title="class in org.apache.iceberg.avro">UUIDConversion</a></li>
+<li><a href="org/apache/iceberg/util/UUIDUtil.html" title="class in org.apache.iceberg.util">UUIDUtil</a></li>
+<li><a href="org/apache/iceberg/exceptions/ValidationException.html" title="class in org.apache.iceberg.exceptions">ValidationException</a></li>
+<li><a href="org/apache/iceberg/avro/ValueReader.html" title="interface in org.apache.iceberg.avro"><span class="interfaceName">ValueReader</span></a></li>
+<li><a href="org/apache/iceberg/avro/ValueReaders.html" title="class in org.apache.iceberg.avro">ValueReaders</a></li>
+<li><a href="org/apache/iceberg/avro/ValueReaders.StructReader.html" title="class in org.apache.iceberg.avro">ValueReaders.StructReader</a></li>
+<li><a href="org/apache/iceberg/parquet/ValuesAsBytesReader.html" title="class in org.apache.iceberg.parquet">ValuesAsBytesReader</a></li>
+<li><a href="org/apache/iceberg/avro/ValueWriter.html" title="interface in org.apache.iceberg.avro"><span class="interfaceName">ValueWriter</span></a></li>
+<li><a href="org/apache/iceberg/avro/ValueWriters.html" title="class in org.apache.iceberg.avro">ValueWriters</a></li>
+<li><a href="org/apache/iceberg/avro/ValueWriters.StructWriter.html" title="class in org.apache.iceberg.avro">ValueWriters.StructWriter</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder.ConstantVectorHolder</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.PositionVectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder.PositionVectorHolder</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedArrowReader</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.ConstantVectorReader.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedArrowReader.ConstantVectorReader</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedDictionaryEncodedParquetValuesReader</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedPageIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedPageIterator</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedParquetDefinitionLevelReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedParquetDefinitionLevelReader</a></li>
+<li><a href="org/apache/iceberg/parquet/VectorizedParquetReader.html" title="class in org.apache.iceberg.parquet">VectorizedParquetReader</a></li>
+<li><a href="org/apache/iceberg/parquet/VectorizedReader.html" title="interface in org.apache.iceberg.parquet"><span class="interfaceName">VectorizedReader</span></a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/VectorizedReaderBuilder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedReaderBuilder</a></li>
+<li><a href="org/apache/iceberg/orc/VectorizedRowBatchIterator.html" title="class in org.apache.iceberg.orc">VectorizedRowBatchIterator</a></li>
+<li><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkOrcReaders.html" title="class in org.apache.iceberg.spark.data.vectorized">VectorizedSparkOrcReaders</a></li>
+<li><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html" title="class in org.apache.iceberg.spark.data.vectorized">VectorizedSparkParquetReaders</a></li>
+<li><a href="org/apache/hadoop/hive/ql/exec/vector/VectorizedSupport.html" title="class in org.apache.hadoop.hive.ql.exec.vector">VectorizedSupport</a></li>
+<li><a href="org/apache/hadoop/hive/ql/exec/vector/VectorizedSupport.Support.html" title="enum in org.apache.hadoop.hive.ql.exec.vector">VectorizedSupport.Support</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/VectorizedTableScanIterable.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedTableScanIterable</a></li>
+<li><a href="org/apache/iceberg/util/WapUtil.html" title="class in org.apache.iceberg.util">WapUtil</a></li>
+<li><a href="org/apache/iceberg/mr/hive/serde/objectinspector/WriteObjectInspector.html" title="interface in org.apache.iceberg.mr.hive.serde.objectinspector"><span class="interfaceName">WriteObjectInspector</span></a></li>
+<li><a href="org/apache/iceberg/io/WriteResult.html" title="class in org.apache.iceberg.io">WriteResult</a></li>
+<li><a href="org/apache/iceberg/io/WriteResult.Builder.html" title="class in org.apache.iceberg.io">WriteResult.Builder</a></li>
+<li><a href="org/apache/iceberg/io/WriterFactory.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">WriterFactory</span></a></li>
+</ul>
+</main>
+</body>
+</html>
diff --git a/javadoc/allpackages-index.html b/javadoc/allpackages-index.html
new file mode 100644
index 0000000..744fda2
--- /dev/null
+++ b/javadoc/allpackages-index.html
@@ -0,0 +1,400 @@
+<!DOCTYPE HTML>
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (11.0.12) on Mon Nov 08 18:33:49 PST 2021 -->
+<title>All Packages</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2021-11-08">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+<script type="text/javascript" src="jquery/jszip/dist/jszip.min.js"></script>
+<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils.min.js"></script>
+<!--[if IE]>
+<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
+<![endif]-->
+<script type="text/javascript" src="jquery/jquery-3.5.1.js"></script>
+<script type="text/javascript" src="jquery/jquery-ui.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="All Packages";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var pathtoroot = "./";
+var useModuleDirectories = true;
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<header role="banner">
+<nav role="navigation">
+<div class="fixedNav">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a id="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="index.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<ul class="navListSearch">
+<li><label for="search">SEARCH:</label>
+<input type="text" id="search" value="search" disabled="disabled">
+<input type="reset" id="reset" value="reset" disabled="disabled">
+</li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<a id="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+</div>
+<div class="navPadding">&nbsp;</div>
+<script type="text/javascript"><!--
+$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
+//-->
+</script>
+</nav>
+</header>
+<main role="main">
+<div class="header">
+<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
+</div>
+<div class="allPackagesContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="packagesSummary">
+<caption><span>Package Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/hadoop/hive/ql/exec/vector/package-summary.html">org.apache.hadoop.hive.ql.exec.vector</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/arrow/package-summary.html">org.apache.iceberg.arrow</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/arrow/vectorized/package-summary.html">org.apache.iceberg.arrow.vectorized</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/arrow/vectorized/parquet/package-summary.html">org.apache.iceberg.arrow.vectorized.parquet</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/avro/package-summary.html">org.apache.iceberg.avro</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/aws/package-summary.html">org.apache.iceberg.aws</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/aws/dynamodb/package-summary.html">org.apache.iceberg.aws.dynamodb</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/aws/glue/package-summary.html">org.apache.iceberg.aws.glue</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/aws/s3/package-summary.html">org.apache.iceberg.aws.s3</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/catalog/package-summary.html">org.apache.iceberg.catalog</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/common/package-summary.html">org.apache.iceberg.common</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/data/package-summary.html">org.apache.iceberg.data</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/data/avro/package-summary.html">org.apache.iceberg.data.avro</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/data/orc/package-summary.html">org.apache.iceberg.data.orc</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/data/parquet/package-summary.html">org.apache.iceberg.data.parquet</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/deletes/package-summary.html">org.apache.iceberg.deletes</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/encryption/package-summary.html">org.apache.iceberg.encryption</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/events/package-summary.html">org.apache.iceberg.events</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/exceptions/package-summary.html">org.apache.iceberg.exceptions</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/expressions/package-summary.html">org.apache.iceberg.expressions</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/flink/package-summary.html">org.apache.iceberg.flink</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/flink/actions/package-summary.html">org.apache.iceberg.flink.actions</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/flink/data/package-summary.html">org.apache.iceberg.flink.data</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/flink/sink/package-summary.html">org.apache.iceberg.flink.sink</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/flink/source/package-summary.html">org.apache.iceberg.flink.source</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/flink/util/package-summary.html">org.apache.iceberg.flink.util</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/hadoop/package-summary.html">org.apache.iceberg.hadoop</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/hive/package-summary.html">org.apache.iceberg.hive</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/jdbc/package-summary.html">org.apache.iceberg.jdbc</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/mapping/package-summary.html">org.apache.iceberg.mapping</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/mr/package-summary.html">org.apache.iceberg.mr</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/mr/hive/package-summary.html">org.apache.iceberg.mr.hive</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/package-summary.html">org.apache.iceberg.mr.hive.serde.objectinspector</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/mr/mapred/package-summary.html">org.apache.iceberg.mr.mapred</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/mr/mapreduce/package-summary.html">org.apache.iceberg.mr.mapreduce</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/nessie/package-summary.html">org.apache.iceberg.nessie</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/orc/package-summary.html">org.apache.iceberg.orc</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/parquet/package-summary.html">org.apache.iceberg.parquet</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/pig/package-summary.html">org.apache.iceberg.pig</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/schema/package-summary.html">org.apache.iceberg.schema</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/actions/package-summary.html">org.apache.iceberg.spark.actions</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/data/package-summary.html">org.apache.iceberg.spark.data</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/data/vectorized/package-summary.html">org.apache.iceberg.spark.data.vectorized</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/procedures/package-summary.html">org.apache.iceberg.spark.procedures</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/source/package-summary.html">org.apache.iceberg.spark.source</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/transforms/package-summary.html">org.apache.iceberg.transforms</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/types/package-summary.html">org.apache.iceberg.types</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/util/package-summary.html">org.apache.iceberg.util</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/spark/sql/catalyst/analysis/package-summary.html">org.apache.spark.sql.catalyst.analysis</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/spark/sql/catalyst/parser/extensions/package-summary.html">org.apache.spark.sql.catalyst.parser.extensions</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/spark/sql/connector/iceberg/catalog/package-summary.html">org.apache.spark.sql.connector.iceberg.catalog</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/spark/sql/connector/iceberg/distributions/package-summary.html">org.apache.spark.sql.connector.iceberg.distributions</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/package-summary.html">org.apache.spark.sql.connector.iceberg.distributions.impl</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/spark/sql/connector/iceberg/expressions/package-summary.html">org.apache.spark.sql.connector.iceberg.expressions</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/spark/sql/connector/iceberg/read/package-summary.html">org.apache.spark.sql.connector.iceberg.read</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/spark/sql/connector/iceberg/write/package-summary.html">org.apache.spark.sql.connector.iceberg.write</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+</main>
+<footer role="contentinfo">
+<nav role="navigation">
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a id="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="index.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<a id="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</nav>
+</footer>
+</body>
+</html>
diff --git a/javadoc/constant-values.html b/javadoc/constant-values.html
new file mode 100644
index 0000000..13a6ac5
--- /dev/null
+++ b/javadoc/constant-values.html
@@ -0,0 +1,3767 @@
+<!DOCTYPE HTML>
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (11.0.12) on Mon Nov 08 18:33:49 PST 2021 -->
+<title>Constant Field Values</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2021-11-08">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+<script type="text/javascript" src="jquery/jszip/dist/jszip.min.js"></script>
+<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils.min.js"></script>
+<!--[if IE]>
+<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
+<![endif]-->
+<script type="text/javascript" src="jquery/jquery-3.5.1.js"></script>
+<script type="text/javascript" src="jquery/jquery-ui.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Constant Field Values";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var pathtoroot = "./";
+var useModuleDirectories = true;
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<header role="banner">
+<nav role="navigation">
+<div class="fixedNav">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a id="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="index.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<ul class="navListSearch">
+<li><label for="search">SEARCH:</label>
+<input type="text" id="search" value="search" disabled="disabled">
+<input type="reset" id="reset" value="reset" disabled="disabled">
+</li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<a id="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+</div>
+<div class="navPadding">&nbsp;</div>
+<script type="text/javascript"><!--
+$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
+//-->
+</script>
+</nav>
+</header>
+<main role="main">
+<div class="header">
+<h1 title="Constant Field Values" class="title">Constant Field Values</h1>
+<section role="region">
+<h2 title="Contents">Contents</h2>
+<ul>
+<li><a href="#org.apache">org.apache.*</a></li>
+</ul>
+</section>
+</div>
+<div class="constantValuesContainer"><a id="org.apache">
+<!--   -->
+</a>
+<section role="region">
+<h2 title="org.apache">org.apache.*</h2>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/AllDataFilesTable.html" title="class in org.apache.iceberg">AllDataFilesTable</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.AllDataFilesTable.PARTITION_FIELD_PREFIX">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code>PARTITION_FIELD_PREFIX</code></th>
+<td class="colLast"><code>"partition."</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/AllEntriesTable.html" title="class in org.apache.iceberg">AllEntriesTable</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.AllEntriesTable.PARTITION_FIELD_PREFIX">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code>PARTITION_FIELD_PREFIX</code></th>
+<td class="colLast"><code>"partition."</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/AllManifestsTable.html" title="class in org.apache.iceberg">AllManifestsTable</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.AllManifestsTable.PARTITION_FIELD_PREFIX">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code>PARTITION_FIELD_PREFIX</code></th>
+<td class="colLast"><code>"partition."</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/BaseMetastoreTableOperations.html" title="class in org.apache.iceberg">BaseMetastoreTableOperations</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.BaseMetastoreTableOperations.ICEBERG_TABLE_TYPE_VALUE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/BaseMetastoreTableOperations.html#ICEBERG_TABLE_TYPE_VALUE">ICEBERG_TABLE_TYPE_VALUE</a></code></th>
+<td class="colLast"><code>"iceberg"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.BaseMetastoreTableOperations.METADATA_LOCATION_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/BaseMetastoreTableOperations.html#METADATA_LOCATION_PROP">METADATA_LOCATION_PROP</a></code></th>
+<td class="colLast"><code>"metadata_location"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.BaseMetastoreTableOperations.PREVIOUS_METADATA_LOCATION_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/BaseMetastoreTableOperations.html#PREVIOUS_METADATA_LOCATION_PROP">PREVIOUS_METADATA_LOCATION_PROP</a></code></th>
+<td class="colLast"><code>"previous_metadata_location"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.BaseMetastoreTableOperations.TABLE_TYPE_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/BaseMetastoreTableOperations.html#TABLE_TYPE_PROP">TABLE_TYPE_PROP</a></code></th>
+<td class="colLast"><code>"table_type"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.APP_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#APP_ID">APP_ID</a></code></th>
+<td class="colLast"><code>"app-id"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.CATALOG_IMPL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#CATALOG_IMPL">CATALOG_IMPL</a></code></th>
+<td class="colLast"><code>"catalog-impl"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.CLIENT_POOL_CACHE_EVICTION_INTERVAL_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_CACHE_EVICTION_INTERVAL_MS">CLIENT_POOL_CACHE_EVICTION_INTERVAL_MS</a></code></th>
+<td class="colLast"><code>"client.pool.cache.eviction-interval-ms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.CLIENT_POOL_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_SIZE">CLIENT_POOL_SIZE</a></code></th>
+<td class="colLast"><code>"clients"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.CLIENT_POOL_SIZE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_SIZE_DEFAULT">CLIENT_POOL_SIZE_DEFAULT</a></code></th>
+<td class="colLast"><code>2</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.FILE_IO_IMPL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#FILE_IO_IMPL">FILE_IO_IMPL</a></code></th>
+<td class="colLast"><code>"io-impl"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.LOCK_ACQUIRE_INTERVAL_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_ACQUIRE_INTERVAL_MS">LOCK_ACQUIRE_INTERVAL_MS</a></code></th>
+<td class="colLast"><code>"lock.acquire-interval-ms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.LOCK_ACQUIRE_TIMEOUT_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_ACQUIRE_TIMEOUT_MS">LOCK_ACQUIRE_TIMEOUT_MS</a></code></th>
+<td class="colLast"><code>"lock.acquire-timeout-ms"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.LOCK_HEARTBEAT_INTERVAL_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_HEARTBEAT_INTERVAL_MS">LOCK_HEARTBEAT_INTERVAL_MS</a></code></th>
+<td class="colLast"><code>"lock.heartbeat-interval-ms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.LOCK_HEARTBEAT_THREADS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_HEARTBEAT_THREADS">LOCK_HEARTBEAT_THREADS</a></code></th>
+<td class="colLast"><code>"lock.heartbeat-threads"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.LOCK_HEARTBEAT_THREADS_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_HEARTBEAT_THREADS_DEFAULT">LOCK_HEARTBEAT_THREADS_DEFAULT</a></code></th>
+<td class="colLast"><code>4</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.LOCK_HEARTBEAT_TIMEOUT_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_HEARTBEAT_TIMEOUT_MS">LOCK_HEARTBEAT_TIMEOUT_MS</a></code></th>
+<td class="colLast"><code>"lock.heartbeat-timeout-ms"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.LOCK_IMPL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_IMPL">LOCK_IMPL</a></code></th>
+<td class="colLast"><code>"lock-impl"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.LOCK_TABLE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_TABLE">LOCK_TABLE</a></code></th>
+<td class="colLast"><code>"lock.table"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.URI">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#URI">URI</a></code></th>
+<td class="colLast"><code>"uri"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.USER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#USER">USER</a></code></th>
+<td class="colLast"><code>"user"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.WAREHOUSE_LOCATION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#WAREHOUSE_LOCATION">WAREHOUSE_LOCATION</a></code></th>
+<td class="colLast"><code>"warehouse"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/CatalogUtil.html" title="class in org.apache.iceberg">CatalogUtil</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogUtil.ICEBERG_CATALOG_HADOOP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogUtil.html#ICEBERG_CATALOG_HADOOP">ICEBERG_CATALOG_HADOOP</a></code></th>
+<td class="colLast"><code>"org.apache.iceberg.hadoop.HadoopCatalog"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogUtil.ICEBERG_CATALOG_HIVE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogUtil.html#ICEBERG_CATALOG_HIVE">ICEBERG_CATALOG_HIVE</a></code></th>
+<td class="colLast"><code>"org.apache.iceberg.hive.HiveCatalog"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogUtil.ICEBERG_CATALOG_TYPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogUtil.html#ICEBERG_CATALOG_TYPE">ICEBERG_CATALOG_TYPE</a></code></th>
+<td class="colLast"><code>"type"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogUtil.ICEBERG_CATALOG_TYPE_HADOOP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogUtil.html#ICEBERG_CATALOG_TYPE_HADOOP">ICEBERG_CATALOG_TYPE_HADOOP</a></code></th>
+<td class="colLast"><code>"hadoop"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogUtil.ICEBERG_CATALOG_TYPE_HIVE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogUtil.html#ICEBERG_CATALOG_TYPE_HIVE">ICEBERG_CATALOG_TYPE_HIVE</a></code></th>
+<td class="colLast"><code>"hive"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.DataFile.PARTITION_DOC">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/DataFile.html#PARTITION_DOC">PARTITION_DOC</a></code></th>
+<td class="colLast"><code>"Partition data tuple, schema based on the partition spec"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.DataFile.PARTITION_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/DataFile.html#PARTITION_ID">PARTITION_ID</a></code></th>
+<td class="colLast"><code>102</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.DataFile.PARTITION_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/DataFile.html#PARTITION_NAME">PARTITION_NAME</a></code></th>
+<td class="colLast"><code>"partition"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/DataFilesTable.html" title="class in org.apache.iceberg">DataFilesTable</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.DataFilesTable.PARTITION_FIELD_PREFIX">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code>PARTITION_FIELD_PREFIX</code></th>
+<td class="colLast"><code>"partition."</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/DataOperations.html" title="class in org.apache.iceberg">DataOperations</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.DataOperations.APPEND">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/DataOperations.html#APPEND">APPEND</a></code></th>
+<td class="colLast"><code>"append"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.DataOperations.DELETE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/DataOperations.html#DELETE">DELETE</a></code></th>
+<td class="colLast"><code>"delete"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.DataOperations.OVERWRITE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/DataOperations.html#OVERWRITE">OVERWRITE</a></code></th>
+<td class="colLast"><code>"overwrite"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.DataOperations.REPLACE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/DataOperations.html#REPLACE">REPLACE</a></code></th>
+<td class="colLast"><code>"replace"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/HistoryTable.html" title="class in org.apache.iceberg">HistoryTable</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.HistoryTable.PARTITION_FIELD_PREFIX">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code>PARTITION_FIELD_PREFIX</code></th>
+<td class="colLast"><code>"partition."</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/ManifestEntriesTable.html" title="class in org.apache.iceberg">ManifestEntriesTable</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.ManifestEntriesTable.PARTITION_FIELD_PREFIX">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code>PARTITION_FIELD_PREFIX</code></th>
+<td class="colLast"><code>"partition."</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/ManifestsTable.html" title="class in org.apache.iceberg">ManifestsTable</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.ManifestsTable.PARTITION_FIELD_PREFIX">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code>PARTITION_FIELD_PREFIX</code></th>
+<td class="colLast"><code>"partition."</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.MetadataColumns.DELETE_FILE_ROW_DOC">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/MetadataColumns.html#DELETE_FILE_ROW_DOC">DELETE_FILE_ROW_DOC</a></code></th>
+<td class="colLast"><code>"Deleted row values"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.MetadataColumns.DELETE_FILE_ROW_FIELD_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/MetadataColumns.html#DELETE_FILE_ROW_FIELD_ID">DELETE_FILE_ROW_FIELD_ID</a></code></th>
+<td class="colLast"><code>2147483544</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.MetadataColumns.DELETE_FILE_ROW_FIELD_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/MetadataColumns.html#DELETE_FILE_ROW_FIELD_NAME">DELETE_FILE_ROW_FIELD_NAME</a></code></th>
+<td class="colLast"><code>"row"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/PartitionsTable.html" title="class in org.apache.iceberg">PartitionsTable</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.PartitionsTable.PARTITION_FIELD_PREFIX">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code>PARTITION_FIELD_PREFIX</code></th>
+<td class="colLast"><code>"partition."</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/SnapshotsTable.html" title="class in org.apache.iceberg">SnapshotsTable</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotsTable.PARTITION_FIELD_PREFIX">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code>PARTITION_FIELD_PREFIX</code></th>
+<td class="colLast"><code>"partition."</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/SnapshotSummary.html" title="class in org.apache.iceberg">SnapshotSummary</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.ADDED_DELETE_FILES_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#ADDED_DELETE_FILES_PROP">ADDED_DELETE_FILES_PROP</a></code></th>
+<td class="colLast"><code>"added-delete-files"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.ADDED_EQ_DELETES_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#ADDED_EQ_DELETES_PROP">ADDED_EQ_DELETES_PROP</a></code></th>
+<td class="colLast"><code>"added-equality-deletes"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.ADDED_FILE_SIZE_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#ADDED_FILE_SIZE_PROP">ADDED_FILE_SIZE_PROP</a></code></th>
+<td class="colLast"><code>"added-files-size"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.ADDED_FILES_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#ADDED_FILES_PROP">ADDED_FILES_PROP</a></code></th>
+<td class="colLast"><code>"added-data-files"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.ADDED_POS_DELETES_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#ADDED_POS_DELETES_PROP">ADDED_POS_DELETES_PROP</a></code></th>
+<td class="colLast"><code>"added-position-deletes"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.ADDED_RECORDS_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#ADDED_RECORDS_PROP">ADDED_RECORDS_PROP</a></code></th>
+<td class="colLast"><code>"added-records"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.CHANGED_PARTITION_COUNT_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#CHANGED_PARTITION_COUNT_PROP">CHANGED_PARTITION_COUNT_PROP</a></code></th>
+<td class="colLast"><code>"changed-partition-count"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.CHANGED_PARTITION_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#CHANGED_PARTITION_PREFIX">CHANGED_PARTITION_PREFIX</a></code></th>
+<td class="colLast"><code>"partitions."</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.DELETED_DUPLICATE_FILES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#DELETED_DUPLICATE_FILES">DELETED_DUPLICATE_FILES</a></code></th>
+<td class="colLast"><code>"deleted-duplicate-files"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.DELETED_FILES_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#DELETED_FILES_PROP">DELETED_FILES_PROP</a></code></th>
+<td class="colLast"><code>"deleted-data-files"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.DELETED_RECORDS_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#DELETED_RECORDS_PROP">DELETED_RECORDS_PROP</a></code></th>
+<td class="colLast"><code>"deleted-records"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.EXTRA_METADATA_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#EXTRA_METADATA_PREFIX">EXTRA_METADATA_PREFIX</a></code></th>
+<td class="colLast"><code>"snapshot-property."</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.PARTITION_SUMMARY_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#PARTITION_SUMMARY_PROP">PARTITION_SUMMARY_PROP</a></code></th>
+<td class="colLast"><code>"partition-summaries-included"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.PUBLISHED_WAP_ID_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#PUBLISHED_WAP_ID_PROP">PUBLISHED_WAP_ID_PROP</a></code></th>
+<td class="colLast"><code>"published-wap-id"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.REMOVED_DELETE_FILES_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#REMOVED_DELETE_FILES_PROP">REMOVED_DELETE_FILES_PROP</a></code></th>
+<td class="colLast"><code>"removed-delete-files"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.REMOVED_EQ_DELETES_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#REMOVED_EQ_DELETES_PROP">REMOVED_EQ_DELETES_PROP</a></code></th>
+<td class="colLast"><code>"removed-equality-deletes"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.REMOVED_FILE_SIZE_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#REMOVED_FILE_SIZE_PROP">REMOVED_FILE_SIZE_PROP</a></code></th>
+<td class="colLast"><code>"removed-files-size"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.REMOVED_POS_DELETES_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#REMOVED_POS_DELETES_PROP">REMOVED_POS_DELETES_PROP</a></code></th>
+<td class="colLast"><code>"removed-position-deletes"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.REPLACE_PARTITIONS_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#REPLACE_PARTITIONS_PROP">REPLACE_PARTITIONS_PROP</a></code></th>
+<td class="colLast"><code>"replace-partitions"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.SOURCE_SNAPSHOT_ID_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#SOURCE_SNAPSHOT_ID_PROP">SOURCE_SNAPSHOT_ID_PROP</a></code></th>
+<td class="colLast"><code>"source-snapshot-id"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.STAGED_WAP_ID_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#STAGED_WAP_ID_PROP">STAGED_WAP_ID_PROP</a></code></th>
+<td class="colLast"><code>"wap.id"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.TOTAL_DATA_FILES_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#TOTAL_DATA_FILES_PROP">TOTAL_DATA_FILES_PROP</a></code></th>
+<td class="colLast"><code>"total-data-files"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.TOTAL_DELETE_FILES_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#TOTAL_DELETE_FILES_PROP">TOTAL_DELETE_FILES_PROP</a></code></th>
+<td class="colLast"><code>"total-delete-files"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.TOTAL_EQ_DELETES_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#TOTAL_EQ_DELETES_PROP">TOTAL_EQ_DELETES_PROP</a></code></th>
+<td class="colLast"><code>"total-equality-deletes"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.TOTAL_FILE_SIZE_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#TOTAL_FILE_SIZE_PROP">TOTAL_FILE_SIZE_PROP</a></code></th>
+<td class="colLast"><code>"total-files-size"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.TOTAL_POS_DELETES_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#TOTAL_POS_DELETES_PROP">TOTAL_POS_DELETES_PROP</a></code></th>
+<td class="colLast"><code>"total-position-deletes"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SnapshotSummary.TOTAL_RECORDS_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SnapshotSummary.html#TOTAL_RECORDS_PROP">TOTAL_RECORDS_PROP</a></code></th>
+<td class="colLast"><code>"total-records"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/SystemProperties.html" title="class in org.apache.iceberg">SystemProperties</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.SystemProperties.SCAN_THREAD_POOL_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SystemProperties.html#SCAN_THREAD_POOL_ENABLED">SCAN_THREAD_POOL_ENABLED</a></code></th>
+<td class="colLast"><code>"iceberg.scan.plan-in-worker-pool"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.SystemProperties.WORKER_THREAD_POOL_SIZE_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/SystemProperties.html#WORKER_THREAD_POOL_SIZE_PROP">WORKER_THREAD_POOL_SIZE_PROP</a></code></th>
+<td class="colLast"><code>"iceberg.worker.num-threads"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.AVRO_COMPRESSION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#AVRO_COMPRESSION">AVRO_COMPRESSION</a></code></th>
+<td class="colLast"><code>"write.avro.compression-codec"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.AVRO_COMPRESSION_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#AVRO_COMPRESSION_DEFAULT">AVRO_COMPRESSION_DEFAULT</a></code></th>
+<td class="colLast"><code>"gzip"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_MAX_RETRY_WAIT_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_MAX_RETRY_WAIT_MS">COMMIT_MAX_RETRY_WAIT_MS</a></code></th>
+<td class="colLast"><code>"commit.retry.max-wait-ms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_MAX_RETRY_WAIT_MS_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_MAX_RETRY_WAIT_MS_DEFAULT">COMMIT_MAX_RETRY_WAIT_MS_DEFAULT</a></code></th>
+<td class="colLast"><code>60000</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_MIN_RETRY_WAIT_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_MIN_RETRY_WAIT_MS">COMMIT_MIN_RETRY_WAIT_MS</a></code></th>
+<td class="colLast"><code>"commit.retry.min-wait-ms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_MIN_RETRY_WAIT_MS_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_MIN_RETRY_WAIT_MS_DEFAULT">COMMIT_MIN_RETRY_WAIT_MS_DEFAULT</a></code></th>
+<td class="colLast"><code>100</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_NUM_RETRIES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_NUM_RETRIES">COMMIT_NUM_RETRIES</a></code></th>
+<td class="colLast"><code>"commit.retry.num-retries"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_NUM_RETRIES_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_NUM_RETRIES_DEFAULT">COMMIT_NUM_RETRIES_DEFAULT</a></code></th>
+<td class="colLast"><code>4</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_NUM_STATUS_CHECKS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_NUM_STATUS_CHECKS">COMMIT_NUM_STATUS_CHECKS</a></code></th>
+<td class="colLast"><code>"commit.status-check.num-retries"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_NUM_STATUS_CHECKS_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_NUM_STATUS_CHECKS_DEFAULT">COMMIT_NUM_STATUS_CHECKS_DEFAULT</a></code></th>
+<td class="colLast"><code>3</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_STATUS_CHECKS_MAX_WAIT_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_STATUS_CHECKS_MAX_WAIT_MS">COMMIT_STATUS_CHECKS_MAX_WAIT_MS</a></code></th>
+<td class="colLast"><code>"commit.status-check.max-wait-ms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_STATUS_CHECKS_MAX_WAIT_MS_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_STATUS_CHECKS_MAX_WAIT_MS_DEFAULT">COMMIT_STATUS_CHECKS_MAX_WAIT_MS_DEFAULT</a></code></th>
+<td class="colLast"><code>60000L</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_STATUS_CHECKS_MIN_WAIT_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_STATUS_CHECKS_MIN_WAIT_MS">COMMIT_STATUS_CHECKS_MIN_WAIT_MS</a></code></th>
+<td class="colLast"><code>"commit.status-check.min-wait-ms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_STATUS_CHECKS_MIN_WAIT_MS_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_STATUS_CHECKS_MIN_WAIT_MS_DEFAULT">COMMIT_STATUS_CHECKS_MIN_WAIT_MS_DEFAULT</a></code></th>
+<td class="colLast"><code>1000L</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_STATUS_CHECKS_TOTAL_WAIT_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_STATUS_CHECKS_TOTAL_WAIT_MS">COMMIT_STATUS_CHECKS_TOTAL_WAIT_MS</a></code></th>
+<td class="colLast"><code>"commit.status-check.total-timeout-ms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_STATUS_CHECKS_TOTAL_WAIT_MS_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_STATUS_CHECKS_TOTAL_WAIT_MS_DEFAULT">COMMIT_STATUS_CHECKS_TOTAL_WAIT_MS_DEFAULT</a></code></th>
+<td class="colLast"><code>1800000L</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_TOTAL_RETRY_TIME_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_TOTAL_RETRY_TIME_MS">COMMIT_TOTAL_RETRY_TIME_MS</a></code></th>
+<td class="colLast"><code>"commit.retry.total-timeout-ms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.COMMIT_TOTAL_RETRY_TIME_MS_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#COMMIT_TOTAL_RETRY_TIME_MS_DEFAULT">COMMIT_TOTAL_RETRY_TIME_MS_DEFAULT</a></code></th>
+<td class="colLast"><code>1800000</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DEFAULT_FILE_FORMAT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DEFAULT_FILE_FORMAT">DEFAULT_FILE_FORMAT</a></code></th>
+<td class="colLast"><code>"write.format.default"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DEFAULT_FILE_FORMAT_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DEFAULT_FILE_FORMAT_DEFAULT">DEFAULT_FILE_FORMAT_DEFAULT</a></code></th>
+<td class="colLast"><code>"parquet"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DEFAULT_NAME_MAPPING">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DEFAULT_NAME_MAPPING">DEFAULT_NAME_MAPPING</a></code></th>
+<td class="colLast"><code>"schema.name-mapping.default"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DEFAULT_WRITE_METRICS_MODE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DEFAULT_WRITE_METRICS_MODE">DEFAULT_WRITE_METRICS_MODE</a></code></th>
+<td class="colLast"><code>"write.metadata.metrics.default"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DEFAULT_WRITE_METRICS_MODE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DEFAULT_WRITE_METRICS_MODE_DEFAULT">DEFAULT_WRITE_METRICS_MODE_DEFAULT</a></code></th>
+<td class="colLast"><code>"truncate(16)"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_AVRO_COMPRESSION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_AVRO_COMPRESSION">DELETE_AVRO_COMPRESSION</a></code></th>
+<td class="colLast"><code>"write.delete.avro.compression-codec"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_DEFAULT_FILE_FORMAT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_DEFAULT_FILE_FORMAT">DELETE_DEFAULT_FILE_FORMAT</a></code></th>
+<td class="colLast"><code>"write.delete.format.default"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_ISOLATION_LEVEL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_ISOLATION_LEVEL">DELETE_ISOLATION_LEVEL</a></code></th>
+<td class="colLast"><code>"write.delete.isolation-level"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_ISOLATION_LEVEL_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_ISOLATION_LEVEL_DEFAULT">DELETE_ISOLATION_LEVEL_DEFAULT</a></code></th>
+<td class="colLast"><code>"serializable"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_MODE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_MODE">DELETE_MODE</a></code></th>
+<td class="colLast"><code>"write.delete.mode"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_MODE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_MODE_DEFAULT">DELETE_MODE_DEFAULT</a></code></th>
+<td class="colLast"><code>"copy-on-write"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_PARQUET_COMPRESSION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_PARQUET_COMPRESSION">DELETE_PARQUET_COMPRESSION</a></code></th>
+<td class="colLast"><code>"write.delete.parquet.compression-codec"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_PARQUET_COMPRESSION_LEVEL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_PARQUET_COMPRESSION_LEVEL">DELETE_PARQUET_COMPRESSION_LEVEL</a></code></th>
+<td class="colLast"><code>"write.delete.parquet.compression-level"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_PARQUET_DICT_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_PARQUET_DICT_SIZE_BYTES">DELETE_PARQUET_DICT_SIZE_BYTES</a></code></th>
+<td class="colLast"><code>"write.delete.parquet.dict-size-bytes"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_PARQUET_PAGE_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_PARQUET_PAGE_SIZE_BYTES">DELETE_PARQUET_PAGE_SIZE_BYTES</a></code></th>
+<td class="colLast"><code>"write.delete.parquet.page-size-bytes"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_PARQUET_ROW_GROUP_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_PARQUET_ROW_GROUP_SIZE_BYTES">DELETE_PARQUET_ROW_GROUP_SIZE_BYTES</a></code></th>
+<td class="colLast"><code>"write.delete.parquet.row-group-size-bytes"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_TARGET_FILE_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_TARGET_FILE_SIZE_BYTES">DELETE_TARGET_FILE_SIZE_BYTES</a></code></th>
+<td class="colLast"><code>"write.delete.target-file-size-bytes"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.ENGINE_HIVE_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#ENGINE_HIVE_ENABLED">ENGINE_HIVE_ENABLED</a></code></th>
+<td class="colLast"><code>"engine.hive.enabled"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.ENGINE_HIVE_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#ENGINE_HIVE_ENABLED_DEFAULT">ENGINE_HIVE_ENABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.FORMAT_VERSION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#FORMAT_VERSION">FORMAT_VERSION</a></code></th>
+<td class="colLast"><code>"format-version"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.GC_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#GC_ENABLED">GC_ENABLED</a></code></th>
+<td class="colLast"><code>"gc.enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.GC_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#GC_ENABLED_DEFAULT">GC_ENABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>true</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MANIFEST_LISTS_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_LISTS_ENABLED">MANIFEST_LISTS_ENABLED</a></code></th>
+<td class="colLast"><code>"write.manifest-lists.enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MANIFEST_LISTS_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_LISTS_ENABLED_DEFAULT">MANIFEST_LISTS_ENABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>true</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MANIFEST_MERGE_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_MERGE_ENABLED">MANIFEST_MERGE_ENABLED</a></code></th>
+<td class="colLast"><code>"commit.manifest-merge.enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MANIFEST_MERGE_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_MERGE_ENABLED_DEFAULT">MANIFEST_MERGE_ENABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>true</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MANIFEST_MIN_MERGE_COUNT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_MIN_MERGE_COUNT">MANIFEST_MIN_MERGE_COUNT</a></code></th>
+<td class="colLast"><code>"commit.manifest.min-count-to-merge"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MANIFEST_MIN_MERGE_COUNT_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_MIN_MERGE_COUNT_DEFAULT">MANIFEST_MIN_MERGE_COUNT_DEFAULT</a></code></th>
+<td class="colLast"><code>100</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MANIFEST_TARGET_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_TARGET_SIZE_BYTES">MANIFEST_TARGET_SIZE_BYTES</a></code></th>
+<td class="colLast"><code>"commit.manifest.target-size-bytes"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MANIFEST_TARGET_SIZE_BYTES_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_TARGET_SIZE_BYTES_DEFAULT">MANIFEST_TARGET_SIZE_BYTES_DEFAULT</a></code></th>
+<td class="colLast"><code>8388608L</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MAX_SNAPSHOT_AGE_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MAX_SNAPSHOT_AGE_MS">MAX_SNAPSHOT_AGE_MS</a></code></th>
+<td class="colLast"><code>"history.expire.max-snapshot-age-ms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MAX_SNAPSHOT_AGE_MS_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MAX_SNAPSHOT_AGE_MS_DEFAULT">MAX_SNAPSHOT_AGE_MS_DEFAULT</a></code></th>
+<td class="colLast"><code>432000000L</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MERGE_CARDINALITY_CHECK_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MERGE_CARDINALITY_CHECK_ENABLED">MERGE_CARDINALITY_CHECK_ENABLED</a></code></th>
+<td class="colLast"><code>"write.merge.cardinality-check.enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MERGE_CARDINALITY_CHECK_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MERGE_CARDINALITY_CHECK_ENABLED_DEFAULT">MERGE_CARDINALITY_CHECK_ENABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>true</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MERGE_ISOLATION_LEVEL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MERGE_ISOLATION_LEVEL">MERGE_ISOLATION_LEVEL</a></code></th>
+<td class="colLast"><code>"write.merge.isolation-level"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MERGE_ISOLATION_LEVEL_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MERGE_ISOLATION_LEVEL_DEFAULT">MERGE_ISOLATION_LEVEL_DEFAULT</a></code></th>
+<td class="colLast"><code>"serializable"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MERGE_MODE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MERGE_MODE">MERGE_MODE</a></code></th>
+<td class="colLast"><code>"write.merge.mode"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MERGE_MODE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MERGE_MODE_DEFAULT">MERGE_MODE_DEFAULT</a></code></th>
+<td class="colLast"><code>"copy-on-write"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_COMPRESSION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_COMPRESSION">METADATA_COMPRESSION</a></code></th>
+<td class="colLast"><code>"write.metadata.compression-codec"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_COMPRESSION_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_COMPRESSION_DEFAULT">METADATA_COMPRESSION_DEFAULT</a></code></th>
+<td class="colLast"><code>"none"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_DELETE_AFTER_COMMIT_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_DELETE_AFTER_COMMIT_ENABLED">METADATA_DELETE_AFTER_COMMIT_ENABLED</a></code></th>
+<td class="colLast"><code>"write.metadata.delete-after-commit.enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_DELETE_AFTER_COMMIT_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_DELETE_AFTER_COMMIT_ENABLED_DEFAULT">METADATA_DELETE_AFTER_COMMIT_ENABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_PREVIOUS_VERSIONS_MAX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_PREVIOUS_VERSIONS_MAX">METADATA_PREVIOUS_VERSIONS_MAX</a></code></th>
+<td class="colLast"><code>"write.metadata.previous-versions-max"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_PREVIOUS_VERSIONS_MAX_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_PREVIOUS_VERSIONS_MAX_DEFAULT">METADATA_PREVIOUS_VERSIONS_MAX_DEFAULT</a></code></th>
+<td class="colLast"><code>100</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_SPLIT_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_SPLIT_SIZE">METADATA_SPLIT_SIZE</a></code></th>
+<td class="colLast"><code>"read.split.metadata-target-size"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_SPLIT_SIZE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_SPLIT_SIZE_DEFAULT">METADATA_SPLIT_SIZE_DEFAULT</a></code></th>
+<td class="colLast"><code>33554432L</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.METRICS_MODE_COLUMN_CONF_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METRICS_MODE_COLUMN_CONF_PREFIX">METRICS_MODE_COLUMN_CONF_PREFIX</a></code></th>
+<td class="colLast"><code>"write.metadata.metrics.column."</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MIN_SNAPSHOTS_TO_KEEP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MIN_SNAPSHOTS_TO_KEEP">MIN_SNAPSHOTS_TO_KEEP</a></code></th>
+<td class="colLast"><code>"history.expire.min-snapshots-to-keep"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MIN_SNAPSHOTS_TO_KEEP_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MIN_SNAPSHOTS_TO_KEEP_DEFAULT">MIN_SNAPSHOTS_TO_KEEP_DEFAULT</a></code></th>
+<td class="colLast"><code>1</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.OBJECT_STORE_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#OBJECT_STORE_ENABLED">OBJECT_STORE_ENABLED</a></code></th>
+<td class="colLast"><code>"write.object-storage.enabled"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.OBJECT_STORE_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#OBJECT_STORE_ENABLED_DEFAULT">OBJECT_STORE_ENABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.OBJECT_STORE_PATH">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#OBJECT_STORE_PATH">OBJECT_STORE_PATH</a></code></th>
+<td class="colLast"><code>"write.object-storage.path"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.ORC_VECTORIZATION_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#ORC_VECTORIZATION_ENABLED">ORC_VECTORIZATION_ENABLED</a></code></th>
+<td class="colLast"><code>"read.orc.vectorization.enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.ORC_VECTORIZATION_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#ORC_VECTORIZATION_ENABLED_DEFAULT">ORC_VECTORIZATION_ENABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_BATCH_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_BATCH_SIZE">PARQUET_BATCH_SIZE</a></code></th>
+<td class="colLast"><code>"read.parquet.vectorization.batch-size"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_BATCH_SIZE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_BATCH_SIZE_DEFAULT">PARQUET_BATCH_SIZE_DEFAULT</a></code></th>
+<td class="colLast"><code>5000</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_COMPRESSION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_COMPRESSION">PARQUET_COMPRESSION</a></code></th>
+<td class="colLast"><code>"write.parquet.compression-codec"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_COMPRESSION_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_COMPRESSION_DEFAULT">PARQUET_COMPRESSION_DEFAULT</a></code></th>
+<td class="colLast"><code>"gzip"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_COMPRESSION_LEVEL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_COMPRESSION_LEVEL">PARQUET_COMPRESSION_LEVEL</a></code></th>
+<td class="colLast"><code>"write.parquet.compression-level"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_DICT_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_DICT_SIZE_BYTES">PARQUET_DICT_SIZE_BYTES</a></code></th>
+<td class="colLast"><code>"write.parquet.dict-size-bytes"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_DICT_SIZE_BYTES_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_DICT_SIZE_BYTES_DEFAULT">PARQUET_DICT_SIZE_BYTES_DEFAULT</a></code></th>
+<td class="colLast"><code>"2097152"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_PAGE_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_PAGE_SIZE_BYTES">PARQUET_PAGE_SIZE_BYTES</a></code></th>
+<td class="colLast"><code>"write.parquet.page-size-bytes"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_PAGE_SIZE_BYTES_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_PAGE_SIZE_BYTES_DEFAULT">PARQUET_PAGE_SIZE_BYTES_DEFAULT</a></code></th>
+<td class="colLast"><code>"1048576"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_ROW_GROUP_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_SIZE_BYTES">PARQUET_ROW_GROUP_SIZE_BYTES</a></code></th>
+<td class="colLast"><code>"write.parquet.row-group-size-bytes"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_ROW_GROUP_SIZE_BYTES_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_SIZE_BYTES_DEFAULT">PARQUET_ROW_GROUP_SIZE_BYTES_DEFAULT</a></code></th>
+<td class="colLast"><code>"134217728"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_VECTORIZATION_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_VECTORIZATION_ENABLED">PARQUET_VECTORIZATION_ENABLED</a></code></th>
+<td class="colLast"><code>"read.parquet.vectorization.enabled"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_VECTORIZATION_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_VECTORIZATION_ENABLED_DEFAULT">PARQUET_VECTORIZATION_ENABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.SNAPSHOT_ID_INHERITANCE_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SNAPSHOT_ID_INHERITANCE_ENABLED">SNAPSHOT_ID_INHERITANCE_ENABLED</a></code></th>
+<td class="colLast"><code>"compatibility.snapshot-id-inheritance.enabled"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.SNAPSHOT_ID_INHERITANCE_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SNAPSHOT_ID_INHERITANCE_ENABLED_DEFAULT">SNAPSHOT_ID_INHERITANCE_ENABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPARK_WRITE_PARTITIONED_FANOUT_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPARK_WRITE_PARTITIONED_FANOUT_ENABLED">SPARK_WRITE_PARTITIONED_FANOUT_ENABLED</a></code></th>
+<td class="colLast"><code>"write.spark.fanout.enabled"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPARK_WRITE_PARTITIONED_FANOUT_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPARK_WRITE_PARTITIONED_FANOUT_ENABLED_DEFAULT">SPARK_WRITE_PARTITIONED_FANOUT_ENABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPLIT_LOOKBACK">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_LOOKBACK">SPLIT_LOOKBACK</a></code></th>
+<td class="colLast"><code>"read.split.planning-lookback"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPLIT_LOOKBACK_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_LOOKBACK_DEFAULT">SPLIT_LOOKBACK_DEFAULT</a></code></th>
+<td class="colLast"><code>10</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPLIT_OPEN_FILE_COST">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_OPEN_FILE_COST">SPLIT_OPEN_FILE_COST</a></code></th>
+<td class="colLast"><code>"read.split.open-file-cost"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPLIT_OPEN_FILE_COST_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_OPEN_FILE_COST_DEFAULT">SPLIT_OPEN_FILE_COST_DEFAULT</a></code></th>
+<td class="colLast"><code>4194304L</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPLIT_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_SIZE">SPLIT_SIZE</a></code></th>
+<td class="colLast"><code>"read.split.target-size"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPLIT_SIZE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_SIZE_DEFAULT">SPLIT_SIZE_DEFAULT</a></code></th>
+<td class="colLast"><code>134217728L</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.UPDATE_ISOLATION_LEVEL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#UPDATE_ISOLATION_LEVEL">UPDATE_ISOLATION_LEVEL</a></code></th>
+<td class="colLast"><code>"write.update.isolation-level"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.UPDATE_ISOLATION_LEVEL_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#UPDATE_ISOLATION_LEVEL_DEFAULT">UPDATE_ISOLATION_LEVEL_DEFAULT</a></code></th>
+<td class="colLast"><code>"serializable"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.UPDATE_MODE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#UPDATE_MODE">UPDATE_MODE</a></code></th>
+<td class="colLast"><code>"write.update.mode"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.UPDATE_MODE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#UPDATE_MODE_DEFAULT">UPDATE_MODE_DEFAULT</a></code></th>
+<td class="colLast"><code>"copy-on-write"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_AUDIT_PUBLISH_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_AUDIT_PUBLISH_ENABLED">WRITE_AUDIT_PUBLISH_ENABLED</a></code></th>
+<td class="colLast"><code>"write.wap.enabled"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_AUDIT_PUBLISH_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_AUDIT_PUBLISH_ENABLED_DEFAULT">WRITE_AUDIT_PUBLISH_ENABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>"false"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_DISTRIBUTION_MODE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_DISTRIBUTION_MODE">WRITE_DISTRIBUTION_MODE</a></code></th>
+<td class="colLast"><code>"write.distribution-mode"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_DISTRIBUTION_MODE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_DISTRIBUTION_MODE_DEFAULT">WRITE_DISTRIBUTION_MODE_DEFAULT</a></code></th>
+<td class="colLast"><code>"none"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_DISTRIBUTION_MODE_HASH">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_DISTRIBUTION_MODE_HASH">WRITE_DISTRIBUTION_MODE_HASH</a></code></th>
+<td class="colLast"><code>"hash"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_DISTRIBUTION_MODE_NONE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_DISTRIBUTION_MODE_NONE">WRITE_DISTRIBUTION_MODE_NONE</a></code></th>
+<td class="colLast"><code>"none"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_DISTRIBUTION_MODE_RANGE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_DISTRIBUTION_MODE_RANGE">WRITE_DISTRIBUTION_MODE_RANGE</a></code></th>
+<td class="colLast"><code>"range"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_LOCATION_PROVIDER_IMPL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_LOCATION_PROVIDER_IMPL">WRITE_LOCATION_PROVIDER_IMPL</a></code></th>
+<td class="colLast"><code>"write.location-provider.impl"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_METADATA_LOCATION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_METADATA_LOCATION">WRITE_METADATA_LOCATION</a></code></th>
+<td class="colLast"><code>"write.metadata.path"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_NEW_DATA_LOCATION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_NEW_DATA_LOCATION">WRITE_NEW_DATA_LOCATION</a></code></th>
+<td class="colLast"><code>"write.folder-storage.path"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_PARTITION_SUMMARY_LIMIT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_PARTITION_SUMMARY_LIMIT">WRITE_PARTITION_SUMMARY_LIMIT</a></code></th>
+<td class="colLast"><code>"write.summary.partition-limit"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_PARTITION_SUMMARY_LIMIT_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_PARTITION_SUMMARY_LIMIT_DEFAULT">WRITE_PARTITION_SUMMARY_LIMIT_DEFAULT</a></code></th>
+<td class="colLast"><code>0</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_TARGET_FILE_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_TARGET_FILE_SIZE_BYTES">WRITE_TARGET_FILE_SIZE_BYTES</a></code></th>
+<td class="colLast"><code>"write.target-file-size-bytes"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_TARGET_FILE_SIZE_BYTES_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_TARGET_FILE_SIZE_BYTES_DEFAULT">WRITE_TARGET_FILE_SIZE_BYTES_DEFAULT</a></code></th>
+<td class="colLast"><code>536870912L</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.BinPackStrategy.MAX_FILE_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_BYTES">MAX_FILE_SIZE_BYTES</a></code></th>
+<td class="colLast"><code>"max-file-size-bytes"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.BinPackStrategy.MAX_FILE_SIZE_DEFAULT_RATIO">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;double</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_DEFAULT_RATIO">MAX_FILE_SIZE_DEFAULT_RATIO</a></code></th>
+<td class="colLast"><code>1.8</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.BinPackStrategy.MIN_FILE_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_BYTES">MIN_FILE_SIZE_BYTES</a></code></th>
+<td class="colLast"><code>"min-file-size-bytes"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.BinPackStrategy.MIN_FILE_SIZE_DEFAULT_RATIO">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;double</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_DEFAULT_RATIO">MIN_FILE_SIZE_DEFAULT_RATIO</a></code></th>
+<td class="colLast"><code>0.75</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.BinPackStrategy.MIN_INPUT_FILES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/BinPackStrategy.html#MIN_INPUT_FILES">MIN_INPUT_FILES</a></code></th>
+<td class="colLast"><code>"min-input-files"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.BinPackStrategy.MIN_INPUT_FILES_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/BinPackStrategy.html#MIN_INPUT_FILES_DEFAULT">MIN_INPUT_FILES_DEFAULT</a></code></th>
+<td class="colLast"><code>5</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.RewriteDataFiles.MAX_CONCURRENT_FILE_GROUP_REWRITES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/RewriteDataFiles.html#MAX_CONCURRENT_FILE_GROUP_REWRITES">MAX_CONCURRENT_FILE_GROUP_REWRITES</a></code></th>
+<td class="colLast"><code>"max-concurrent-file-group-rewrites"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.RewriteDataFiles.MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/RewriteDataFiles.html#MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT">MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT</a></code></th>
+<td class="colLast"><code>1</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.RewriteDataFiles.MAX_FILE_GROUP_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/RewriteDataFiles.html#MAX_FILE_GROUP_SIZE_BYTES">MAX_FILE_GROUP_SIZE_BYTES</a></code></th>
+<td class="colLast"><code>"max-file-group-size-bytes"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.RewriteDataFiles.MAX_FILE_GROUP_SIZE_BYTES_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/RewriteDataFiles.html#MAX_FILE_GROUP_SIZE_BYTES_DEFAULT">MAX_FILE_GROUP_SIZE_BYTES_DEFAULT</a></code></th>
+<td class="colLast"><code>107374182400L</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.RewriteDataFiles.PARTIAL_PROGRESS_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/RewriteDataFiles.html#PARTIAL_PROGRESS_ENABLED">PARTIAL_PROGRESS_ENABLED</a></code></th>
+<td class="colLast"><code>"partial-progress.enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.RewriteDataFiles.PARTIAL_PROGRESS_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/RewriteDataFiles.html#PARTIAL_PROGRESS_ENABLED_DEFAULT">PARTIAL_PROGRESS_ENABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.RewriteDataFiles.PARTIAL_PROGRESS_MAX_COMMITS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/RewriteDataFiles.html#PARTIAL_PROGRESS_MAX_COMMITS">PARTIAL_PROGRESS_MAX_COMMITS</a></code></th>
+<td class="colLast"><code>"partial-progress.max-commits"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.RewriteDataFiles.PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/RewriteDataFiles.html#PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT">PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT</a></code></th>
+<td class="colLast"><code>10</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.RewriteDataFiles.TARGET_FILE_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/RewriteDataFiles.html#TARGET_FILE_SIZE_BYTES">TARGET_FILE_SIZE_BYTES</a></code></th>
+<td class="colLast"><code>"target-file-size-bytes"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.SortStrategy.REWRITE_ALL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/SortStrategy.html#REWRITE_ALL">REWRITE_ALL</a></code></th>
+<td class="colLast"><code>"rewrite-all"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.SortStrategy.REWRITE_ALL_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/SortStrategy.html#REWRITE_ALL_DEFAULT">REWRITE_ALL_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedArrowReader</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.arrow.vectorized.VectorizedArrowReader.DEFAULT_BATCH_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.html#DEFAULT_BATCH_SIZE">DEFAULT_BATCH_SIZE</a></code></th>
+<td class="colLast"><code>5000</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/AvroSchemaUtil.html" title="class in org.apache.iceberg.avro">AvroSchemaUtil</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.avro.AvroSchemaUtil.ADJUST_TO_UTC_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/avro/AvroSchemaUtil.html#ADJUST_TO_UTC_PROP">ADJUST_TO_UTC_PROP</a></code></th>
+<td class="colLast"><code>"adjust-to-utc"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.avro.AvroSchemaUtil.ELEMENT_ID_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/avro/AvroSchemaUtil.html#ELEMENT_ID_PROP">ELEMENT_ID_PROP</a></code></th>
+<td class="colLast"><code>"element-id"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.avro.AvroSchemaUtil.FIELD_ID_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/avro/AvroSchemaUtil.html#FIELD_ID_PROP">FIELD_ID_PROP</a></code></th>
+<td class="colLast"><code>"field-id"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.avro.AvroSchemaUtil.ICEBERG_FIELD_NAME_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/avro/AvroSchemaUtil.html#ICEBERG_FIELD_NAME_PROP">ICEBERG_FIELD_NAME_PROP</a></code></th>
+<td class="colLast"><code>"iceberg-field-name"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.avro.AvroSchemaUtil.KEY_ID_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/avro/AvroSchemaUtil.html#KEY_ID_PROP">KEY_ID_PROP</a></code></th>
+<td class="colLast"><code>"key-id"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.avro.AvroSchemaUtil.VALUE_ID_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/avro/AvroSchemaUtil.html#VALUE_ID_PROP">VALUE_ID_PROP</a></code></th>
+<td class="colLast"><code>"value-id"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.CLIENT_ASSUME_ROLE_ARN">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_ASSUME_ROLE_ARN">CLIENT_ASSUME_ROLE_ARN</a></code></th>
+<td class="colLast"><code>"client.assume-role.arn"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.CLIENT_ASSUME_ROLE_EXTERNAL_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_ASSUME_ROLE_EXTERNAL_ID">CLIENT_ASSUME_ROLE_EXTERNAL_ID</a></code></th>
+<td class="colLast"><code>"client.assume-role.external-id"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.CLIENT_ASSUME_ROLE_REGION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_ASSUME_ROLE_REGION">CLIENT_ASSUME_ROLE_REGION</a></code></th>
+<td class="colLast"><code>"client.assume-role.region"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.CLIENT_ASSUME_ROLE_TIMEOUT_SEC">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_ASSUME_ROLE_TIMEOUT_SEC">CLIENT_ASSUME_ROLE_TIMEOUT_SEC</a></code></th>
+<td class="colLast"><code>"client.assume-role.timeout-sec"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.CLIENT_ASSUME_ROLE_TIMEOUT_SEC_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_ASSUME_ROLE_TIMEOUT_SEC_DEFAULT">CLIENT_ASSUME_ROLE_TIMEOUT_SEC_DEFAULT</a></code></th>
+<td class="colLast"><code>3600</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.CLIENT_FACTORY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_FACTORY">CLIENT_FACTORY</a></code></th>
+<td class="colLast"><code>"client.factory"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.DYNAMODB_TABLE_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#DYNAMODB_TABLE_NAME">DYNAMODB_TABLE_NAME</a></code></th>
+<td class="colLast"><code>"dynamodb.table-name"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.DYNAMODB_TABLE_NAME_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#DYNAMODB_TABLE_NAME_DEFAULT">DYNAMODB_TABLE_NAME_DEFAULT</a></code></th>
+<td class="colLast"><code>"iceberg"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.GLUE_CATALOG_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#GLUE_CATALOG_ID">GLUE_CATALOG_ID</a></code></th>
+<td class="colLast"><code>"glue.id"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.GLUE_CATALOG_SKIP_ARCHIVE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#GLUE_CATALOG_SKIP_ARCHIVE">GLUE_CATALOG_SKIP_ARCHIVE</a></code></th>
+<td class="colLast"><code>"glue.skip-archive"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.GLUE_CATALOG_SKIP_ARCHIVE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#GLUE_CATALOG_SKIP_ARCHIVE_DEFAULT">GLUE_CATALOG_SKIP_ARCHIVE_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_ACL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_ACL">S3FILEIO_ACL</a></code></th>
+<td class="colLast"><code>"s3.acl"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_SIZE">S3FILEIO_MULTIPART_SIZE</a></code></th>
+<td class="colLast"><code>"s3.multipart.part-size-bytes"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_SIZE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_SIZE_DEFAULT">S3FILEIO_MULTIPART_SIZE_DEFAULT</a></code></th>
+<td class="colLast"><code>33554432</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_SIZE_MIN">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_SIZE_MIN">S3FILEIO_MULTIPART_SIZE_MIN</a></code></th>
+<td class="colLast"><code>5242880</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_THRESHOLD_FACTOR">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_THRESHOLD_FACTOR">S3FILEIO_MULTIPART_THRESHOLD_FACTOR</a></code></th>
+<td class="colLast"><code>"s3.multipart.threshold"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;double</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT">S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT</a></code></th>
+<td class="colLast"><code>1.5</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_UPLOAD_THREADS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_UPLOAD_THREADS">S3FILEIO_MULTIPART_UPLOAD_THREADS</a></code></th>
+<td class="colLast"><code>"s3.multipart.num-threads"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_SSE_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_KEY">S3FILEIO_SSE_KEY</a></code></th>
+<td class="colLast"><code>"s3.sse.key"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_SSE_MD5">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_MD5">S3FILEIO_SSE_MD5</a></code></th>
+<td class="colLast"><code>"s3.sse.md5"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_SSE_TYPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE">S3FILEIO_SSE_TYPE</a></code></th>
+<td class="colLast"><code>"s3.sse.type"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_SSE_TYPE_CUSTOM">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_CUSTOM">S3FILEIO_SSE_TYPE_CUSTOM</a></code></th>
+<td class="colLast"><code>"custom"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_SSE_TYPE_KMS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_KMS">S3FILEIO_SSE_TYPE_KMS</a></code></th>
+<td class="colLast"><code>"kms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_SSE_TYPE_NONE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_NONE">S3FILEIO_SSE_TYPE_NONE</a></code></th>
+<td class="colLast"><code>"none"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_SSE_TYPE_S3">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_S3">S3FILEIO_SSE_TYPE_S3</a></code></th>
+<td class="colLast"><code>"s3"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_STAGING_DIRECTORY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_STAGING_DIRECTORY">S3FILEIO_STAGING_DIRECTORY</a></code></th>
+<td class="colLast"><code>"s3.staging-dir"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalogFactory.html" title="class in org.apache.iceberg.flink">FlinkCatalogFactory</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.flink.FlinkCatalogFactory.BASE_NAMESPACE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#BASE_NAMESPACE">BASE_NAMESPACE</a></code></th>
+<td class="colLast"><code>"base-namespace"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.flink.FlinkCatalogFactory.CACHE_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#CACHE_ENABLED">CACHE_ENABLED</a></code></th>
+<td class="colLast"><code>"cache-enabled"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.flink.FlinkCatalogFactory.DEFAULT_DATABASE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#DEFAULT_DATABASE">DEFAULT_DATABASE</a></code></th>
+<td class="colLast"><code>"default-database"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.flink.FlinkCatalogFactory.HIVE_CONF_DIR">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#HIVE_CONF_DIR">HIVE_CONF_DIR</a></code></th>
+<td class="colLast"><code>"hive-conf-dir"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.flink.FlinkCatalogFactory.ICEBERG_CATALOG_TYPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#ICEBERG_CATALOG_TYPE">ICEBERG_CATALOG_TYPE</a></code></th>
+<td class="colLast"><code>"catalog-type"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.flink.FlinkCatalogFactory.ICEBERG_CATALOG_TYPE_HADOOP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#ICEBERG_CATALOG_TYPE_HADOOP">ICEBERG_CATALOG_TYPE_HADOOP</a></code></th>
+<td class="colLast"><code>"hadoop"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.flink.FlinkCatalogFactory.ICEBERG_CATALOG_TYPE_HIVE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#ICEBERG_CATALOG_TYPE_HIVE">ICEBERG_CATALOG_TYPE_HIVE</a></code></th>
+<td class="colLast"><code>"hive"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/ConfigProperties.html" title="class in org.apache.iceberg.hadoop">ConfigProperties</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.hadoop.ConfigProperties.ENGINE_HIVE_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/hadoop/ConfigProperties.html#ENGINE_HIVE_ENABLED">ENGINE_HIVE_ENABLED</a></code></th>
+<td class="colLast"><code>"iceberg.engine.hive.enabled"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/Util.html" title="class in org.apache.iceberg.hadoop">Util</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.hadoop.Util.VERSION_HINT_FILENAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/hadoop/Util.html#VERSION_HINT_FILENAME">VERSION_HINT_FILENAME</a></code></th>
+<td class="colLast"><code>"version-hint.text"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.jdbc.JdbcCatalog.PROPERTY_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#PROPERTY_PREFIX">PROPERTY_PREFIX</a></code></th>
+<td class="colLast"><code>"jdbc."</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.mr.<a href="org/apache/iceberg/mr/Catalogs.html" title="class in org.apache.iceberg.mr">Catalogs</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.Catalogs.ICEBERG_DEFAULT_CATALOG_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/Catalogs.html#ICEBERG_DEFAULT_CATALOG_NAME">ICEBERG_DEFAULT_CATALOG_NAME</a></code></th>
+<td class="colLast"><code>"default_iceberg"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.Catalogs.ICEBERG_HADOOP_TABLE_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/Catalogs.html#ICEBERG_HADOOP_TABLE_NAME">ICEBERG_HADOOP_TABLE_NAME</a></code></th>
+<td class="colLast"><code>"location_based_table"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.Catalogs.LOCATION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/Catalogs.html#LOCATION">LOCATION</a></code></th>
+<td class="colLast"><code>"location"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.Catalogs.NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/Catalogs.html#NAME">NAME</a></code></th>
+<td class="colLast"><code>"name"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.mr.<a href="org/apache/iceberg/mr/InputFormatConfig.html" title="class in org.apache.iceberg.mr">InputFormatConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.AS_OF_TIMESTAMP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#AS_OF_TIMESTAMP">AS_OF_TIMESTAMP</a></code></th>
+<td class="colLast"><code>"iceberg.mr.as.of.time"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.CASE_SENSITIVE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#CASE_SENSITIVE">CASE_SENSITIVE</a></code></th>
+<td class="colLast"><code>"iceberg.mr.case.sensitive"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.CASE_SENSITIVE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#CASE_SENSITIVE_DEFAULT">CASE_SENSITIVE_DEFAULT</a></code></th>
+<td class="colLast"><code>true</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.CATALOG">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#CATALOG">CATALOG</a></code></th>
+<td class="colLast"><code>"iceberg.mr.catalog"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.CATALOG_CONFIG_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#CATALOG_CONFIG_PREFIX">CATALOG_CONFIG_PREFIX</a></code></th>
+<td class="colLast"><code>"iceberg.catalog."</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.CATALOG_LOADER_CLASS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#CATALOG_LOADER_CLASS">CATALOG_LOADER_CLASS</a></code></th>
+<td class="colLast"><code>"iceberg.mr.catalog.loader.class"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.CATALOG_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#CATALOG_NAME">CATALOG_NAME</a></code></th>
+<td class="colLast"><code>"iceberg.catalog"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.COMMIT_FILE_THREAD_POOL_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#COMMIT_FILE_THREAD_POOL_SIZE">COMMIT_FILE_THREAD_POOL_SIZE</a></code></th>
+<td class="colLast"><code>"iceberg.mr.commit.file.thread.pool.size"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.COMMIT_FILE_THREAD_POOL_SIZE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#COMMIT_FILE_THREAD_POOL_SIZE_DEFAULT">COMMIT_FILE_THREAD_POOL_SIZE_DEFAULT</a></code></th>
+<td class="colLast"><code>10</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.COMMIT_TABLE_THREAD_POOL_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#COMMIT_TABLE_THREAD_POOL_SIZE">COMMIT_TABLE_THREAD_POOL_SIZE</a></code></th>
+<td class="colLast"><code>"iceberg.mr.commit.table.thread.pool.size"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.COMMIT_TABLE_THREAD_POOL_SIZE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#COMMIT_TABLE_THREAD_POOL_SIZE_DEFAULT">COMMIT_TABLE_THREAD_POOL_SIZE_DEFAULT</a></code></th>
+<td class="colLast"><code>10</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.EXTERNAL_TABLE_PURGE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#EXTERNAL_TABLE_PURGE">EXTERNAL_TABLE_PURGE</a></code></th>
+<td class="colLast"><code>"external.table.purge"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.FILTER_EXPRESSION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#FILTER_EXPRESSION">FILTER_EXPRESSION</a></code></th>
+<td class="colLast"><code>"iceberg.mr.filter.expression"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.HADOOP_CATALOG">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#HADOOP_CATALOG">HADOOP_CATALOG</a></code></th>
+<td class="colLast"><code>"hadoop.catalog"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.HADOOP_CATALOG_WAREHOUSE_LOCATION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#HADOOP_CATALOG_WAREHOUSE_LOCATION">HADOOP_CATALOG_WAREHOUSE_LOCATION</a></code></th>
+<td class="colLast"><code>"iceberg.mr.catalog.hadoop.warehouse.location"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.HADOOP_TABLES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#HADOOP_TABLES">HADOOP_TABLES</a></code></th>
+<td class="colLast"><code>"hadoop.tables"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.HIVE_CATALOG">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#HIVE_CATALOG">HIVE_CATALOG</a></code></th>
+<td class="colLast"><code>"hive.catalog"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.ICEBERG_SNAPSHOTS_TABLE_SUFFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#ICEBERG_SNAPSHOTS_TABLE_SUFFIX">ICEBERG_SNAPSHOTS_TABLE_SUFFIX</a></code></th>
+<td class="colLast"><code>".snapshots"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.IN_MEMORY_DATA_MODEL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#IN_MEMORY_DATA_MODEL">IN_MEMORY_DATA_MODEL</a></code></th>
+<td class="colLast"><code>"iceberg.mr.in.memory.data.model"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.LOCALITY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#LOCALITY">LOCALITY</a></code></th>
+<td class="colLast"><code>"iceberg.mr.locality"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.OUTPUT_TABLES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#OUTPUT_TABLES">OUTPUT_TABLES</a></code></th>
+<td class="colLast"><code>"iceberg.mr.output.tables"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.PARTITION_SPEC">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#PARTITION_SPEC">PARTITION_SPEC</a></code></th>
+<td class="colLast"><code>"iceberg.mr.table.partition.spec"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.READ_SCHEMA">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#READ_SCHEMA">READ_SCHEMA</a></code></th>
+<td class="colLast"><code>"iceberg.mr.read.schema"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.REUSE_CONTAINERS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#REUSE_CONTAINERS">REUSE_CONTAINERS</a></code></th>
+<td class="colLast"><code>"iceberg.mr.reuse.containers"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.SCHEMA_AUTO_CONVERSION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#SCHEMA_AUTO_CONVERSION">SCHEMA_AUTO_CONVERSION</a></code></th>
+<td class="colLast"><code>"iceberg.mr.schema.auto.conversion"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.SELECTED_COLUMNS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#SELECTED_COLUMNS">SELECTED_COLUMNS</a></code></th>
+<td class="colLast"><code>"iceberg.mr.selected.columns"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.SERIALIZED_TABLE_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#SERIALIZED_TABLE_PREFIX">SERIALIZED_TABLE_PREFIX</a></code></th>
+<td class="colLast"><code>"iceberg.mr.serialized.table."</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.SKIP_RESIDUAL_FILTERING">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#SKIP_RESIDUAL_FILTERING">SKIP_RESIDUAL_FILTERING</a></code></th>
+<td class="colLast"><code>"skip.residual.filtering"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.SNAPSHOT_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#SNAPSHOT_ID">SNAPSHOT_ID</a></code></th>
+<td class="colLast"><code>"iceberg.mr.snapshot.id"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.SNAPSHOT_TABLE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#SNAPSHOT_TABLE">SNAPSHOT_TABLE</a></code></th>
+<td class="colLast"><code>"iceberg.snapshots.table"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.SNAPSHOT_TABLE_SUFFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#SNAPSHOT_TABLE_SUFFIX">SNAPSHOT_TABLE_SUFFIX</a></code></th>
+<td class="colLast"><code>"__snapshots"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.SPLIT_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#SPLIT_SIZE">SPLIT_SIZE</a></code></th>
+<td class="colLast"><code>"iceberg.mr.split.size"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.TABLE_CATALOG_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#TABLE_CATALOG_PREFIX">TABLE_CATALOG_PREFIX</a></code></th>
+<td class="colLast"><code>"iceberg.mr.table.catalog."</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.TABLE_IDENTIFIER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#TABLE_IDENTIFIER">TABLE_IDENTIFIER</a></code></th>
+<td class="colLast"><code>"iceberg.mr.table.identifier"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.TABLE_LOCATION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#TABLE_LOCATION">TABLE_LOCATION</a></code></th>
+<td class="colLast"><code>"iceberg.mr.table.location"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.TABLE_SCHEMA">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#TABLE_SCHEMA">TABLE_SCHEMA</a></code></th>
+<td class="colLast"><code>"iceberg.mr.table.schema"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.WRITE_TARGET_FILE_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#WRITE_TARGET_FILE_SIZE">WRITE_TARGET_FILE_SIZE</a></code></th>
+<td class="colLast"><code>"iceberg.mr.write.target.file.size"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/ORCSchemaUtil.html" title="class in org.apache.iceberg.orc">ORCSchemaUtil</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.orc.ORCSchemaUtil.ICEBERG_BINARY_TYPE_ATTRIBUTE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/orc/ORCSchemaUtil.html#ICEBERG_BINARY_TYPE_ATTRIBUTE">ICEBERG_BINARY_TYPE_ATTRIBUTE</a></code></th>
+<td class="colLast"><code>"iceberg.binary-type"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.orc.ORCSchemaUtil.ICEBERG_LONG_TYPE_ATTRIBUTE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/orc/ORCSchemaUtil.html#ICEBERG_LONG_TYPE_ATTRIBUTE">ICEBERG_LONG_TYPE_ATTRIBUTE</a></code></th>
+<td class="colLast"><code>"iceberg.long-type"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/TypeToMessageType.html" title="class in org.apache.iceberg.parquet">TypeToMessageType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.parquet.TypeToMessageType.DECIMAL_INT32_MAX_DIGITS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/parquet/TypeToMessageType.html#DECIMAL_INT32_MAX_DIGITS">DECIMAL_INT32_MAX_DIGITS</a></code></th>
+<td class="colLast"><code>9</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.parquet.TypeToMessageType.DECIMAL_INT64_MAX_DIGITS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/parquet/TypeToMessageType.html#DECIMAL_INT64_MAX_DIGITS">DECIMAL_INT64_MAX_DIGITS</a></code></th>
+<td class="colLast"><code>18</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.pig.<a href="org/apache/iceberg/pig/IcebergStorage.html" title="class in org.apache.iceberg.pig">IcebergStorage</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.pig.IcebergStorage.PIG_ICEBERG_TABLES_IMPL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/pig/IcebergStorage.html#PIG_ICEBERG_TABLES_IMPL">PIG_ICEBERG_TABLES_IMPL</a></code></th>
+<td class="colLast"><code>"pig.iceberg.tables.impl"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark">SparkReadOptions</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.AS_OF_TIMESTAMP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#AS_OF_TIMESTAMP">AS_OF_TIMESTAMP</a></code></th>
+<td class="colLast"><code>"as-of-timestamp"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.FILE_OPEN_COST">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#FILE_OPEN_COST">FILE_OPEN_COST</a></code></th>
+<td class="colLast"><code>"file-open-cost"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.FILE_SCAN_TASK_SET_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#FILE_SCAN_TASK_SET_ID">FILE_SCAN_TASK_SET_ID</a></code></th>
+<td class="colLast"><code>"file-scan-task-set-id"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.LOOKBACK">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#LOOKBACK">LOOKBACK</a></code></th>
+<td class="colLast"><code>"lookback"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.SNAPSHOT_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#SNAPSHOT_ID">SNAPSHOT_ID</a></code></th>
+<td class="colLast"><code>"snapshot-id"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.SPLIT_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#SPLIT_SIZE">SPLIT_SIZE</a></code></th>
+<td class="colLast"><code>"split-size"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.STREAMING_SKIP_DELETE_SNAPSHOTS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_SKIP_DELETE_SNAPSHOTS">STREAMING_SKIP_DELETE_SNAPSHOTS</a></code></th>
+<td class="colLast"><code>"streaming-skip-delete-snapshots"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.VECTORIZATION_BATCH_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#VECTORIZATION_BATCH_SIZE">VECTORIZATION_BATCH_SIZE</a></code></th>
+<td class="colLast"><code>"batch-size"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.VECTORIZATION_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#VECTORIZATION_ENABLED">VECTORIZATION_ENABLED</a></code></th>
+<td class="colLast"><code>"vectorization-enabled"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkUtil.html" title="class in org.apache.iceberg.spark">SparkUtil</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkUtil.HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkUtil.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></code></th>
+<td class="colLast"><code>"spark.sql.iceberg.handle-timestamp-without-timezone"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkUtil.USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkUtil.html#USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES">USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES</a></code></th>
+<td class="colLast"><code>"spark.sql.iceberg.use-timestamp-without-timezone-in-new-tables"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.CHECK_NULLABILITY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#CHECK_NULLABILITY">CHECK_NULLABILITY</a></code></th>
+<td class="colLast"><code>"check-nullability"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.CHECK_ORDERING">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#CHECK_ORDERING">CHECK_ORDERING</a></code></th>
+<td class="colLast"><code>"check-ordering"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.FANOUT_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#FANOUT_ENABLED">FANOUT_ENABLED</a></code></th>
+<td class="colLast"><code>"fanout-enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.REWRITTEN_FILE_SCAN_TASK_SET_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#REWRITTEN_FILE_SCAN_TASK_SET_ID">REWRITTEN_FILE_SCAN_TASK_SET_ID</a></code></th>
+<td class="colLast"><code>"rewritten-file-scan-task-set-id"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.SNAPSHOT_PROPERTY_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#SNAPSHOT_PROPERTY_PREFIX">SNAPSHOT_PROPERTY_PREFIX</a></code></th>
+<td class="colLast"><code>"snapshot-property"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.TARGET_FILE_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#TARGET_FILE_SIZE_BYTES">TARGET_FILE_SIZE_BYTES</a></code></th>
+<td class="colLast"><code>"target-file-size-bytes"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.WRITE_FORMAT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#WRITE_FORMAT">WRITE_FORMAT</a></code></th>
+<td class="colLast"><code>"write-format"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/BaseMigrateTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseMigrateTableSparkAction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.actions.BaseMigrateTableSparkAction.ICEBERG_METADATA_FOLDER">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code>ICEBERG_METADATA_FOLDER</code></th>
+<td class="colLast"><code>"metadata"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.actions.BaseMigrateTableSparkAction.LOCATION">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code>LOCATION</code></th>
+<td class="colLast"><code>"location"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/BaseSnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseSnapshotTableSparkAction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.actions.BaseSnapshotTableSparkAction.ICEBERG_METADATA_FOLDER">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code>ICEBERG_METADATA_FOLDER</code></th>
+<td class="colLast"><code>"metadata"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.actions.BaseSnapshotTableSparkAction.LOCATION">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code>LOCATION</code></th>
+<td class="colLast"><code>"location"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.util.<a href="org/apache/iceberg/util/DateTimeUtil.html" title="class in org.apache.iceberg.util">DateTimeUtil</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.util.DateTimeUtil.MICROS_PER_MILLIS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/util/DateTimeUtil.html#MICROS_PER_MILLIS">MICROS_PER_MILLIS</a></code></th>
+<td class="colLast"><code>1000L</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.util.<a href="org/apache/iceberg/util/ThreadPools.html" title="class in org.apache.iceberg.util">ThreadPools</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.util.ThreadPools.WORKER_THREAD_POOL_SIZE_PROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/util/ThreadPools.html#WORKER_THREAD_POOL_SIZE_PROP">WORKER_THREAD_POOL_SIZE_PROP</a></code></th>
+<td class="colLast"><code>"iceberg.worker.num-threads"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsLexer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer._serializedATN">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#_serializedATN">_serializedATN</a></code></th>
+<td class="colLast"><code>"\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\u00024\u0201\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u00 [...]
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.ADD">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#ADD">ADD</a></code></th>
+<td class="colLast"><code>6</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.ALTER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#ALTER">ALTER</a></code></th>
+<td class="colLast"><code>7</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.AS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#AS">AS</a></code></th>
+<td class="colLast"><code>8</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.ASC">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#ASC">ASC</a></code></th>
+<td class="colLast"><code>9</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.BACKQUOTED_IDENTIFIER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#BACKQUOTED_IDENTIFIER">BACKQUOTED_IDENTIFIER</a></code></th>
+<td class="colLast"><code>46</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.BIGDECIMAL_LITERAL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#BIGDECIMAL_LITERAL">BIGDECIMAL_LITERAL</a></code></th>
+<td class="colLast"><code>44</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.BIGINT_LITERAL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#BIGINT_LITERAL">BIGINT_LITERAL</a></code></th>
+<td class="colLast"><code>36</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.BRACKETED_COMMENT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#BRACKETED_COMMENT">BRACKETED_COMMENT</a></code></th>
+<td class="colLast"><code>48</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.BY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#BY">BY</a></code></th>
+<td class="colLast"><code>10</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.CALL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#CALL">CALL</a></code></th>
+<td class="colLast"><code>11</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.DECIMAL_VALUE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#DECIMAL_VALUE">DECIMAL_VALUE</a></code></th>
+<td class="colLast"><code>41</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.DESC">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#DESC">DESC</a></code></th>
+<td class="colLast"><code>12</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.DISTRIBUTED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#DISTRIBUTED">DISTRIBUTED</a></code></th>
+<td class="colLast"><code>13</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.DOUBLE_LITERAL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#DOUBLE_LITERAL">DOUBLE_LITERAL</a></code></th>
+<td class="colLast"><code>43</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.DROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#DROP">DROP</a></code></th>
+<td class="colLast"><code>14</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.EXPONENT_VALUE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#EXPONENT_VALUE">EXPONENT_VALUE</a></code></th>
+<td class="colLast"><code>40</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.FALSE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#FALSE">FALSE</a></code></th>
+<td class="colLast"><code>31</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.FIELD">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#FIELD">FIELD</a></code></th>
+<td class="colLast"><code>15</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.FIELDS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#FIELDS">FIELDS</a></code></th>
+<td class="colLast"><code>16</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.FIRST">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#FIRST">FIRST</a></code></th>
+<td class="colLast"><code>17</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.FLOAT_LITERAL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#FLOAT_LITERAL">FLOAT_LITERAL</a></code></th>
+<td class="colLast"><code>42</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.IDENTIFIER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#IDENTIFIER">IDENTIFIER</a></code></th>
+<td class="colLast"><code>45</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.IDENTIFIER_KW">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#IDENTIFIER_KW">IDENTIFIER_KW</a></code></th>
+<td class="colLast"><code>24</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.INTEGER_VALUE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#INTEGER_VALUE">INTEGER_VALUE</a></code></th>
+<td class="colLast"><code>39</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.LAST">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#LAST">LAST</a></code></th>
+<td class="colLast"><code>18</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.LOCALLY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#LOCALLY">LOCALLY</a></code></th>
+<td class="colLast"><code>19</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.MAP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#MAP">MAP</a></code></th>
+<td class="colLast"><code>32</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.MINUS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#MINUS">MINUS</a></code></th>
+<td class="colLast"><code>34</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.NULLS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#NULLS">NULLS</a></code></th>
+<td class="colLast"><code>20</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.ORDERED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#ORDERED">ORDERED</a></code></th>
+<td class="colLast"><code>21</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.PARTITION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#PARTITION">PARTITION</a></code></th>
+<td class="colLast"><code>22</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.PLUS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#PLUS">PLUS</a></code></th>
+<td class="colLast"><code>33</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.REPLACE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#REPLACE">REPLACE</a></code></th>
+<td class="colLast"><code>23</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.SET">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#SET">SET</a></code></th>
+<td class="colLast"><code>25</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.SIMPLE_COMMENT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#SIMPLE_COMMENT">SIMPLE_COMMENT</a></code></th>
+<td class="colLast"><code>47</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.SMALLINT_LITERAL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#SMALLINT_LITERAL">SMALLINT_LITERAL</a></code></th>
+<td class="colLast"><code>37</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.STRING">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#STRING">STRING</a></code></th>
+<td class="colLast"><code>35</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.T__0">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#T__0">T__0</a></code></th>
+<td class="colLast"><code>1</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.T__1">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#T__1">T__1</a></code></th>
+<td class="colLast"><code>2</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.T__2">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#T__2">T__2</a></code></th>
+<td class="colLast"><code>3</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.T__3">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#T__3">T__3</a></code></th>
+<td class="colLast"><code>4</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.T__4">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#T__4">T__4</a></code></th>
+<td class="colLast"><code>5</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.TABLE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#TABLE">TABLE</a></code></th>
+<td class="colLast"><code>26</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.TINYINT_LITERAL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#TINYINT_LITERAL">TINYINT_LITERAL</a></code></th>
+<td class="colLast"><code>38</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.TRUE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#TRUE">TRUE</a></code></th>
+<td class="colLast"><code>30</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.UNORDERED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#UNORDERED">UNORDERED</a></code></th>
+<td class="colLast"><code>27</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.UNRECOGNIZED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#UNRECOGNIZED">UNRECOGNIZED</a></code></th>
+<td class="colLast"><code>50</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.WITH">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#WITH">WITH</a></code></th>
+<td class="colLast"><code>28</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.WRITE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#WRITE">WRITE</a></code></th>
+<td class="colLast"><code>29</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.WS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#WS">WS</a></code></th>
+<td class="colLast"><code>49</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser._serializedATN">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#_serializedATN">_serializedATN</a></code></th>
+<td class="colLast"><code>"\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\u00034\u011d\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0003\u0002\u0003\u0002\u0003\u0002\u [...]
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.ADD">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#ADD">ADD</a></code></th>
+<td class="colLast"><code>6</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.ALTER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#ALTER">ALTER</a></code></th>
+<td class="colLast"><code>7</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.AS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#AS">AS</a></code></th>
+<td class="colLast"><code>8</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.ASC">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#ASC">ASC</a></code></th>
+<td class="colLast"><code>9</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.BACKQUOTED_IDENTIFIER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#BACKQUOTED_IDENTIFIER">BACKQUOTED_IDENTIFIER</a></code></th>
+<td class="colLast"><code>46</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.BIGDECIMAL_LITERAL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#BIGDECIMAL_LITERAL">BIGDECIMAL_LITERAL</a></code></th>
+<td class="colLast"><code>44</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.BIGINT_LITERAL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#BIGINT_LITERAL">BIGINT_LITERAL</a></code></th>
+<td class="colLast"><code>36</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.BRACKETED_COMMENT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#BRACKETED_COMMENT">BRACKETED_COMMENT</a></code></th>
+<td class="colLast"><code>48</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.BY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#BY">BY</a></code></th>
+<td class="colLast"><code>10</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.CALL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#CALL">CALL</a></code></th>
+<td class="colLast"><code>11</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.DECIMAL_VALUE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#DECIMAL_VALUE">DECIMAL_VALUE</a></code></th>
+<td class="colLast"><code>41</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.DESC">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#DESC">DESC</a></code></th>
+<td class="colLast"><code>12</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.DISTRIBUTED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#DISTRIBUTED">DISTRIBUTED</a></code></th>
+<td class="colLast"><code>13</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.DOUBLE_LITERAL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#DOUBLE_LITERAL">DOUBLE_LITERAL</a></code></th>
+<td class="colLast"><code>43</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.DROP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#DROP">DROP</a></code></th>
+<td class="colLast"><code>14</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.EXPONENT_VALUE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#EXPONENT_VALUE">EXPONENT_VALUE</a></code></th>
+<td class="colLast"><code>40</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.FALSE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#FALSE">FALSE</a></code></th>
+<td class="colLast"><code>31</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.FIELD">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#FIELD">FIELD</a></code></th>
+<td class="colLast"><code>15</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.FIELDS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#FIELDS">FIELDS</a></code></th>
+<td class="colLast"><code>16</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.FIRST">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#FIRST">FIRST</a></code></th>
+<td class="colLast"><code>17</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.FLOAT_LITERAL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#FLOAT_LITERAL">FLOAT_LITERAL</a></code></th>
+<td class="colLast"><code>42</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.IDENTIFIER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#IDENTIFIER">IDENTIFIER</a></code></th>
+<td class="colLast"><code>45</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.IDENTIFIER_KW">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#IDENTIFIER_KW">IDENTIFIER_KW</a></code></th>
+<td class="colLast"><code>24</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.INTEGER_VALUE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#INTEGER_VALUE">INTEGER_VALUE</a></code></th>
+<td class="colLast"><code>39</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.LAST">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#LAST">LAST</a></code></th>
+<td class="colLast"><code>18</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.LOCALLY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#LOCALLY">LOCALLY</a></code></th>
+<td class="colLast"><code>19</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.MAP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#MAP">MAP</a></code></th>
+<td class="colLast"><code>32</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.MINUS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#MINUS">MINUS</a></code></th>
+<td class="colLast"><code>34</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.NULLS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#NULLS">NULLS</a></code></th>
+<td class="colLast"><code>20</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.ORDERED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#ORDERED">ORDERED</a></code></th>
+<td class="colLast"><code>21</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.PARTITION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#PARTITION">PARTITION</a></code></th>
+<td class="colLast"><code>22</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.PLUS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#PLUS">PLUS</a></code></th>
+<td class="colLast"><code>33</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.REPLACE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#REPLACE">REPLACE</a></code></th>
+<td class="colLast"><code>23</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_booleanValue">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_booleanValue">RULE_booleanValue</a></code></th>
+<td class="colLast"><code>13</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_callArgument">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_callArgument">RULE_callArgument</a></code></th>
+<td class="colLast"><code>5</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_constant">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_constant">RULE_constant</a></code></th>
+<td class="colLast"><code>11</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_expression">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_expression">RULE_expression</a></code></th>
+<td class="colLast"><code>10</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_fieldList">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_fieldList">RULE_fieldList</a></code></th>
+<td class="colLast"><code>18</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_identifier">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_identifier">RULE_identifier</a></code></th>
+<td class="colLast"><code>16</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_multipartIdentifier">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_multipartIdentifier">RULE_multipartIdentifier</a></code></th>
+<td class="colLast"><code>15</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_nonReserved">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_nonReserved">RULE_nonReserved</a></code></th>
+<td class="colLast"><code>19</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_number">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_number">RULE_number</a></code></th>
+<td class="colLast"><code>14</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_order">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_order">RULE_order</a></code></th>
+<td class="colLast"><code>6</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_orderField">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_orderField">RULE_orderField</a></code></th>
+<td class="colLast"><code>7</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_quotedIdentifier">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_quotedIdentifier">RULE_quotedIdentifier</a></code></th>
+<td class="colLast"><code>17</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_singleStatement">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_singleStatement">RULE_singleStatement</a></code></th>
+<td class="colLast"><code>0</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_statement">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_statement">RULE_statement</a></code></th>
+<td class="colLast"><code>1</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_stringMap">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_stringMap">RULE_stringMap</a></code></th>
+<td class="colLast"><code>12</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_transform">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_transform">RULE_transform</a></code></th>
+<td class="colLast"><code>8</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_transformArgument">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_transformArgument">RULE_transformArgument</a></code></th>
+<td class="colLast"><code>9</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_writeDistributionSpec">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_writeDistributionSpec">RULE_writeDistributionSpec</a></code></th>
+<td class="colLast"><code>3</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_writeOrderingSpec">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_writeOrderingSpec">RULE_writeOrderingSpec</a></code></th>
+<td class="colLast"><code>4</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.RULE_writeSpec">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#RULE_writeSpec">RULE_writeSpec</a></code></th>
+<td class="colLast"><code>2</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.SET">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#SET">SET</a></code></th>
+<td class="colLast"><code>25</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.SIMPLE_COMMENT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#SIMPLE_COMMENT">SIMPLE_COMMENT</a></code></th>
+<td class="colLast"><code>47</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.SMALLINT_LITERAL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#SMALLINT_LITERAL">SMALLINT_LITERAL</a></code></th>
+<td class="colLast"><code>37</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.STRING">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#STRING">STRING</a></code></th>
+<td class="colLast"><code>35</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.T__0">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#T__0">T__0</a></code></th>
+<td class="colLast"><code>1</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.T__1">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#T__1">T__1</a></code></th>
+<td class="colLast"><code>2</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.T__2">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#T__2">T__2</a></code></th>
+<td class="colLast"><code>3</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.T__3">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#T__3">T__3</a></code></th>
+<td class="colLast"><code>4</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.T__4">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#T__4">T__4</a></code></th>
+<td class="colLast"><code>5</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.TABLE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#TABLE">TABLE</a></code></th>
+<td class="colLast"><code>26</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.TINYINT_LITERAL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#TINYINT_LITERAL">TINYINT_LITERAL</a></code></th>
+<td class="colLast"><code>38</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.TRUE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#TRUE">TRUE</a></code></th>
+<td class="colLast"><code>30</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.UNORDERED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#UNORDERED">UNORDERED</a></code></th>
+<td class="colLast"><code>27</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.UNRECOGNIZED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#UNRECOGNIZED">UNRECOGNIZED</a></code></th>
+<td class="colLast"><code>50</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.WITH">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#WITH">WITH</a></code></th>
+<td class="colLast"><code>28</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.WRITE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#WRITE">WRITE</a></code></th>
+<td class="colLast"><code>29</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.WS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#WS">WS</a></code></th>
+<td class="colLast"><code>49</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</section>
+</div>
+</main>
+<footer role="contentinfo">
+<nav role="navigation">
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a id="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="index.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
... 435616 lines suppressed ...

[iceberg-docs] 02/47: Add .asf.yaml file with notification settings

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit c405f9d6cec90104b7fee9a754e21b93b7aacfb2
Author: samredai <43...@users.noreply.github.com>
AuthorDate: Mon Jan 3 11:57:33 2022 -0800

    Add .asf.yaml file with notification settings
---
 .asf.yaml | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..b79cad2
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,35 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# The format of this file is documented at
+# https://cwiki.apache.org/confluence/display/INFRA/Git+-+.asf.yaml+features
+
+github:
+  description: "Apache Iceberg Documentation Site"
+  homepage: https://iceberg.apache.org/
+  labels:
+    - iceberg
+    - apache
+    - docs
+
+notifications:
+    commits:      commits@iceberg.apache.org
+    issues:       issues@iceberg.apache.org
+    pullrequests: issues@iceberg.apache.org
+

[iceberg-docs] 03/47: Add landing page site and versioned docs structure (#2)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 59b01757e67b185333ae0eff90df4f1a918dad1f
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Tue Jan 4 09:16:08 2022 -0800

    Add landing page site and versioned docs structure (#2)
---
 .github/workflows/deploy.yml                       |   95 +
 .gitignore                                         |   11 +
 .gitmodules                                        |    3 +
 README.md                                          |   94 +-
 docs/.hugo_build.lock                              |    0
 docs/_default2/list.html                           |    0
 docs/_default2/single.html                         |    0
 docs/archetypes/default.md                         |    6 +
 docs/assets/_custom.scss                           |   78 +
 docs/assets/search.js                              |  116 +
 docs/config.toml                                   |   11 +
 docs/content/_index.md                             |   54 +
 docs/content/docs/api/_index.md                    |    5 +
 docs/content/docs/api/java-api-quickstart.md       |  197 +
 docs/content/docs/api/java-api.md                  |  259 +
 docs/content/docs/api/java-custom-catalog.md       |  272 +
 docs/content/docs/api/python-api-intro.md          |  180 +
 docs/content/docs/api/python-feature-support.md    |   76 +
 docs/content/docs/api/python-quickstart.md         |   67 +
 docs/content/docs/asf/_index.md                    |    6 +
 docs/content/docs/asf/donate/_index.md             |   22 +
 docs/content/docs/asf/events/_index.md             |   22 +
 docs/content/docs/asf/license/_index.md            |   22 +
 docs/content/docs/asf/security/_index.md           |   22 +
 docs/content/docs/asf/sponsors/_index.md           |   22 +
 docs/content/docs/community/_index.md              |    5 +
 docs/content/docs/community/blogs.md               |    4 +
 docs/content/docs/community/join.md                |    4 +
 docs/content/docs/community/talks.md               |    4 +
 docs/content/docs/flink/_index.md                  |    5 +
 docs/content/docs/flink/flink-connector.md         |  145 +
 docs/content/docs/flink/flink-getting-started.md   |  557 ++
 docs/content/docs/format/_index.md                 |    5 +
 docs/content/docs/format/spec.md                   |    4 +
 docs/content/docs/format/terms.md                  |    4 +
 docs/content/docs/hive/_index.md                   |  350 ++
 docs/content/docs/integrations/_index.md           |    5 +
 docs/content/docs/integrations/aws.md              |  494 ++
 docs/content/docs/integrations/jdbc.md             |   71 +
 docs/content/docs/integrations/nessie.md           |  161 +
 docs/content/docs/prestodb/_index.md               |   23 +
 docs/content/docs/project/_index.md                |    5 +
 docs/content/docs/project/benchmarks.md            |    5 +
 docs/content/docs/project/how-to-release.md        |    4 +
 docs/content/docs/project/roadmap.md               |    4 +
 docs/content/docs/project/security.md              |    4 +
 docs/content/docs/project/trademarks.md            |    4 +
 docs/content/docs/releases/0.12.0/_index.md        |    5 +
 docs/content/docs/releases/0.12.1/_index.md        |    5 +
 docs/content/docs/releases/_index.md               |    5 +
 docs/content/docs/releases/latest/_index.md        |    5 +
 docs/content/docs/releases/release-notes.md        |    4 +
 docs/content/docs/spark/_index.md                  |    5 +
 docs/content/docs/spark/spark-configuration.md     |  186 +
 docs/content/docs/spark/spark-ddl.md               |  343 ++
 docs/content/docs/spark/spark-getting-started.md   |  144 +
 docs/content/docs/spark/spark-procedures.md        |  458 ++
 docs/content/docs/spark/spark-queries.md           |  265 +
 .../docs/spark/spark-structured-streaming.md       |  113 +
 docs/content/docs/spark/spark-writes.md            |  457 ++
 docs/content/docs/tables/_index.md                 |    5 +
 docs/content/docs/tables/configuration.md          |  131 +
 docs/content/docs/tables/evolution.md              |  103 +
 docs/content/docs/tables/maintenance.md            |  149 +
 docs/content/docs/tables/partitioning.md           |   97 +
 docs/content/docs/tables/performance.md            |   57 +
 docs/content/docs/tables/reliability.md            |   70 +
 docs/content/docs/tables/schemas.md                |   46 +
 docs/content/docs/trino/_index.md                  |   23 +
 docs/layouts/partials/docs/brand.html              |   11 +
 docs/layouts/partials/docs/header.html             |   14 +
 docs/layouts/partials/docs/menu-filetree.html      |  124 +
 docs/layouts/partials/docs/search.html             |   13 +
 docs/layouts/shortcodes/icebergVersion.html        |    1 +
 docs/layouts/shortcodes/nessieVersion.html         |    1 +
 docs/static/css/bootstrap.css                      | 6199 ++++++++++++++++++++
 docs/static/css/pricing.css                        |  133 +
 docs/static/favicon-16x16.png                      |  Bin 0 -> 1496 bytes
 docs/static/favicon-32x32.png                      |  Bin 0 -> 2101 bytes
 docs/static/favicon-96x96.png                      |  Bin 0 -> 5456 bytes
 docs/static/favicon.ico                            |  Bin 0 -> 1150 bytes
 docs/static/favicon.png                            |  Bin 0 -> 5456 bytes
 docs/static/flexsearch.min.js                      |    0
 docs/static/font-awesome-4.7.0/HELP-US-OUT.txt     |    7 +
 .../static/font-awesome-4.7.0/css/font-awesome.css | 2337 ++++++++
 .../font-awesome-4.7.0/css/font-awesome.min.css    |    4 +
 .../font-awesome-4.7.0/fonts/FontAwesome.otf       |  Bin 0 -> 134808 bytes
 .../fonts/fontawesome-webfont.eot                  |  Bin 0 -> 165742 bytes
 .../fonts/fontawesome-webfont.svg                  | 2671 +++++++++
 .../fonts/fontawesome-webfont.ttf                  |  Bin 0 -> 165548 bytes
 .../fonts/fontawesome-webfont.woff                 |  Bin 0 -> 98024 bytes
 .../fonts/fontawesome-webfont.woff2                |  Bin 0 -> 77160 bytes
 docs/static/font-awesome-4.7.0/less/animated.less  |   34 +
 .../font-awesome-4.7.0/less/bordered-pulled.less   |   25 +
 docs/static/font-awesome-4.7.0/less/core.less      |   12 +
 .../font-awesome-4.7.0/less/fixed-width.less       |    6 +
 .../font-awesome-4.7.0/less/font-awesome.less      |   18 +
 docs/static/font-awesome-4.7.0/less/icons.less     |  789 +++
 docs/static/font-awesome-4.7.0/less/larger.less    |   13 +
 docs/static/font-awesome-4.7.0/less/list.less      |   19 +
 docs/static/font-awesome-4.7.0/less/mixins.less    |   60 +
 docs/static/font-awesome-4.7.0/less/path.less      |   15 +
 .../font-awesome-4.7.0/less/rotated-flipped.less   |   20 +
 .../font-awesome-4.7.0/less/screen-reader.less     |    5 +
 docs/static/font-awesome-4.7.0/less/stacked.less   |   20 +
 docs/static/font-awesome-4.7.0/less/variables.less |  800 +++
 docs/static/font-awesome-4.7.0/scss/_animated.scss |   34 +
 .../font-awesome-4.7.0/scss/_bordered-pulled.scss  |   25 +
 docs/static/font-awesome-4.7.0/scss/_core.scss     |   12 +
 .../font-awesome-4.7.0/scss/_fixed-width.scss      |    6 +
 docs/static/font-awesome-4.7.0/scss/_icons.scss    |  789 +++
 docs/static/font-awesome-4.7.0/scss/_larger.scss   |   13 +
 docs/static/font-awesome-4.7.0/scss/_list.scss     |   19 +
 docs/static/font-awesome-4.7.0/scss/_mixins.scss   |   60 +
 docs/static/font-awesome-4.7.0/scss/_path.scss     |   15 +
 .../font-awesome-4.7.0/scss/_rotated-flipped.scss  |   20 +
 .../font-awesome-4.7.0/scss/_screen-reader.scss    |    5 +
 docs/static/font-awesome-4.7.0/scss/_stacked.scss  |   20 +
 .../static/font-awesome-4.7.0/scss/_variables.scss |  800 +++
 .../font-awesome-4.7.0/scss/font-awesome.scss      |   18 +
 docs/static/fontawesome/HELP-US-OUT.txt            |    7 +
 docs/static/fontawesome/css/font-awesome.css       | 2337 ++++++++
 docs/static/fontawesome/css/font-awesome.min.css   |    4 +
 docs/static/fontawesome/fonts/FontAwesome.otf      |  Bin 0 -> 134808 bytes
 .../fontawesome/fonts/fontawesome-webfont.eot      |  Bin 0 -> 165742 bytes
 .../fontawesome/fonts/fontawesome-webfont.svg      | 2671 +++++++++
 .../fontawesome/fonts/fontawesome-webfont.ttf      |  Bin 0 -> 165548 bytes
 .../fontawesome/fonts/fontawesome-webfont.woff     |  Bin 0 -> 98024 bytes
 .../fontawesome/fonts/fontawesome-webfont.woff2    |  Bin 0 -> 77160 bytes
 docs/static/fontawesome/less/animated.less         |   34 +
 docs/static/fontawesome/less/bordered-pulled.less  |   25 +
 docs/static/fontawesome/less/core.less             |   12 +
 docs/static/fontawesome/less/fixed-width.less      |    6 +
 docs/static/fontawesome/less/font-awesome.less     |   18 +
 docs/static/fontawesome/less/icons.less            |  789 +++
 docs/static/fontawesome/less/larger.less           |   13 +
 docs/static/fontawesome/less/list.less             |   19 +
 docs/static/fontawesome/less/mixins.less           |   60 +
 docs/static/fontawesome/less/path.less             |   15 +
 docs/static/fontawesome/less/rotated-flipped.less  |   20 +
 docs/static/fontawesome/less/screen-reader.less    |    5 +
 docs/static/fontawesome/less/stacked.less          |   20 +
 docs/static/fontawesome/less/variables.less        |  800 +++
 docs/static/fontawesome/scss/_animated.scss        |   34 +
 docs/static/fontawesome/scss/_bordered-pulled.scss |   25 +
 docs/static/fontawesome/scss/_core.scss            |   12 +
 docs/static/fontawesome/scss/_fixed-width.scss     |    6 +
 docs/static/fontawesome/scss/_icons.scss           |  789 +++
 docs/static/fontawesome/scss/_larger.scss          |   13 +
 docs/static/fontawesome/scss/_list.scss            |   19 +
 docs/static/fontawesome/scss/_mixins.scss          |   60 +
 docs/static/fontawesome/scss/_path.scss            |   15 +
 docs/static/fontawesome/scss/_rotated-flipped.scss |   20 +
 docs/static/fontawesome/scss/_screen-reader.scss   |    5 +
 docs/static/fontawesome/scss/_stacked.scss         |   20 +
 docs/static/fontawesome/scss/_variables.scss       |  800 +++
 docs/static/fontawesome/scss/font-awesome.scss     |   18 +
 docs/static/fonts/glyphicons-halflings-regular.eot |  Bin 0 -> 20335 bytes
 docs/static/fonts/glyphicons-halflings-regular.svg |  229 +
 docs/static/fonts/glyphicons-halflings-regular.ttf |  Bin 0 -> 41280 bytes
 .../static/fonts/glyphicons-halflings-regular.woff |  Bin 0 -> 23320 bytes
 docs/static/img/GitHub-Mark.png                    |  Bin 0 -> 4268 bytes
 docs/static/img/Iceberg-logo-wordmark.png          |  Bin 0 -> 4874 bytes
 docs/static/img/Iceberg-logo.png                   |  Bin 0 -> 11068 bytes
 docs/static/img/Slack_Mark_Web.png                 |  Bin 0 -> 5990 bytes
 docs/static/img/asf.png                            |  Bin 0 -> 5863 bytes
 docs/static/img/contact-bg.jpg                     |  Bin 0 -> 215852 bytes
 docs/static/img/flink-logo.png                     |  Bin 0 -> 150244 bytes
 docs/static/img/hive-logo.png                      |  Bin 0 -> 76513 bytes
 docs/static/img/iceberg-logo-icon.png              |  Bin 0 -> 17608 bytes
 docs/static/img/iceberg-metadata.png               |  Bin 0 -> 140290 bytes
 docs/static/img/intro-bg.jpg                       |  Bin 0 -> 215852 bytes
 docs/static/img/partition-spec-evolution.png       |  Bin 0 -> 224020 bytes
 docs/static/img/prestodb-logo.png                  |  Bin 0 -> 4391 bytes
 docs/static/img/python.png                         |  Bin 0 -> 1084 bytes
 docs/static/img/screenshot.png                     |  Bin 0 -> 761931 bytes
 docs/static/img/services/hidden-partitioning.png   |  Bin 0 -> 353890 bytes
 docs/static/img/services/schema-evolution.png      |  Bin 0 -> 676552 bytes
 docs/static/img/services/time-travel.png           |  Bin 0 -> 721534 bytes
 docs/static/img/trino-logo.png                     |  Bin 0 -> 55240 bytes
 docs/themes/hugo-book/.github/workflows/main.yml   |   24 +
 docs/themes/hugo-book/.gitignore                   |    3 +
 docs/themes/hugo-book/LICENSE                      |   20 +
 docs/themes/hugo-book/README.md                    |  354 ++
 docs/themes/hugo-book/archetypes/docs.md           |   10 +
 docs/themes/hugo-book/archetypes/posts.md          |    6 +
 docs/themes/hugo-book/assets/_custom.scss          |    3 +
 docs/themes/hugo-book/assets/_defaults.scss        |   66 +
 docs/themes/hugo-book/assets/_fonts.scss           |   39 +
 docs/themes/hugo-book/assets/_main.scss            |  363 ++
 docs/themes/hugo-book/assets/_markdown.scss        |  192 +
 docs/themes/hugo-book/assets/_print.scss           |   17 +
 docs/themes/hugo-book/assets/_shortcodes.scss      |  104 +
 docs/themes/hugo-book/assets/_utils.scss           |   92 +
 docs/themes/hugo-book/assets/_variables.scss       |    3 +
 docs/themes/hugo-book/assets/book.scss             |   15 +
 docs/themes/hugo-book/assets/clipboard.js          |   21 +
 docs/themes/hugo-book/assets/manifest.json         |   15 +
 docs/themes/hugo-book/assets/menu-reset.js         |    7 +
 docs/themes/hugo-book/assets/mermaid.json          |    6 +
 docs/themes/hugo-book/assets/normalize.css         |  349 ++
 .../themes/hugo-book/assets/plugins/_numbered.scss |   36 +
 .../hugo-book/assets/plugins/_scrollbars.scss      |   26 +
 docs/themes/hugo-book/assets/search-data.json      |   15 +
 docs/themes/hugo-book/assets/search.js             |  104 +
 docs/themes/hugo-book/assets/sw-register.js        |    7 +
 docs/themes/hugo-book/assets/sw.js                 |   55 +
 docs/themes/hugo-book/assets/themes/_auto.scss     |    9 +
 docs/themes/hugo-book/assets/themes/_dark.scss     |    3 +
 docs/themes/hugo-book/assets/themes/_light.scss    |    3 +
 .../hugo-book/exampleSite/assets/_custom.scss      |    4 +
 .../hugo-book/exampleSite/assets/_variables.scss   |    1 +
 docs/themes/hugo-book/exampleSite/config.toml      |  118 +
 docs/themes/hugo-book/exampleSite/config.yaml      |  114 +
 .../hugo-book/exampleSite/content.bn/_index.md     |   79 +
 .../hugo-book/exampleSite/content.ru/_index.md     |   79 +
 .../hugo-book/exampleSite/content.zh/_index.md     |   79 +
 .../themes/hugo-book/exampleSite/content/_index.md |   41 +
 .../exampleSite/content/docs/example/_index.md     |   71 +
 .../docs/example/collapsed/3rd-level/4th-level.md  |   12 +
 .../docs/example/collapsed/3rd-level/_index.md     |   26 +
 .../content/docs/example/collapsed/_index.md       |    4 +
 .../exampleSite/content/docs/example/hidden.md     |   52 +
 .../docs/example/table-of-contents/_index.md       |   85 +
 .../docs/example/table-of-contents/with-toc.md     |   64 +
 .../docs/example/table-of-contents/without-toc.md  |   59 +
 .../exampleSite/content/docs/shortcodes/_index.md  |    3 +
 .../exampleSite/content/docs/shortcodes/buttons.md |   13 +
 .../exampleSite/content/docs/shortcodes/columns.md |   45 +
 .../exampleSite/content/docs/shortcodes/details.md |   22 +
 .../exampleSite/content/docs/shortcodes/expand.md  |   35 +
 .../exampleSite/content/docs/shortcodes/hints.md   |   32 +
 .../exampleSite/content/docs/shortcodes/katex.md   |   28 +
 .../exampleSite/content/docs/shortcodes/mermaid.md |   41 +
 .../content/docs/shortcodes/section/_index.md      |   15 +
 .../content/docs/shortcodes/section/first-page.md  |    6 +
 .../content/docs/shortcodes/section/second-page.md |    6 +
 .../exampleSite/content/docs/shortcodes/tabs.md    |   50 +
 .../hugo-book/exampleSite/content/menu/index.md    |   22 +
 .../hugo-book/exampleSite/content/posts/_index.md  |    7 +
 .../content/posts/creating-a-new-theme.md          | 1150 ++++
 .../exampleSite/content/posts/goisforlovers.md     |  344 ++
 .../exampleSite/content/posts/hugoisforlovers.md   |   89 +
 .../content/posts/migrate-from-jekyll.md           |  156 +
 docs/themes/hugo-book/go.mod                       |    3 +
 docs/themes/hugo-book/i18n/bn.yaml                 |   14 +
 docs/themes/hugo-book/i18n/cn.yaml                 |   21 +
 docs/themes/hugo-book/i18n/cs.yaml                 |   14 +
 docs/themes/hugo-book/i18n/de.yaml                 |   14 +
 docs/themes/hugo-book/i18n/en.yaml                 |   14 +
 docs/themes/hugo-book/i18n/es.yaml                 |   14 +
 docs/themes/hugo-book/i18n/fa.yaml                 |   20 +
 docs/themes/hugo-book/i18n/fr.yaml                 |   14 +
 docs/themes/hugo-book/i18n/it.yaml                 |   14 +
 docs/themes/hugo-book/i18n/ja.yaml                 |   20 +
 docs/themes/hugo-book/i18n/jp.yaml                 |   21 +
 docs/themes/hugo-book/i18n/ko.yaml                 |   20 +
 docs/themes/hugo-book/i18n/nb.yaml                 |   14 +
 docs/themes/hugo-book/i18n/pt.yaml                 |   14 +
 docs/themes/hugo-book/i18n/ru.yaml                 |   14 +
 docs/themes/hugo-book/i18n/sv.yaml                 |   14 +
 docs/themes/hugo-book/i18n/tr.yaml                 |   14 +
 docs/themes/hugo-book/i18n/uk.yaml                 |   14 +
 docs/themes/hugo-book/i18n/zh-TW.yaml              |   20 +
 docs/themes/hugo-book/i18n/zh.yaml                 |   20 +
 docs/themes/hugo-book/images/screenshot.png        |  Bin 0 -> 189080 bytes
 docs/themes/hugo-book/images/tn.png                |  Bin 0 -> 195683 bytes
 docs/themes/hugo-book/layouts/404.html             |   34 +
 .../layouts/_default/_markup/render-heading.html   |    4 +
 .../layouts/_default/_markup/render-image.html     |   19 +
 .../layouts/_default/_markup/render-link.html      |   28 +
 docs/themes/hugo-book/layouts/_default/baseof.html |   83 +
 docs/themes/hugo-book/layouts/_default/list.html   |    1 +
 docs/themes/hugo-book/layouts/_default/single.html |    1 +
 .../hugo-book/layouts/partials/docs/brand.html     |    8 +
 .../hugo-book/layouts/partials/docs/comments.html  |    2 +
 .../hugo-book/layouts/partials/docs/date.html      |    6 +
 .../hugo-book/layouts/partials/docs/footer.html    |   28 +
 .../hugo-book/layouts/partials/docs/header.html    |   13 +
 .../layouts/partials/docs/html-head-title.html     |    1 +
 .../hugo-book/layouts/partials/docs/html-head.html |   51 +
 .../layouts/partials/docs/inject/body.html         |    0
 .../partials/docs/inject/content-after.html        |    0
 .../partials/docs/inject/content-before.html       |    0
 .../layouts/partials/docs/inject/footer.html       |    0
 .../layouts/partials/docs/inject/head.html         |    0
 .../layouts/partials/docs/inject/menu-after.html   |    0
 .../layouts/partials/docs/inject/menu-before.html  |    0
 .../layouts/partials/docs/inject/toc-after.html    |    0
 .../layouts/partials/docs/inject/toc-before.html   |    0
 .../hugo-book/layouts/partials/docs/languages.html |   33 +
 .../layouts/partials/docs/menu-bundle.html         |    5 +
 .../layouts/partials/docs/menu-filetree.html       |   45 +
 .../hugo-book/layouts/partials/docs/menu-hugo.html |   28 +
 .../hugo-book/layouts/partials/docs/menu.html      |   25 +
 .../hugo-book/layouts/partials/docs/post-meta.html |   23 +
 .../hugo-book/layouts/partials/docs/search.html    |    7 +
 .../hugo-book/layouts/partials/docs/taxonomy.html  |   19 +
 .../hugo-book/layouts/partials/docs/title.html     |   15 +
 .../hugo-book/layouts/partials/docs/toc.html       |    3 +
 docs/themes/hugo-book/layouts/posts/list.html      |   22 +
 docs/themes/hugo-book/layouts/posts/single.html    |   13 +
 .../hugo-book/layouts/shortcodes/button.html       |   12 +
 .../hugo-book/layouts/shortcodes/columns.html      |    7 +
 .../hugo-book/layouts/shortcodes/details.html      |    7 +
 .../hugo-book/layouts/shortcodes/expand.html       |   13 +
 docs/themes/hugo-book/layouts/shortcodes/hint.html |    3 +
 .../themes/hugo-book/layouts/shortcodes/katex.html |   13 +
 .../hugo-book/layouts/shortcodes/mermaid.html      |   12 +
 .../hugo-book/layouts/shortcodes/section.html      |   10 +
 docs/themes/hugo-book/layouts/shortcodes/tab.html  |   12 +
 docs/themes/hugo-book/layouts/shortcodes/tabs.html |   15 +
 docs/themes/hugo-book/layouts/taxonomy/list.html   |   13 +
 .../hugo-book/layouts/taxonomy/taxonomy.html       |   22 +
 docs/themes/hugo-book/static/favicon.png           |  Bin 0 -> 109 bytes
 docs/themes/hugo-book/static/favicon.svg           |    1 +
 docs/themes/hugo-book/static/flexsearch.min.js     |   42 +
 .../fonts/roboto-mono-v13-latin-regular.woff       |  Bin 0 -> 15160 bytes
 .../fonts/roboto-mono-v13-latin-regular.woff2      |  Bin 0 -> 12312 bytes
 .../static/fonts/roboto-v27-latin-700.woff         |  Bin 0 -> 20396 bytes
 .../static/fonts/roboto-v27-latin-700.woff2        |  Bin 0 -> 15828 bytes
 .../static/fonts/roboto-v27-latin-regular.woff     |  Bin 0 -> 20332 bytes
 .../static/fonts/roboto-v27-latin-regular.woff2    |  Bin 0 -> 15688 bytes
 .../hugo-book/static/katex/auto-render.min.js      |    1 +
 .../static/katex/fonts/KaTeX_AMS-Regular.ttf       |  Bin 0 -> 70972 bytes
 .../static/katex/fonts/KaTeX_AMS-Regular.woff      |  Bin 0 -> 38868 bytes
 .../static/katex/fonts/KaTeX_AMS-Regular.woff2     |  Bin 0 -> 32944 bytes
 .../static/katex/fonts/KaTeX_Caligraphic-Bold.ttf  |  Bin 0 -> 19316 bytes
 .../static/katex/fonts/KaTeX_Caligraphic-Bold.woff |  Bin 0 -> 11696 bytes
 .../katex/fonts/KaTeX_Caligraphic-Bold.woff2       |  Bin 0 -> 10448 bytes
 .../katex/fonts/KaTeX_Caligraphic-Regular.ttf      |  Bin 0 -> 18684 bytes
 .../katex/fonts/KaTeX_Caligraphic-Regular.woff     |  Bin 0 -> 11460 bytes
 .../katex/fonts/KaTeX_Caligraphic-Regular.woff2    |  Bin 0 -> 10240 bytes
 .../static/katex/fonts/KaTeX_Fraktur-Bold.ttf      |  Bin 0 -> 35660 bytes
 .../static/katex/fonts/KaTeX_Fraktur-Bold.woff     |  Bin 0 -> 22632 bytes
 .../static/katex/fonts/KaTeX_Fraktur-Bold.woff2    |  Bin 0 -> 20360 bytes
 .../static/katex/fonts/KaTeX_Fraktur-Regular.ttf   |  Bin 0 -> 34352 bytes
 .../static/katex/fonts/KaTeX_Fraktur-Regular.woff  |  Bin 0 -> 22088 bytes
 .../static/katex/fonts/KaTeX_Fraktur-Regular.woff2 |  Bin 0 -> 19784 bytes
 .../static/katex/fonts/KaTeX_Main-Bold.ttf         |  Bin 0 -> 60784 bytes
 .../static/katex/fonts/KaTeX_Main-Bold.woff        |  Bin 0 -> 35464 bytes
 .../static/katex/fonts/KaTeX_Main-Bold.woff2       |  Bin 0 -> 30244 bytes
 .../static/katex/fonts/KaTeX_Main-BoldItalic.ttf   |  Bin 0 -> 44496 bytes
 .../static/katex/fonts/KaTeX_Main-BoldItalic.woff  |  Bin 0 -> 25352 bytes
 .../static/katex/fonts/KaTeX_Main-BoldItalic.woff2 |  Bin 0 -> 21944 bytes
 .../static/katex/fonts/KaTeX_Main-Italic.ttf       |  Bin 0 -> 47640 bytes
 .../static/katex/fonts/KaTeX_Main-Italic.woff      |  Bin 0 -> 26228 bytes
 .../static/katex/fonts/KaTeX_Main-Italic.woff2     |  Bin 0 -> 22748 bytes
 .../static/katex/fonts/KaTeX_Main-Regular.ttf      |  Bin 0 -> 69520 bytes
 .../static/katex/fonts/KaTeX_Main-Regular.woff     |  Bin 0 -> 38112 bytes
 .../static/katex/fonts/KaTeX_Main-Regular.woff2    |  Bin 0 -> 32464 bytes
 .../static/katex/fonts/KaTeX_Math-BoldItalic.ttf   |  Bin 0 -> 39308 bytes
 .../static/katex/fonts/KaTeX_Math-BoldItalic.woff  |  Bin 0 -> 22324 bytes
 .../static/katex/fonts/KaTeX_Math-BoldItalic.woff2 |  Bin 0 -> 19720 bytes
 .../static/katex/fonts/KaTeX_Math-Italic.ttf       |  Bin 0 -> 40992 bytes
 .../static/katex/fonts/KaTeX_Math-Italic.woff      |  Bin 0 -> 22844 bytes
 .../static/katex/fonts/KaTeX_Math-Italic.woff2     |  Bin 0 -> 20096 bytes
 .../static/katex/fonts/KaTeX_SansSerif-Bold.ttf    |  Bin 0 -> 33688 bytes
 .../static/katex/fonts/KaTeX_SansSerif-Bold.woff   |  Bin 0 -> 18516 bytes
 .../static/katex/fonts/KaTeX_SansSerif-Bold.woff2  |  Bin 0 -> 15732 bytes
 .../static/katex/fonts/KaTeX_SansSerif-Italic.ttf  |  Bin 0 -> 30960 bytes
 .../static/katex/fonts/KaTeX_SansSerif-Italic.woff |  Bin 0 -> 17572 bytes
 .../katex/fonts/KaTeX_SansSerif-Italic.woff2       |  Bin 0 -> 15024 bytes
 .../static/katex/fonts/KaTeX_SansSerif-Regular.ttf |  Bin 0 -> 29812 bytes
 .../katex/fonts/KaTeX_SansSerif-Regular.woff       |  Bin 0 -> 16228 bytes
 .../katex/fonts/KaTeX_SansSerif-Regular.woff2      |  Bin 0 -> 13708 bytes
 .../static/katex/fonts/KaTeX_Script-Regular.ttf    |  Bin 0 -> 24620 bytes
 .../static/katex/fonts/KaTeX_Script-Regular.woff   |  Bin 0 -> 13428 bytes
 .../static/katex/fonts/KaTeX_Script-Regular.woff2  |  Bin 0 -> 12064 bytes
 .../static/katex/fonts/KaTeX_Size1-Regular.ttf     |  Bin 0 -> 12916 bytes
 .../static/katex/fonts/KaTeX_Size1-Regular.woff    |  Bin 0 -> 6696 bytes
 .../static/katex/fonts/KaTeX_Size1-Regular.woff2   |  Bin 0 -> 5592 bytes
 .../static/katex/fonts/KaTeX_Size2-Regular.ttf     |  Bin 0 -> 12172 bytes
 .../static/katex/fonts/KaTeX_Size2-Regular.woff    |  Bin 0 -> 6436 bytes
 .../static/katex/fonts/KaTeX_Size2-Regular.woff2   |  Bin 0 -> 5392 bytes
 .../static/katex/fonts/KaTeX_Size3-Regular.ttf     |  Bin 0 -> 8120 bytes
 .../static/katex/fonts/KaTeX_Size3-Regular.woff    |  Bin 0 -> 4568 bytes
 .../static/katex/fonts/KaTeX_Size3-Regular.woff2   |  Bin 0 -> 3728 bytes
 .../static/katex/fonts/KaTeX_Size4-Regular.ttf     |  Bin 0 -> 11016 bytes
 .../static/katex/fonts/KaTeX_Size4-Regular.woff    |  Bin 0 -> 6184 bytes
 .../static/katex/fonts/KaTeX_Size4-Regular.woff2   |  Bin 0 -> 5028 bytes
 .../katex/fonts/KaTeX_Typewriter-Regular.ttf       |  Bin 0 -> 35924 bytes
 .../katex/fonts/KaTeX_Typewriter-Regular.woff      |  Bin 0 -> 20260 bytes
 .../katex/fonts/KaTeX_Typewriter-Regular.woff2     |  Bin 0 -> 17272 bytes
 docs/themes/hugo-book/static/katex/katex.min.css   |    1 +
 docs/themes/hugo-book/static/katex/katex.min.js    |    1 +
 docs/themes/hugo-book/static/mermaid.min.js        |   32 +
 docs/themes/hugo-book/static/svg/calendar.svg      |    1 +
 docs/themes/hugo-book/static/svg/edit.svg          |    1 +
 docs/themes/hugo-book/static/svg/menu.svg          |    1 +
 docs/themes/hugo-book/static/svg/toc.svg           |    1 +
 docs/themes/hugo-book/static/svg/translate.svg     |    1 +
 docs/themes/hugo-book/theme.toml                   |   16 +
 landing-page/.hugo_build.lock                      |    0
 landing-page/_default2/list.html                   |    0
 landing-page/_default2/single.html                 |    0
 landing-page/archetypes/default.md                 |    6 +
 landing-page/asciinema/README.md                   |   73 +
 landing-page/asciinema/generate_asciinema_cast.py  |   71 +
 landing-page/asciinema/schema_evolution.py         |   70 +
 landing-page/asciinema/time_travel.py              |   51 +
 landing-page/config.toml                           |   20 +
 landing-page/content/about/about.md                |   24 +
 landing-page/content/common/community/blogs.md     |  103 +
 landing-page/content/common/community/join.md      |   92 +
 landing-page/content/common/community/talks.md     |   33 +
 landing-page/content/common/format/spec.md         | 1090 ++++
 landing-page/content/common/format/terms.md        |   64 +
 landing-page/content/common/project/_index.md      |    6 +
 landing-page/content/common/project/benchmarks.md  |  134 +
 .../content/common/project/how-to-release.md       |  200 +
 landing-page/content/common/project/roadmap.md     |   61 +
 landing-page/content/common/project/security.md    |   34 +
 landing-page/content/common/project/trademarks.md  |   24 +
 .../content/common/releases/release-notes.md       |  261 +
 landing-page/content/posts/community/blogs.md      |  103 +
 landing-page/content/posts/community/join.md       |   92 +
 landing-page/content/posts/community/talks.md      |   33 +
 landing-page/content/posts/format/spec.md          | 1088 ++++
 landing-page/content/posts/format/terms.md         |   64 +
 landing-page/content/posts/project/benchmarks.md   |  134 +
 .../content/posts/project/how-to-release.md        |  200 +
 landing-page/content/posts/project/roadmap.md      |   61 +
 landing-page/content/posts/project/security.md     |   34 +
 landing-page/content/posts/project/trademarks.md   |   24 +
 .../content/posts/releases/release-notes.md        |  261 +
 .../content/services/hidden-partitioning.md        |   26 +
 landing-page/content/services/schema-evolution.md  |   25 +
 landing-page/content/services/time-travel.md       |   26 +
 landing-page/layouts/_default/single.html          |   13 +
 landing-page/layouts/index.html                    |    7 +
 landing-page/layouts/partials/about.html           |   15 +
 landing-page/layouts/partials/contact.html         |   16 +
 landing-page/layouts/partials/footer.html          |   16 +
 landing-page/layouts/partials/head.html            |   48 +
 landing-page/layouts/partials/header.html          |   93 +
 landing-page/layouts/partials/js.html              |   27 +
 landing-page/layouts/partials/pricing.html         |   38 +
 landing-page/layouts/partials/services.html        |   82 +
 landing-page/layouts/partials/social.html          |    8 +
 .../layouts/shortcodes/icebergVersion.html         |    1 +
 landing-page/layouts/shortcodes/nessieVersion.html |    1 +
 landing-page/static/asciinema/asciinema-player.css | 2567 ++++++++
 .../static/asciinema/asciinema-player.css.back     | 2567 ++++++++
 .../static/asciinema/asciinema-player.min.js       |    1 +
 .../static/asciinema/asciinema-player.min.js.back  |    1 +
 .../static/asciinema/schema_evolution.cast         |  296 +
 landing-page/static/asciinema/time_travel.cast     |  260 +
 landing-page/static/css/bootstrap.css              | 6199 ++++++++++++++++++++
 landing-page/static/css/katex.min.css              |    1 +
 landing-page/static/css/landing-page.css           |  219 +
 landing-page/static/css/markdown.css               |  959 +++
 landing-page/static/css/pricing.css                |  133 +
 landing-page/static/favicon-16x16.png              |  Bin 0 -> 1496 bytes
 landing-page/static/favicon-32x32.png              |  Bin 0 -> 2101 bytes
 landing-page/static/favicon-96x96.png              |  Bin 0 -> 5456 bytes
 landing-page/static/favicon.ico                    |  Bin 0 -> 1150 bytes
 landing-page/static/favicon.png                    |  Bin 0 -> 5456 bytes
 .../static/font-awesome-4.7.0/HELP-US-OUT.txt      |    7 +
 .../font-awesome-4.7.0/css/font-awesome.min.css    |    4 +
 .../font-awesome-4.7.0/fonts/FontAwesome.otf       |  Bin 0 -> 134808 bytes
 .../fonts/fontawesome-webfont.eot                  |  Bin 0 -> 165742 bytes
 .../fonts/fontawesome-webfont.svg                  | 2671 +++++++++
 .../fonts/fontawesome-webfont.ttf                  |  Bin 0 -> 165548 bytes
 .../fonts/fontawesome-webfont.woff                 |  Bin 0 -> 98024 bytes
 .../fonts/fontawesome-webfont.woff2                |  Bin 0 -> 77160 bytes
 .../static/font-awesome-4.7.0/less/animated.less   |   34 +
 .../font-awesome-4.7.0/less/bordered-pulled.less   |   25 +
 .../static/font-awesome-4.7.0/less/core.less       |   12 +
 .../font-awesome-4.7.0/less/fixed-width.less       |    6 +
 .../font-awesome-4.7.0/less/font-awesome.less      |   18 +
 .../static/font-awesome-4.7.0/less/icons.less      |  789 +++
 .../static/font-awesome-4.7.0/less/larger.less     |   13 +
 .../static/font-awesome-4.7.0/less/list.less       |   19 +
 .../static/font-awesome-4.7.0/less/mixins.less     |   60 +
 .../static/font-awesome-4.7.0/less/path.less       |   15 +
 .../font-awesome-4.7.0/less/rotated-flipped.less   |   20 +
 .../font-awesome-4.7.0/less/screen-reader.less     |    5 +
 .../static/font-awesome-4.7.0/less/stacked.less    |   20 +
 .../static/font-awesome-4.7.0/less/variables.less  |  800 +++
 .../static/font-awesome-4.7.0/scss/_animated.scss  |   34 +
 .../font-awesome-4.7.0/scss/_bordered-pulled.scss  |   25 +
 .../static/font-awesome-4.7.0/scss/_core.scss      |   12 +
 .../font-awesome-4.7.0/scss/_fixed-width.scss      |    6 +
 .../static/font-awesome-4.7.0/scss/_icons.scss     |  789 +++
 .../static/font-awesome-4.7.0/scss/_larger.scss    |   13 +
 .../static/font-awesome-4.7.0/scss/_list.scss      |   19 +
 .../static/font-awesome-4.7.0/scss/_mixins.scss    |   60 +
 .../static/font-awesome-4.7.0/scss/_path.scss      |   15 +
 .../font-awesome-4.7.0/scss/_rotated-flipped.scss  |   20 +
 .../font-awesome-4.7.0/scss/_screen-reader.scss    |    5 +
 .../static/font-awesome-4.7.0/scss/_stacked.scss   |   20 +
 .../static/font-awesome-4.7.0/scss/_variables.scss |  800 +++
 .../font-awesome-4.7.0/scss/font-awesome.scss      |   18 +
 .../static/fonts/glyphicons-halflings-regular.eot  |  Bin 0 -> 20335 bytes
 .../static/fonts/glyphicons-halflings-regular.svg  |  229 +
 .../static/fonts/glyphicons-halflings-regular.ttf  |  Bin 0 -> 41280 bytes
 .../static/fonts/glyphicons-halflings-regular.woff |  Bin 0 -> 23320 bytes
 landing-page/static/img/contact-bg.jpg             |  Bin 0 -> 215852 bytes
 landing-page/static/img/iceberg-logo-icon.png      |  Bin 0 -> 17608 bytes
 landing-page/static/img/intro-bg.jpg               |  Bin 0 -> 215852 bytes
 .../static/img/partition-spec-evolution.png        |  Bin 0 -> 224020 bytes
 .../static/img/services/hidden-partitioning.png    |  Bin 0 -> 353890 bytes
 .../static/img/services/schema-evolution.png       |  Bin 0 -> 676552 bytes
 landing-page/static/img/services/time-travel.png   |  Bin 0 -> 721534 bytes
 landing-page/static/js/bootstrap.js                | 2114 +++++++
 landing-page/static/js/bootstrap.min.js            |    6 +
 landing-page/static/js/jquery-1.11.0.js            |    4 +
 landing-page/static/js/jquery.easing.min.js        |   44 +
 landing-page/static/js/landing-page.js             |   31 +
 redirects/0.12.0/index.html                        |   19 +
 redirects/0.12.1/index.html                        |   19 +
 redirects/docs/index.html                          |   19 +
 redirects/getting-started/index.html               |   19 +
 redirects/latest/index.html                        |   19 +
 515 files changed, 63322 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
new file mode 100644
index 0000000..d4e9469
--- /dev/null
+++ b/.github/workflows/deploy.yml
@@ -0,0 +1,95 @@
+name: github pages
+
+on: [push, pull_request]
+
+jobs:
+  deploy-landing-page:
+    if: github.ref == 'refs/heads/main'
+    runs-on: ubuntu-20.04
+    steps:
+      - uses: actions/checkout@v2
+
+      - name: Set output
+        id: vars
+        run: echo ::set-output name=branch_name::${GITHUB_REF#refs/*/}
+
+      - name: Set baseURL in config.toml
+        uses: ciiiii/toml-editor@1.0.0
+        with:
+          file: "landing-page/config.toml"
+          key: "baseURL"
+          value: "https://iceberg.apache.org/"
+
+      - name: Set params.docsBaseURL in config.toml
+        uses: ciiiii/toml-editor@1.0.0
+        with:
+          file: "landing-page/config.toml"
+          key: "params.docsBaseURL"
+          value: "https://iceberg.apache.org/docs/${{ steps.vars.outputs.branch_name }}"
+
+      - name: Setup Hugo
+        uses: peaceiris/actions-hugo@v2
+        with:
+          hugo-version: 'latest'
+          extended: true
+
+      - name: Build
+        run: cd landing-page && hugo --minify
+
+      - name: Deploy
+        uses: peaceiris/actions-gh-pages@v3
+        with:
+          github_token: ${{ secrets.GITHUB_TOKEN }}
+          publish_dir: ./landing-page/public
+          publish_branch: asf-site
+          destination_dir: ./
+          keep_files: true
+      - name: Deploy redirects
+        uses: peaceiris/actions-gh-pages@v3
+        with:
+          github_token: ${{ secrets.GITHUB_TOKEN }}
+          publish_dir: ./redirects
+          publish_branch: asf-site
+          destination_dir: ./
+          keep_files: true
+  deploy-docs:
+    if: github.ref != 'refs/heads/main'
+    runs-on: ubuntu-20.04
+    steps:
+      - uses: actions/checkout@v2
+      
+      - name: Set output
+        id: vars
+        run: echo ::set-output name=branch_name::${GITHUB_REF#refs/*/}
+
+      - name: Set baseURL in config.toml
+        uses: ciiiii/toml-editor@1.0.0
+        with:
+          file: "docs/config.toml"
+          key: "baseURL"
+          value: "https://iceberg.apache.org/docs/${{ steps.vars.outputs.branch_name }}"
+
+      - name: Set params.version in config.toml
+        uses: ciiiii/toml-editor@1.0.0
+        with:
+          file: "docs/config.toml"
+          key: "params.versions.iceberg"
+          value: "${{ steps.vars.outputs.branch_name }}"
+      
+      - name: Setup Hugo
+        uses: peaceiris/actions-hugo@v2
+        with:
+          hugo-version: 'latest'
+          extended: true
+
+      - name: Build
+        run: cd docs && hugo --minify
+
+      - name: Deploy
+        uses: peaceiris/actions-gh-pages@v3
+        with:
+          github_token: ${{ secrets.GITHUB_TOKEN }}
+          publish_dir: ./docs/public
+          publish_branch: asf-site
+          destination_dir: ./docs/${{ steps.vars.outputs.branch_name }}
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..456f428
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,11 @@
+# Hugo generated directories
+/public
+resources
+
+# Script Generated Asciinema Recordings
+asciinema/output
+
+# Other
+__pycache__
+.DS_Store
+.vscode
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..12744dd
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "themes/hugo-book"]
+	path = themes/hugo-book
+	url = https://github.com/alex-shpak/hugo-book
diff --git a/README.md b/README.md
index 1fc1e82..61a9b85 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,93 @@
-## Iceberg Docs
+<!--
+  - Licensed to the Apache Software Foundation (ASF) under one
+  - or more contributor license agreements.  See the NOTICE file
+  - distributed with this work for additional information
+  - regarding copyright ownership.  The ASF licenses this file
+  - to you under the Apache License, Version 2.0 (the
+  - "License"); you may not use this file except in compliance
+  - with the License.  You may obtain a copy of the License at
+  -
+  -   http://www.apache.org/licenses/LICENSE-2.0
+  -
+  - Unless required by applicable law or agreed to in writing,
+  - software distributed under the License is distributed on an
+  - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  - KIND, either express or implied.  See the License for the
+  - specific language governing permissions and limitations
+  - under the License.
+  -->
 
-This repository contains the markdown documentation hosted at https://iceberg.apache.org.
+# Apache Iceberg Documentation Site
+
+This repository contains the documentation for [Apache Iceberg](https://github.com/apache/iceberg).
+It's built with [Hugo](https://gohugo.io/) and hosted at https://iceberg.apache.org.
+
+# Structure
+
+The Iceberg documentation site is actually constructed from two hugo sites. The first, is the landing page which is
+an entire site on it's own. The second, is the documentation site which contains the full Iceberg documentation.
+The landing page and documentation sites are completely self-contained in the `./landing-page` and `./docs` directories,
+respectively.
+
+# Landing Page Deployment
+
+The landing page site is automatically deployed to the root of the `asf-site` branch by the `deploy-landing-page`
+job in the [deployment workflow](./.github/workflows/deploy.yml). There is only a single version of the landing
+page site, and the `deploy-landing-page` job only runs on commits to the `main` branch.
+
+# Docs Deployment
+
+The docs site is automatically deployed to the `docs` directory in the asf-site branch, into a sub-directory
+named after the branch where the commit occured. This is performed by the `deploy-docs` job in the
+[deployment workflow](./.github/workflows/deploy.yml). The job deploys the docs site on commits to any branch
+**except** `main`. A branch is maintained for each Iceberg version. If the job runs and the directory does not
+yet exist in the `asf-site` branch, it will be created.
+
+#### Latest Docs
+In [./docs/redirect/index.html](./docs/redirect/index.html), a redirect meta tag exists to forward the `/docs` 
+and `/latest` to `/docs/0.12.1`.
+
+# `asf-site` Branch Structure
+
+The `asf-site` branch structure is the following:
+```
+.
+├── docs
+│   ├── 0.12.1
+│   │   └── <Full Docs Site @0.12.1 (also, `/latest` redirects here)>
+│   ├── 0.12.0
+│   │   └── <Full Docs Site @0.12.0>
+│   └── index.html  <-- Includes a redirect to 0.12.1
+└── <Full Landing Page Site>
+```
+
+A non-`main` branch commit deploys the docs site **only** and creates a new directory in the
+`docs` directory.  A `main` branch commit deploys the landing page site **only** and overwrites
+the landing page site at the root of the `asf-site` branch.
+
+# Redirects
+
+Redirects within one of the two sites can easily be done using the `aliases` keyword in the YAML Front Matter.
+You can read more about this Hugo URL Management feature [here](https://gohugo.io/content-management/urls/#yaml-front-matter).
+
+For root level redirects that are outside of both sites, the `./redirects` directory contains pages with redirect `meta` tags.
+These are all deployed at the root level of the `asf-site` branch by the `Deploy redirects` step in the [deployment workflow](./.github/workflows/deploy.yml).
+
+# Running Locally
+
+To start the landing page site locally, clone this repository and run the following.
+```
+git clone git@github.com:apache/iceberg-docs.git
+cd landing-page && hugo serve
+```
+
+To start the documentation site locally, clone this repository and run the following.
+```
+git clone git@github.com:apache/iceberg-docs.git
+git submodule update --init
+cd docs && hugo serve
+```
+
+# Scanning For Broken Links
+
+If you'd like to scan for broken links, one available tool is linkcheck that can be found [here](https://github.com/filiph/linkcheck).
\ No newline at end of file
diff --git a/docs/.hugo_build.lock b/docs/.hugo_build.lock
new file mode 100644
index 0000000..e69de29
diff --git a/docs/_default2/list.html b/docs/_default2/list.html
new file mode 100644
index 0000000..e69de29
diff --git a/docs/_default2/single.html b/docs/_default2/single.html
new file mode 100644
index 0000000..e69de29
diff --git a/docs/archetypes/default.md b/docs/archetypes/default.md
new file mode 100644
index 0000000..00e77bd
--- /dev/null
+++ b/docs/archetypes/default.md
@@ -0,0 +1,6 @@
+---
+title: "{{ replace .Name "-" " " | title }}"
+date: {{ .Date }}
+draft: true
+---
+
diff --git a/docs/assets/_custom.scss b/docs/assets/_custom.scss
new file mode 100644
index 0000000..612762e
--- /dev/null
+++ b/docs/assets/_custom.scss
@@ -0,0 +1,78 @@
+.navigation-icon {
+  width: 1.28571429em;
+  max-height: 14px;
+}
+
+li.navigation-icon-pad {
+  padding-left: 1.28571429em;
+}
+
+  /*Navigation fa icons*/
+.fa-table {
+  color: #000000;
+}
+
+.fa-handshake-o {
+  color: #000000;
+}
+
+.fa-object-ungroup {
+  color: #000000;
+}
+
+.fa-star-o {
+  color: #E25A1D;
+}
+
+.top-external-icon {
+  height: 50px;
+  padding-top: 20px;
+  padding-right: 10px;
+  white-space: nowrap;
+  font-size: 18px;
+}
+
+#version-shield {
+  height: 1.5em;
+  width: unset;
+}
+
+#book-search-results {
+  position: absolute;
+}
+
+ul#book-search-results {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  float: left;
+  width: 100%;
+  background-color: white;
+  z-index: 10;
+}
+
+ul#book-search-results li small {
+  color: rgb(112, 128, 144);
+}
+
+.book-section-flat {
+  margin: $padding-16 * 1.2 0;
+  > a {
+    font-weight: normal;
+  }
+  > label {
+    font-weight: normal;
+  }
+}
+
+
+aside nav ul {
+  li {
+    margin: 0.5em 0;
+  }
+}
+
+
+.book-menu {
+  font-size: 0.8rem;
+}
\ No newline at end of file
diff --git a/docs/assets/search.js b/docs/assets/search.js
new file mode 100644
index 0000000..54ee547
--- /dev/null
+++ b/docs/assets/search.js
@@ -0,0 +1,116 @@
+'use strict';
+
+{{ $searchDataFile := printf "%s.search-data.json" .Language.Lang }}
+{{ $searchData := resources.Get "search-data.json" | resources.ExecuteAsTemplate $searchDataFile . | resources.Minify | resources.Fingerprint }}
+
+(function () {
+
+  const searchDataURL = '{{ $searchData.RelPermalink }}';
+
+  const input = document.querySelector('#book-search-input');
+  const results = document.querySelector('#book-search-results');
+
+  if (!input) {
+    return
+  }
+
+  input.addEventListener('focus', init);
+  input.addEventListener('keyup', search);
+
+  document.addEventListener('keypress', focusSearchFieldOnKeyPress);
+
+  /**
+   * @param {Event} event
+   */
+  function focusSearchFieldOnKeyPress(event) {
+    if (event.target.value !== undefined) {
+      return;
+    }
+
+    if (input === document.activeElement) {
+      return;
+    }
+
+    const characterPressed = String.fromCharCode(event.charCode);
+    if (!isHotkey(characterPressed)) {
+      return;
+    }
+
+    input.focus();
+    event.preventDefault();
+  }
+
+  /**
+   * @param {String} character
+   * @returns {Boolean} 
+   */
+  function isHotkey(character) {
+    const dataHotkeys = input.getAttribute('data-hotkeys') || '';
+    return dataHotkeys.indexOf(character) >= 0;
+  }
+
+  function init() {
+    input.removeEventListener('focus', init); // init once
+    input.required = true;
+    fetch(searchDataURL)
+      .then(pages => pages.json())
+      .then(pages => {
+        window.pages = pages;
+      })
+      .then(() => input.required = false)
+      .then(search);
+  }
+
+  /**
+   * This generates a search preview given the content and the query which is assumed
+   * to be an exact-match query. extraLength defines how many characters before and after the
+   * search match that you want to include. The search match is wrapped in a bold tag.
+   * @param {String} content
+   * @param {String} query
+   * @param {Number} extraLength
+   * @returns {String} 
+   */
+  function getSearchPreview(page, query, extraLength) {
+      const resultLocation = page.content.toLowerCase().indexOf(query.toLowerCase());
+      return `<a href="${page.href}">...` +
+      page.content.substring(resultLocation-extraLength, resultLocation) +
+      "<b>" +
+      page.content.substring(resultLocation, resultLocation + query.length) +
+      "</b>" +
+      page.content.substring(resultLocation + query.length, resultLocation + extraLength) +
+      "..." +
+      "</a>"
+  }
+  function search() {
+    while (results.firstChild) {
+      results.removeChild(results.firstChild);
+    }
+
+    if (!input.value) {
+      return;
+    }
+
+    const searchHits = window.pages.filter(page => page.content.toLowerCase().includes(input.value.toLowerCase()) )
+    searchHits.forEach(function (page) {
+
+      var contentPreview = getSearchPreview(page, input.value, 30);
+
+      const li = element('<li><p></p><small></small></li>');
+      const p = li.querySelector('p'), small = li.querySelector('small');
+      p.textContent = page.title;
+      small.innerHTML = contentPreview;
+
+      results.appendChild(li);
+    });
+  }
+
+  /**
+   * @param {String} content
+   * @returns {Node}
+   */
+  function element(content) {
+    const div = document.createElement('div');
+    div.innerHTML = content;
+    return div.firstChild;
+  }
+})();
diff --git a/docs/config.toml b/docs/config.toml
new file mode 100644
index 0000000..bd4028d
--- /dev/null
+++ b/docs/config.toml
@@ -0,0 +1,11 @@
+baseURL = ""  # This is populated by the github deploy workflow and is equal to "<domainName>/docs/<version|latest>"
+languageCode = "en-us"
+title = "Apache Iceberg"
+theme= "hugo-book"
+
+[params]
+  BookLogo = "img/iceberg-logo-icon.png"
+  versions.iceberg = "" # This is populated by the github deploy workflow and is equal to the branch name
+  versions.nessie = "0.15.1"
+  latestVersions.iceberg = "0.12.1"  # This is used for the version badge on the "latest" site version
+  BookSection='docs' # This determines which directory will inform the left navigation menu
diff --git a/docs/content/_index.md b/docs/content/_index.md
new file mode 100644
index 0000000..767e5cc
--- /dev/null
+++ b/docs/content/_index.md
@@ -0,0 +1,54 @@
+---
+title: Introduction
+type: docs
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+![Iceberg](./img/Iceberg-logo.png)
+
+**Apache Iceberg is an open table format for huge analytic datasets.** Iceberg adds tables to compute engines including Spark, Trino, PrestoDB, Flink and Hive using a high-performance table format that works just like a SQL table.
+
+### User experience
+
+Iceberg avoids unpleasant surprises. Schema evolution works and won't inadvertently un-delete data. Users don't need to know about partitioning to get fast queries.
+
+* [Schema evolution](evolution#schema-evolution) supports add, drop, update, or rename, and has [no side-effects](evolution#correctness)
+* [Hidden partitioning](partitioning) prevents user mistakes that cause silently incorrect results or extremely slow queries
+* [Partition layout evolution](evolution#partition-evolution) can update the layout of a table as data volume or query patterns change
+* [Time travel](spark-queries#time-travel) enables reproducible queries that use exactly the same table snapshot, or lets users easily examine changes
+* Version rollback allows users to quickly correct problems by resetting tables to a good state
+
+### Reliability and performance
+
+Iceberg was built for huge tables. Iceberg is used in production where a single table can contain tens of petabytes of data and even these huge tables can be read without a distributed SQL engine.
+
+* [Scan planning is fast](performance#scan-planning) -- a distributed SQL engine isn't needed to read a table or find files
+* [Advanced filtering](performance#data-filtering) -- data files are pruned with partition and column-level stats, using table metadata
+
+Iceberg was designed to solve correctness problems in eventually-consistent cloud object stores.
+
+* [Works with any cloud store](reliability) and reduces NN congestion when in HDFS, by avoiding listing and renames
+* [Serializable isolation](reliability) -- table changes are atomic and readers never see partial or uncommitted changes
+* [Multiple concurrent writers](reliability#concurrent-write-operations) use optimistic concurrency and will retry to ensure that compatible updates succeed, even when writes conflict
+
+### Open standard
+
+Iceberg has been designed and developed to be an open community standard with a [specification](spec) to ensure compatibility across languages and implementations.
+
+[Apache Iceberg is open source](community), and is developed at the [Apache Software Foundation](https://www.apache.org/).
+
diff --git a/docs/content/docs/api/_index.md b/docs/content/docs/api/_index.md
new file mode 100644
index 0000000..23ff2e8
--- /dev/null
+++ b/docs/content/docs/api/_index.md
@@ -0,0 +1,5 @@
+---
+bookIconFa: fa-connectdevelop
+weight: 700
+bookCollapseSection: true
+---
\ No newline at end of file
diff --git a/docs/content/docs/api/java-api-quickstart.md b/docs/content/docs/api/java-api-quickstart.md
new file mode 100644
index 0000000..e4ebe09
--- /dev/null
+++ b/docs/content/docs/api/java-api-quickstart.md
@@ -0,0 +1,197 @@
+---
+weight: 100
+title: "Java Quickstart"
+url: java-api-quickstart
+aliases:
+    - "java/quickstart"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Java API Quickstart
+
+## Create a table
+
+Tables are created using either a [`Catalog`](../javadoc/master/index.html?org/apache/iceberg/catalog/Catalog.html) or an implementation of the [`Tables`](../javadoc/master/index.html?org/apache/iceberg/Tables.html) interface.
+
+### Using a Hive catalog
+
+The Hive catalog connects to a Hive metastore to keep track of Iceberg tables.
+You can initialize a Hive catalog with a name and some properties.
+(see: [Catalog properties](../configuration/#catalog-properties))
+
+**Note:** Currently, `setConf` is always required for hive catalogs, but this will change in the future.
+
+```java
+import org.apache.iceberg.hive.HiveCatalog;
+
+Catalog catalog = new HiveCatalog();
+catalog.setConf(spark.sparkContext().hadoopConfiguration());  // Configure using Spark's Hadoop configuration
+
+Map <String, String> properties = new HashMap<String, String>();
+properties.put("warehouse", "...");
+properties.put("uri", "...");
+
+catalog.initialize("hive", properties);
+```
+
+The `Catalog` interface defines methods for working with tables, like `createTable`, `loadTable`, `renameTable`, and `dropTable`.
+
+To create a table, pass an `Identifier` and a `Schema` along with other initial metadata:
+
+```java
+import org.apache.iceberg.Table;
+import org.apache.iceberg.catalog.TableIdentifier;
+
+TableIdentifier name = TableIdentifier.of("logging", "logs");
+Table table = catalog.createTable(name, schema, spec);
+
+// or to load an existing table, use the following line
+// Table table = catalog.loadTable(name);
+```
+
+The logs [schema](#create-a-schema) and [partition spec](#create-a-partition-spec) are created below.
+
+
+### Using a Hadoop catalog
+
+A Hadoop catalog doesn't need to connect to a Hive MetaStore, but can only be used with HDFS or similar file systems that support atomic rename. Concurrent writes with a Hadoop catalog are not safe with a local FS or S3. To create a Hadoop catalog:
+
+```java
+import org.apache.hadoop.conf.Configuration;
+import org.apache.iceberg.hadoop.HadoopCatalog;
+
+Configuration conf = new Configuration();
+String warehousePath = "hdfs://host:8020/warehouse_path";
+HadoopCatalog catalog = new HadoopCatalog(conf, warehousePath);
+```
+
+Like the Hive catalog, `HadoopCatalog` implements `Catalog`, so it also has methods for working with tables, like `createTable`, `loadTable`, and `dropTable`.
+                                                                                       
+This example creates a table with Hadoop catalog:
+
+```java
+import org.apache.iceberg.Table;
+import org.apache.iceberg.catalog.TableIdentifier;
+
+TableIdentifier name = TableIdentifier.of("logging", "logs");
+Table table = catalog.createTable(name, schema, spec);
+
+// or to load an existing table, use the following line
+// Table table = catalog.loadTable(name);
+```
+
+The logs [schema](#create-a-schema) and [partition spec](#create-a-partition-spec) are created below.
+
+
+### Using Hadoop tables
+
+Iceberg also supports tables that are stored in a directory in HDFS. Concurrent writes with a Hadoop tables are not safe when stored in the local FS or S3. Directory tables don't support all catalog operations, like rename, so they use the `Tables` interface instead of `Catalog`.
+
+To create a table in HDFS, use `HadoopTables`:
+
+```java
+import org.apache.hadoop.conf.Configuration;
+import org.apache.iceberg.hadoop.HadoopTables;
+import org.apache.iceberg.Table;
+
+Configuration conf = new Configuration();
+HadoopTables tables = new HadoopTables(conf);
+Table table = tables.create(schema, spec, table_location);
+
+// or to load an existing table, use the following line
+// Table table = tables.load(table_location);
+```
+
+{{< hint danger >}}
+Hadoop tables shouldn't be used with file systems that do not support atomic rename. Iceberg relies on rename to synchronize concurrent commits for directory tables.
+{{< /hint >}}
+
+### Tables in Spark
+
+Spark uses both `HiveCatalog` and `HadoopTables` to load tables. Hive is used when the identifier passed to `load` or `save` is not a path, otherwise Spark assumes it is a path-based table.
+
+To read and write to tables from Spark see:
+
+* [SQL queries in Spark](../spark-queries#querying-with-sql)
+* [`INSERT INTO` in Spark](../spark-writes#insert-into)
+* [`MERGE INTO` in Spark](../spark-writes#merge-into)
+
+
+## Schemas
+
+### Create a schema
+
+This example creates a schema for a `logs` table:
+
+```java
+import org.apache.iceberg.Schema;
+import org.apache.iceberg.types.Types;
+
+Schema schema = new Schema(
+      Types.NestedField.required(1, "level", Types.StringType.get()),
+      Types.NestedField.required(2, "event_time", Types.TimestampType.withZone()),
+      Types.NestedField.required(3, "message", Types.StringType.get()),
+      Types.NestedField.optional(4, "call_stack", Types.ListType.ofRequired(5, Types.StringType.get()))
+    );
+```
+
+When using the Iceberg API directly, type IDs are required. Conversions from other schema formats, like Spark, Avro, and Parquet will automatically assign new IDs.
+
+When a table is created, all IDs in the schema are re-assigned to ensure uniqueness.
+
+### Convert a schema from Avro
+
+To create an Iceberg schema from an existing Avro schema, use converters in `AvroSchemaUtil`:
+
+```java
+import org.apache.avro.Schema;
+import org.apache.avro.Schema.Parser;
+import org.apache.iceberg.avro.AvroSchemaUtil;
+
+Schema avroSchema = new Parser().parse("{\"type\": \"record\" , ... }");
+Schema icebergSchema = AvroSchemaUtil.toIceberg(avroSchema);
+```
+
+### Convert a schema from Spark
+
+To create an Iceberg schema from an existing table, use converters in `SparkSchemaUtil`:
+
+```java
+import org.apache.iceberg.spark.SparkSchemaUtil;
+
+Schema schema = SparkSchemaUtil.schemaForTable(sparkSession, table_name);
+```
+
+## Partitioning
+
+### Create a partition spec
+
+Partition specs describe how Iceberg should group records into data files. Partition specs are created for a table's schema using a builder.
+
+This example creates a partition spec for the `logs` table that partitions records by the hour of the log event's timestamp and by log level:
+
+```java
+import org.apache.iceberg.PartitionSpec;
+
+PartitionSpec spec = PartitionSpec.builderFor(schema)
+      .hour("event_time")
+      .identity("level")
+      .build();
+```
+
+For more information on the different partition transforms that Iceberg offers, visit [this page](../spec#partitioning).
diff --git a/docs/content/docs/api/java-api.md b/docs/content/docs/api/java-api.md
new file mode 100644
index 0000000..3c765c8
--- /dev/null
+++ b/docs/content/docs/api/java-api.md
@@ -0,0 +1,259 @@
+---
+weight: 200
+title: "Java API"
+url: api
+aliases:
+    - "java/api"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Iceberg Java API
+
+## Tables
+
+The main purpose of the Iceberg API is to manage table metadata, like schema, partition spec, metadata, and data files that store table data.
+
+Table metadata and operations are accessed through the `Table` interface. This interface will return table information.
+
+### Table metadata
+
+The [`Table` interface](../javadoc/master/index.html?org/apache/iceberg/Table.html) provides access to the table metadata:
+
+* `schema` returns the current table [schema](../schemas)
+* `spec` returns the current table partition spec
+* `properties` returns a map of key-value [properties](../configuration)
+* `currentSnapshot` returns the current table snapshot
+* `snapshots` returns all valid snapshots for the table
+* `snapshot(id)` returns a specific snapshot by ID
+* `location` returns the table's base location
+
+Tables also provide `refresh` to update the table to the latest version, and expose helpers:
+
+* `io` returns the `FileIO` used to read and write table files
+* `locationProvider` returns a `LocationProvider` used to create paths for data and metadata files
+
+
+### Scanning
+
+#### File level
+
+Iceberg table scans start by creating a `TableScan` object with `newScan`.
+
+```java
+TableScan scan = table.newScan();
+```
+
+To configure a scan, call `filter` and `select` on the `TableScan` to get a new `TableScan` with those changes.
+
+```java
+TableScan filteredScan = scan.filter(Expressions.equal("id", 5))
+```
+
+Calls to configuration methods create a new `TableScan` so that each `TableScan` is immutable and won't change unexpectedly if shared across threads.
+
+When a scan is configured, `planFiles`, `planTasks`, and `schema` are used to return files, tasks, and the read projection.
+
+```java
+TableScan scan = table.newScan()
+    .filter(Expressions.equal("id", 5))
+    .select("id", "data");
+
+Schema projection = scan.schema();
+Iterable<CombinedScanTask> tasks = scan.planTasks();
+```
+
+Use `asOfTime` or `useSnapshot` to configure the table snapshot for time travel queries.
+
+#### Row level
+
+Iceberg table scans start by creating a `ScanBuilder` object with `IcebergGenerics.read`.
+
+```java
+ScanBuilder scanBuilder = IcebergGenerics.read(table)
+```
+
+To configure a scan, call `where` and `select` on the `ScanBuilder` to get a new `ScanBuilder` with those changes.
+
+```java
+scanBuilder.where(Expressions.equal("id", 5))
+```
+
+When a scan is configured, call method `build` to execute scan. `build` return `CloseableIterable<Record>`
+
+```java
+CloseableIterable<Record> result = IcebergGenerics.read(table)
+        .where(Expressions.lessThan("id", 5))
+        .build();
+```
+where `Record` is Iceberg record for iceberg-data module `org.apache.iceberg.data.Record`.
+
+### Update operations
+
+`Table` also exposes operations that update the table. These operations use a builder pattern, [`PendingUpdate`](../javadoc/master/index.html?org/apache/iceberg/PendingUpdate.html), that commits when `PendingUpdate#commit` is called.
+
+For example, updating the table schema is done by calling `updateSchema`, adding updates to the builder, and finally calling `commit` to commit the pending changes to the table:
+
+```java
+table.updateSchema()
+    .addColumn("count", Types.LongType.get())
+    .commit();
+```
+
+Available operations to update a table are:
+
+* `updateSchema` -- update the table schema
+* `updateProperties` -- update table properties
+* `updateLocation` -- update the table's base location
+* `newAppend` -- used to append data files
+* `newFastAppend` -- used to append data files, will not compact metadata
+* `newOverwrite` -- used to append data files and remove files that are overwritten
+* `newDelete` -- used to delete data files
+* `newRewrite` -- used to rewrite data files; will replace existing files with new versions
+* `newTransaction` -- create a new table-level transaction
+* `rewriteManifests` -- rewrite manifest data by clustering files, for faster scan planning
+* `rollback` -- rollback the table state to a specific snapshot
+
+### Transactions
+
+Transactions are used to commit multiple table changes in a single atomic operation. A transaction is used to create individual operations using factory methods, like `newAppend`, just like working with a `Table`. Operations created by a transaction are committed as a group when `commitTransaction` is called.
+
+For example, deleting and appending a file in the same transaction:
+```java
+Transaction t = table.newTransaction();
+
+// commit operations to the transaction
+t.newDelete().deleteFromRowFilter(filter).commit();
+t.newAppend().appendFile(data).commit();
+
+// commit all the changes to the table
+t.commitTransaction();
+```
+
+## Types
+
+Iceberg data types are located in the [`org.apache.iceberg.types` package](../javadoc/master/index.html?org/apache/iceberg/types/package-summary.html).
+
+### Primitives
+
+Primitive type instances are available from static methods in each type class. Types without parameters use `get`, and types like `decimal` use factory methods:
+
+```java
+Types.IntegerType.get()    // int
+Types.DoubleType.get()     // double
+Types.DecimalType.of(9, 2) // decimal(9, 2)
+```
+
+### Nested types
+
+Structs, maps, and lists are created using factory methods in type classes.
+
+Like struct fields, map keys or values and list elements are tracked as nested fields. Nested fields track [field IDs](../evolution#correctness) and nullability.
+
+Struct fields are created using `NestedField.optional` or `NestedField.required`. Map value and list element nullability is set in the map and list factory methods.
+
+```java
+// struct<1 id: int, 2 data: optional string>
+StructType struct = Struct.of(
+    Types.NestedField.required(1, "id", Types.IntegerType.get()),
+    Types.NestedField.optional(2, "data", Types.StringType.get())
+  )
+```
+```java
+// map<1 key: int, 2 value: optional string>
+MapType map = MapType.ofOptional(
+    1, Types.IntegerType.get(),
+    2, Types.StringType.get()
+  )
+```
+```java
+// array<1 element: int>
+ListType list = ListType.ofRequired(1, IntegerType.get());
+```
+
+
+## Expressions
+
+Iceberg's expressions are used to configure table scans. To create expressions, use the factory methods in [`Expressions`](../javadoc/master/index.html?org/apache/iceberg/expressions/Expressions.html).
+
+Supported predicate expressions are:
+
+* `isNull`
+* `notNull`
+* `equal`
+* `notEqual`
+* `lessThan`
+* `lessThanOrEqual`
+* `greaterThan`
+* `greaterThanOrEqual`
+* `in`
+* `notIn`
+* `startsWith`
+
+Supported expression operations are:
+
+* `and`
+* `or`
+* `not`
+
+Constant expressions are:
+
+* `alwaysTrue`
+* `alwaysFalse`
+
+### Expression binding
+
+When created, expressions are unbound. Before an expression is used, it will be bound to a data type to find the field ID the expression name represents, and to convert predicate literals.
+
+For example, before using the expression `lessThan("x", 10)`, Iceberg needs to determine which column `"x"` refers to and convert `10` to that column's data type.
+
+If the expression could be bound to the type `struct<1 x: long, 2 y: long>` or to `struct<11 x: int, 12 y: int>`.
+
+### Expression example
+
+```java
+table.newScan()
+    .filter(Expressions.greaterThanOrEqual("x", 5))
+    .filter(Expressions.lessThan("x", 10))
+```
+
+
+## Modules
+
+Iceberg table support is organized in library modules:
+
+* `iceberg-common` contains utility classes used in other modules
+* `iceberg-api` contains the public Iceberg API, including expressions, types, tables, and operations
+* `iceberg-arrow` is an implementation of the Iceberg type system for reading and writing data stored in Iceberg tables using Apache Arrow as the in-memory data format
+* `iceberg-aws` contains implementations of the Iceberg API to be used with tables stored on AWS S3 and/or for tables defined using the AWS Glue data catalog
+* `iceberg-core` contains implementations of the Iceberg API and support for Avro data files, **this is what processing engines should depend on**
+* `iceberg-parquet` is an optional module for working with tables backed by Parquet files
+* `iceberg-orc` is an optional module for working with tables backed by ORC files (*experimental*)
+* `iceberg-hive-metastore` is an implementation of Iceberg tables backed by the Hive metastore Thrift client
+
+This project Iceberg also has modules for adding Iceberg support to processing engines and associated tooling:
+
+* `iceberg-spark2` is an implementation of Spark's Datasource V2 API in 2.4 for Iceberg (use iceberg-spark-runtime for a shaded version)
+* `iceberg-spark3` is an implementation of Spark's Datasource V2 API in 3.0 for Iceberg (use iceberg-spark3-runtime for a shaded version)
+* `iceberg-flink` is an implementation of Flink's Table and DataStream API for Iceberg (use iceberg-flink-runtime for a shaded version)
+* `iceberg-hive3` is an implementation of Hive 3 specific SerDe's for Timestamp, TimestampWithZone, and Date object inspectors (use iceberg-hive-runtime for a shaded version).
+* `iceberg-mr` is an implementation of MapReduce and Hive InputFormats and SerDes for Iceberg (use iceberg-hive-runtime for a shaded version for use with Hive)
+* `iceberg-nessie` is a module used to integrate Iceberg table metadata history and operations with [Project Nessie](https://projectnessie.org/)
+* `iceberg-data` is a client library used to read Iceberg tables from JVM applications
+* `iceberg-pig` is an implementation of Pig's LoadFunc API for Iceberg
+* `iceberg-runtime` generates a shaded runtime jar for Spark to integrate with iceberg tables
+
diff --git a/docs/content/docs/api/java-custom-catalog.md b/docs/content/docs/api/java-custom-catalog.md
new file mode 100644
index 0000000..5787412
--- /dev/null
+++ b/docs/content/docs/api/java-custom-catalog.md
@@ -0,0 +1,272 @@
+---
+weight: 300
+title: "Java Custom Catalog"
+url: custom-catalog
+aliases:
+    - "java/custom-catalog"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Custom Catalog Implementation
+
+It's possible to read an iceberg table either from an hdfs path or from a hive table. It's also possible to use a custom metastore in place of hive. The steps to do that are as follows.
+
+- [Custom TableOperations](#custom-table-operations-implementation)
+- [Custom Catalog](#custom-catalog-implementation)
+- [Custom FileIO](#custom-file-io-implementation)
+- [Custom LocationProvider](#custom-location-provider-implementation)
+- [Custom IcebergSource](#custom-icebergsource)
+
+### Custom table operations implementation
+Extend `BaseMetastoreTableOperations` to provide implementation on how to read and write metadata
+
+Example:
+```java
+class CustomTableOperations extends BaseMetastoreTableOperations {
+  private String dbName;
+  private String tableName;
+  private Configuration conf;
+  private FileIO fileIO;
+
+  protected CustomTableOperations(Configuration conf, String dbName, String tableName) {
+    this.conf = conf;
+    this.dbName = dbName;
+    this.tableName = tableName;
+  }
+
+  // The doRefresh method should provide implementation on how to get the metadata location
+  @Override
+  public void doRefresh() {
+
+    // Example custom service which returns the metadata location given a dbName and tableName
+    String metadataLocation = CustomService.getMetadataForTable(conf, dbName, tableName);
+
+    // When updating from a metadata file location, call the helper method
+    refreshFromMetadataLocation(metadataLocation);
+
+  }
+
+  // The doCommit method should provide implementation on how to update with metadata location atomically
+  @Override
+  public void doCommit(TableMetadata base, TableMetadata metadata) {
+    String oldMetadataLocation = base.location();
+
+    // Write new metadata using helper method
+    String newMetadataLocation = writeNewMetadata(metadata, currentVersion() + 1);
+
+    // Example custom service which updates the metadata location for the given db and table atomically
+    CustomService.updateMetadataLocation(dbName, tableName, oldMetadataLocation, newMetadataLocation);
+
+  }
+
+  // The io method provides a FileIO which is used to read and write the table metadata files
+  @Override
+  public FileIO io() {
+    if (fileIO == null) {
+      fileIO = new HadoopFileIO(conf);
+    }
+    return fileIO;
+  }
+}
+```
+
+A `TableOperations` instance is usually obtained by calling `Catalog.newTableOps(TableIdentifier)`.
+See the next section about implementing and loading a custom catalog.
+
+### Custom catalog implementation
+Extend `BaseMetastoreCatalog` to provide default warehouse locations and instantiate `CustomTableOperations`
+
+Example:
+```java
+public class CustomCatalog extends BaseMetastoreCatalog {
+
+  private Configuration configuration;
+
+  // must have a no-arg constructor to be dynamically loaded
+  // initialize(String name, Map<String, String> properties) will be called to complete initialization
+  public CustomCatalog() {
+  }
+
+  public CustomCatalog(Configuration configuration) {
+    this.configuration = configuration;
+  }
+
+  @Override
+  protected TableOperations newTableOps(TableIdentifier tableIdentifier) {
+    String dbName = tableIdentifier.namespace().level(0);
+    String tableName = tableIdentifier.name();
+    // instantiate the CustomTableOperations
+    return new CustomTableOperations(configuration, dbName, tableName);
+  }
+
+  @Override
+  protected String defaultWarehouseLocation(TableIdentifier tableIdentifier) {
+
+    // Can choose to use any other configuration name
+    String tableLocation = configuration.get("custom.iceberg.warehouse.location");
+
+    // Can be an s3 or hdfs path
+    if (tableLocation == null) {
+      throw new RuntimeException("custom.iceberg.warehouse.location configuration not set!");
+    }
+
+    return String.format(
+            "%s/%s.db/%s", tableLocation,
+            tableIdentifier.namespace().levels()[0],
+            tableIdentifier.name());
+  }
+
+  @Override
+  public boolean dropTable(TableIdentifier identifier, boolean purge) {
+    // Example service to delete table
+    CustomService.deleteTable(identifier.namepsace().level(0), identifier.name());
+  }
+
+  @Override
+  public void renameTable(TableIdentifier from, TableIdentifier to) {
+    Preconditions.checkArgument(from.namespace().level(0).equals(to.namespace().level(0)),
+            "Cannot move table between databases");
+    // Example service to rename table
+    CustomService.renameTable(from.namepsace().level(0), from.name(), to.name());
+  }
+
+  // implement this method to read catalog name and properties during initialization
+  public void initialize(String name, Map<String, String> properties) {
+  }
+}
+```
+
+Catalog implementations can be dynamically loaded in most compute engines.
+For Spark and Flink, you can specify the `catalog-impl` catalog property to load it.
+Read the [Configuration](../configuration/#catalog-properties) section for more details.
+For MapReduce, implement `org.apache.iceberg.mr.CatalogLoader` and set Hadoop property `iceberg.mr.catalog.loader.class` to load it.
+If your catalog must read Hadoop configuration to access certain environment properties, make your catalog implement `org.apache.hadoop.conf.Configurable`.
+
+### Custom file IO implementation
+
+Extend `FileIO` and provide implementation to read and write data files
+
+Example:
+```java
+public class CustomFileIO implements FileIO {
+
+  // must have a no-arg constructor to be dynamically loaded
+  // initialize(Map<String, String> properties) will be called to complete initialization
+  public CustomFileIO() {
+  }
+
+  @Override
+  public InputFile newInputFile(String s) {
+    // you also need to implement the InputFile interface for a custom input file
+    return new CustomInputFile(s);
+  }
+
+  @Override
+  public OutputFile newOutputFile(String s) {
+    // you also need to implement the OutputFile interface for a custom output file
+    return new CustomOutputFile(s);
+  }
+
+  @Override
+  public void deleteFile(String path) {
+    Path toDelete = new Path(path);
+    FileSystem fs = Util.getFs(toDelete);
+    try {
+        fs.delete(toDelete, false /* not recursive */);
+    } catch (IOException e) {
+        throw new RuntimeIOException(e, "Failed to delete file: %s", path);
+    }
+  }
+
+  // implement this method to read catalog properties during initialization
+  public void initialize(Map<String, String> properties) {
+  }
+}
+```
+
+If you are already implementing your own catalog, you can implement `TableOperations.io()` to use your custom `FileIO`.
+In addition, custom `FileIO` implementations can also be dynamically loaded in `HadoopCatalog` and `HiveCatalog` by specifying the `io-impl` catalog property.
+Read the [Configuration](../configuration/#catalog-properties) section for more details.
+If your `FileIO` must read Hadoop configuration to access certain environment properties, make your `FileIO` implement `org.apache.hadoop.conf.Configurable`.
+
+### Custom location provider implementation
+
+Extend `LocationProvider` and provide implementation to determine the file path to write data
+
+Example:
+```java
+public class CustomLocationProvider implements LocationProvider {
+
+  private String tableLocation;
+
+  // must have a 2-arg constructor like this, or a no-arg constructor
+  public CustomLocationProvider(String tableLocation, Map<String, String> properties) {
+    this.tableLocation = tableLocation;
+  }
+
+  @Override
+  public String newDataLocation(String filename) {
+    // can use any custom method to generate a file path given a file name
+    return String.format("%s/%s/%s", tableLocation, UUID.randomUUID().toString(), filename);
+  }
+
+  @Override
+  public String newDataLocation(PartitionSpec spec, StructLike partitionData, String filename) {
+    // can use any custom method to generate a file path given a partition info and file name
+    return newDataLocation(filename);
+  }
+}
+```
+
+If you are already implementing your own catalog, you can override `TableOperations.locationProvider()` to use your custom default `LocationProvider`.
+To use a different custom location provider for a specific table, specify the implementation when creating the table using table property `write.location-provider.impl`
+
+Example:
+```sql
+CREATE TABLE hive.default.my_table (
+  id bigint,
+  data string,
+  category string)
+USING iceberg
+OPTIONS (
+  'write.location-provider.impl'='com.my.CustomLocationProvider'
+)
+PARTITIONED BY (category);
+```
+
+### Custom IcebergSource
+Extend `IcebergSource` and provide implementation to read from `CustomCatalog`
+
+Example:
+```java
+public class CustomIcebergSource extends IcebergSource {
+
+  @Override
+  protected Table findTable(DataSourceOptions options, Configuration conf) {
+    Optional<String> path = options.get("path");
+    Preconditions.checkArgument(path.isPresent(), "Cannot open table: path is not set");
+
+    // Read table from CustomCatalog
+    CustomCatalog catalog = new CustomCatalog(conf);
+    TableIdentifier tableIdentifier = TableIdentifier.parse(path.get());
+    return catalog.loadTable(tableIdentifier);
+  }
+}
+```
+
+Register the `CustomIcebergSource` by updating  `META-INF/services/org.apache.spark.sql.sources.DataSourceRegister` with its fully qualified name
diff --git a/docs/content/docs/api/python-api-intro.md b/docs/content/docs/api/python-api-intro.md
new file mode 100644
index 0000000..11622d3
--- /dev/null
+++ b/docs/content/docs/api/python-api-intro.md
@@ -0,0 +1,180 @@
+---
+weight: 500
+title: "Python API"
+url: python-api-intro
+aliases:
+    - "python/api-intro"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Iceberg Python API
+
+Much of the python api conforms to the java api. You can get more info about the java api [here](../api).
+
+## Catalog
+
+The Catalog interface, like java provides search and management operations for tables.
+
+To create a catalog:
+
+``` python
+from iceberg.hive import HiveTables
+
+# instantiate Hive Tables
+conf = {"hive.metastore.uris": 'thrift://{hms_host}:{hms_port}'}
+tables = HiveTables(conf)
+```
+
+and to create a table from a catalog:
+
+``` python
+from iceberg.api.schema import Schema\
+from iceberg.api.types import TimestampType, DoubleType, StringType, NestedField
+from iceberg.api.partition_spec import PartitionSpecBuilder
+
+schema = Schema(NestedField.optional(1, "DateTime", TimestampType.with_timezone()),
+                NestedField.optional(2, "Bid", DoubleType.get()),
+                NestedField.optional(3, "Ask", DoubleType.get()),
+                NestedField.optional(4, "symbol", StringType.get()))
+partition_spec = PartitionSpecBuilder(schema).add(1, 1000, "DateTime_day", "day").build()
+
+tables.create(schema, "test.test_123", partition)
+```
+
+
+## Tables
+
+The Table interface provides access to table metadata
+
++ schema returns the current table `Schema`
++ spec returns the current table `PartitonSpec`
++ properties returns a map of key-value `TableProperties`
++ currentSnapshot returns the current table `Snapshot`
++ snapshots returns all valid snapshots for the table
++ snapshot(id) returns a specific snapshot by ID
++ location returns the table’s base location
+
+Tables also provide refresh to update the table to the latest version.
+
+### Scanning
+Iceberg table scans start by creating a `TableScan` object with `newScan`.
+
+``` python
+scan = table.new_scan();
+```
+
+To configure a scan, call filter and select on the `TableScan` to get a new `TableScan` with those changes.
+
+``` python
+filtered_scan = scan.filter(Expressions.equal("id", 5))
+```
+
+String expressions can also be passed to the filter method.
+
+``` python
+filtered_scan = scan.filter("id=5")
+```
+
+`Schema` projections can be applied against a `TableScan` by passing a list of column names.
+
+``` python
+filtered_scan = scan.select(["col_1", "col_2", "col_3"])
+```
+
+Because some data types cannot be read using the python library, a convenience method for excluding columns from projection is provided.
+
+``` python
+filtered_scan = scan.select_except(["unsupported_col_1", "unsupported_col_2"])
+```
+
+
+Calls to configuration methods create a new `TableScan` so that each `TableScan` is immutable.
+
+When a scan is configured, `planFiles`, `planTasks`, and `Schema` are used to return files, tasks, and the read projection.
+
+``` python
+scan = table.new_scan() \
+    .filter("id=5") \
+    .select(["id", "data"])
+
+projection = scan.schema
+for task in scan.plan_tasks():
+    print(task)
+```
+
+## Types
+
+Iceberg data types are located in `iceberg.api.types.types`
+
+### Primitives
+
+Primitive type instances are available from static methods in each type class. Types without parameters use `get`, and types like `DecimalType` use factory methods:
+
+```python
+IntegerType.get()    # int
+DoubleType.get()     # double
+DecimalType.of(9, 2) # decimal(9, 2)
+```
+
+### Nested types
+Structs, maps, and lists are created using factory methods in type classes.
+
+Like struct fields, map keys or values and list elements are tracked as nested fields. Nested fields track [field IDs](https://iceberg.apache.org/evolution/#correctness) and nullability.
+
+Struct fields are created using `NestedField.optional` or `NestedField.required`. Map value and list element nullability is set in the map and list factory methods.
+
+```python
+# struct<1 id: int, 2 data: optional string>
+struct = StructType.of([NestedField.required(1, "id", IntegerType.get()),
+                        NestedField.optional(2, "data", StringType.get()])
+  )
+```
+```python
+# map<1 key: int, 2 value: optional string>
+map_var = MapType.of_optional(1, IntegerType.get(),
+                          2, StringType.get())
+```
+```python
+# array<1 element: int>
+list_var = ListType.of_required(1, IntegerType.get());
+```
+
+## Expressions
+Iceberg’s `Expressions` are used to configure table scans. To create `Expressions`, use the factory methods in `Expressions`.
+
+Supported `Predicate` expressions are:
+
++ `is_null`
++ `not_null`
++ `equal`
++ `not_equal`
++ `less_than`
++ `less_than_or_equal`
++ `greater_than`
++ `greater_than_or_equal`
+
+Supported expression `Operations`are:
+
++ `and`
++ `or`
++ `not`
+
+Constant expressions are:
+
++ `always_true`
++ `always_false`
diff --git a/docs/content/docs/api/python-feature-support.md b/docs/content/docs/api/python-feature-support.md
new file mode 100644
index 0000000..3ae2172
--- /dev/null
+++ b/docs/content/docs/api/python-feature-support.md
@@ -0,0 +1,76 @@
+---
+weight: 600
+title: "Python Feature Support"
+url: python-feature-support
+aliases:
+    - "python/feature-support"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Feature Support
+
+The goal is that the python library will provide a functional, performant subset of the java library. The initial focus has been on reading table metadata as well as providing the capability to both plan and execute a scan.
+
+## Feature Comparison
+
+### Metadata
+
+| Operation               | Java  | Python |
+|:------------------------|:-----:|:------:|
+| Get Schema              |    X  |    X   |
+| Get Snapshots           |    X  |    X   |
+| Plan Scan               |    X  |    X   |
+| Plan Scan for Snapshot  |    X  |    X   |
+| Update Current Snapshot |    X  |        |
+| Set Table Properties    |    X  |        |
+| Create Table            |    X  |    X   |
+| Drop Table              |    X  |    X   |
+| Alter Table             |    X  |        |
+
+
+### Read Support
+
+Pyarrow is used for reading parquet files, so read support is limited to what is currently supported in the pyarrow.parquet package.
+
+#### Primitive Types
+
+
+| Data Type               | Java | Python |
+|:------------------------|:----:|:------:|
+| BooleanType             |   X  |    X   |
+| DateType                |   X  |    X   |
+| DecimalType             |   X  |    X   |
+| FloatType               |   X  |    X   |
+| IntegerType             |   X  |    X   |
+| LongType                |   X  |    X   |
+| TimeType                |   X  |    X   |
+| TimestampType           |   X  |    X   |
+
+#### Nested Types
+
+| Data Type               | Java | Python |
+|:------------------------|:----:|:------:|
+| ListType of primitives  |   X  |    X   |
+| MapType of primitives   |   X  |    X   |
+| StructType of primitives|   X  |    X   |
+| ListType of Nested Types|   X  |        |
+| MapType of Nested Types |   X  |        |
+
+### Write Support
+
+The python client does not currently support write capability
diff --git a/docs/content/docs/api/python-quickstart.md b/docs/content/docs/api/python-quickstart.md
new file mode 100644
index 0000000..db030e6
--- /dev/null
+++ b/docs/content/docs/api/python-quickstart.md
@@ -0,0 +1,67 @@
+---
+weight: 400
+title: "Python Quickstart"
+url: python-quickstart
+aliases:
+    - "python/quickstart"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+
+# Python API Quickstart
+
+## Installation
+
+Iceberg python is currently in development, for development and testing purposes the best way to install the library is to perform the following steps:
+```
+git clone https://github.com/apache/iceberg.git
+cd iceberg/python
+pip install -e .
+```
+
+## Testing
+Testing is done using tox. The config can be found in `tox.ini` within the python directory of the iceberg project.
+
+```
+# simply run tox from within the python dir
+tox
+```
+
+# Examples
+
+## Inspect Table Metadata
+``` python
+
+from iceberg.hive import HiveTables
+
+# instantiate Hive Tables
+conf = {"hive.metastore.uris": 'thrift://{hms_host}:{hms_port}'}
+tables = HiveTables(conf)
+
+# load table
+tbl = tables.load("iceberg_db.iceberg_test_table")
+
+# inspect metadata
+print(tbl.schema())
+print(tbl.spec())
+print(tbl.location())
+
+# get table level record count
+from pprint import pprint
+pprint(int(tbl.current_snapshot().summary.get("total-records")))
+```
diff --git a/docs/content/docs/asf/_index.md b/docs/content/docs/asf/_index.md
new file mode 100644
index 0000000..114d1da
--- /dev/null
+++ b/docs/content/docs/asf/_index.md
@@ -0,0 +1,6 @@
+---
+title: "ASF"
+bookIconImage: ../img/asf.png
+bookCollapseSection: true
+weight: 1200
+---
\ No newline at end of file
diff --git a/docs/content/docs/asf/donate/_index.md b/docs/content/docs/asf/donate/_index.md
new file mode 100644
index 0000000..7a8edb6
--- /dev/null
+++ b/docs/content/docs/asf/donate/_index.md
@@ -0,0 +1,22 @@
+---
+title: "Donate"
+weight: 400
+bookExternalUrlNewWindow: https://www.apache.org/foundation/sponsorship.html
+bookIconFa: fa-external-link
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/asf/events/_index.md b/docs/content/docs/asf/events/_index.md
new file mode 100644
index 0000000..0cc7a3b
--- /dev/null
+++ b/docs/content/docs/asf/events/_index.md
@@ -0,0 +1,22 @@
+---
+title: "Events"
+weight: 500
+bookExternalUrlNewWindow: https://www.apache.org/events/current-event.html
+bookIconFa: fa-external-link
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/asf/license/_index.md b/docs/content/docs/asf/license/_index.md
new file mode 100644
index 0000000..6e111e7
--- /dev/null
+++ b/docs/content/docs/asf/license/_index.md
@@ -0,0 +1,22 @@
+---
+title: "License"
+weight: 100
+bookExternalUrlNewWindow: https://www.apache.org/licenses/
+bookIconFa: fa-external-link
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/asf/security/_index.md b/docs/content/docs/asf/security/_index.md
new file mode 100644
index 0000000..198c81f
--- /dev/null
+++ b/docs/content/docs/asf/security/_index.md
@@ -0,0 +1,22 @@
+---
+title: "Security"
+weight: 200
+bookExternalUrlNewWindow: https://www.apache.org/security/
+bookIconFa: fa-external-link
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/asf/sponsors/_index.md b/docs/content/docs/asf/sponsors/_index.md
new file mode 100644
index 0000000..0b76124
--- /dev/null
+++ b/docs/content/docs/asf/sponsors/_index.md
@@ -0,0 +1,22 @@
+---
+title: "Sponsors"
+weight: 300
+bookExternalUrlNewWindow: https://www.apache.org/foundation/thanks.html
+bookIconFa: fa-external-link
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/community/_index.md b/docs/content/docs/community/_index.md
new file mode 100644
index 0000000..9d68285
--- /dev/null
+++ b/docs/content/docs/community/_index.md
@@ -0,0 +1,5 @@
+---
+bookIconFa: fa-users
+bookCollapseSection: true
+weight: 900
+---
\ No newline at end of file
diff --git a/docs/content/docs/community/blogs.md b/docs/content/docs/community/blogs.md
new file mode 100644
index 0000000..b98184e
--- /dev/null
+++ b/docs/content/docs/community/blogs.md
@@ -0,0 +1,4 @@
+---
+title: "Blogs"
+bookUrlFromBaseURL: /../../blogs
+---
\ No newline at end of file
diff --git a/docs/content/docs/community/join.md b/docs/content/docs/community/join.md
new file mode 100644
index 0000000..8fd449b
--- /dev/null
+++ b/docs/content/docs/community/join.md
@@ -0,0 +1,4 @@
+---
+title: "Join"
+bookUrlFromBaseURL: /../../community
+---
\ No newline at end of file
diff --git a/docs/content/docs/community/talks.md b/docs/content/docs/community/talks.md
new file mode 100644
index 0000000..9c2ee32
--- /dev/null
+++ b/docs/content/docs/community/talks.md
@@ -0,0 +1,4 @@
+---
+title: "Talks"
+bookUrlFromBaseURL: /../../talks
+---
\ No newline at end of file
diff --git a/docs/content/docs/flink/_index.md b/docs/content/docs/flink/_index.md
new file mode 100644
index 0000000..fbcc19e
--- /dev/null
+++ b/docs/content/docs/flink/_index.md
@@ -0,0 +1,5 @@
+---
+bookIconImage: flink-logo.png
+bookFlatSection: true
+weight: 300
+---
\ No newline at end of file
diff --git a/docs/content/docs/flink/flink-connector.md b/docs/content/docs/flink/flink-connector.md
new file mode 100644
index 0000000..7bcc456
--- /dev/null
+++ b/docs/content/docs/flink/flink-connector.md
@@ -0,0 +1,145 @@
+---
+url: flink-connector
+aliases:
+    - "flink/flink-connector"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Flink Connector
+Apache Flink supports creating Iceberg table directly without creating the explicit Flink catalog in Flink SQL. That means we can just create an iceberg table by specifying `'connector'='iceberg'` table option in Flink SQL which is similar to usage in the Flink official [document](https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/connectors/table/overview/).
+
+In Flink, the SQL `CREATE TABLE test (..) WITH ('connector'='iceberg', ...)` will create a Flink table in current Flink catalog (use [GenericInMemoryCatalog](https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/dev/table/catalogs/#genericinmemorycatalog) by default),
+which is just mapping to the underlying iceberg table instead of maintaining iceberg table directly in current Flink catalog.
+
+To create the table in Flink SQL by using SQL syntax `CREATE TABLE test (..) WITH ('connector'='iceberg', ...)`,  Flink iceberg connector provides the following table properties:
+
+* `connector`: Use the constant `iceberg`.
+* `catalog-name`: User-specified catalog name. It's required because the connector don't have any default value.
+* `catalog-type`: Default to use `hive` if don't specify any value. The optional values are:
+    * `hive`: The Hive metastore catalog.
+    * `hadoop`: The hadoop catalog.
+    * `custom`: The customized catalog, see [custom catalog](../custom-catalog) for more details.
+* `catalog-database`: The iceberg database name in the backend catalog, use the current flink database name by default.
+* `catalog-table`: The iceberg table name in the backend catalog. Default to use the table name in the flink `CREATE TABLE` sentence.
+
+## Table managed in Hive catalog.
+
+Before executing the following SQL, please make sure you've configured the Flink SQL client correctly according to the quick start [document](../flink).
+
+The following SQL will create a Flink table in the current Flink catalog, which maps to the iceberg table `default_database.iceberg_table` managed in iceberg catalog.
+
+```sql
+CREATE TABLE flink_table (
+    id   BIGINT,
+    data STRING
+) WITH (
+    'connector'='iceberg',
+    'catalog-name'='hive_prod',
+    'uri'='thrift://localhost:9083',
+    'warehouse'='hdfs://nn:8020/path/to/warehouse'
+);
+```
+
+If you want to create a Flink table mapping to a different iceberg table managed in Hive catalog (such as `hive_db.hive_iceberg_table` in Hive), then you can create Flink table as following:
+
+```sql
+CREATE TABLE flink_table (
+    id   BIGINT,
+    data STRING
+) WITH (
+    'connector'='iceberg',
+    'catalog-name'='hive_prod',
+    'catalog-database'='hive_db',
+    'catalog-table'='hive_iceberg_table',
+    'uri'='thrift://localhost:9083',
+    'warehouse'='hdfs://nn:8020/path/to/warehouse'
+);
+```
+
+{{< hint info >}}
+The underlying catalog database (`hive_db` in the above example) will be created automatically if it does not exist when writing records into the Flink table.
+{{< /hint >}}
+
+## Table managed in hadoop catalog
+
+The following SQL will create a Flink table in current Flink catalog, which maps to the iceberg table `default_database.flink_table` managed in hadoop catalog.
+
+```sql
+CREATE TABLE flink_table (
+    id   BIGINT,
+    data STRING
+) WITH (
+    'connector'='iceberg',
+    'catalog-name'='hadoop_prod',
+    'catalog-type'='hadoop',
+    'warehouse'='hdfs://nn:8020/path/to/warehouse'
+);
+```
+
+## Table managed in custom catalog
+
+The following SQL will create a Flink table in current Flink catalog, which maps to the iceberg table `default_database.flink_table` managed in custom catalog.
+
+```sql
+CREATE TABLE flink_table (
+    id   BIGINT,
+    data STRING
+) WITH (
+    'connector'='iceberg',
+    'catalog-name'='custom_prod',
+    'catalog-type'='custom',
+    'catalog-impl'='com.my.custom.CatalogImpl',
+     -- More table properties for the customized catalog
+    'my-additional-catalog-config'='my-value',
+     ...
+);
+```
+
+Please check sections under the Integrations tab for all custom catalogs.
+
+## A complete example.
+
+Take the Hive catalog as an example:
+
+```sql
+CREATE TABLE flink_table (
+    id   BIGINT,
+    data STRING
+) WITH (
+    'connector'='iceberg',
+    'catalog-name'='hive_prod',
+    'uri'='thrift://localhost:9083',
+    'warehouse'='file:///path/to/warehouse'
+);
+
+INSERT INTO flink_table VALUES (1, 'AAA'), (2, 'BBB'), (3, 'CCC');
+
+SET execution.result-mode=tableau;
+SELECT * FROM flink_table;
+
++----+------+
+| id | data |
++----+------+
+|  1 |  AAA |
+|  2 |  BBB |
+|  3 |  CCC |
++----+------+
+3 rows in set
+```
+
+For more details, please refer to the Iceberg [Flink document](../flink).
\ No newline at end of file
diff --git a/docs/content/docs/flink/flink-getting-started.md b/docs/content/docs/flink/flink-getting-started.md
new file mode 100644
index 0000000..edd7bd2
--- /dev/null
+++ b/docs/content/docs/flink/flink-getting-started.md
@@ -0,0 +1,557 @@
+---
+title: "Getting Started"
+weight: 300
+url: flink
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Flink
+
+Apache Iceberg supports both [Apache Flink](https://flink.apache.org/)'s DataStream API and Table API to write records into an Iceberg table. Currently,
+we only integrate Iceberg with Apache Flink 1.11.x.
+
+| Feature support                                                        |  Flink 1.11.0      |  Notes                                                 |
+|------------------------------------------------------------------------|--------------------|--------------------------------------------------------|
+| [SQL create catalog](#creating-catalogs-and-using-catalogs)            | ✔️                 |                                                        |
+| [SQL create database](#create-database)                                | ✔️                 |                                                        |
+| [SQL create table](#create-table)                                      | ✔️                 |                                                        |
+| [SQL create table like](#create-table-like)                            | ✔️                 |                                                        |
+| [SQL alter table](#alter-table)                                        | ✔️                 | Only support altering table properties, Columns/PartitionKey changes are not supported now|
+| [SQL drop_table](#drop-table)                                          | ✔️                 |                                                        |
+| [SQL select](#querying-with-sql)                                       | ✔️                 | Support both streaming and batch mode                  |
+| [SQL insert into](#insert-into)                                        | ✔️ ️               | Support both streaming and batch mode                  |
+| [SQL insert overwrite](#insert-overwrite)                              | ✔️ ️               |                                                        |
+| [DataStream read](#reading-with-datastream)                            | ✔️ ️               |                                                        |
+| [DataStream append](#appending-data)                                   | ✔️ ️               |                                                        |
+| [DataStream overwrite](#overwrite-data)                                | ✔️ ️               |                                                        |
+| [Metadata tables](#inspecting-tables)                                  |    ️               | Support Java API but does not support Flink SQL        |
+| [Rewrite files action](#rewrite-files-action)                          | ✔️ ️               |                                                        |
+
+## Preparation when using Flink SQL Client
+
+To create iceberg table in flink, we recommend to use [Flink SQL Client](https://ci.apache.org/projects/flink/flink-docs-stable/dev/table/sqlClient.html) because it's easier for users to understand the concepts.
+
+Step.1 Downloading the flink 1.11.x binary package from the apache flink [download page](https://flink.apache.org/downloads.html). We now use scala 2.12 to archive the apache iceberg-flink-runtime jar, so it's recommended to use flink 1.11 bundled with scala 2.12.
+
+```bash
+FLINK_VERSION=1.11.1
+SCALA_VERSION=2.12
+APACHE_FLINK_URL=archive.apache.org/dist/flink/
+wget ${APACHE_FLINK_URL}/flink-${FLINK_VERSION}/flink-${FLINK_VERSION}-bin-scala_${SCALA_VERSION}.tgz
+tar xzvf flink-${FLINK_VERSION}-bin-scala_${SCALA_VERSION}.tgz
+```
+
+Step.2 Start a standalone flink cluster within hadoop environment.
+
+```bash
+# HADOOP_HOME is your hadoop root directory after unpack the binary package.
+export HADOOP_CLASSPATH=`$HADOOP_HOME/bin/hadoop classpath`
+
+# Start the flink standalone cluster
+./bin/start-cluster.sh
+```
+
+Step.3 Start the flink SQL client.
+
+We've created a separate `flink-runtime` module in iceberg project to generate a bundled jar, which could be loaded by flink SQL client directly.
+
+If we want to build the `flink-runtime` bundled jar manually, please just build the `iceberg` project and it will generate the jar under `<iceberg-root-dir>/flink-runtime/build/libs`. Of course, we could also download the `flink-runtime` jar from the [apache official repository](https://repo.maven.apache.org/maven2/org/apache/iceberg/iceberg-flink-runtime/).
+
+```bash
+# HADOOP_HOME is your hadoop root directory after unpack the binary package.
+export HADOOP_CLASSPATH=`$HADOOP_HOME/bin/hadoop classpath`
+
+./bin/sql-client.sh embedded -j <flink-runtime-directory>/iceberg-flink-runtime-xxx.jar shell
+```
+
+By default, iceberg has included hadoop jars for hadoop catalog. If we want to use hive catalog, we will need to load the hive jars when opening the flink sql client. Fortunately, apache flink has provided a [bundled hive jar](https://repo.maven.apache.org/maven2/org/apache/flink/flink-sql-connector-hive-2.3.6_2.11/1.11.0/flink-sql-connector-hive-2.3.6_2.11-1.11.0.jar) for sql client. So we could open the sql client
+as the following:
+
+```bash
+# HADOOP_HOME is your hadoop root directory after unpack the binary package.
+export HADOOP_CLASSPATH=`$HADOOP_HOME/bin/hadoop classpath`
+
+# download Iceberg dependency
+ICEBERG_VERSION=0.11.1
+MAVEN_URL=https://repo1.maven.org/maven2
+ICEBERG_MAVEN_URL=${MAVEN_URL}/org/apache/iceberg
+ICEBERG_PACKAGE=iceberg-flink-runtime
+wget ${ICEBERG_MAVEN_URL}/${ICEBERG_PACKAGE}/${ICEBERG_VERSION}/${ICEBERG_PACKAGE}-${ICEBERG_VERSION}.jar
+
+# download the flink-sql-connector-hive-${HIVE_VERSION}_${SCALA_VERSION}-${FLINK_VERSION}.jar
+HIVE_VERSION=2.3.6
+SCALA_VERSION=2.11
+FLINK_VERSION=1.11.0
+FLINK_CONNECTOR_URL=${MAVEN_URL}/org/apache/flink
+FLINK_CONNECTOR_PACKAGE=flink-sql-connector-hive
+wget ${FLINK_CONNECTOR_URL}/${FLINK_CONNECTOR_PACKAGE}-${HIVE_VERSION}_${SCALA_VERSION}/${FLINK_VERSION}/${FLINK_CONNECTOR_PACKAGE}-${HIVE_VERSION}_${SCALA_VERSION}-${FLINK_VERSION}.jar
+
+# open the SQL client.
+/path/to/bin/sql-client.sh embedded \
+    -j ${ICEBERG_PACKAGE}-${ICEBERG_VERSION}.jar \
+    -j ${FLINK_CONNECTOR_PACKAGE}-${HIVE_VERSION}_${SCALA_VERSION}-${FLINK_VERSION}.jar \
+    shell
+```
+## Preparation when using Flink's Python API
+
+Install the Apache Flink dependency using `pip`
+```python
+pip install apache-flink==1.11.1
+```
+
+In order for `pyflink` to function properly, it needs to have access to all Hadoop jars. For `pyflink`
+we need to copy those Hadoop jars to the installation directory of `pyflink`, which can be found under
+`<PYTHON_ENV_INSTALL_DIR>/site-packages/pyflink/lib/` (see also a mention of this on
+the [Flink ML](http://mail-archives.apache.org/mod_mbox/flink-user/202105.mbox/%3C3D98BDD2-89B1-42F5-B6F4-6C06A038F978%40gmail.com%3E)).
+We can use the following short Python script to copy all Hadoop jars (you need to make sure that `HADOOP_HOME`
+points to your Hadoop installation):
+
+```python
+import os
+import shutil
+import site
+
+
+def copy_all_hadoop_jars_to_pyflink():
+    if not os.getenv("HADOOP_HOME"):
+        raise Exception("The HADOOP_HOME env var must be set and point to a valid Hadoop installation")
+
+    jar_files = []
+
+    def find_pyflink_lib_dir():
+        for dir in site.getsitepackages():
+            package_dir = os.path.join(dir, "pyflink", "lib")
+            if os.path.exists(package_dir):
+                return package_dir
+        return None
+
+    for root, _, files in os.walk(os.getenv("HADOOP_HOME")):
+        for file in files:
+            if file.endswith(".jar"):
+                jar_files.append(os.path.join(root, file))
+
+    pyflink_lib_dir = find_pyflink_lib_dir()
+
+    num_jar_files = len(jar_files)
+    print(f"Copying {num_jar_files} Hadoop jar files to pyflink's lib directory at {pyflink_lib_dir}")
+    for jar in jar_files:
+        shutil.copy(jar, pyflink_lib_dir)
+
+
+if __name__ == '__main__':
+    copy_all_hadoop_jars_to_pyflink()
+```
+
+Once the script finished, you should see output similar to
+```
+Copying 645 Hadoop jar files to pyflink's lib directory at <PYTHON_DIR>/lib/python3.8/site-packages/pyflink/lib
+```
+
+Now we need to provide a `file://` path to the `iceberg-flink-runtime` jar, which we can either get by building the project
+and looking at `<iceberg-root-dir>/flink-runtime/build/libs`, or downloading it from the [Apache official repository](https://repo.maven.apache.org/maven2/org/apache/iceberg/iceberg-flink-runtime/).
+Third-party libs can be added to `pyflink` via `env.add_jars("file:///my/jar/path/connector.jar")` / `table_env.get_config().get_configuration().set_string("pipeline.jars", "file:///my/jar/path/connector.jar")`, which is also mentioned in the official [docs](https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/dev/python/dependency_management/).
+In our example we're using `env.add_jars(..)` as shown below:
+
+```python
+import os
+
+from pyflink.datastream import StreamExecutionEnvironment
+
+env = StreamExecutionEnvironment.get_execution_environment()
+iceberg_flink_runtime_jar = os.path.join(os.getcwd(), "iceberg-flink-runtime-{{% icebergVersion %}}.jar")
+
+env.add_jars("file://{}".format(iceberg_flink_runtime_jar))
+```
+
+Once we reached this point, we can then create a `StreamTableEnvironment` and execute Flink SQL statements. 
+The below example shows how to create a custom catalog via the Python Table API:
+```python
+from pyflink.table import StreamTableEnvironment
+table_env = StreamTableEnvironment.create(env)
+table_env.execute_sql("CREATE CATALOG my_catalog WITH ("
+                      "'type'='iceberg', "
+                      "'catalog-impl'='com.my.custom.CatalogImpl', "
+                      "'my-additional-catalog-config'='my-value')")
+```
+
+For more details, please refer to the [Python Table API](https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/dev/python/table/intro_to_table_api/).
+
+## Creating catalogs and using catalogs.
+
+Flink 1.11 support to create catalogs by using flink sql.
+
+### Catalog Configuration
+
+A catalog is created and named by executing the following query (replace `<catalog_name>` with your catalog name and
+`<config_key>`=`<config_value>` with catalog implementation config):   
+
+```sql
+CREATE CATALOG <catalog_name> WITH (
+  'type'='iceberg',
+  `<config_key>`=`<config_value>`
+); 
+```
+
+The following properties can be set globally and are not limited to a specific catalog implementation:
+
+* `type`: Must be `iceberg`. (required)
+* `catalog-type`: `hive` or `hadoop` for built-in catalogs, or left unset for custom catalog implementations using catalog-impl. (Optional)
+* `catalog-impl`: The fully-qualified class name custom catalog implementation, must be set if `catalog-type` is unset. (Optional)
+* `property-version`: Version number to describe the property version. This property can be used for backwards compatibility in case the property format changes. The current property version is `1`. (Optional)
+* `cache-enabled`: Whether to enable catalog cache, default value is `true`
+
+### Hive catalog
+
+This creates an iceberg catalog named `hive_catalog` that can be configured using `'catalog-type'='hive'`, which loads tables from a hive metastore:
+
+```sql
+CREATE CATALOG hive_catalog WITH (
+  'type'='iceberg',
+  'catalog-type'='hive',
+  'uri'='thrift://localhost:9083',
+  'clients'='5',
+  'property-version'='1',
+  'warehouse'='hdfs://nn:8020/warehouse/path'
+);
+```
+
+The following properties can be set if using the Hive catalog:
+
+* `uri`: The Hive metastore's thrift URI. (Required)
+* `clients`: The Hive metastore client pool size, default value is 2. (Optional)
+* `warehouse`: The Hive warehouse location, users should specify this path if neither set the `hive-conf-dir` to specify a location containing a `hive-site.xml` configuration file nor add a correct `hive-site.xml` to classpath.
+* `hive-conf-dir`: Path to a directory containing a `hive-site.xml` configuration file which will be used to provide custom Hive configuration values. The value of `hive.metastore.warehouse.dir` from `<hive-conf-dir>/hive-site.xml` (or hive configure file from classpath) will be overwrote with the `warehouse` value if setting both `hive-conf-dir` and `warehouse` when creating iceberg catalog.
+
+### Hadoop catalog
+
+Iceberg also supports a directory-based catalog in HDFS that can be configured using `'catalog-type'='hadoop'`:
+
+```sql
+CREATE CATALOG hadoop_catalog WITH (
+  'type'='iceberg',
+  'catalog-type'='hadoop',
+  'warehouse'='hdfs://nn:8020/warehouse/path',
+  'property-version'='1'
+);
+```
+
+The following properties can be set if using the Hadoop catalog:
+
+* `warehouse`: The HDFS directory to store metadata files and data files. (Required)
+
+We could execute the sql command `USE CATALOG hive_catalog` to set the current catalog.
+
+### Custom catalog
+
+Flink also supports loading a custom Iceberg `Catalog` implementation by specifying the `catalog-impl` property. Here is an example:
+
+```sql
+CREATE CATALOG my_catalog WITH (
+  'type'='iceberg',
+  'catalog-impl'='com.my.custom.CatalogImpl',
+  'my-additional-catalog-config'='my-value'
+);
+```
+
+### Create through YAML config
+
+Catalogs can be registered in `sql-client-defaults.yaml` before starting the SQL client. Here is an example:
+
+```yaml
+catalogs: 
+  - name: my_catalog
+    type: iceberg
+    catalog-type: hadoop
+    warehouse: hdfs://nn:8020/warehouse/path
+```
+
+## DDL commands
+
+### `CREATE DATABASE`
+
+By default, iceberg will use the `default` database in flink. Using the following example to create a separate database if we don't want to create tables under the `default` database:
+
+```sql
+CREATE DATABASE iceberg_db;
+USE iceberg_db;
+```
+
+### `CREATE TABLE`
+
+```sql
+CREATE TABLE `hive_catalog`.`default`.`sample` (
+    id BIGINT COMMENT 'unique id',
+    data STRING
+);
+```
+
+Table create commands support the most commonly used [flink create clauses](https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/sql/create.html#create-table) now, including: 
+
+* `PARTITION BY (column1, column2, ...)` to configure partitioning, apache flink does not yet support hidden partitioning.
+* `COMMENT 'table document'` to set a table description.
+* `WITH ('key'='value', ...)` to set [table configuration](../configuration) which will be stored in apache iceberg table properties.
+
+Currently, it does not support computed column, primary key and watermark definition etc.
+
+### `PARTITIONED BY`
+
+To create a partition table, use `PARTITIONED BY`:
+
+```sql
+CREATE TABLE `hive_catalog`.`default`.`sample` (
+    id BIGINT COMMENT 'unique id',
+    data STRING
+) PARTITIONED BY (data);
+```
+
+Apache Iceberg support hidden partition but apache flink don't support partitioning by a function on columns, so we've no way to support hidden partition in flink DDL now, we will improve apache flink DDL in future.
+
+### `CREATE TABLE LIKE`
+
+To create a table with the same schema, partitioning, and table properties as another table, use `CREATE TABLE LIKE`.
+
+```sql
+CREATE TABLE `hive_catalog`.`default`.`sample` (
+    id BIGINT COMMENT 'unique id',
+    data STRING
+);
+
+CREATE TABLE  `hive_catalog`.`default`.`sample_like` LIKE `hive_catalog`.`default`.`sample`;
+```
+
+For more details, refer to the [Flink `CREATE TABLE` documentation](https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/sql/create.html#create-table).
+
+
+### `ALTER TABLE`
+
+Iceberg only support altering table properties in flink 1.11 now.
+
+```sql
+ALTER TABLE `hive_catalog`.`default`.`sample` SET ('write.format.default'='avro')
+```
+
+### `ALTER TABLE .. RENAME TO`
+
+```sql
+ALTER TABLE `hive_catalog`.`default`.`sample` RENAME TO `hive_catalog`.`default`.`new_sample`;
+```
+
+### `DROP TABLE`
+
+To delete a table, run:
+
+```sql
+DROP TABLE `hive_catalog`.`default`.`sample`;
+```
+
+## Querying with SQL
+
+Iceberg support both streaming and batch read in flink now. we could execute the following sql command to switch the execute type from 'streaming' mode to 'batch' mode, and vice versa:
+
+```sql
+-- Execute the flink job in streaming mode for current session context
+SET execution.type = streaming
+
+-- Execute the flink job in batch mode for current session context
+SET execution.type = batch
+```
+
+### Flink batch read
+
+If want to check all the rows in iceberg table by submitting a flink __batch__ job, you could execute the following sentences:
+
+```sql
+-- Execute the flink job in batch mode for current session context
+SET execution.type = batch ;
+SELECT * FROM sample       ;
+```
+
+### Flink streaming read
+
+Iceberg supports processing incremental data in flink streaming jobs which starts from a historical snapshot-id:
+
+```sql
+-- Submit the flink job in streaming mode for current session.
+SET execution.type = streaming ;
+
+-- Enable this switch because streaming read SQL will provide few job options in flink SQL hint options.
+SET table.dynamic-table-options.enabled=true;
+
+-- Read all the records from the iceberg current snapshot, and then read incremental data starting from that snapshot.
+SELECT * FROM sample /*+ OPTIONS('streaming'='true', 'monitor-interval'='1s')*/ ;
+
+-- Read all incremental data starting from the snapshot-id '3821550127947089987' (records from this snapshot will be excluded).
+SELECT * FROM sample /*+ OPTIONS('streaming'='true', 'monitor-interval'='1s', 'start-snapshot-id'='3821550127947089987')*/ ;
+```
+
+Those are the options that could be set in flink SQL hint options for streaming job:
+
+* monitor-interval: time interval for consecutively monitoring newly committed data files (default value: '1s').
+* start-snapshot-id: the snapshot id that streaming job starts from.
+
+## Writing with SQL
+
+Iceberg support both `INSERT INTO` and `INSERT OVERWRITE` in flink 1.11 now.
+
+### `INSERT INTO`
+
+To append new data to a table with a flink streaming job, use `INSERT INTO`:
+
+```sql
+INSERT INTO `hive_catalog`.`default`.`sample` VALUES (1, 'a');
+INSERT INTO `hive_catalog`.`default`.`sample` SELECT id, data from other_kafka_table;
+```
+
+### `INSERT OVERWRITE`
+
+To replace data in the table with the result of a query, use `INSERT OVERWRITE` in batch job (flink streaming job does not support `INSERT OVERWRITE`). Overwrites are atomic operations for Iceberg tables.
+
+Partitions that have rows produced by the SELECT query will be replaced, for example:
+
+```sql
+INSERT OVERWRITE sample VALUES (1, 'a');
+```
+
+Iceberg also support overwriting given partitions by the `select` values:
+
+```sql
+INSERT OVERWRITE `hive_catalog`.`default`.`sample` PARTITION(data='a') SELECT 6;
+```
+
+For a partitioned iceberg table, when all the partition columns are set a value in `PARTITION` clause, it is inserting into a static partition, otherwise if partial partition columns (prefix part of all partition columns) are set a value in `PARTITION` clause, it is writing the query result into a dynamic partition.
+For an unpartitioned iceberg table, its data will be completely overwritten by `INSERT OVERWRITE`.
+
+## Reading with DataStream
+
+Iceberg support streaming or batch read in Java API now.
+
+### Batch Read
+
+This example will read all records from iceberg table and then print to the stdout console in flink batch job:
+
+```java
+StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironment();
+TableLoader tableLoader = TableLoader.fromHadoopTable("hdfs://nn:8020/warehouse/path");
+DataStream<RowData> batch = FlinkSource.forRowData()
+     .env(env)
+     .tableLoader(tableLoader)
+     .streaming(false)
+     .build();
+
+// Print all records to stdout.
+batch.print();
+
+// Submit and execute this batch read job.
+env.execute("Test Iceberg Batch Read");
+```
+
+### Streaming read
+
+This example will read incremental records which start from snapshot-id '3821550127947089987' and print to stdout console in flink streaming job:
+
+```java
+StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironment();
+TableLoader tableLoader = TableLoader.fromHadoopTable("hdfs://nn:8020/warehouse/path");
+DataStream<RowData> stream = FlinkSource.forRowData()
+     .env(env)
+     .tableLoader(tableLoader)
+     .streaming(true)
+     .startSnapshotId(3821550127947089987L)
+     .build();
+
+// Print all records to stdout.
+stream.print();
+
+// Submit and execute this streaming read job.
+env.execute("Test Iceberg Batch Read");
+```
+
+There are other options that we could set by Java API, please see the [FlinkSource#Builder](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/flink/source/FlinkSource.html).
+
+## Writing with DataStream
+
+Iceberg support writing to iceberg table from different DataStream input.
+
+
+### Appending data.
+
+we have supported writing `DataStream<RowData>` and `DataStream<Row>` to the sink iceberg table natively.
+
+```java
+StreamExecutionEnvironment env = ...;
+
+DataStream<RowData> input = ... ;
+Configuration hadoopConf = new Configuration();
+TableLoader tableLoader = TableLoader.fromHadoopTable("hdfs://nn:8020/warehouse/path", hadoopConf);
+
+FlinkSink.forRowData(input)
+    .tableLoader(tableLoader)
+    .build();
+
+env.execute("Test Iceberg DataStream");
+```
+
+The iceberg API also allows users to write generic `DataStream<T>` to iceberg table, more example could be found in this [unit test](https://github.com/apache/iceberg/blob/master/flink/src/test/java/org/apache/iceberg/flink/sink/TestFlinkIcebergSink.java).
+
+### Overwrite data
+
+To overwrite the data in existing iceberg table dynamically, we could set the `overwrite` flag in FlinkSink builder.
+
+```java
+StreamExecutionEnvironment env = ...;
+
+DataStream<RowData> input = ... ;
+Configuration hadoopConf = new Configuration();
+TableLoader tableLoader = TableLoader.fromHadoopTable("hdfs://nn:8020/warehouse/path", hadoopConf);
+
+FlinkSink.forRowData(input)
+    .tableLoader(tableLoader)
+    .overwrite(true)
+    .build();
+
+env.execute("Test Iceberg DataStream");
+```
+
+## Inspecting tables.
+
+Iceberg does not support inspecting table in flink sql now, we need to use [iceberg's Java API](../api) to read iceberg's meta data to get those table information.
+
+## Rewrite files action.
+
+Iceberg provides API to rewrite small files into large files by submitting flink batch job. The behavior of this flink action is the same as the spark's [rewriteDataFiles](../maintenance/#compact-data-files).
+
+```java
+import org.apache.iceberg.flink.actions.Actions;
+
+TableLoader tableLoader = TableLoader.fromHadoopTable("hdfs://nn:8020/warehouse/path");
+Table table = tableLoader.loadTable();
+RewriteDataFilesActionResult result = Actions.forTable(table)
+        .rewriteDataFiles()
+        .execute();
+```
+
+For more doc about options of the rewrite files action, please see [RewriteDataFilesAction](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/flink/actions/RewriteDataFilesAction.html)
+
+## Future improvement.
+
+There are some features that we do not yet support in the current flink iceberg integration work:
+
+* Don't support creating iceberg table with hidden partitioning. [Discussion](http://mail-archives.apache.org/mod_mbox/flink-dev/202008.mbox/%3cCABi+2jQCo3MsOa4+ywaxV5J-Z8TGKNZDX-pQLYB-dG+dVUMiMw@mail.gmail.com%3e) in flink mail list.
+* Don't support creating iceberg table with computed column.
+* Don't support creating iceberg table with watermark.
+* Don't support adding columns, removing columns, renaming columns, changing columns. [FLINK-19062](https://issues.apache.org/jira/browse/FLINK-19062) is tracking this.
diff --git a/docs/content/docs/format/_index.md b/docs/content/docs/format/_index.md
new file mode 100644
index 0000000..c7bf591
--- /dev/null
+++ b/docs/content/docs/format/_index.md
@@ -0,0 +1,5 @@
+---
+bookIconFa: fa-object-ungroup
+bookCollapseSection: true
+weight: 900
+---
\ No newline at end of file
diff --git a/docs/content/docs/format/spec.md b/docs/content/docs/format/spec.md
new file mode 100644
index 0000000..21947be
--- /dev/null
+++ b/docs/content/docs/format/spec.md
@@ -0,0 +1,4 @@
+---
+title: "Spec"
+bookUrlFromBaseURL: /../../spec
+---
\ No newline at end of file
diff --git a/docs/content/docs/format/terms.md b/docs/content/docs/format/terms.md
new file mode 100644
index 0000000..86761cd
--- /dev/null
+++ b/docs/content/docs/format/terms.md
@@ -0,0 +1,4 @@
+---
+title: "Terms"
+bookUrlFromBaseURL: /../../terms
+---
\ No newline at end of file
diff --git a/docs/content/docs/hive/_index.md b/docs/content/docs/hive/_index.md
new file mode 100644
index 0000000..77b32e7
--- /dev/null
+++ b/docs/content/docs/hive/_index.md
@@ -0,0 +1,350 @@
+---
+bookIconImage: ../img/hive-logo.png
+bookFlatSection: true
+url: hive
+weight: 400
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Hive
+
+Iceberg supports reading and writing Iceberg tables through [Hive](https://hive.apache.org) by using a [StorageHandler](https://cwiki.apache.org/confluence/display/Hive/StorageHandlers).
+Here is the current compatibility matrix for Iceberg Hive support: 
+
+| Feature                  | Hive 2.x               | Hive 3.1.2             |
+| ------------------------ | ---------------------- | ---------------------- |
+| CREATE EXTERNAL TABLE    | ✔️                     | ✔️                     |
+| CREATE TABLE             | ✔️                     | ✔️                     |
+| DROP TABLE               | ✔️                     | ✔️                     |
+| SELECT                   | ✔️ (MapReduce and Tez) | ✔️ (MapReduce and Tez) |
+| INSERT INTO              | ✔️ (MapReduce only)️    | ✔️ (MapReduce only)    |
+
+## Enabling Iceberg support in Hive
+
+### Loading runtime jar
+
+To enable Iceberg support in Hive, the `HiveIcebergStorageHandler` and supporting classes need to be made available on Hive's classpath. 
+These are provided by the `iceberg-hive-runtime` jar file. 
+For example, if using the Hive shell, this can be achieved by issuing a statement like so:
+
+```
+add jar /path/to/iceberg-hive-runtime.jar;
+```
+
+There are many others ways to achieve this including adding the jar file to Hive's auxiliary classpath so it is available by default.
+Please refer to Hive's documentation for more information.
+
+### Enabling support
+
+If the Iceberg storage handler is not in Hive's classpath, then Hive cannot load or update the metadata for an Iceberg table when the storage handler is set.
+To avoid the appearance of broken tables in Hive, Iceberg will not add the storage handler to a table unless Hive support is enabled.
+The storage handler is kept in sync (added or removed) every time Hive engine support for the table is updated, i.e. turned on or off in the table properties.
+There are two ways to enable Hive support: globally in Hadoop Configuration and per-table using a table property.
+
+#### Hadoop configuration
+
+To enable Hive support globally for an application, set `iceberg.engine.hive.enabled=true` in its Hadoop configuration. 
+For example, setting this in the `hive-site.xml` loaded by Spark will enable the storage handler for all tables created by Spark.
+
+{{< hint danger >}}
+Starting with Apache Iceberg `0.11.0`, when using Hive with Tez you also have to disable vectorization (`hive.vectorized.execution.enabled=false`).
+{{< /hint >}}
+
+#### Table property configuration
+
+Alternatively, the property `engine.hive.enabled` can be set to `true` and added to the table properties when creating the Iceberg table. 
+Here is an example of doing it programmatically:
+
+```java
+Catalog catalog = ...;
+Map<String, String> tableProperties = Maps.newHashMap();
+tableProperties.put(TableProperties.ENGINE_HIVE_ENABLED, "true"); // engine.hive.enabled=true
+catalog.createTable(tableId, schema, spec, tableProperties);
+```
+
+The table level configuration overrides the global Hadoop configuration.
+
+## Catalog Management
+
+### Global Hive catalog
+
+From the Hive engine's perspective, there is only one global data catalog that is defined in the Hadoop configuration in the runtime environment.
+In contrast, Iceberg supports multiple different data catalog types such as Hive, Hadoop, AWS Glue, or custom catalog implementations.
+Iceberg also allows loading a table directly based on its path in the file system. Those tables do not belong to any catalog.
+Users might want to read these cross-catalog and path-based tables through the Hive engine for use cases like join.
+
+To support this, a table in the Hive metastore can represent three different ways of loading an Iceberg table,
+depending on the table's `iceberg.catalog` property:
+
+1. The table will be loaded using a `HiveCatalog` that corresponds to the metastore configured in the Hive environment if no `iceberg.catalog` is set
+2. The table will be loaded using a custom catalog if `iceberg.catalog` is set to a catalog name (see below)
+3. The table can be loaded directly using the table's root location if `iceberg.catalog` is set to `location_based_table`
+
+For cases 2 and 3 above, users can create an overlay of an Iceberg table in the Hive metastore,
+so that different table types can work together in the same Hive environment.
+See [CREATE EXTERNAL TABLE](#create-external-table) and [CREATE TABLE](#create-table) for more details.
+
+### Custom Iceberg catalogs
+
+To globally register different catalogs, set the following Hadoop configurations:
+
+| Config Key                                    | Description                                            |
+| --------------------------------------------- | ------------------------------------------------------ |
+| iceberg.catalog.<catalog_name\>.type          | type of catalog: `hive`, `hadoop`, or left unset if using a custom catalog  |
+| iceberg.catalog.<catalog_name\>.catalog-impl  | catalog implementation, must not be null if type is empty |
+| iceberg.catalog.<catalog_name\>.<key\>        | any config key and value pairs for the catalog         |
+
+Here are some examples using Hive CLI:
+
+Register a `HiveCatalog` called `another_hive`:
+
+```
+SET iceberg.catalog.another_hive.type=hive;
+SET iceberg.catalog.another_hive.uri=thrift://example.com:9083;
+SET iceberg.catalog.another_hive.clients=10;
+SET iceberg.catalog.another_hive.warehouse=hdfs://example.com:8020/warehouse;
+```
+
+Register a `HadoopCatalog` called `hadoop`:
+
+```
+SET iceberg.catalog.hadoop.type=hadoop;
+SET iceberg.catalog.hadoop.warehouse=hdfs://example.com:8020/warehouse;
+```
+
+Register an AWS `GlueCatalog` called `glue`:
+
+```
+SET iceberg.catalog.glue.catalog-impl=org.apache.iceberg.aws.GlueCatalog;
+SET iceberg.catalog.glue.warehouse=s3://my-bucket/my/key/prefix;
+SET iceberg.catalog.glue.lock-impl=org.apache.iceberg.aws.glue.DynamoLockManager;
+SET iceberg.catalog.glue.lock.table=myGlueLockTable;
+```
+
+## DDL Commands
+
+### CREATE EXTERNAL TABLE
+
+The `CREATE EXTERNAL TABLE` command is used to overlay a Hive table "on top of" an existing Iceberg table. 
+Iceberg tables are created using either a [`Catalog`](../javadoc/master/index.html?org/apache/iceberg/catalog/Catalog.html),
+or an implementation of the [`Tables`](../javadoc/master/index.html?org/apache/iceberg/Tables.html) interface,
+and Hive needs to be configured accordingly to operate on these different types of table.
+
+#### Hive catalog tables
+
+As described before, tables created by the `HiveCatalog` with Hive engine feature enabled are directly visible by the Hive engine, so there is no need to create an overlay.
+
+#### Custom catalog tables
+
+For a table in a registered catalog, specify the catalog name in the statement using table property `iceberg.catalog`.
+For example, the SQL below creates an overlay for a table in a `hadoop` type catalog named `hadoop_cat`:
+
+```sql
+SET iceberg.catalog.hadoop_cat.type=hadoop;
+SET iceberg.catalog.hadoop_cat.warehouse=hdfs://example.com:8020/hadoop_cat;
+
+CREATE EXTERNAL TABLE database_a.table_a
+STORED BY 'org.apache.iceberg.mr.hive.HiveIcebergStorageHandler'
+TBLPROPERTIES ('iceberg.catalog'='hadoop_cat');
+```
+
+When `iceberg.catalog` is missing from both table properties and the global Hadoop configuration, `HiveCatalog` will be used as default.
+
+#### Path-based Hadoop tables
+
+Iceberg tables created using `HadoopTables` are stored entirely in a directory in a filesystem like HDFS.
+These tables are considered to have no catalog. 
+To indicate that, set `iceberg.catalog` property to `location_based_table`. For example:
+
+```sql
+CREATE EXTERNAL TABLE table_a 
+STORED BY 'org.apache.iceberg.mr.hive.HiveIcebergStorageHandler' 
+LOCATION 'hdfs://some_bucket/some_path/table_a'
+TBLPROPERTIES ('iceberg.catalog'='location_based_table');
+```
+
+### CREATE TABLE
+
+Hive also supports directly creating a new Iceberg table through `CREATE TABLE` statement. For example:
+
+```sql
+CREATE TABLE database_a.table_a (
+  id bigint, name string
+) PARTITIONED BY (
+  dept string
+) STORED BY 'org.apache.iceberg.mr.hive.HiveIcebergStorageHandler';
+```
+
+{{< hint info >}}
+to Hive, the table appears to be unpartitioned although the underlying Iceberg table is partitioned.
+{{< /hint >}}
+
+{{< hint info >}}
+Due to the limitation of Hive `PARTITIONED BY` syntax, if you use Hive `CREATE TABLE`, 
+currently you can only partition by columns, which is translated to Iceberg identity partition transform.
+You cannot partition by other Iceberg partition transforms such as `days(timestamp)`.
+To create table with all partition transforms, you need to create the table with other engines like Spark or Flink.
+{{< /hint >}}
+
+#### Custom catalog table
+
+You can also create a new table that is managed by a custom catalog. 
+For example, the following code creates a table in a custom Hadoop catalog:
+
+```sql
+SET iceberg.catalog.hadoop_cat.type=hadoop;
+SET iceberg.catalog.hadoop_cat.warehouse=hdfs://example.com:8020/hadoop_cat;
+
+CREATE TABLE database_a.table_a (
+  id bigint, name string
+) PARTITIONED BY (
+  dept string
+) STORED BY 'org.apache.iceberg.mr.hive.HiveIcebergStorageHandler'
+TBLPROPERTIES ('iceberg.catalog'='hadoop_cat');
+```
+
+{{< hint danger >}}
+If the table to create already exists in the custom catalog, this will create a managed overlay table.
+This means technically you can omit the `EXTERNAL` keyword when creating an overlay table.
+However, this is **not recommended** because creating managed overlay tables could pose a risk
+to the shared data files in case of accidental drop table commands from the Hive side, 
+which would unintentionally remove all the data in the table.
+{{< /hint >}}
+
+### DROP TABLE
+
+Tables can be dropped using the `DROP TABLE` command:
+
+```sql
+DROP TABLE [IF EXISTS] table_name [PURGE];
+```
+
+You can configure purge behavior through global Hadoop configuration or Hive metastore table properties:
+
+| Config key                  | Default                    | Description                                                     |
+| ----------------------------| ---------------------------| --------------------------------------------------------------- |
+| external.table.purge        | true                       | if all data and metadata should be purged in a table by default |
+
+Each Iceberg table's default purge behavior can also be configured through Iceberg table properties:
+
+| Property                    | Default                    | Description                                                       |
+| ----------------------------| ---------------------------| ----------------------------------------------------------------- |
+| gc.enabled                  | true                       | if all data and metadata should be purged in the table by default |
+
+When changing `gc.enabled` on the Iceberg table via `UpdateProperties`, `external.table.purge` is also updated on HMS table accordingly.
+When setting `external.table.purge` as a table prop during Hive `CREATE TABLE`, `gc.enabled` is pushed down accordingly to the Iceberg table properties.
+This makes sure that the 2 properties are always consistent at table level between Hive and Iceberg.
+
+{{< hint danger >}}
+Changing `external.table.purge` via Hive `ALTER TABLE SET TBLPROPERTIES` does not update `gc.enabled` on the Iceberg table. 
+This is a limitation on Hive 3.1.2 because the `HiveMetaHook` doesn't have all the hooks for alter tables yet.
+{{< /hint >}}
+
+## Querying with SQL
+
+Here are the features highlights for Iceberg Hive read support:
+
+1. **Predicate pushdown**: Pushdown of the Hive SQL `WHERE` clause has been implemented so that these filters are used at the Iceberg `TableScan` level as well as by the Parquet and ORC Readers.
+2. **Column projection**: Columns from the Hive SQL `SELECT` clause are projected down to the Iceberg readers to reduce the number of columns read.
+3. **Hive query engines**: Both the MapReduce and Tez query execution engines are supported.
+
+### Configurations
+
+Here are the Hadoop configurations that one can adjust for the Hive reader:
+
+| Config key                   | Default                 | Description                                            |
+| ---------------------------- | ----------------------- | ------------------------------------------------------ |
+| iceberg.mr.reuse.containers  | false                   | if Avro reader should reuse containers                 |
+| iceberg.mr.case.sensitive    | true                    | if the query is case-sensitive                         |
+
+### SELECT
+
+You should now be able to issue Hive SQL `SELECT` queries and see the results returned from the underlying Iceberg table, for example:
+
+```sql
+SELECT * from table_a;
+```
+
+## Writing with SQL
+
+### Configurations
+
+Here are the Hadoop configurations that one can adjust for the Hive writer:
+
+| Config key                                        | Default                                  | Description                                            |
+| ------------------------------------------------- | ---------------------------------------- | ------------------------------------------------------ |
+| iceberg.mr.commit.table.thread.pool.size          | 10                                       | the number of threads of a shared thread pool to execute parallel commits for output tables |
+| iceberg.mr.commit.file.thread.pool.size           | 10                                       | the number of threads of a shared thread pool to execute parallel commits for files in each output table |
+
+### INSERT INTO
+
+Hive supports the standard single-table `INSERT INTO` operation:
+
+```sql
+INSERT INTO table_a VALUES ('a', 1);
+INSERT INTO table_a SELECT ...;
+```
+
+Multi-table insert is also supported, but it will not be atomic and are committed one table at a time. Partial changes will be visible during the commit process and failures can leave partial changes committed. Changes within a single table will remain atomic.
+
+Here is an example of inserting into multiple tables at once in Hive SQL:
+```sql
+FROM customers
+    INSERT INTO target1 SELECT customer_id, first_name
+    INSERT INTO target2 SELECT last_name, customer_id;
+```
+
+
+## Type compatibility
+
+Hive and Iceberg support different set of types. Iceberg can perform type conversion automatically, but not for all combinations,
+so you may want to understand the type conversion in Iceberg in prior to design the types of columns in your tables.
+You can enable auto-conversion through Hadoop configuration (not enabled by default):
+
+| Config key                               | Default                     | Description                                         |
+| -----------------------------------------| --------------------------- | --------------------------------------------------- |
+| iceberg.mr.schema.auto.conversion        | false                       | if Hive should perform type auto-conversion         |
+
+### Hive type to Iceberg type
+
+This type conversion table describes how Hive types are converted to the Iceberg types.
+The conversion applies on both creating Iceberg table and writing to Iceberg table via Hive.
+
+| Hive             | Iceberg                 | Notes |
+|------------------|-------------------------|-------|
+| boolean          | boolean                 |       |
+| short            | integer                 | auto-conversion |
+| byte             | integer                 | auto-conversion |
+| integer          | integer                 |       |
+| long             | long                    |       |
+| float            | float                   |       |
+| double           | double                  |       |
+| date             | date                    |       |
+| timestamp        | timestamp without timezone |    |
+| timestamplocaltz | timestamp with timezone | Hive 3 only |
+| interval_year_month |                      | not supported |
+| interval_day_time |                        | not supported |
+| char             | string                  | auto-conversion |
+| varchar          | string                  | auto-conversion |
+| string           | string                  |       |
+| binary           | binary                  |       |
+| decimal          | decimal                 |       |
+| struct           | struct                  |       |
+| list             | list                    |       |
+| map              | map                     |       |
+| union            |                         | not supported |
diff --git a/docs/content/docs/integrations/_index.md b/docs/content/docs/integrations/_index.md
new file mode 100644
index 0000000..fec24ff
--- /dev/null
+++ b/docs/content/docs/integrations/_index.md
@@ -0,0 +1,5 @@
+---
+bookIconFa: fa-handshake-o
+bookCollapseSection: true
+weight: 500
+---
\ No newline at end of file
diff --git a/docs/content/docs/integrations/aws.md b/docs/content/docs/integrations/aws.md
new file mode 100644
index 0000000..0eec0f5
--- /dev/null
+++ b/docs/content/docs/integrations/aws.md
@@ -0,0 +1,494 @@
+---
+title: "AWS"
+url: aws
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+ 
+# Iceberg AWS Integrations
+
+Iceberg provides integration with different AWS services through the `iceberg-aws` module. 
+This section describes how to use Iceberg with AWS.
+
+## Enabling AWS Integration
+
+The `iceberg-aws` module is bundled with Spark and Flink engine runtimes for all versions from `0.11.0` onwards.
+However, the AWS clients are not bundled so that you can use the same client version as your application.
+You will need to provide the AWS v2 SDK because that is what Iceberg depends on.
+You can choose to use the [AWS SDK bundle](https://mvnrepository.com/artifact/software.amazon.awssdk/bundle), 
+or individual AWS client packages (Glue, S3, DynamoDB, KMS, STS) if you would like to have a minimal dependency footprint.
+
+All the default AWS clients use the [URL Connection HTTP Client](https://mvnrepository.com/artifact/software.amazon.awssdk/url-connection-client)
+for HTTP connection management.
+This dependency is not part of the AWS SDK bundle and needs to be added separately.
+To choose a different HTTP client library such as [Apache HTTP Client](https://mvnrepository.com/artifact/software.amazon.awssdk/apache-client),
+see the section [client customization](#aws-client-customization) for more details.
+
+All the AWS module features can be loaded through custom catalog properties,
+you can go to the documentations of each engine to see how to load a custom catalog.
+Here are some examples.
+
+### Spark
+
+For example, to use AWS features with Spark 3 and AWS clients version 2.15.40, you can start the Spark SQL shell with:
+
+```sh
+# add Iceberg dependency
+ICEBERG_VERSION={{% icebergVersion %}}
+DEPENDENCIES="org.apache.iceberg:iceberg-spark3-runtime:$ICEBERG_VERSION"
+
+# add AWS dependnecy
+AWS_SDK_VERSION=2.15.40
+AWS_MAVEN_GROUP=software.amazon.awssdk
+AWS_PACKAGES=(
+    "bundle"
+    "url-connection-client"
+)
+for pkg in "${AWS_PACKAGES[@]}"; do
+    DEPENDENCIES+=",$AWS_MAVEN_GROUP:$pkg:$AWS_SDK_VERSION"
+done
+
+# start Spark SQL client shell
+spark-sql --packages $DEPENDENCIES \
+    --conf spark.sql.catalog.my_catalog=org.apache.iceberg.spark.SparkCatalog \
+    --conf spark.sql.catalog.my_catalog.warehouse=s3://my-bucket/my/key/prefix \
+    --conf spark.sql.catalog.my_catalog.catalog-impl=org.apache.iceberg.aws.glue.GlueCatalog \
+    --conf spark.sql.catalog.my_catalog.io-impl=org.apache.iceberg.aws.s3.S3FileIO \
+    --conf spark.sql.catalog.my_catalog.lock-impl=org.apache.iceberg.aws.glue.DynamoLockManager \
+    --conf spark.sql.catalog.my_catalog.lock.table=myGlueLockTable
+```
+
+As you can see, In the shell command, we use `--packages` to specify the additional AWS bundle and HTTP client dependencies with their version as `2.15.40`.
+
+### Flink
+
+To use AWS module with Flink, you can download the necessary dependencies and specify them when starting the Flink SQL client:
+
+```sh
+# download Iceberg dependency
+ICEBERG_VERSION={{% icebergVersion %}}
+MAVEN_URL=https://repo1.maven.org/maven2
+ICEBERG_MAVEN_URL=$MAVEN_URL/org/apache/iceberg
+wget $ICEBERG_MAVEN_URL/iceberg-flink-runtime/$ICEBERG_VERSION/iceberg-flink-runtime-$ICEBERG_VERSION.jar
+
+# download AWS dependnecy
+AWS_SDK_VERSION=2.15.40
+AWS_MAVEN_URL=$MAVEN_URL/software/amazon/awssdk
+AWS_PACKAGES=(
+    "bundle"
+    "url-connection-client"
+)
+for pkg in "${AWS_PACKAGES[@]}"; do
+    wget $AWS_MAVEN_URL/$pkg/$AWS_SDK_VERSION/$pkg-$AWS_SDK_VERSION.jar
+done
+
+# start Flink SQL client shell
+/path/to/bin/sql-client.sh embedded \
+    -j iceberg-flink-runtime-$ICEBERG_VERSION.jar \
+    -j bundle-$AWS_SDK_VERSION.jar \
+    -j url-connection-client-$AWS_SDK_VERSION.jar \
+    shell
+```
+
+With those dependencies, you can create a Flink catalog like the following:
+
+```sql
+CREATE CATALOG my_catalog WITH (
+  'type'='iceberg',
+  'warehouse'='s3://my-bucket/my/key/prefix',
+  'catalog-impl'='org.apache.iceberg.aws.glue.GlueCatalog',
+  'io-impl'='org.apache.iceberg.aws.s3.S3FileIO',
+  'lock-impl'='org.apache.iceberg.aws.glue.DynamoLockManager',
+  'lock.table'='myGlueLockTable'
+);
+```
+
+You can also specify the catalog configurations in `sql-client-defaults.yaml` to preload it:
+
+```yaml
+catalogs: 
+  - name: my_catalog
+    type: iceberg
+    warehouse: s3://my-bucket/my/key/prefix
+    catalog-impl: org.apache.iceberg.aws.glue.GlueCatalog
+    io-impl: org.apache.iceberg.aws.s3.S3FileIO
+    lock-impl: org.apache.iceberg.aws.glue.DynamoLockManager
+    lock.table: myGlueLockTable
+```
+
+### Hive
+
+To use AWS module with Hive, you can download the necessary dependencies similar to the Flink example,
+and then add them to the Hive classpath or add the jars at runtime in CLI:
+
+```
+add jar /my/path/to/iceberg-hive-runtime.jar;
+add jar /my/path/to/aws/bundle.jar;
+add jar /my/path/to/aws/url-connection-client.jar;
+```
+
+With those dependencies, you can register a Glue catalog and create external tables in Hive at runtime in CLI by:
+
+```sql
+SET iceberg.engine.hive.enabled=true;
+SET hive.vectorized.execution.enabled=false;
+SET iceberg.catalog.glue.catalog-impl=org.apache.iceberg.aws.glue.GlueCatalog;
+SET iceberg.catalog.glue.warehouse=s3://my-bucket/my/key/prefix;
+SET iceberg.catalog.glue.lock-impl=org.apache.iceberg.aws.glue.DynamoLockManager;
+SET iceberg.catalog.glue.lock.table=myGlueLockTable;
+
+-- suppose you have an Iceberg table database_a.table_a created by GlueCatalog
+CREATE EXTERNAL TABLE database_a.table_a
+STORED BY 'org.apache.iceberg.mr.hive.HiveIcebergStorageHandler'
+TBLPROPERTIES ('iceberg.catalog'='glue');
+```
+
+You can also preload the catalog by setting the configurations above in `hive-site.xml`.
+
+## Catalogs
+
+There are multiple different options that users can choose to build an Iceberg catalog with AWS.
+
+### Glue Catalog
+
+Iceberg enables the use of [AWS Glue](https://aws.amazon.com/glue) as the `Catalog` implementation.
+When used, an Iceberg namespace is stored as a [Glue Database](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-databases.html), 
+an Iceberg table is stored as a [Glue Table](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html),
+and every Iceberg table version is stored as a [Glue TableVersion](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-TableVersion). 
+You can start using Glue catalog by specifying the `catalog-impl` as `org.apache.iceberg.aws.glue.GlueCatalog`,
+just like what is shown in the [enabling AWS integration](#enabling-aws-integration) section above. 
+More details about loading the catalog can be found in individual engine pages, such as [Spark](../spark-configuration/#loading-a-custom-catalog) and [Flink](../flink/#creating-catalogs-and-using-catalogs).
+
+#### Glue Catalog ID
+There is a unique Glue metastore in each AWS account and each AWS region.
+By default, `GlueCatalog` chooses the Glue metastore to use based on the user's default AWS client credential and region setup.
+You can specify the Glue catalog ID through `glue.id` catalog property to point to a Glue catalog in a different AWS account.
+The Glue catalog ID is your numeric AWS account ID.
+If the Glue catalog is in a different region, you should configure you AWS client to point to the correct region, 
+see more details in [AWS client customization](#aws-client-customization).
+
+#### Skip Archive
+
+By default, Glue stores all the table versions created and user can rollback a table to any historical version if needed.
+However, if you are streaming data to Iceberg, this will easily create a lot of Glue table versions.
+Therefore, it is recommended to turn off the archive feature in Glue by setting `glue.skip-archive` to `true`.
+For more details, please read [Glue Quotas](https://docs.aws.amazon.com/general/latest/gr/glue.html) and the [UpdateTable API](https://docs.aws.amazon.com/glue/latest/webapi/API_UpdateTable.html).
+
+#### DynamoDB for Commit Locking
+
+Glue does not have a strong guarantee over concurrent updates to a table. 
+Although it throws `ConcurrentModificationException` when detecting two processes updating a table at the same time,
+there is no guarantee that one update would not clobber the other update.
+Therefore, [DynamoDB](https://aws.amazon.com/dynamodb) can be used for Glue, so that for every commit, 
+`GlueCatalog` first obtains a lock using a helper DynamoDB table and then try to safely modify the Glue table.
+
+This feature requires the following lock related catalog properties:
+
+1. Set `lock-impl` as `org.apache.iceberg.aws.glue.DynamoLockManager`.
+2. Set `lock.table` as the DynamoDB table name you would like to use. If the lock table with the given name does not exist in DynamoDB, a new table is created with billing mode set as [pay-per-request](https://aws.amazon.com/blogs/aws/amazon-dynamodb-on-demand-no-capacity-planning-and-pay-per-request-pricing).
+
+Other lock related catalog properties can also be used to adjust locking behaviors such as heartbeat interval.
+For more details, please refer to [Lock catalog properties](../configuration/#lock-catalog-properties). 
+
+#### Warehouse Location
+
+Similar to all other catalog implementations, `warehouse` is a required catalog property to determine the root path of the data warehouse in storage.
+By default, Glue only allows a warehouse location in S3 because of the use of `S3FileIO`.
+To store data in a different local or cloud store, Glue catalog can switch to use `HadoopFileIO` or any custom FileIO by setting the `io-impl` catalog property.
+Details about this feature can be found in the [custom FileIO](../custom-catalog/#custom-file-io-implementation) section.
+
+#### Table Location
+
+By default, the root location for a table `my_table` of namespace `my_ns` is at `my-warehouse-location/my-ns.db/my-table`.
+This default root location can be changed at both namespace and table level.
+
+To use a different path prefix for all tables under a namespace, use AWS console or any AWS Glue client SDK you like to update the `locationUri` attribute of the corresponding Glue database.
+For example, you can update the `locationUri` of `my_ns` to `s3://my-ns-bucket`, 
+then any newly created table will have a default root location under the new prefix.
+For instance, a new table `my_table_2` will have its root location at `s3://my-ns-bucket/my_table_2`.
+
+To use a completely different root path for a specific table, set the `location` table property to the desired root path value you want.
+For example, in Spark SQL you can do:
+
+```sql
+CREATE TABLE my_catalog.my_ns.my_table (
+    id bigint,
+    data string,
+    category string)
+USING iceberg
+OPTIONS ('location'='s3://my-special-table-bucket')
+PARTITIONED BY (category);
+```
+
+For engines like Spark that supports the `LOCATION` keyword, the above SQL statement is equivalent to:
+
+```sql
+CREATE TABLE my_catalog.my_ns.my_table (
+    id bigint,
+    data string,
+    category string)
+USING iceberg
+LOCATION 's3://my-special-table-bucket'
+PARTITIONED BY (category);
+```
+
+### DynamoDB Catalog
+
+Iceberg supports using a [DynamoDB](https://aws.amazon.com/dynamodb) table to record and manage database and table information.
+
+#### Configurations
+
+The DynamoDB catalog supports the following configurations:
+
+| Property                          | Default                                            | Description                                            |
+| --------------------------------- | -------------------------------------------------- | ------------------------------------------------------ |
+| dynamodb.table-name               | iceberg                                            | name of the DynamoDB table used by DynamoDbCatalog     |
+
+
+#### Internal Table Design
+
+The DynamoDB table is designed with the following columns:
+
+| Column            | Key             | Type        | Description                                                          |
+| ----------------- | --------------- | ----------- |--------------------------------------------------------------------- |
+| identifier        | partition key   | string      | table identifier such as `db1.table1`, or string `NAMESPACE` for namespaces |
+| namespace         | sort key        | string      | namespace name. A [global secondary index (GSI)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html) is created with namespace as partition key, identifier as sort key, no other projected columns |
+| v                 |                 | string      | row version, used for optimistic locking |
+| updated_at        |                 | number      | timestamp (millis) of the last update | 
+| created_at        |                 | number      | timestamp (millis) of the table creation |
+| p.<property_key\> |                 | string      | Iceberg-defined table properties including `table_type`, `metadata_location` and `previous_metadata_location` or namespace properties
+
+This design has the following benefits:
+
+1. it avoids potential [hot partition issue](https://aws.amazon.com/premiumsupport/knowledge-center/dynamodb-table-throttled/) if there are heavy write traffic to the tables within the same namespace, because the partition key is at the table level
+2. namespace operations are clustered in a single partition to avoid affecting table commit operations
+3. a sort key to partition key reverse GSI is used for list table operation, and all other operations are single row ops or single partition query. No full table scan is needed for any operation in the catalog.
+4. a string UUID version field `v` is used instead of `updated_at` to avoid 2 processes committing at the same millisecond
+5. multi-row transaction is used for `catalog.renameTable` to ensure idempotency
+6. properties are flattened as top level columns so that user can add custom GSI on any property field to customize the catalog. For example, users can store owner information as table property `owner`, and search tables by owner by adding a GSI on the `p.owner` column.
+
+### RDS JDBC Catalog
+
+Iceberg also supports JDBC catalog which uses a table in a relational database to manage Iceberg tables.
+You can configure to use JDBC catalog with relational database services like [AWS RDS](https://aws.amazon.com/rds).
+Read [the JDBC integration page](../jdbc/#jdbc-catalog) for guides and examples about using the JDBC catalog.
+Read [this AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.Connecting.Java.html) for more details about configuring JDBC catalog with IAM authentication. 
+
+### Which catalog to choose?
+
+With all the available options, we offer the following guidance when choosing the right catalog to use for your application:
+
+1. if your organization has an existing Glue metastore or plans to use the AWS analytics ecosystem including Glue, [Athena](https://aws.amazon.com/athena), [EMR](https://aws.amazon.com/emr), [Redshift](https://aws.amazon.com/redshift) and [LakeFormation](https://aws.amazon.com/lake-formation), Glue catalog provides the easiest integration.
+2. if your application requires frequent updates to table or high read and write throughput (e.g. streaming write), DynamoDB catalog provides the best performance through optimistic locking.
+3. if you would like to enforce access control for tables in a catalog, Glue tables can be managed as an [IAM resource](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html), whereas DynamoDB catalog tables can only be managed through [item-level permission](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/specifying-conditions.html) which is much more complicated.
+4. if you would like to query tables based on table property information without the need to scan the entire catalog, DynamoDB catalog allows you to build secondary indexes for any arbitrary property field and provide efficient query performance.
+5. if you would like to have the benefit of DynamoDB catalog while also connect to Glue, you can enable [DynamoDB stream with Lambda trigger](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.Lambda.Tutorial.html) to asynchronously update your Glue metastore with table information in the DynamoDB catalog. 
+6. if your organization already maintains an existing relational database in RDS or uses [serverless Aurora](https://aws.amazon.com/rds/aurora/serverless/) to manage tables, JDBC catalog provides the easiest integration.
+
+## S3 FileIO
+
+Iceberg allows users to write data to S3 through `S3FileIO`.
+`GlueCatalog` by default uses this `FileIO`, and other catalogs can load this `FileIO` using the `io-impl` catalog property.
+
+### Progressive Multipart Upload
+
+`S3FileIO` implements a customized progressive multipart upload algorithm to upload data.
+Data files are uploaded by parts in parallel as soon as each part is ready,
+and each file part is deleted as soon as its upload process completes.
+This provides maximized upload speed and minimized local disk usage during uploads.
+Here are the configurations that users can tune related to this feature:
+
+| Property                          | Default                                            | Description                                            |
+| --------------------------------- | -------------------------------------------------- | ------------------------------------------------------ |
+| s3.multipart.num-threads          | the available number of processors in the system   | number of threads to use for uploading parts to S3 (shared across all output streams)  |
+| s3.multipart.part-size-bytes      | 32MB                                               | the size of a single part for multipart upload requests  |
+| s3.multipart.threshold            | 1.5                                                | the threshold expressed as a factor times the multipart size at which to switch from uploading using a single put object request to uploading using multipart upload  |
+| s3.staging-dir                    | `java.io.tmpdir` property value                    | the directory to hold temporary files  |
+
+### S3 Server Side Encryption
+
+`S3FileIO` supports all 3 S3 server side encryption modes:
+
+* [SSE-S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html): When you use Server-Side Encryption with Amazon S3-Managed Keys (SSE-S3), each object is encrypted with a unique key. As an additional safeguard, it encrypts the key itself with a master key that it regularly rotates. Amazon S3 server-side encryption uses one of the strongest block ciphers available, 256-bit Advanced Encryption Standard (AES-256), to encrypt your data.
+* [SSE-KMS](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html): Server-Side Encryption with Customer Master Keys (CMKs) Stored in AWS Key Management Service (SSE-KMS) is similar to SSE-S3, but with some additional benefits and charges for using this service. There are separate permissions for the use of a CMK that provides added protection against unauthorized access of your objects in Amazon S3. SSE-KMS also provides you with an audit trail that shows when your CMK [...]
+* [SSE-C](https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html): With Server-Side Encryption with Customer-Provided Keys (SSE-C), you manage the encryption keys and Amazon S3 manages the encryption, as it writes to disks, and decryption, when you access your objects.
+
+To enable server side encryption, use the following configuration properties:
+
+| Property                          | Default                                  | Description                                            |
+| --------------------------------- | ---------------------------------------- | ------------------------------------------------------ |
+| s3.sse.type                       | `none`                                   | `none`, `s3`, `kms` or `custom`                        |
+| s3.sse.key                        | `aws/s3` for `kms` type, null otherwise  | A KMS Key ID or ARN for `kms` type, or a custom base-64 AES256 symmetric key for `custom` type.  |
+| s3.sse.md5                        | null                                     | If SSE type is `custom`, this value must be set as the base-64 MD5 digest of the symmetric key to ensure integrity. |
+
+### S3 Access Control List
+
+`S3FileIO` supports S3 access control list (ACL) for detailed access control. 
+User can choose the ACL level by setting the `s3.acl` property.
+For more details, please read [S3 ACL Documentation](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html).
+
+### Object Store File Layout
+
+S3 and many other cloud storage services [throttle requests based on object prefix](https://aws.amazon.com/premiumsupport/knowledge-center/s3-request-limit-avoid-throttling/).
+Data stored in S3 with a traditional Hive storage layout can face S3 request throttling as objects are stored under the same filepath prefix.
+
+Iceberg by default uses the Hive storage layout, but can be switched to use the `ObjectStoreLocationProvider`. 
+With `ObjectStoreLocationProvider`, a determenistic hash is generated for each stored file, with the hash appended 
+directly after the `write.data.path`. This ensures files written to s3 are equally distributed across multiple [prefixes](https://aws.amazon.com/premiumsupport/knowledge-center/s3-object-key-naming-pattern/) in the S3 bucket. Resulting in minimized throttling and maximized throughput for S3-related IO operations. When using `ObjectStoreLocationProvider` having a shared and short `write.data.path` across your Iceberg tables will improve performance.
+
+For more information on how S3 scales API QPS, checkout the 2018 re:Invent session on [Best Practices for Amazon S3 and Amazon S3 Glacier]( https://youtu.be/rHeTn9pHNKo?t=3219). At [53:39](https://youtu.be/rHeTn9pHNKo?t=3219) it covers how S3 scales/partitions & at [54:50](https://youtu.be/rHeTn9pHNKo?t=3290) it discusses the 30-60 minute wait time before new partitions are created.
+
+To use the `ObjectStorageLocationProvider` add `'write.object-storage.enabled'=true` in the table's properties. 
+Below is an example Spark SQL command to create a table using the `ObjectStorageLocationProvider`:
+```sql
+CREATE TABLE my_catalog.my_ns.my_table (
+    id bigint,
+    data string,
+    category string)
+USING iceberg
+OPTIONS (
+    'write.object-storage.enabled'=true, 
+    'write.data.path'='s3://my-table-data-bucket')
+PARTITIONED BY (category);
+```
+
+We can then insert a single row into this new table
+```SQL
+INSERT INTO my_catalog.my_ns.my_table VALUES (1, "Pizza", "orders");
+```
+
+Which will write the data to S3 with a hash (`2d3905f8`) appended directly after the `write.object-storage.path`, ensuring reads to the table are spread evenly  across [S3 bucket prefixes](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html), and improving performance.
+```
+s3://my-table-data-bucket/2d3905f8/my_ns.db/my_table/category=orders/00000-0-5affc076-96a4-48f2-9cd2-d5efbc9f0c94-00001.parquet
+```
+
+Note, the path resolution logic for `ObjectStoreLocationProvider` is `write.data.path` then `<tableLocation>/data`.
+However, for the older versions up to 0.12.0, the logic is as follows:
+- before 0.12.0, `write.object-storage.path` must be set.
+- at 0.12.0, `write.object-storage.path` then `write.folder-storage.path` then `<tableLocation>/data`.
+
+For more details, please refer to the [LocationProvider Configuration](../custom-catalog/#custom-location-provider-implementation) section.  
+
+### S3 Strong Consistency
+
+In November 2020, S3 announced [strong consistency](https://aws.amazon.com/s3/consistency/) for all read operations, and Iceberg is updated to fully leverage this feature.
+There is no redundant consistency wait and check which might negatively impact performance during IO operations.
+
+### Hadoop S3A FileSystem
+
+Before `S3FileIO` was introduced, many Iceberg users choose to use `HadoopFileIO` to write data to S3 through the [S3A FileSystem](https://github.com/apache/hadoop/blob/trunk/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java).
+As introduced in the previous sections, `S3FileIO` adopts latest AWS clients and S3 features for optimized security and performance,
+ and is thus recommend for S3 use cases rather than the S3A FileSystem.
+
+`S3FileIO` writes data with `s3://` URI scheme, but it is also compatible with schemes written by the S3A FileSystem.
+This means for any table manifests containing `s3a://` or `s3n://` file paths, `S3FileIO` is still able to read them.
+This feature allows people to easily switch from S3A to `S3FileIO`.
+
+If for any reason you have to use S3A, here are the instructions:
+
+1. To store data using S3A, specify the `warehouse` catalog property to be an S3A path, e.g. `s3a://my-bucket/my-warehouse` 
+2. For `HiveCatalog`, to also store metadata using S3A, specify the Hadoop config property `hive.metastore.warehouse.dir` to be an S3A path.
+3. Add [hadoop-aws](https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-aws) as a runtime dependency of your compute engine.
+4. Configure AWS settings based on [hadoop-aws documentation](https://hadoop.apache.org/docs/current/hadoop-aws/tools/hadoop-aws/index.html) (make sure you check the version, S3A configuration varies a lot based on the version you use).   
+
+## AWS Client Customization
+
+Many organizations have customized their way of configuring AWS clients with their own credential provider, access proxy, retry strategy, etc.
+Iceberg allows users to plug in their own implementation of `org.apache.iceberg.aws.AwsClientFactory` by setting the `client.factory` catalog property.
+
+### Cross-Account and Cross-Region Access
+
+It is a common use case for organizations to have a centralized AWS account for Glue metastore and S3 buckets, and use different AWS accounts and regions for different teams to access those resources.
+In this case, a [cross-account IAM role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) is needed to access those centralized resources.
+Iceberg provides an AWS client factory `AssumeRoleAwsClientFactory` to support this common use case.
+This also serves as an example for users who would like to implement their own AWS client factory.
+
+This client factory has the following configurable catalog properties:
+
+| Property                          | Default                                  | Description                                            |
+| --------------------------------- | ---------------------------------------- | ------------------------------------------------------ |
+| client.assume-role.arn            | null, requires user input                | ARN of the role to assume, e.g. arn:aws:iam::123456789:role/myRoleToAssume  |
+| client.assume-role.region         | null, requires user input                | All AWS clients except the STS client will use the given region instead of the default region chain  |
+| client.assume-role.external-id    | null                                     | An optional [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html)  |
+| client.assume-role.timeout-sec    | 1 hour                                   | Timeout of each assume role session. At the end of the timeout, a new set of role session credentials will be fetched through a STS client.  |
+
+By using this client factory, an STS client is initialized with the default credential and region to assume the specified role.
+The Glue, S3 and DynamoDB clients are then initialized with the assume-role credential and region to access resources.
+Here is an example to start Spark shell with this client factory:
+
+```shell
+spark-sql --packages org.apache.iceberg:iceberg-spark3-runtime:{{% icebergVersion %}},software.amazon.awssdk:bundle:2.15.40 \
+    --conf spark.sql.catalog.my_catalog=org.apache.iceberg.spark.SparkCatalog \
+    --conf spark.sql.catalog.my_catalog.warehouse=s3://my-bucket/my/key/prefix \    
+    --conf spark.sql.catalog.my_catalog.catalog-impl=org.apache.iceberg.aws.glue.GlueCatalog \
+    --conf spark.sql.catalog.my_catalog.client.factory=org.apache.iceberg.aws.AssumeRoleAwsClientFactory \
+    --conf spark.sql.catalog.my_catalog.client.assume-role.arn=arn:aws:iam::123456789:role/myRoleToAssume \
+    --conf spark.sql.catalog.my_catalog.client.assume-role.region=ap-northeast-1
+```
+
+## Run Iceberg on AWS
+
+### Amazon EMR
+
+[Amazon EMR](https://aws.amazon.com/emr/) can provision clusters with [Spark](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark.html) (EMR 6 for Spark 3, EMR 5 for Spark 2),
+[Hive](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive.html), [Flink](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-flink.html),
+[Trino](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-presto.html) that can run Iceberg.
+
+You can use a [bootstrap action](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-bootstrap.html) similar to the following to pre-install all necessary dependencies:
+
+```sh
+#!/bin/bash
+
+AWS_SDK_VERSION=2.15.40
+ICEBERG_VERSION={{% icebergVersion %}}
+MAVEN_URL=https://repo1.maven.org/maven2
+ICEBERG_MAVEN_URL=$MAVEN_URL/org/apache/iceberg
+AWS_MAVEN_URL=$MAVEN_URL/software/amazon/awssdk
+# NOTE: this is just an example shared class path between Spark and Flink,
+#  please choose a proper class path for production.
+LIB_PATH=/usr/share/aws/aws-java-sdk/
+
+AWS_PACKAGES=(
+  "bundle"
+  "url-connection-client"
+)
+
+ICEBERG_PACKAGES=(
+  "iceberg-spark3-runtime"
+  "iceberg-flink-runtime"
+)
+
+install_dependencies () {
+  install_path=$1
+  download_url=$2
+  version=$3
+  shift
+  pkgs=("$@")
+  for pkg in "${pkgs[@]}"; do
+    sudo wget -P $install_path $download_url/$pkg/$version/$pkg-$version.jar
+  done
+}
+
+install_dependencies $LIB_PATH $ICEBERG_MAVEN_URL $ICEBERG_VERSION "${ICEBERG_PACKAGES[@]}"
+install_dependencies $LIB_PATH $AWS_MAVEN_URL $AWS_SDK_VERSION "${AWS_PACKAGES[@]}"
+```
+
+
+### Amazon Kinesis
+
+[Amazon Kinesis Data Analytics](https://aws.amazon.com/about-aws/whats-new/2019/11/you-can-now-run-fully-managed-apache-flink-applications-with-apache-kafka/) provides a platform 
+to run fully managed Apache Flink applications. You can include Iceberg in your application Jar and run it in the platform.
diff --git a/docs/content/docs/integrations/jdbc.md b/docs/content/docs/integrations/jdbc.md
new file mode 100644
index 0000000..c119eb4
--- /dev/null
+++ b/docs/content/docs/integrations/jdbc.md
@@ -0,0 +1,71 @@
+---
+title: "JDBC"
+url: jdbc
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Iceberg JDBC Integration
+
+## JDBC Catalog
+
+Iceberg supports using a table in a relational database to manage Iceberg tables through JDBC.
+The database that JDBC connects to must support atomic transaction to allow the JDBC catalog implementation to 
+properly support atomic Iceberg table commits and read serializable isolation.
+
+### Configurations
+
+Because each database and database service provider might require different configurations,
+the JDBC catalog allows arbitrary configurations through:
+
+| Property             | Default                           | Description                                            |
+| -------------------- | --------------------------------- | ------------------------------------------------------ |
+| uri                  |                                   | the JDBC connection string |
+| jdbc.<property_key\> |                                   | any key value pairs to configure the JDBC connection | 
+
+### Examples
+
+
+#### Spark
+
+You can start a Spark session with a MySQL JDBC connection using the following configurations:
+
+```shell
+spark-sql --packages org.apache.iceberg:iceberg-spark3-runtime:{{% icebergVersion %}} \
+    --conf spark.sql.catalog.my_catalog=org.apache.iceberg.spark.SparkCatalog \
+    --conf spark.sql.catalog.my_catalog.warehouse=s3://my-bucket/my/key/prefix \
+    --conf spark.sql.catalog.my_catalog.catalog-impl=org.apache.iceberg.jdbc.JdbcCatalog \
+    --conf spark.sql.catalog.my_catalog.uri=jdbc:mysql://test.1234567890.us-west-2.rds.amazonaws.com:3306/default \
+    --conf spark.sql.catalog.my_catalog.jdbc.verifyServerCertificate=true \
+    --conf spark.sql.catalog.my_catalog.jdbc.useSSL=true \
+    --conf spark.sql.catalog.my_catalog.jdbc.user=admin \
+    --conf spark.sql.catalog.my_catalog.jdbc.password=pass
+```
+
+#### Java API
+
+```java
+Class.forName("com.mysql.cj.jdbc.Driver"); // ensure JDBC driver is at runtime classpath
+Map<String, String> properties = new HashMap<>();
+properties.put(CatalogProperties.CATALOG_IMPL, JdbcCatalog.class.getName());
+properties.put(CatalogProperties.URI, "jdbc:mysql://localhost:3306/test");
+properties.put(JdbcCatalog.PROPERTY_PREFIX + "user", "admin");
+properties.put(JdbcCatalog.PROPERTY_PREFIX + "password", "pass");
+properties.put(CatalogProperties.WAREHOUSE_LOCATION, "s3://warehouse/path");
+Configuration hadoopConf = new Configuration(); // configs if you use HadoopFileIO
+JdbcCatalog catalog = CatalogUtil.buildIcebergCatalog("test_jdbc_catalog", properties, hadoopConf);
+```
\ No newline at end of file
diff --git a/docs/content/docs/integrations/nessie.md b/docs/content/docs/integrations/nessie.md
new file mode 100644
index 0000000..0ff09f4
--- /dev/null
+++ b/docs/content/docs/integrations/nessie.md
@@ -0,0 +1,161 @@
+---
+title: "Nessie"
+url: nessie
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Iceberg Nessie Integration
+
+Iceberg provides integration with Nessie through the `iceberg-nessie` module.
+This section describes how to use Iceberg with Nessie. Nessie provides several key features on top of Iceberg:
+
+* multi-table transactions
+* git-like operations (eg branches, tags, commits)
+* hive-like metastore capabilities
+
+See [Project Nessie](https://projectnessie.org) for more information on Nessie. Nessie requires a server to run, see
+[Getting Started](https://projectnessie.org/try/) to start a Nessie server.
+
+## Enabling Nessie Catalog
+
+The `iceberg-nessie` module is bundled with Spark and Flink runtimes for all versions from `0.11.0`. To get started
+with Nessie and Iceberg simply add the Iceberg runtime to your process. Eg: `spark-sql --packages
+org.apache.iceberg:iceberg-spark3-runtime:{{% icebergVersion %}}`. 
+
+## Spark SQL Extensions
+
+From spark, Nessie SQL extensions can be used to manage the Nessie repo as shown below. 
+
+```
+bin/spark-sql 
+  --packages "org.apache.iceberg:iceberg-spark3-runtime:{{% icebergVersion %}},org.projectnessie:nessie-spark-extensions:{{% nessieVersion %}}"
+  --conf spark.sql.extensions="org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions,org.projectnessie.spark.extensions.NessieSparkSessionExtensions"
+  --conf <other settings>
+```
+Please refer [Nessie SQL extension document](https://projectnessie.org/tools/sql/) to learn more about it.
+
+## Nessie Catalog
+
+One major feature introduced in release `0.11.0` is the ability to easily interact with a [Custom
+Catalog](../custom-catalog) from Spark and Flink. See [Spark Configuration](../spark-configuration#catalog-configuration)
+  and [Flink Configuration](../flink#custom-catalog) for instructions for adding a custom catalog to Iceberg. 
+
+To use the Nessie Catalog the following properties are required:
+
+* `warehouse`. Like most other catalogs the warehouse property is a file path to where this catalog should store tables.
+* `uri`. This is the Nessie server base uri. Eg `http://localhost:19120/api/v1`.
+* `ref` (optional). This is the Nessie branch or tag you want to work in.
+
+To run directly in Java this looks like:
+
+``` java
+Map<String, String> options = new HashMap<>();
+options.put("warehouse", "/path/to/warehouse");
+options.put("ref", "main");
+options.put("uri", "https://localhost:19120/api/v1");
+Catalog nessieCatalog = CatalogUtil.loadCatalog("org.apache.iceberg.nessie.NessieCatalog", "nessie", hadoopConfig, options);
+```
+
+and in Spark:
+
+``` java
+conf.set("spark.sql.catalog.nessie.warehouse", "/path/to/warehouse");
+conf.set("spark.sql.catalog.nessie.uri", "http://localhost:19120/api/v1")
+conf.set("spark.sql.catalog.nessie.ref", "main")
+conf.set("spark.sql.catalog.nessie.catalog-impl", "org.apache.iceberg.nessie.NessieCatalog")
+conf.set("spark.sql.catalog.nessie", "org.apache.iceberg.spark.SparkCatalog")
+conf.set("spark.sql.extensions", "org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions,org.projectnessie.spark.extensions.NessieSparkSessionExtensions")
+```
+This is how it looks in Flink via the Python API (additional details can be found [here](../flink#preparation-when-using-flinks-python-api)):
+```python
+import os
+from pyflink.datastream import StreamExecutionEnvironment
+from pyflink.table import StreamTableEnvironment
+
+env = StreamExecutionEnvironment.get_execution_environment()
+iceberg_flink_runtime_jar = os.path.join(os.getcwd(), "iceberg-flink-runtime-{{% icebergVersion %}}.jar")
+env.add_jars("file://{}".format(iceberg_flink_runtime_jar))
+table_env = StreamTableEnvironment.create(env)
+
+table_env.execute_sql("CREATE CATALOG nessie_catalog WITH ("
+                      "'type'='iceberg', "
+                      "'catalog-impl'='org.apache.iceberg.nessie.NessieCatalog', "
+                      "'uri'='http://localhost:19120/api/v1', "
+                      "'ref'='main', "
+                      "'warehouse'='/path/to/warehouse')")
+```
+
+There is nothing special above about the `nessie` name. A spark catalog can have any name, the important parts are the 
+settings for the `catalog-impl` and the required config to start Nessie correctly.
+Once you have a Nessie catalog you have access to your entire Nessie repo. You can then perform create/delete/merge
+operations on branches and perform commits on branches. Each Iceberg table in a Nessie Catalog is identified by an
+arbitrary length namespace and table name (eg `data.base.name.table`). These namespaces are implicit and don't need to
+be created separately. Any transaction on a Nessie enabled Iceberg table is a single commit in Nessie. Nessie commits
+can encompass an arbitrary number of actions on an arbitrary number of tables, however in Iceberg this will be limited
+to the set of single table transactions currently available.
+
+Further operations such as merges, viewing the commit log or diffs are performed by direct interaction with the
+`NessieClient` in java or by using the python client or cli. See [Nessie CLI](https://projectnessie.org/tools/cli/) for
+more details on the CLI and [Spark Guide](https://projectnessie.org/tools/iceberg/spark/) for a more complete description of 
+Nessie functionality.
+
+## Nessie and Iceberg
+
+For most cases Nessie acts just like any other Catalog for Iceberg: providing a logical organization of a set of tables
+and providing atomicity to transactions. However, using Nessie opens up other interesting possibilities. When using Nessie with
+Iceberg every Iceberg transaction becomes a Nessie commit. This history can be listed, merged or cherry-picked across branches.
+
+### Loosely coupled transactions
+
+By creating a branch and performing a set of operations on that branch you can approximate a multi-table transaction.
+A sequence of commits can be performed on the newly created branch and then merged back into the main branch atomically.
+This gives the appearance of a series of connected changes being exposed to the main branch simultaneously. While downstream
+consumers will see multiple transactions appear at once this isn't a true multi-table transaction on the database. It is 
+effectively a fast-forward merge of multiple commits (in git language) and each operation from the branch is its own distinct
+transaction and commit. This is different from a real multi-table transaction where all changes would be in the same commit.
+This does allow multiple applications to take part in modifying a branch and for this distributed set of transactions to be 
+exposed to the downstream users simultaneously.
+
+ 
+### Experimentation
+
+Changes to a table can be tested in a branch before merging back into main. This is particularly useful when performing
+large changes like schema evolution or partition evolution. A partition evolution could be performed in a branch and you
+would be able to test out the change (eg performance benchmarks) before merging it. This provides great flexibility in
+performing on-line table modifications and testing without interrupting downstream use cases. If the changes are
+incorrect or not performant the branch can be dropped without being merged.
+
+### Further use cases
+
+Please see the [Nessie Documentation](https://projectnessie.org/features/) for further descriptions of 
+Nessie features.
+
+{{< hint danger >}}
+Regular table maintenance in Iceberg is complicated when using nessie. Please consult
+[Management Services](https://projectnessie.org/features/management/) before performing any 
+[table maintenance](../maintenance).
+{{< /hint >}}
+
+## Example 
+
+Please have a look at the [Nessie Demos repo](https://github.com/projectnessie/nessie-demos)
+for different examples of Nessie and Iceberg in action together.
+
+## Future Improvements
+
+* Iceberg multi-table transactions. Changes to multiple Iceberg tables in the same transaction, isolation levels etc
diff --git a/docs/content/docs/prestodb/_index.md b/docs/content/docs/prestodb/_index.md
new file mode 100644
index 0000000..88304d7
--- /dev/null
+++ b/docs/content/docs/prestodb/_index.md
@@ -0,0 +1,23 @@
+---
+title: "Presto"
+bookIconImage: ../img/prestodb-logo.png
+bookFlatSection: true
+weight: 420
+bookExternalUrlNewWindow: https://prestodb.io/docs/current/connector/iceberg.html
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/project/_index.md b/docs/content/docs/project/_index.md
new file mode 100644
index 0000000..1dd2bc8
--- /dev/null
+++ b/docs/content/docs/project/_index.md
@@ -0,0 +1,5 @@
+---
+bookIconFa: fa-wrench
+bookCollapseSection: true
+weight: 900
+---
\ No newline at end of file
diff --git a/docs/content/docs/project/benchmarks.md b/docs/content/docs/project/benchmarks.md
new file mode 100644
index 0000000..3b2289d
--- /dev/null
+++ b/docs/content/docs/project/benchmarks.md
@@ -0,0 +1,5 @@
+---
+title: "Benchmarks"
+bookUrlFromBaseURL: /../../benchmarks
+bookHidden: true
+---
\ No newline at end of file
diff --git a/docs/content/docs/project/how-to-release.md b/docs/content/docs/project/how-to-release.md
new file mode 100644
index 0000000..c8a4fb9
--- /dev/null
+++ b/docs/content/docs/project/how-to-release.md
@@ -0,0 +1,4 @@
+---
+title: "How to Release"
+bookUrlFromBaseURL: /../../how-to-release
+---
\ No newline at end of file
diff --git a/docs/content/docs/project/roadmap.md b/docs/content/docs/project/roadmap.md
new file mode 100644
index 0000000..b1b8424
--- /dev/null
+++ b/docs/content/docs/project/roadmap.md
@@ -0,0 +1,4 @@
+---
+title: "Roadmap"
+bookUrlFromBaseURL: /../../roadmap
+---
\ No newline at end of file
diff --git a/docs/content/docs/project/security.md b/docs/content/docs/project/security.md
new file mode 100644
index 0000000..b88418a
--- /dev/null
+++ b/docs/content/docs/project/security.md
@@ -0,0 +1,4 @@
+---
+title: "Security"
+bookUrlFromBaseURL: /../../security
+---
\ No newline at end of file
diff --git a/docs/content/docs/project/trademarks.md b/docs/content/docs/project/trademarks.md
new file mode 100644
index 0000000..58278b9
--- /dev/null
+++ b/docs/content/docs/project/trademarks.md
@@ -0,0 +1,4 @@
+---
+title: "Trademarks"
+bookUrlFromBaseURL: /../../trademarks
+---
\ No newline at end of file
diff --git a/docs/content/docs/releases/0.12.0/_index.md b/docs/content/docs/releases/0.12.0/_index.md
new file mode 100644
index 0000000..5b5b9d0
--- /dev/null
+++ b/docs/content/docs/releases/0.12.0/_index.md
@@ -0,0 +1,5 @@
+---
+title: "0.12.0"
+weight: 100
+bookUrlFromBaseURL: /0.12.0
+---
\ No newline at end of file
diff --git a/docs/content/docs/releases/0.12.1/_index.md b/docs/content/docs/releases/0.12.1/_index.md
new file mode 100644
index 0000000..f57fcc2
--- /dev/null
+++ b/docs/content/docs/releases/0.12.1/_index.md
@@ -0,0 +1,5 @@
+---
+title: "0.12.1"
+weight: 99
+bookUrlFromBaseURL: /0.12.1
+---
\ No newline at end of file
diff --git a/docs/content/docs/releases/_index.md b/docs/content/docs/releases/_index.md
new file mode 100644
index 0000000..f398380
--- /dev/null
+++ b/docs/content/docs/releases/_index.md
@@ -0,0 +1,5 @@
+---
+bookIconFa: fa-code-fork
+bookCollapseSection: true
+weight: 900
+---
\ No newline at end of file
diff --git a/docs/content/docs/releases/latest/_index.md b/docs/content/docs/releases/latest/_index.md
new file mode 100644
index 0000000..94d46ba
--- /dev/null
+++ b/docs/content/docs/releases/latest/_index.md
@@ -0,0 +1,5 @@
+---
+title: "Latest"
+weight: 98
+bookUrlFromBaseURL: /latest
+---
\ No newline at end of file
diff --git a/docs/content/docs/releases/release-notes.md b/docs/content/docs/releases/release-notes.md
new file mode 100644
index 0000000..468f5eb
--- /dev/null
+++ b/docs/content/docs/releases/release-notes.md
@@ -0,0 +1,4 @@
+---
+title: "Release Notes"
+bookUrlFromBaseURL: /../../releases
+---
\ No newline at end of file
diff --git a/docs/content/docs/spark/_index.md b/docs/content/docs/spark/_index.md
new file mode 100644
index 0000000..3a014d4
--- /dev/null
+++ b/docs/content/docs/spark/_index.md
@@ -0,0 +1,5 @@
+---
+bookIconFa: fa-star-o
+bookFlatSection: true
+weight: 200
+---
\ No newline at end of file
diff --git a/docs/content/docs/spark/spark-configuration.md b/docs/content/docs/spark/spark-configuration.md
new file mode 100644
index 0000000..5962ab0
--- /dev/null
+++ b/docs/content/docs/spark/spark-configuration.md
@@ -0,0 +1,186 @@
+---
+title: "Configuration"
+url: spark-configuration
+aliases:
+    - "spark/spark-configuration"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Spark Configuration
+
+## Catalogs
+
+Spark 3.0 adds an API to plug in table catalogs that are used to load, create, and manage Iceberg tables. Spark catalogs are configured by setting Spark properties under `spark.sql.catalog`.
+
+This creates an Iceberg catalog named `hive_prod` that loads tables from a Hive metastore:
+
+```plain
+spark.sql.catalog.hive_prod = org.apache.iceberg.spark.SparkCatalog
+spark.sql.catalog.hive_prod.type = hive
+spark.sql.catalog.hive_prod.uri = thrift://metastore-host:port
+# omit uri to use the same URI as Spark: hive.metastore.uris in hive-site.xml
+```
+
+Iceberg also supports a directory-based catalog in HDFS that can be configured using `type=hadoop`:
+
+```plain
+spark.sql.catalog.hadoop_prod = org.apache.iceberg.spark.SparkCatalog
+spark.sql.catalog.hadoop_prod.type = hadoop
+spark.sql.catalog.hadoop_prod.warehouse = hdfs://nn:8020/warehouse/path
+```
+
+{{< hint info >}}
+The Hive-based catalog only loads Iceberg tables. To load non-Iceberg tables in the same Hive metastore, use a [session catalog](#replacing-the-session-catalog).
+{{< /hint >}}
+
+### Catalog configuration
+
+A catalog is created and named by adding a property `spark.sql.catalog.(catalog-name)` with an implementation class for its value.
+
+Iceberg supplies two implementations:
+
+* `org.apache.iceberg.spark.SparkCatalog` supports a Hive Metastore or a Hadoop warehouse as a catalog
+* `org.apache.iceberg.spark.SparkSessionCatalog` adds support for Iceberg tables to Spark's built-in catalog, and delegates to the built-in catalog for non-Iceberg tables
+
+Both catalogs are configured using properties nested under the catalog name. Common configuration properties for Hive and Hadoop are:
+
+| Property                                           | Values                        | Description                                                          |
+| -------------------------------------------------- | ----------------------------- | -------------------------------------------------------------------- |
+| spark.sql.catalog._catalog-name_.type              | `hive` or `hadoop`            | The underlying Iceberg catalog implementation, `HiveCatalog`, `HadoopCatalog` or left unset if using a custom catalog |
+| spark.sql.catalog._catalog-name_.catalog-impl      |                               | The underlying Iceberg catalog implementation.|
+| spark.sql.catalog._catalog-name_.default-namespace | default                       | The default current namespace for the catalog |
+| spark.sql.catalog._catalog-name_.uri               | thrift://host:port            | Metastore connect URI; default from `hive-site.xml` |
+| spark.sql.catalog._catalog-name_.warehouse         | hdfs://nn:8020/warehouse/path | Base path for the warehouse directory |
+| spark.sql.catalog._catalog-name_.cache-enabled     | `true` or `false`             | Whether to enable catalog cache, default value is `true` |
+
+Additional properties can be found in common [catalog configuration](../configuration#catalog-properties).
+
+
+### Using catalogs
+
+Catalog names are used in SQL queries to identify a table. In the examples above, `hive_prod` and `hadoop_prod` can be used to prefix database and table names that will be loaded from those catalogs.
+
+```sql
+SELECT * FROM hive_prod.db.table -- load db.table from catalog hive_prod
+```
+
+Spark 3 keeps track of the current catalog and namespace, which can be omitted from table names.
+
+```sql
+USE hive_prod.db;
+SELECT * FROM table -- load db.table from catalog hive_prod
+```
+
+To see the current catalog and namespace, run `SHOW CURRENT NAMESPACE`.
+
+### Replacing the session catalog
+
+To add Iceberg table support to Spark's built-in catalog, configure `spark_catalog` to use Iceberg's `SparkSessionCatalog`.
+
+```plain
+spark.sql.catalog.spark_catalog = org.apache.iceberg.spark.SparkSessionCatalog
+spark.sql.catalog.spark_catalog.type = hive
+```
+
+Spark's built-in catalog supports existing v1 and v2 tables tracked in a Hive Metastore. This configures Spark to use Iceberg's `SparkSessionCatalog` as a wrapper around that session catalog. When a table is not an Iceberg table, the built-in catalog will be used to load it instead.
+
+This configuration can use same Hive Metastore for both Iceberg and non-Iceberg tables.
+
+### Using catalog specific Hadoop configuration values
+
+Similar to configuring Hadoop properties by using `spark.hadoop.*`, it's possible to set per-catalog Hadoop configuration values when using Spark by adding the property for the catalog with the prefix `spark.sql.catalog.(catalog-name).hadoop.*`. These properties will take precedence over values configured globally using `spark.hadoop.*` and will only affect Iceberg tables.
+
+```plain
+spark.sql.catalog.hadoop_prod.hadoop.fs.s3a.endpoint = http://aws-local:9000
+```
+
+### Loading a custom catalog
+
+Spark supports loading a custom Iceberg `Catalog` implementation by specifying the `catalog-impl` property. Here is an example:
+
+```plain
+spark.sql.catalog.custom_prod = org.apache.iceberg.spark.SparkCatalog
+spark.sql.catalog.custom_prod.catalog-impl = com.my.custom.CatalogImpl
+spark.sql.catalog.custom_prod.my-additional-catalog-config = my-value
+```
+
+### Catalogs in Spark 2.4
+
+When using Iceberg 0.11.0 and later, Spark 2.4 can load tables from multiple Iceberg catalogs or from table locations.
+
+Catalogs in 2.4 are configured just like catalogs in 3.0, but only Iceberg catalogs are supported.
+
+
+## SQL Extensions
+
+Iceberg 0.11.0 and later add an extension module to Spark to add new SQL commands, like `CALL` for stored procedures or `ALTER TABLE ... WRITE ORDERED BY`.
+
+Using those SQL commands requires adding Iceberg extensions to your Spark environment using the following Spark property:
+
+
+| Spark extensions property | Iceberg extensions implementation                                   |
+|---------------------------|---------------------------------------------------------------------|
+| `spark.sql.extensions`    | `org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions` |
+
+SQL extensions are not available for Spark 2.4.
+
+
+## Runtime configuration
+
+### Read options
+
+Spark read options are passed when configuring the DataFrameReader, like this:
+
+```scala
+// time travel
+spark.read
+    .option("snapshot-id", 10963874102873L)
+    .table("catalog.db.table")
+```
+
+| Spark option    | Default               | Description                                                                               |
+| --------------- | --------------------- | ----------------------------------------------------------------------------------------- |
+| snapshot-id     | (latest)              | Snapshot ID of the table snapshot to read                                                 |
+| as-of-timestamp | (latest)              | A timestamp in milliseconds; the snapshot used will be the snapshot current at this time. |
+| split-size      | As per table property | Overrides this table's read.split.target-size and read.split.metadata-target-size         |
+| lookback        | As per table property | Overrides this table's read.split.planning-lookback                                       |
+| file-open-cost  | As per table property | Overrides this table's read.split.open-file-cost                                          |
+| vectorization-enabled  | As per table property | Overrides this table's read.parquet.vectorization.enabled                                          |
+| batch-size  | As per table property | Overrides this table's read.parquet.vectorization.batch-size                                          |
+
+### Write options
+
+Spark write options are passed when configuring the DataFrameWriter, like this:
+
+```scala
+// write with Avro instead of Parquet
+df.write
+    .option("write-format", "avro")
+    .option("snapshot-property.key", "value")
+    .insertInto("catalog.db.table")
+```
+
+| Spark option           | Default                    | Description                                                  |
+| ---------------------- | -------------------------- | ------------------------------------------------------------ |
+| write-format           | Table write.format.default | File format to use for this write operation; parquet, avro, or orc |
+| target-file-size-bytes | As per table property      | Overrides this table's write.target-file-size-bytes          |
+| check-nullability      | true                       | Sets the nullable check on fields                            |
+| snapshot-property._custom-key_    | null            | Adds an entry with custom-key and corresponding value in the snapshot summary  |
+| fanout-enabled       | false        | Overrides this table's write.spark.fanout.enabled  |
+| check-ordering       | true        | Checks if input schema and table schema are same  |
+
diff --git a/docs/content/docs/spark/spark-ddl.md b/docs/content/docs/spark/spark-ddl.md
new file mode 100644
index 0000000..1422444
--- /dev/null
+++ b/docs/content/docs/spark/spark-ddl.md
@@ -0,0 +1,343 @@
+---
+title: "DDL"
+url: spark-ddl
+aliases:
+    - "spark/spark-ddl"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Spark DDL
+
+To use Iceberg in Spark, first configure [Spark catalogs](../spark-configuration).
+
+Iceberg uses Apache Spark's DataSourceV2 API for data source and catalog implementations. Spark DSv2 is an evolving API with different levels of support in Spark versions. Spark 2.4 does not support SQL DDL.
+
+{{< hint info >}}
+Spark 2.4 can't create Iceberg tables with DDL, instead use Spark 3.x or the [Iceberg API](..//java-api-quickstart).
+{{< /hint >}}
+
+## `CREATE TABLE`
+
+Spark 3.0 can create tables in any Iceberg catalog with the clause `USING iceberg`:
+
+```sql
+CREATE TABLE prod.db.sample (
+    id bigint COMMENT 'unique id',
+    data string)
+USING iceberg
+```
+
+Iceberg will convert the column type in Spark to corresponding Iceberg type. Please check the section of [type compatibility on creating table](../spark-writes#spark-type-to-iceberg-type) for details.
+
+Table create commands, including CTAS and RTAS, support the full range of Spark create clauses, including:
+
+* `PARTITION BY (partition-expressions)` to configure partitioning
+* `LOCATION '(fully-qualified-uri)'` to set the table location
+* `COMMENT 'table documentation'` to set a table description
+* `TBLPROPERTIES ('key'='value', ...)` to set [table configuration](../configuration)
+
+Create commands may also set the default format with the `USING` clause. This is only supported for `SparkCatalog` because Spark handles the `USING` clause differently for the built-in catalog.
+
+### `PARTITIONED BY`
+
+To create a partitioned table, use `PARTITIONED BY`:
+
+```sql
+CREATE TABLE prod.db.sample (
+    id bigint,
+    data string,
+    category string)
+USING iceberg
+PARTITIONED BY (category)
+```
+
+The `PARTITIONED BY` clause supports transform expressions to create [hidden partitions](../partitioning).
+
+```sql
+CREATE TABLE prod.db.sample (
+    id bigint,
+    data string,
+    category string,
+    ts timestamp)
+USING iceberg
+PARTITIONED BY (bucket(16, id), days(ts), category)
+```
+
+Supported transformations are:
+
+* `years(ts)`: partition by year
+* `months(ts)`: partition by month
+* `days(ts)` or `date(ts)`: equivalent to dateint partitioning
+* `hours(ts)` or `date_hour(ts)`: equivalent to dateint and hour partitioning
+* `bucket(N, col)`: partition by hashed value mod N buckets
+* `truncate(L, col)`: partition by value truncated to L
+    * Strings are truncated to the given length
+    * Integers and longs truncate to bins: `truncate(10, i)` produces partitions 0, 10, 20, 30, ...
+
+## `CREATE TABLE ... AS SELECT`
+
+Iceberg supports CTAS as an atomic operation when using a [`SparkCatalog`](../spark-configuration#catalog-configuration). CTAS is supported, but is not atomic when using [`SparkSessionCatalog`](../spark-configuration#replacing-the-session-catalog).
+
+```sql
+CREATE TABLE prod.db.sample
+USING iceberg
+AS SELECT ...
+```
+
+## `REPLACE TABLE ... AS SELECT`
+
+Iceberg supports RTAS as an atomic operation when using a [`SparkCatalog`](../spark-configuration#catalog-configuration). RTAS is supported, but is not atomic when using [`SparkSessionCatalog`](../spark-configuration#replacing-the-session-catalog).
+
+Atomic table replacement creates a new snapshot with the results of the `SELECT` query, but keeps table history.
+
+```sql
+REPLACE TABLE prod.db.sample
+USING iceberg
+AS SELECT ...
+```
+```sql
+CREATE OR REPLACE TABLE prod.db.sample
+USING iceberg
+AS SELECT ...
+```
+
+The schema and partition spec will be replaced if changed. To avoid modifying the table's schema and partitioning, use `INSERT OVERWRITE` instead of `REPLACE TABLE`.
+The new table properties in the `REPLACE TABLE` command will be merged with any existing table properties. The existing table properties will be updated if changed else they are preserved.
+
+## `DROP TABLE`
+
+To delete a table, run:
+
+```sql
+DROP TABLE prod.db.sample
+```
+
+
+## `ALTER TABLE`
+
+Iceberg has full `ALTER TABLE` support in Spark 3, including:
+
+* Renaming a table
+* Setting or removing table properties
+* Adding, deleting, and renaming columns
+* Adding, deleting, and renaming nested fields
+* Reordering top-level columns and nested struct fields
+* Widening the type of `int`, `float`, and `decimal` fields
+* Making required columns optional
+
+In addition, [SQL extensions](../spark-configuration#sql-extensions) can be used to add support for partition evolution and setting a table's write order
+
+### `ALTER TABLE ... RENAME TO`
+
+```sql
+ALTER TABLE prod.db.sample RENAME TO prod.db.new_name
+```
+
+### `ALTER TABLE ... SET TBLPROPERTIES`
+
+```sql
+ALTER TABLE prod.db.sample SET TBLPROPERTIES (
+    'read.split.target-size'='268435456'
+)
+```
+
+Iceberg uses table properties to control table behavior. For a list of available properties, see [Table configuration](../configuration).
+
+`UNSET` is used to remove properties:
+
+```sql
+ALTER TABLE prod.db.sample UNSET TBLPROPERTIES ('read.split.target-size')
+```
+
+### `ALTER TABLE ... ADD COLUMN`
+
+To add a column to Iceberg, use the `ADD COLUMNS` clause with `ALTER TABLE`:
+
+```sql
+ALTER TABLE prod.db.sample
+ADD COLUMNS (
+    new_column string comment 'new_column docs'
+  )
+```
+
+Multiple columns can be added at the same time, separated by commas.
+
+Nested columns should be identified using the full column name:
+
+```sql
+-- create a struct column
+ALTER TABLE prod.db.sample
+ADD COLUMN point struct<x: double, y: double>;
+
+-- add a field to the struct
+ALTER TABLE prod.db.sample
+ADD COLUMN point.z double
+```
+
+In Spark 2.4.4 and later, you can add columns in any position by adding `FIRST` or `AFTER` clauses:
+
+```sql
+ALTER TABLE prod.db.sample
+ADD COLUMN new_column bigint AFTER other_column
+```
+
+```sql
+ALTER TABLE prod.db.sample
+ADD COLUMN nested.new_column bigint FIRST
+```
+
+### `ALTER TABLE ... RENAME COLUMN`
+
+Iceberg allows any field to be renamed. To rename a field, use `RENAME COLUMN`:
+
+```sql
+ALTER TABLE prod.db.sample RENAME COLUMN data TO payload
+ALTER TABLE prod.db.sample RENAME COLUMN location.lat TO latitude
+```
+
+Note that nested rename commands only rename the leaf field. The above command renames `location.lat` to `location.latitude`
+
+### `ALTER TABLE ... ALTER COLUMN`
+
+Alter column is used to widen types, make a field optional, set comments, and reorder fields.
+
+Iceberg allows updating column types if the update is safe. Safe updates are:
+
+* `int` to `bigint`
+* `float` to `double`
+* `decimal(P,S)` to `decimal(P2,S)` when P2 > P (scale cannot change)
+
+```sql
+ALTER TABLE prod.db.sample ALTER COLUMN measurement TYPE double
+```
+
+To add or remove columns from a struct, use `ADD COLUMN` or `DROP COLUMN` with a nested column name.
+
+Column comments can also be updated using `ALTER COLUMN`:
+
+```sql
+ALTER TABLE prod.db.sample ALTER COLUMN measurement TYPE double COMMENT 'unit is bytes per second'
+ALTER TABLE prod.db.sample ALTER COLUMN measurement COMMENT 'unit is kilobytes per second'
+```
+
+Iceberg allows reordering top-level columns or columns in a struct using `FIRST` and `AFTER` clauses:
+
+```sql
+ALTER TABLE prod.db.sample ALTER COLUMN col FIRST
+```
+```sql
+ALTER TABLE prod.db.sample ALTER COLUMN nested.col AFTER other_col
+```
+
+Nullability can be changed using `SET NOT NULL` and `DROP NOT NULL`:
+
+```sql
+ALTER TABLE prod.db.sample ALTER COLUMN id DROP NOT NULL
+```
+
+{{< hint info >}}
+`ALTER COLUMN` is not used to update `struct` types. Use `ADD COLUMN` and `DROP COLUMN` to add or remove struct fields.
+{{< /hint >}}
+
+
+### `ALTER TABLE ... DROP COLUMN`
+
+To drop columns, use `ALTER TABLE ... DROP COLUMN`:
+
+```sql
+ALTER TABLE prod.db.sample DROP COLUMN id
+ALTER TABLE prod.db.sample DROP COLUMN point.z
+```
+
+## `ALTER TABLE` SQL extensions
+
+These commands are available in Spark 3.x when using Iceberg [SQL extensions](../spark-configuration#sql-extensions).
+
+### `ALTER TABLE ... ADD PARTITION FIELD`
+
+Iceberg supports adding new partition fields to a spec using `ADD PARTITION FIELD`:
+
+```sql
+ALTER TABLE prod.db.sample ADD PARTITION FIELD catalog -- identity transform
+```
+
+[Partition transforms](#partitioned-by) are also supported:
+
+```sql
+ALTER TABLE prod.db.sample ADD PARTITION FIELD bucket(16, id)
+ALTER TABLE prod.db.sample ADD PARTITION FIELD truncate(data, 4)
+ALTER TABLE prod.db.sample ADD PARTITION FIELD years(ts)
+-- use optional AS keyword to specify a custom name for the partition field 
+ALTER TABLE prod.db.sample ADD PARTITION FIELD bucket(16, id) AS shard
+```
+
+Adding a partition field is a metadata operation and does not change any of the existing table data. New data will be written with the new partitioning, but existing data will remain in the old partition layout. Old data files will have null values for the new partition fields in metadata tables.
+
+Dynamic partition overwrite behavior will change when the table's partitioning changes because dynamic overwrite replaces partitions implicitly. To overwrite explicitly, use the new `DataFrameWriterV2` API.
+
+{{< hint note >}}
+To migrate from daily to hourly partitioning with transforms, it is not necessary to drop the daily partition field. Keeping the field ensures existing metadata table queries continue to work.
+{{< /hint >}}
+
+{{< hint danger >}}
+**Dynamic partition overwrite behavior will change** when partitioning changes
+For example, if you partition by days and move to partitioning by hours, overwrites will overwrite hourly partitions but not days anymore.
+{{< /hint >}}
+
+### `ALTER TABLE ... DROP PARTITION FIELD`
+
+Partition fields can be removed using `DROP PARTITION FIELD`:
+
+```sql
+ALTER TABLE prod.db.sample DROP PARTITION FIELD catalog
+ALTER TABLE prod.db.sample DROP PARTITION FIELD bucket(16, id)
+ALTER TABLE prod.db.sample DROP PARTITION FIELD truncate(data, 4)
+ALTER TABLE prod.db.sample DROP PARTITION FIELD years(ts)
+ALTER TABLE prod.db.sample DROP PARTITION FIELD shard
+```
+
+Note that although the partition is removed, the column will still exist in the table schema.
+
+Dropping a partition field is a metadata operation and does not change any of the existing table data. New data will be written with the new partitioning, but existing data will remain in the old partition layout.
+
+{{< hint danger >}}
+**Dynamic partition overwrite behavior will change** when partitioning changes
+For example, if you partition by days and move to partitioning by hours, overwrites will overwrite hourly partitions but not days anymore.
+{{< /hint >}}
+
+{{< hint danger >}}
+Be careful when dropping a partition field because it will change the schema of metadata tables, like `files`, and may cause metadata queries to fail or produce different results.
+{{< /hint >}}
+
+### `ALTER TABLE ... WRITE ORDERED BY`
+
+Iceberg tables can be configured with a sort order that is used to automatically sort data that is written to the table in some engines. For example, `MERGE INTO` in Spark will use the table ordering.
+
+To set the write order for a table, use `WRITE ORDERED BY`:
+
+```sql
+ALTER TABLE prod.db.sample WRITE ORDERED BY category, id
+-- use optional ASC/DEC keyword to specify sort order of each field (default ASC)
+ALTER TABLE prod.db.sample WRITE ORDERED BY category ASC, id DESC
+-- use optional NULLS FIRST/NULLS LAST keyword to specify null order of each field (default FIRST)
+ALTER TABLE prod.db.sample WRITE ORDERED BY category ASC NULLS LAST, id DESC NULLS FIRST
+```
+
+{{< hint info >}}
+Table write order does not guarantee data order for queries. It only affects how data is written to the table.
+{{< /hint >}}
diff --git a/docs/content/docs/spark/spark-getting-started.md b/docs/content/docs/spark/spark-getting-started.md
new file mode 100644
index 0000000..b4b0af2
--- /dev/null
+++ b/docs/content/docs/spark/spark-getting-started.md
@@ -0,0 +1,144 @@
+---
+title: "Getting Started"
+weight: 200
+url: getting-started
+aliases:
+    - "spark/getting-started"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Getting Started
+
+The latest version of Iceberg is [{{% icebergVersion %}}](../releases).
+
+Spark is currently the most feature-rich compute engine for Iceberg operations. 
+We recommend you to get started with Spark to understand Iceberg concepts and features with examples.
+You can also view documentations of using Iceberg with other compute engine under the **Engines** tab.
+
+## Using Iceberg in Spark 3
+
+To use Iceberg in a Spark shell, use the `--packages` option:
+
+```sh
+spark-shell --packages org.apache.iceberg:iceberg-spark3-runtime:{{% icebergVersion %}}
+```
+
+{{< hint info >}}
+If you want to include Iceberg in your Spark installation, add the [`iceberg-spark3-runtime` Jar][spark-runtime-jar] to Spark's `jars` folder.
+{{< /hint >}}
+
+[spark-runtime-jar]: https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark3-runtime/{{% icebergVersion %}}/iceberg-spark3-runtime-{{% icebergVersion %}}.jar
+
+### Adding catalogs
+
+Iceberg comes with [catalogs](../spark-configuration#catalogs) that enable SQL commands to manage tables and load them by name. Catalogs are configured using properties under `spark.sql.catalog.(catalog_name)`.
+
+This command creates a path-based catalog named `local` for tables under `$PWD/warehouse` and adds support for Iceberg tables to Spark's built-in catalog:
+
+```sh
+spark-sql --packages org.apache.iceberg:iceberg-spark3-runtime:{{% icebergVersion %}}\
+    --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions \
+    --conf spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkSessionCatalog \
+    --conf spark.sql.catalog.spark_catalog.type=hive \
+    --conf spark.sql.catalog.local=org.apache.iceberg.spark.SparkCatalog \
+    --conf spark.sql.catalog.local.type=hadoop \
+    --conf spark.sql.catalog.local.warehouse=$PWD/warehouse
+```
+
+### Creating a table
+
+To create your first Iceberg table in Spark, use the `spark-sql` shell or `spark.sql(...)` to run a [`CREATE TABLE`](../spark-ddl#create-table) command:
+
+```sql
+-- local is the path-based catalog defined above
+CREATE TABLE local.db.table (id bigint, data string) USING iceberg
+```
+
+Iceberg catalogs support the full range of SQL DDL commands, including:
+
+* [`CREATE TABLE ... PARTITIONED BY`](../spark-ddl#create-table)
+* [`CREATE TABLE ... AS SELECT`](../spark-ddl#create-table--as-select)
+* [`ALTER TABLE`](../spark-ddl#alter-table)
+* [`DROP TABLE`](../spark-ddl#drop-table)
+
+### Writing
+
+Once your table is created, insert data using [`INSERT INTO`](../spark-writes#insert-into):
+
+```sql
+INSERT INTO local.db.table VALUES (1, 'a'), (2, 'b'), (3, 'c');
+INSERT INTO local.db.table SELECT id, data FROM source WHERE length(data) = 1;
+```
+
+Iceberg also adds row-level SQL updates to Spark, [`MERGE INTO`](../spark-writes#merge-into) and [`DELETE FROM`](../spark-writes#delete-from):
+
+```sql
+MERGE INTO local.db.target t USING (SELECT * FROM updates) u ON t.id = u.id
+WHEN MATCHED THEN UPDATE SET t.count = t.count + u.count
+WHEN NOT MATCHED THEN INSERT *
+```
+
+Iceberg supports writing DataFrames using the new [v2 DataFrame write API](../spark-writes#writing-with-dataframes):
+
+```scala
+spark.table("source").select("id", "data")
+     .writeTo("local.db.table").append()
+```
+
+The old `write` API is supported, but _not_ recommended.
+
+### Reading
+
+To read with SQL, use the an Iceberg table name in a `SELECT` query:
+
+```sql
+SELECT count(1) as count, data
+FROM local.db.table
+GROUP BY data
+```
+
+SQL is also the recommended way to [inspect tables](../spark-queries#inspecting-tables). To view all of the snapshots in a table, use the `snapshots` metadata table:
+```sql
+SELECT * FROM local.db.table.snapshots
+```
+```
++-------------------------+----------------+-----------+-----------+----------------------------------------------------+-----+
+| committed_at            | snapshot_id    | parent_id | operation | manifest_list                                      | ... |
++-------------------------+----------------+-----------+-----------+----------------------------------------------------+-----+
+| 2019-02-08 03:29:51.215 | 57897183625154 | null      | append    | s3://.../table/metadata/snap-57897183625154-1.avro | ... |
+|                         |                |           |           |                                                    | ... |
+|                         |                |           |           |                                                    | ... |
+| ...                     | ...            | ...       | ...       | ...                                                | ... |
++-------------------------+----------------+-----------+-----------+----------------------------------------------------+-----+
+```
+
+[DataFrame reads](../spark-queries#querying-with-dataframes) are supported and can now reference tables by name using `spark.table`:
+
+```scala
+val df = spark.table("local.db.table")
+df.count()
+```
+
+### Next steps
+
+Next, you can learn more about Iceberg tables in Spark:
+
+* [DDL commands](../spark-ddl): `CREATE`, `ALTER`, and `DROP`
+* [Querying data](../spark-queries): `SELECT` queries and metadata tables
+* [Writing data](../spark-writes): `INSERT INTO` and `MERGE INTO`
+* [Maintaining tables](../spark-procedures) with stored procedures
diff --git a/docs/content/docs/spark/spark-procedures.md b/docs/content/docs/spark/spark-procedures.md
new file mode 100644
index 0000000..142aef1
--- /dev/null
+++ b/docs/content/docs/spark/spark-procedures.md
@@ -0,0 +1,458 @@
+---
+title: "Procedures"
+url: spark-procedures
+aliases:
+    - "spark/spark-procedures"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Spark Procedures
+
+To use Iceberg in Spark, first configure [Spark catalogs](../spark-configuration). Stored procedures are only available when using [Iceberg SQL extensions](../spark-configuration#sql-extensions) in Spark 3.x.
+
+## Usage
+
+Procedures can be used from any configured Iceberg catalog with `CALL`. All procedures are in the namespace `system`.
+
+`CALL` supports passing arguments by name (recommended) or by position. Mixing position and named arguments is not supported.
+
+### Named arguments
+
+All procedure arguments are named. When passing arguments by name, arguments can be in any order and any optional argument can be omitted.
+
+```sql
+CALL catalog_name.system.procedure_name(arg_name_2 => arg_2, arg_name_1 => arg_1)
+```
+
+### Positional arguments
+
+When passing arguments by position, only the ending arguments may be omitted if they are optional.
+
+```sql
+CALL catalog_name.system.procedure_name(arg_1, arg_2, ... arg_n)
+```
+
+## Snapshot management
+
+### `rollback_to_snapshot`
+
+Roll back a table to a specific snapshot ID.
+
+To roll back to a specific time, use [`rollback_to_timestamp`](#rollback_to_timestamp).
+
+**Note** this procedure invalidates all cached Spark plans that reference the affected table.
+
+#### Usage
+
+| Argument Name | Required? | Type | Description |
+|---------------|-----------|------|-------------|
+| `table`       | ✔️  | string | Name of the table to update |
+| `snapshot_id` | ✔️  | long   | Snapshot ID to rollback to |
+
+#### Output
+
+| Output Name | Type | Description |
+| ------------|------|-------------|
+| `previous_snapshot_id` | long | The current snapshot ID before the rollback |
+| `current_snapshot_id`  | long | The new current snapshot ID |
+
+#### Example
+
+Roll back table `db.sample` to snapshot ID `1`:
+
+```sql
+CALL catalog_name.system.rollback_to_snapshot('db.sample', 1)
+```
+
+### `rollback_to_timestamp`
+
+Roll back a table to the snapshot that was current at some time.
+
+**Note** this procedure invalidates all cached Spark plans that reference the affected table.
+
+#### Usage
+
+| Argument Name | Required? | Type | Description |
+|---------------|-----------|------|-------------|
+| `table`       | ✔️  | string | Name of the table to update |
+| `timestamp`   | ✔️  | timestamp | A timestamp to rollback to |
+
+#### Output
+
+| Output Name | Type | Description |
+| ------------|------|-------------|
+| `previous_snapshot_id` | long | The current snapshot ID before the rollback |
+| `current_snapshot_id`  | long | The new current snapshot ID |
+
+#### Example
+
+Roll back `db.sample` to one day
+```sql
+CALL catalog_name.system.rollback_to_timestamp('db.sample', TIMESTAMP '2021-06-30 00:00:00.000')
+```
+
+### `set_current_snapshot`
+
+Sets the current snapshot ID for a table.
+
+Unlike rollback, the snapshot is not required to be an ancestor of the current table state.
+
+**Note** this procedure invalidates all cached Spark plans that reference the affected table.
+
+#### Usage
+
+| Argument Name | Required? | Type | Description |
+|---------------|-----------|------|-------------|
+| `table`       | ✔️  | string | Name of the table to update |
+| `snapshot_id` | ✔️  | long   | Snapshot ID to set as current |
+
+#### Output
+
+| Output Name | Type | Description |
+| ------------|------|-------------|
+| `previous_snapshot_id` | long | The current snapshot ID before the rollback |
+| `current_snapshot_id`  | long | The new current snapshot ID |
+
+#### Example
+
+Set the current snapshot for `db.sample` to 1:
+```sql
+CALL catalog_name.system.set_current_snapshot('db.sample', 1)
+```
+
+### `cherrypick_snapshot`
+
+Cherry-picks changes from a snapshot into the current table state.
+
+Cherry-picking creates a new snapshot from an existing snapshot without altering or removing the original.
+
+Only append and dynamic overwrite snapshots can be cherry-picked.
+
+**Note** this procedure invalidates all cached Spark plans that reference the affected table.
+
+#### Usage
+
+| Argument Name | Required? | Type | Description |
+|---------------|-----------|------|-------------|
+| `table`       | ✔️  | string | Name of the table to update |
+| `snapshot_id` | ✔️  | long | The snapshot ID to cherry-pick |
+
+#### Output
+
+| Output Name | Type | Description |
+| ------------|------|-------------|
+| `source_snapshot_id` | long | The table's current snapshot before the cherry-pick |
+| `current_snapshot_id` | long | The snapshot ID created by applying the cherry-pick |
+
+#### Examples
+
+Cherry-pick snapshot 1
+```sql
+CALL catalog_name.system.cherrypick_snapshot('my_table', 1)
+```
+
+Cherry-pick snapshot 1 with named args
+```sql
+CALL catalog_name.system.cherrypick_snapshot(snapshot_id => 1, table => 'my_table' )
+```
+
+
+## Metadata management
+
+Many [maintenance actions](../maintenance) can be performed using Iceberg stored procedures.
+
+### `expire_snapshots`
+
+Each write/update/delete/upsert/compaction in Iceberg produces a new snapshot while keeping the old data and metadata
+around for snapshot isolation and time travel. The `expire_snapshots` procedure can be used to remove older snapshots
+and their files which are no longer needed.
+
+This procedure will remove old snapshots and data files which are uniquely required by those old snapshots. This means
+the `expire_snapshots` procedure will never remove files which are still required by a non-expired snapshot.
+
+#### Usage
+
+| Argument Name | Required? | Type | Description |
+|---------------|-----------|------|-------------|
+| `table`       | ✔️  | string | Name of the table to update |
+| `older_than`  | ️   | timestamp | Timestamp before which snapshots will be removed (Default: 5 days ago) |
+| `retain_last` |    | int       | Number of ancestor snapshots to preserve regardless of `older_than` (defaults to 1) |
+
+#### Output
+
+| Output Name | Type | Description |
+| ------------|------|-------------|
+| `deleted_data_files_count` | long | Number of data files deleted by this operation |
+| `deleted_manifest_files_count` | long | Number of manifest files deleted by this operation |
+| `deleted_manifest_lists_count` | long | Number of manifest List files deleted by this operation |
+
+#### Examples
+
+Remove snapshots older than one day, but retain the last 100 snapshots:
+
+```sql
+CALL hive_prod.system.expire_snapshots('db.sample', TIMESTAMP '2021-06-30 00:00:00.000', 100)
+```
+
+Erase all snapshots older than the current timestamp but retain the last 5 snapshots:
+
+```sql
+CALL hive_prod.system.expire_snapshots(table => 'db.sample', older_than => now(), retain_last => 5)
+```
+
+### `remove_orphan_files`
+
+Used to remove files which are not referenced in any metadata files of an Iceberg table and can thus be considered "orphaned".
+
+#### Usage
+
+| Argument Name | Required? | Type | Description |
+|---------------|-----------|------|-------------|
+| `table`       | ✔️  | string | Name of the table to clean |
+| `older_than`  | ️   | timestamp | Remove orphan files created before this timestamp (Defaults to 3 days ago) |
+| `location`    |    | string    | Directory to look for files in (defaults to the table's location) |
+| `dry_run`     |    | boolean   | When true, don't actually remove files (defaults to false) |
+
+#### Output
+
+| Output Name | Type | Description |
+| ------------|------|-------------|
+| `orphan_file_location` | String | The path to each file determined to be an orphan by this command |
+
+#### Examples
+
+List all the files that are candidates for removal by performing a dry run of the `remove_orphan_files` command on this table without actually removing them:
+```sql
+CALL catalog_name.system.remove_orphan_files(table => 'db.sample', dry_run => true)
+```
+
+Remove any files in the `tablelocation/data` folder which are not known to the table `db.sample`.
+```sql
+CALL catalog_name.system.remove_orphan_files(table => 'db.sample', location => 'tablelocation/data')
+```
+
+### `rewrite_manifests`
+
+Rewrite manifests for a table to optimize scan planning.
+
+Data files in manifests are sorted by fields in the partition spec. This procedure runs in parallel using a Spark job.
+
+See the [`RewriteManifestsAction` Javadoc](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RewriteManifestsAction.html)
+to see more configuration options.
+
+**Note** this procedure invalidates all cached Spark plans that reference the affected table.
+
+#### Usage
+
+| Argument Name | Required? | Type | Description |
+|---------------|-----------|------|-------------|
+| `table`       | ✔️  | string | Name of the table to update |
+| `use_caching` | ️   | boolean | Use Spark caching during operation (defaults to true) |
+
+#### Output
+
+| Output Name | Type | Description |
+| ------------|------|-------------|
+| `rewritten_manifests_count` | int | Number of manifests which were re-written by this command |
+| `added_mainfests_count`     | int | Number of new manifest files which were written by this command |
+
+#### Examples
+
+Rewrite the manifests in table `db.sample` and align manifest files with table partitioning.
+```sql
+CALL catalog_name.system.rewrite_manifests('db.sample')
+```
+
+Rewrite the manifests in table `db.sample` and disable the use of Spark caching. This could be done to avoid memory issues on executors.
+```sql
+CALL catalog_name.system.rewrite_manifests('db.sample', false)
+```
+
+## Table migration
+
+The `snapshot` and `migrate` procedures help test and migrate existing Hive or Spark tables to Iceberg.
+
+### `snapshot`
+
+Create a light-weight temporary copy of a table for testing, without changing the source table.
+
+The newly created table can be changed or written to without affecting the source table, but the snapshot uses the original table's data files.
+
+When inserts or overwrites run on the snapshot, new files are placed in the snapshot table's location rather than the original table location.
+
+When finished testing a snapshot table, clean it up by running `DROP TABLE`.
+
+**Note** Because tables created by `snapshot` are not the sole owners of their data files, they are prohibited from
+actions like `expire_snapshots` which would physically delete data files. Iceberg deletes, which only effect metadata,
+are still allowed. In addition, any operations which affect the original data files will disrupt the Snapshot's 
+integrity. DELETE statements executed against the original Hive table will remove original data files and the
+`snapshot` table will no longer be able to access them.
+
+See [`migrate`](#migrate) to replace an existing table with an Iceberg table.
+
+#### Usage
+
+| Argument Name | Required? | Type | Description |
+|---------------|-----------|------|-------------|
+| `source_table`| ✔️  | string | Name of the table to snapshot |
+| `table`       | ✔️  | string | Name of the new Iceberg table to create |
+| `location`    |    | string | Table location for the new table (delegated to the catalog by default) |
+| `properties`  | ️   | map<string, string> | Properties to add to the newly created table |
+
+#### Output
+
+| Output Name | Type | Description |
+| ------------|------|-------------|
+| `imported_files_count` | long | Number of files added to the new table |
+
+#### Examples
+
+Make an isolated Iceberg table which references table `db.sample` named `db.snap` at the
+catalog's default location for `db.snap`.
+```sql
+CALL catalog_name.system.snapshot('db.sample', 'db.snap')
+```
+
+Migrate an isolated Iceberg table which references table `db.sample` named `db.snap` at
+a manually specified location `/tmp/temptable/`.
+```sql
+CALL catalog_name.system.snapshot('db.sample', 'db.snap', '/tmp/temptable/')
+```
+
+### `migrate`
+
+Replace a table with an Iceberg table, loaded with the source's data files.
+
+Table schema, partitioning, properties, and location will be copied from the source table.
+
+Migrate will fail if any table partition uses an unsupported format. Supported formats are Avro, Parquet, and ORC.
+Existing data files are added to the Iceberg table's metadata and can be read using a name-to-id mapping created from the original table schema.
+
+To leave the original table intact while testing, use [`snapshot`](#snapshot) to create new temporary table that shares source data files and schema.
+
+#### Usage
+
+| Argument Name | Required? | Type | Description |
+|---------------|-----------|------|-------------|
+| `table`       | ✔️  | string | Name of the table to migrate |
+| `properties`  | ️   | map<string, string> | Properties for the new Iceberg table |
+
+#### Output
+
+| Output Name | Type | Description |
+| ------------|------|-------------|
+| `migrated_files_count` | long | Number of files appended to the Iceberg table |
+
+#### Examples
+
+Migrate the table `db.sample` in Spark's default catalog to an Iceberg table and add a property 'foo' set to 'bar':
+
+```sql
+CALL catalog_name.system.migrate('spark_catalog.db.sample', map('foo', 'bar'))
+```
+
+Migrate `db.sample` in the current catalog to an Iceberg table without adding any additional properties:
+```sql
+CALL catalog_name.system.migrate('db.sample')
+```
+
+### `add_files`
+
+Attempts to directly add files from a Hive or file based table into a given Iceberg table. Unlike migrate or
+snapshot, `add_files` can import files from a specific partition or partitions and does not create a new Iceberg table.
+This command will create metadata for the new files and will not move them. This procedure will not analyze the schema 
+of the files to determine if they actually match the schema of the Iceberg table. Upon completion, the Iceberg table 
+will then treat these files as if they are part of the set of files  owned by Iceberg. This means any subsequent 
+`expire_snapshot` calls will be able to physically delete the added files. This method should not be used if 
+`migrate` or `snapshot` are possible.
+
+#### Usage
+
+| Argument Name | Required? | Type | Description |
+|---------------|-----------|------|-------------|
+| `table`       | ✔️  | string | Table which will have files added to|
+| `source_table`| ✔️  | string | Table where files should come from, paths are also possible in the form of \`file_format\`.\`path\` |
+| `partition_filter`  | ️   | map<string, string> | A map of partitions in the source table to import from |
+
+Warning : Schema is not validated, adding files with different schema to the Iceberg table will cause issues.
+
+Warning : Files added by this method can be physically deleted by Iceberg operations
+
+#### Examples
+
+Add the files from table `db.src_table`, a Hive or Spark table registered in the session Catalog, to Iceberg table
+`db.tbl`. Only add files that exist within partitions where `part_col_1` is equal to `A`.
+```sql
+CALL spark_catalog.system.add_files(
+table => 'db.tbl',
+source_table => 'db.src_tbl',
+partition_filter => map('part_col_1', 'A')
+)
+```
+
+Add files from a `parquet` file based table at location `path/to/table` to the Iceberg table `db.tbl`. Add all
+files regardless of what partition they belong to.
+```sql
+CALL spark_catalog.system.add_files(
+  table => 'db.tbl',
+  source_table => '`parquet`.`path/to/table`'
+)
+```
+
+## `Metadata information`
+
+### `ancestors_of`
+
+Report the live snapshot IDs of parents of a specified snapshot
+
+#### Usage
+
+| Argument Name | Required? | Type | Description |
+|---------------|-----------|------|-------------|
+| `table`       | ✔️  | string | Name of the table to report live snapshot IDs |
+| `snapshot_id` |  ️  | long | Use a specified snapshot to get the live snapshot IDs of parents |
+
+> tip : Using snapshot_id
+> 
+> Given snapshots history with roll back to B and addition of C' -> D'
+> ```shell
+> A -> B - > C -> D
+>       \ -> C' -> (D')
+> ```
+> Not specifying the snapshot ID would return A -> B -> C' -> D', while providing the snapshot ID of
+> D as an argument would return A-> B -> C -> D
+
+#### Output
+
+| Output Name | Type | Description |
+| ------------|------|-------------|
+| `snapshot_id` | long | the ancestor snapshot id |
+| `timestamp` | long | snapshot creation time |
+
+#### Examples
+
+Get all the snapshot ancestors of current snapshots(default)
+```sql
+CALL spark_catalog.system.ancestors_of('db.tbl')
+```
+
+Get all the snapshot ancestors by a particular snapshot
+```sql
+CALL spark_catalog.system.ancestors_of('db.tbl', 1)
+CALL spark_catalog.system.ancestors_of(snapshot_id => 1, table => 'db.tbl')
+```
diff --git a/docs/content/docs/spark/spark-queries.md b/docs/content/docs/spark/spark-queries.md
new file mode 100644
index 0000000..76eca31
--- /dev/null
+++ b/docs/content/docs/spark/spark-queries.md
@@ -0,0 +1,265 @@
+---
+title: "Queries"
+url: spark-queries
+aliases:
+    - "spark/spark-queries"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Spark Queries
+
+To use Iceberg in Spark, first configure [Spark catalogs](../spark-configuration).
+
+Iceberg uses Apache Spark's DataSourceV2 API for data source and catalog implementations. Spark DSv2 is an evolving API with different levels of support in Spark versions:
+
+| Feature support                                  | Spark 3.0| Spark 2.4  | Notes                                          |
+|--------------------------------------------------|----------|------------|------------------------------------------------|
+| [`SELECT`](#querying-with-sql)                   | ✔️        |            |                                                |
+| [DataFrame reads](#querying-with-dataframes)     | ✔️        | ✔️          |                                                |
+| [Metadata table `SELECT`](#inspecting-tables)    | ✔️        |            |                                                |
+| [History metadata table](#history)               | ✔️        | ✔️          |                                                |
+| [Snapshots metadata table](#snapshots)           | ✔️        | ✔️          |                                                |
+| [Files metadata table](#files)                   | ✔️        | ✔️          |                                                |
+| [Manifests metadata table](#manifests)           | ✔️        | ✔️          |                                                |
+
+
+## Querying with SQL
+
+In Spark 3, tables use identifiers that include a [catalog name](../spark-configuration#using-catalogs).
+
+```sql
+SELECT * FROM prod.db.table -- catalog: prod, namespace: db, table: table
+```
+
+Metadata tables, like `history` and `snapshots`, can use the Iceberg table name as a namespace.
+
+For example, to read from the `files` metadata table for `prod.db.table`, run:
+
+```
+SELECT * FROM prod.db.table.files
+```
+
+## Querying with DataFrames
+
+To load a table as a DataFrame, use `table`:
+
+```scala
+val df = spark.table("prod.db.table")
+```
+
+### Catalogs with DataFrameReader
+
+Iceberg 0.11.0 adds multi-catalog support to `DataFrameReader` in both Spark 3.x and 2.4.
+
+Paths and table names can be loaded with Spark's `DataFrameReader` interface. How tables are loaded depends on how
+the identifier is specified. When using `spark.read.format("iceberg").path(table)` or `spark.table(table)` the `table`
+variable can take a number of forms as listed below:
+
+*  `file:/path/to/table`: loads a HadoopTable at given path
+*  `tablename`: loads `currentCatalog.currentNamespace.tablename`
+*  `catalog.tablename`: loads `tablename` from the specified catalog.
+*  `namespace.tablename`: loads `namespace.tablename` from current catalog
+*  `catalog.namespace.tablename`: loads `namespace.tablename` from the specified catalog.
+*  `namespace1.namespace2.tablename`: loads `namespace1.namespace2.tablename` from current catalog
+
+The above list is in order of priority. For example: a matching catalog will take priority over any namespace resolution.
+
+
+### Time travel
+
+To select a specific table snapshot or the snapshot at some time, Iceberg supports two Spark read options:
+
+* `snapshot-id` selects a specific table snapshot
+* `as-of-timestamp` selects the current snapshot at a timestamp, in milliseconds
+
+```scala
+// time travel to October 26, 1986 at 01:21:00
+spark.read
+    .option("as-of-timestamp", "499162860000")
+    .format("iceberg")
+    .load("path/to/table")
+```
+
+```scala
+// time travel to snapshot with ID 10963874102873L
+spark.read
+    .option("snapshot-id", 10963874102873L)
+    .format("iceberg")
+    .load("path/to/table")
+```
+
+{{< hint info >}}
+Spark does not currently support using `option` with `table` in DataFrameReader commands. All options will be silently 
+ignored. Do not use `table` when attempting to time-travel or use other options. Options will be supported with `table`
+in [Spark 3.1 - SPARK-32592](https://issues.apache.org/jira/browse/SPARK-32592).
+{{< /hint >}}
+
+Time travel is not yet supported by Spark's SQL syntax.
+
+### Spark 2.4
+
+Spark 2.4 requires using the DataFrame reader with `iceberg` as a format, because 2.4 does not support direct SQL queries:
+
+```scala
+// named metastore table
+spark.read.format("iceberg").load("catalog.db.table")
+// Hadoop path table
+spark.read.format("iceberg").load("hdfs://nn:8020/path/to/table")
+```
+
+#### Spark 2.4 with SQL
+
+To run SQL `SELECT` statements on Iceberg tables in 2.4, register the DataFrame as a temporary table:
+
+```scala
+val df = spark.read.format("iceberg").load("db.table")
+df.createOrReplaceTempView("table")
+
+spark.sql("""select count(1) from table""").show()
+```
+
+
+## Inspecting tables
+
+To inspect a table's history, snapshots, and other metadata, Iceberg supports metadata tables.
+
+Metadata tables are identified by adding the metadata table name after the original table name. For example, history for `db.table` is read using `db.table.history`.
+
+{{< hint info >}}
+As of Spark 3.0, the format of the table name for inspection (`catalog.database.table.metadata`) doesn't work with Spark's default catalog (`spark_catalog`). If you've replaced the default catalog, you may want to use `DataFrameReader` API to inspect the table. 
+{{< /hint >}}
+
+### History
+
+To show table history, run:
+
+```sql
+SELECT * FROM prod.db.table.history
+```
+```text
++-------------------------+---------------------+---------------------+---------------------+
+| made_current_at         | snapshot_id         | parent_id           | is_current_ancestor |
++-------------------------+---------------------+---------------------+---------------------+
+| 2019-02-08 03:29:51.215 | 5781947118336215154 | NULL                | true                |
+| 2019-02-08 03:47:55.948 | 5179299526185056830 | 5781947118336215154 | true                |
+| 2019-02-09 16:24:30.13  | 296410040247533544  | 5179299526185056830 | false               |
+| 2019-02-09 16:32:47.336 | 2999875608062437330 | 5179299526185056830 | true                |
+| 2019-02-09 19:42:03.919 | 8924558786060583479 | 2999875608062437330 | true                |
+| 2019-02-09 19:49:16.343 | 6536733823181975045 | 8924558786060583479 | true                |
++-------------------------+---------------------+---------------------+---------------------+
+```
+
+{{< hint info >}}
+**This shows a commit that was rolled back.** The example has two snapshots with the same parent, and one is *not* an ancestor of the current table state.
+{{< /hint >}}
+
+### Snapshots
+
+To show the valid snapshots for a table, run:
+
+```sql
+SELECT * FROM prod.db.table.snapshots
+```
+```text
++-------------------------+----------------+-----------+-----------+----------------------------------------------------+-------------------------------------------------------+
+| committed_at            | snapshot_id    | parent_id | operation | manifest_list                                      | summary                                               |
++-------------------------+----------------+-----------+-----------+----------------------------------------------------+-------------------------------------------------------+
+| 2019-02-08 03:29:51.215 | 57897183625154 | null      | append    | s3://.../table/metadata/snap-57897183625154-1.avro | { added-records -> 2478404, total-records -> 2478404, |
+|                         |                |           |           |                                                    |   added-data-files -> 438, total-data-files -> 438,   |
+|                         |                |           |           |                                                    |   spark.app.id -> application_1520379288616_155055 }  |
+| ...                     | ...            | ...       | ...       | ...                                                | ...                                                   |
++-------------------------+----------------+-----------+-----------+----------------------------------------------------+-------------------------------------------------------+
+```
+
+You can also join snapshots to table history. For example, this query will show table history, with the application ID that wrote each snapshot:
+
+```sql
+select
+    h.made_current_at,
+    s.operation,
+    h.snapshot_id,
+    h.is_current_ancestor,
+    s.summary['spark.app.id']
+from prod.db.table.history h
+join prod.db.table.snapshots s
+  on h.snapshot_id = s.snapshot_id
+order by made_current_at
+```
+```text
++-------------------------+-----------+----------------+---------------------+----------------------------------+
+| made_current_at         | operation | snapshot_id    | is_current_ancestor | summary[spark.app.id]            |
++-------------------------+-----------+----------------+---------------------+----------------------------------+
+| 2019-02-08 03:29:51.215 | append    | 57897183625154 | true                | application_1520379288616_155055 |
+| 2019-02-09 16:24:30.13  | delete    | 29641004024753 | false               | application_1520379288616_151109 |
+| 2019-02-09 16:32:47.336 | append    | 57897183625154 | true                | application_1520379288616_155055 |
+| 2019-02-08 03:47:55.948 | overwrite | 51792995261850 | true                | application_1520379288616_152431 |
++-------------------------+-----------+----------------+---------------------+----------------------------------+
+```
+
+### Files
+
+To show a table's data files and each file's metadata, run:
+
+```sql
+SELECT * FROM prod.db.table.files
+```
+```text
++-------------------------------------------------------------------------+-------------+--------------+--------------------+--------------------+------------------+-------------------+------------------+-----------------+-----------------+--------------+---------------+
+| file_path                                                               | file_format | record_count | file_size_in_bytes | column_sizes       | value_counts     | null_value_counts | nan_value_counts | lower_bounds    | upper_bounds    | key_metadata | split_offsets |
++-------------------------------------------------------------------------+-------------+--------------+--------------------+--------------------+------------------+-------------------+------------------+-----------------+-----------------+--------------+---------------+
+| s3:/.../table/data/00000-3-8d6d60e8-d427-4809-bcf0-f5d45a4aad96.parquet | PARQUET     | 1            | 597                | [1 -> 90, 2 -> 62] | [1 -> 1, 2 -> 1] | [1 -> 0, 2 -> 0]  | []               | [1 -> , 2 -> c] | [1 -> , 2 -> c] | null         | [4]           |
+| s3:/.../table/data/00001-4-8d6d60e8-d427-4809-bcf0-f5d45a4aad96.parquet | PARQUET     | 1            | 597                | [1 -> 90, 2 -> 62] | [1 -> 1, 2 -> 1] | [1 -> 0, 2 -> 0]  | []               | [1 -> , 2 -> b] | [1 -> , 2 -> b] | null         | [4]           |
+| s3:/.../table/data/00002-5-8d6d60e8-d427-4809-bcf0-f5d45a4aad96.parquet | PARQUET     | 1            | 597                | [1 -> 90, 2 -> 62] | [1 -> 1, 2 -> 1] | [1 -> 0, 2 -> 0]  | []               | [1 -> , 2 -> a] | [1 -> , 2 -> a] | null         | [4]           |
++-------------------------------------------------------------------------+-------------+--------------+--------------------+--------------------+------------------+-------------------+------------------+-----------------+-----------------+--------------+---------------+
+```
+
+### Manifests
+
+To show a table's file manifests and each file's metadata, run:
+
+```sql
+SELECT * FROM prod.db.table.manifests
+```
+```text
++----------------------------------------------------------------------+--------+-------------------+---------------------+------------------------+---------------------------+--------------------------+--------------------------------------+
+| path                                                                 | length | partition_spec_id | added_snapshot_id   | added_data_files_count | existing_data_files_count | deleted_data_files_count | partition_summaries                  |
++----------------------------------------------------------------------+--------+-------------------+---------------------+------------------------+---------------------------+--------------------------+--------------------------------------+
+| s3://.../table/metadata/45b5290b-ee61-4788-b324-b1e2735c0e10-m0.avro | 4479   | 0                 | 6668963634911763636 | 8                      | 0                         | 0                        | [[false,null,2019-05-13,2019-05-15]] |
++----------------------------------------------------------------------+--------+-------------------+---------------------+------------------------+---------------------------+--------------------------+--------------------------------------+
+```
+
+Note: 
+1. Fields within `partition_summaries` column of the manifests table correspond to `field_summary` structs within [manifest list](../spec#manifest-lists), with the following order: 
+   - `contains_null`
+   - `contains_nan`
+   - `lower_bound`
+   - `upper_bound`
+2. `contains_nan` could return null, which indicates that this information is not available from files' metadata. 
+   This usually occurs when reading from V1 table, where `contains_nan` is not populated. 
+
+## Inspecting with DataFrames
+
+Metadata tables can be loaded in Spark 2.4 or Spark 3 using the DataFrameReader API:
+
+```scala
+// named metastore table
+spark.read.format("iceberg").load("db.table.files").show(truncate = false)
+// Hadoop path table
+spark.read.format("iceberg").load("hdfs://nn:8020/path/to/table#files").show(truncate = false)
+```
+
diff --git a/docs/content/docs/spark/spark-structured-streaming.md b/docs/content/docs/spark/spark-structured-streaming.md
new file mode 100644
index 0000000..8679847
--- /dev/null
+++ b/docs/content/docs/spark/spark-structured-streaming.md
@@ -0,0 +1,113 @@
+---
+title: "Structured Streaming"
+url: spark-structured-streaming
+aliases:
+    - "spark/spark-structured-streaming"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Spark Structured Streaming
+
+Iceberg uses Apache Spark's DataSourceV2 API for data source and catalog implementations. Spark DSv2 is an evolving API
+with different levels of support in Spark versions.
+
+As of Spark 3.0, DataFrame reads and writes are supported.
+
+| Feature support                                  | Spark 3.0| Spark 2.4  | Notes                                          |
+|--------------------------------------------------|----------|------------|------------------------------------------------|
+| [DataFrame write](#streaming-writes)             | ✔        | ✔          |                                                |
+
+## Streaming Writes
+
+To write values from streaming query to Iceberg table, use `DataStreamWriter`:
+
+```scala
+val tableIdentifier: String = ...
+data.writeStream
+    .format("iceberg")
+    .outputMode("append")
+    .trigger(Trigger.ProcessingTime(1, TimeUnit.MINUTES))
+    .option("path", tableIdentifier)
+    .option("checkpointLocation", checkpointPath)
+    .start()
+```
+
+The `tableIdentifier` can be:
+
+* The fully-qualified path to a HDFS table, like `hdfs://nn:8020/path/to/table`
+* A table name if the table is tracked by a catalog, like `database.table_name`
+
+Iceberg doesn't support "continuous processing", as it doesn't provide the interface to "commit" the output.
+
+Iceberg supports `append` and `complete` output modes:
+
+* `append`: appends the rows of every micro-batch to the table
+* `complete`: replaces the table contents every micro-batch
+
+The table should be created in prior to start the streaming query. Refer [SQL create table](../spark-ddl/#create-table)
+on Spark page to see how to create the Iceberg table.
+
+### Writing against partitioned table
+
+Iceberg requires the data to be sorted according to the partition spec per task (Spark partition) in prior to write
+against partitioned table. For batch queries you're encouraged to do explicit sort to fulfill the requirement
+(see [here](../spark-writes/#writing-to-partitioned-tables)), but the approach would bring additional latency as
+repartition and sort are considered as heavy operations for streaming workload. To avoid additional latency, you can
+enable fanout writer to eliminate the requirement.
+
+```scala
+val tableIdentifier: String = ...
+data.writeStream
+    .format("iceberg")
+    .outputMode("append")
+    .trigger(Trigger.ProcessingTime(1, TimeUnit.MINUTES))
+    .option("path", tableIdentifier)
+    .option("fanout-enabled", "true")
+    .option("checkpointLocation", checkpointPath)
+    .start()
+```
+
+Fanout writer opens the files per partition value and doesn't close these files till write task is finished.
+This functionality is discouraged for batch query, as explicit sort against output rows isn't expensive for batch workload.
+
+## Maintenance for streaming tables
+
+Streaming queries can create new table versions quickly, which creates lots of table metadata to track those versions.
+Maintaining metadata by tuning the rate of commits, expiring old snapshots, and automatically cleaning up metadata files
+is highly recommended.
+
+### Tune the rate of commits
+
+Having high rate of commits would produce lots of data files, manifests, and snapshots which leads the table hard
+to maintain. We encourage having trigger interval 1 minute at minimum, and increase the interval if needed.
+
+The triggers section in [Structured Streaming Programming Guide](https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#triggers)
+documents how to configure the interval.
+
+### Expire old snapshots
+
+Each micro-batch written to a table produces a new snapshot, which are tracked in table metadata until they are expired to remove the metadata and any data files that are no longer needed. Snapshots accumulate quickly with frequent commits, so it is highly recommended that tables written by streaming queries are [regularly maintained](../maintenance#expire-snapshots).
+
+### Compacting data files
+
+The amount of data written in a micro batch is typically small, which can cause the table metadata to track lots of small files. [Compacting small files into larger files](../maintenance#compact-data-files) reduces the metadata needed by the table, and increases query efficiency.
+
+### Rewrite manifests
+
+To optimize write latency on streaming workload, Iceberg may write the new snapshot with a "fast" append that does not automatically compact manifests.
+This could lead lots of small manifest files. Manifests can be [rewritten to optimize queries and to compact](../maintenance#rewrite-manifests).
diff --git a/docs/content/docs/spark/spark-writes.md b/docs/content/docs/spark/spark-writes.md
new file mode 100644
index 0000000..30c43aa
--- /dev/null
+++ b/docs/content/docs/spark/spark-writes.md
@@ -0,0 +1,457 @@
+---
+title: "Writes"
+url: spark-writes
+aliases:
+    - "spark/spark-writes"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Spark Writes
+
+To use Iceberg in Spark, first configure [Spark catalogs](../spark-configuration).
+
+Some plans are only available when using [Iceberg SQL extensions](../spark-configuration#sql-extensions) in Spark 3.x.
+
+Iceberg uses Apache Spark's DataSourceV2 API for data source and catalog implementations. Spark DSv2 is an evolving API with different levels of support in Spark versions:
+
+| Feature support                                  | Spark 3.0| Spark 2.4  | Notes                                          |
+|--------------------------------------------------|----------|------------|------------------------------------------------|
+| [SQL insert into](#insert-into)                  | ✔️        |            |                                                |
+| [SQL merge into](#merge-into)                    | ✔️        |            | ⚠ Requires Iceberg Spark extensions            |
+| [SQL insert overwrite](#insert-overwrite)        | ✔️        |            |                                                |
+| [SQL delete from](#delete-from)                  | ✔️        |            | ⚠ Row-level delete requires Spark extensions   |
+| [SQL update](#update)                            | ✔️        |            | ⚠ Requires Iceberg Spark extensions            |
+| [DataFrame append](#appending-data)              | ✔️        | ✔️          |                                                |
+| [DataFrame overwrite](#overwriting-data)         | ✔️        | ✔️          | ⚠ Behavior changed in Spark 3.0                |
+| [DataFrame CTAS and RTAS](#creating-tables)      | ✔️        |            |                                                |
+
+
+## Writing with SQL
+
+Spark 3 supports SQL `INSERT INTO`, `MERGE INTO`, and `INSERT OVERWRITE`, as well as the new `DataFrameWriterV2` API.
+
+### `INSERT INTO`
+
+To append new data to a table, use `INSERT INTO`.
+
+```sql
+INSERT INTO prod.db.table VALUES (1, 'a'), (2, 'b')
+```
+```sql
+INSERT INTO prod.db.table SELECT ...
+```
+
+### `MERGE INTO`
+
+Spark 3 added support for `MERGE INTO` queries that can express row-level updates.
+
+Iceberg supports `MERGE INTO` by rewriting data files that contain rows that need to be updated in an `overwrite` commit.
+
+**`MERGE INTO` is recommended instead of `INSERT OVERWRITE`** because Iceberg can replace only the affected data files, and because the data overwritten by a dynamic overwrite may change if the table's partitioning changes.
+
+
+#### `MERGE INTO` syntax
+
+`MERGE INTO` updates a table, called the _target_ table, using a set of updates from another query, called the _source_. The update for a row in the target table is found using the `ON` clause that is like a join condition.
+
+```sql
+MERGE INTO prod.db.target t   -- a target table
+USING (SELECT ...) s          -- the source updates
+ON t.id = s.id                -- condition to find updates for target rows
+WHEN ...                      -- updates
+```
+
+Updates to rows in the target table are listed using `WHEN MATCHED ... THEN ...`. Multiple `MATCHED` clauses can be added with conditions that determine when each match should be applied. The first matching expression is used.
+
+```sql
+WHEN MATCHED AND s.op = 'delete' THEN DELETE
+WHEN MATCHED AND t.count IS NULL AND s.op = 'increment' THEN UPDATE SET t.count = 0
+WHEN MATCHED AND s.op = 'increment' THEN UPDATE SET t.count = t.count + 1
+```
+
+Source rows (updates) that do not match can be inserted:
+
+```sql
+WHEN NOT MATCHED THEN INSERT *
+```
+
+Inserts also support additional conditions:
+
+```sql
+WHEN NOT MATCHED AND s.event_time > still_valid_threshold THEN INSERT (id, count) VALUES (s.id, 1)
+```
+
+Only one record in the source data can update any given row of the target table, or else an error will be thrown.
+
+
+### `INSERT OVERWRITE`
+
+`INSERT OVERWRITE` can replace data in the table with the result of a query. Overwrites are atomic operations for Iceberg tables.
+
+The partitions that will be replaced by `INSERT OVERWRITE` depends on Spark's partition overwrite mode and the partitioning of a table. `MERGE INTO` can rewrite only affected data files and has more easily understood behavior, so it is recommended instead of `INSERT OVERWRITE`.
+
+{{< hint danger >}}
+Spark 3.0.0 has a correctness bug that affects dynamic `INSERT OVERWRITE` with hidden partitioning, [SPARK-32168][spark-32168].
+For tables with [hidden partitions](../partitioning), make sure you use Spark 3.0.1.
+{{< /hint >}}
+
+[spark-32168]: https://issues.apache.org/jira/browse/SPARK-32168
+
+
+#### Overwrite behavior
+
+Spark's default overwrite mode is **static**, but **dynamic overwrite mode is recommended when writing to Iceberg tables.** Static overwrite mode determines which partitions to overwrite in a table by converting the `PARTITION` clause to a filter, but the `PARTITION` clause can only reference table columns.
+
+Dynamic overwrite mode is configured by setting `spark.sql.sources.partitionOverwriteMode=dynamic`.
+
+To demonstrate the behavior of dynamic and static overwrites, consider a `logs` table defined by the following DDL:
+
+```sql
+CREATE TABLE prod.my_app.logs (
+    uuid string NOT NULL,
+    level string NOT NULL,
+    ts timestamp NOT NULL,
+    message string)
+USING iceberg
+PARTITIONED BY (level, hours(ts))
+```
+
+#### Dynamic overwrite
+
+When Spark's overwrite mode is dynamic, partitions that have rows produced by the `SELECT` query will be replaced.
+
+For example, this query removes duplicate log events from the example `logs` table.
+
+```sql
+INSERT OVERWRITE prod.my_app.logs
+SELECT uuid, first(level), first(ts), first(message)
+FROM prod.my_app.logs
+WHERE cast(ts as date) = '2020-07-01'
+GROUP BY uuid
+```
+
+In dynamic mode, this will replace any partition with rows in the `SELECT` result. Because the date of all rows is restricted to 1 July, only hours of that day will be replaced.
+
+#### Static overwrite
+
+When Spark's overwrite mode is static, the `PARTITION` clause is converted to a filter that is used to delete from the table. If the `PARTITION` clause is omitted, all partitions will be replaced.
+
+Because there is no `PARTITION` clause in the query above, it will drop all existing rows in the table when run in static mode, but will only write the logs from 1 July.
+
+To overwrite just the partitions that were loaded, add a `PARTITION` clause that aligns with the `SELECT` query filter:
+
+```sql
+INSERT OVERWRITE prod.my_app.logs
+PARTITION (level = 'INFO')
+SELECT uuid, first(level), first(ts), first(message)
+FROM prod.my_app.logs
+WHERE level = 'INFO'
+GROUP BY uuid
+```
+
+Note that this mode cannot replace hourly partitions like the dynamic example query because the `PARTITION` clause can only reference table columns, not hidden partitions.
+
+### `DELETE FROM`
+
+Spark 3 added support for `DELETE FROM` queries to remove data from tables.
+
+Delete queries accept a filter to match rows to delete.
+
+```sql
+DELETE FROM prod.db.table
+WHERE ts >= '2020-05-01 00:00:00' and ts < '2020-06-01 00:00:00'
+
+DELETE FROM prod.db.all_events
+WHERE session_time < (SELECT min(session_time) FROM prod.db.good_events)
+
+DELETE FROM prod.db.orders AS t1
+WHERE EXISTS (SELECT oid FROM prod.db.returned_orders WHERE t1.oid = oid)
+```
+
+If the delete filter matches entire partitions of the table, Iceberg will perform a metadata-only delete. If the filter matches individual rows of a table, then Iceberg will rewrite only the affected data files.
+
+### `UPDATE`
+
+Spark 3.1 added support for `UPDATE` queries that update matching rows in tables.
+
+Update queries accept a filter to match rows to update.
+
+```sql
+UPDATE prod.db.table
+SET c1 = 'update_c1', c2 = 'update_c2'
+WHERE ts >= '2020-05-01 00:00:00' and ts < '2020-06-01 00:00:00'
+
+UPDATE prod.db.all_events
+SET session_time = 0, ignored = true
+WHERE session_time < (SELECT min(session_time) FROM prod.db.good_events)
+
+UPDATE prod.db.orders AS t1
+SET order_status = 'returned'
+WHERE EXISTS (SELECT oid FROM prod.db.returned_orders WHERE t1.oid = oid)
+```
+
+For more complex row-level updates based on incoming data, see the section on `MERGE INTO`.
+
+## Writing with DataFrames
+
+Spark 3 introduced the new `DataFrameWriterV2` API for writing to tables using data frames. The v2 API is recommended for several reasons:
+
+* CTAS, RTAS, and overwrite by filter are supported
+* All operations consistently write columns to a table by name
+* Hidden partition expressions are supported in `partitionedBy`
+* Overwrite behavior is explicit, either dynamic or by a user-supplied filter
+* The behavior of each operation corresponds to SQL statements
+    - `df.writeTo(t).create()` is equivalent to `CREATE TABLE AS SELECT`
+    - `df.writeTo(t).replace()` is equivalent to `REPLACE TABLE AS SELECT`
+    - `df.writeTo(t).append()` is equivalent to `INSERT INTO`
+    - `df.writeTo(t).overwritePartitions()` is equivalent to dynamic `INSERT OVERWRITE`
+
+The v1 DataFrame `write` API is still supported, but is not recommended.
+
+{{< hint danger >}}
+When writing with the v1 DataFrame API in Spark 3, use `saveAsTable` or `insertInto` to load tables with a catalog.
+Using `format("iceberg")` loads an isolated table reference that will not automatically refresh tables used by queries.
+{{< /hint >}}
+
+
+### Appending data
+
+To append a dataframe to an Iceberg table, use `append`:
+
+```scala
+val data: DataFrame = ...
+data.writeTo("prod.db.table").append()
+```
+
+#### Spark 2.4
+
+In Spark 2.4, use the v1 API with `append` mode and `iceberg` format:
+
+```scala
+data.write
+    .format("iceberg")
+    .mode("append")
+    .save("db.table")
+```
+
+### Overwriting data
+
+To overwrite partitions dynamically, use `overwritePartitions()`:
+
+```scala
+val data: DataFrame = ...
+data.writeTo("prod.db.table").overwritePartitions()
+```
+
+To explicitly overwrite partitions, use `overwrite` to supply a filter:
+
+```scala
+data.writeTo("prod.db.table").overwrite($"level" === "INFO")
+```
+
+#### Spark 2.4
+
+In Spark 2.4, overwrite values in an Iceberg table with `overwrite` mode and `iceberg` format:
+
+```scala
+data.write
+    .format("iceberg")
+    .mode("overwrite")
+    .save("db.table")
+```
+
+{{< hint danger >}}
+**The behavior of overwrite mode changed between Spark 2.4 and Spark 3**.
+{{< /hint >}}
+
+The behavior of DataFrameWriter overwrite mode was undefined in Spark 2.4, but is required to overwrite the entire table in Spark 3. Because of this new requirement, the Iceberg source's behavior changed in Spark 3. In Spark 2.4, the behavior was to dynamically overwrite partitions. To use the Spark 2.4 behavior, add option `overwrite-mode=dynamic`.
+
+### Creating tables
+
+To run a CTAS or RTAS, use `create`, `replace`, or `createOrReplace` operations:
+
+```scala
+val data: DataFrame = ...
+data.writeTo("prod.db.table").create()
+```
+
+Create and replace operations support table configuration methods, like `partitionedBy` and `tableProperty`:
+
+```scala
+data.writeTo("prod.db.table")
+    .tableProperty("write.format.default", "orc")
+    .partitionBy($"level", days($"ts"))
+    .createOrReplace()
+```
+
+## Writing to partitioned tables
+
+Iceberg requires the data to be sorted according to the partition spec per task (Spark partition) in prior to write
+against partitioned table. This applies both Writing with SQL and Writing with DataFrames.
+
+{{< hint info >}}
+Explicit sort is necessary because Spark doesn't allow Iceberg to request a sort before writing as of Spark 3.0.
+[SPARK-23889](https://issues.apache.org/jira/browse/SPARK-23889) is filed to enable Iceberg to require specific
+distribution & sort order to Spark.
+{{< /hint >}}
+
+{{< hint info >}}
+Both global sort (`orderBy`/`sort`) and local sort (`sortWithinPartitions`) work for the requirement.
+{{< /hint >}}
+
+Let's go through writing the data against below sample table:
+
+```sql
+CREATE TABLE prod.db.sample (
+    id bigint,
+    data string,
+    category string,
+    ts timestamp)
+USING iceberg
+PARTITIONED BY (days(ts), category)
+```
+
+To write data to the sample table, your data needs to be sorted by `days(ts), category`.
+
+If you're inserting data with SQL statement, you can use `ORDER BY` to achieve it, like below:
+
+```sql
+INSERT INTO prod.db.sample
+SELECT id, data, category, ts FROM another_table
+ORDER BY ts, category
+```
+
+If you're inserting data with DataFrame, you can use either `orderBy`/`sort` to trigger global sort, or `sortWithinPartitions`
+to trigger local sort. Local sort for example:
+
+```scala
+data.sortWithinPartitions("ts", "category")
+    .writeTo("prod.db.sample")
+    .append()
+```
+
+You can simply add the original column to the sort condition for the most partition transformations, except `bucket`.
+
+For `bucket` partition transformation, you need to register the Iceberg transform function in Spark to specify it during sort.
+
+Let's go through another sample table having bucket partition:
+
+```sql
+CREATE TABLE prod.db.sample (
+    id bigint,
+    data string,
+    category string,
+    ts timestamp)
+USING iceberg
+PARTITIONED BY (bucket(16, id))
+```
+
+You need to register the function to deal with bucket, like below:
+
+```scala
+import org.apache.iceberg.spark.IcebergSpark
+import org.apache.spark.sql.types.DataTypes
+
+IcebergSpark.registerBucketUDF(spark, "iceberg_bucket16", DataTypes.LongType, 16)
+```
+
+{{< hint info >}}
+Explicit registration of the function is necessary because Spark doesn't allow Iceberg to provide functions.
+[SPARK-27658](https://issues.apache.org/jira/browse/SPARK-27658) is filed to enable Iceberg to provide functions
+which can be used in query.
+{{< /hint >}}
+
+Here we just registered the bucket function as `iceberg_bucket16`, which can be used in sort clause.
+
+If you're inserting data with SQL statement, you can use the function like below:
+
+```sql
+INSERT INTO prod.db.sample
+SELECT id, data, category, ts FROM another_table
+ORDER BY iceberg_bucket16(id)
+```
+
+If you're inserting data with DataFrame, you can use the function like below:
+
+```scala
+data.sortWithinPartitions(expr("iceberg_bucket16(id)"))
+    .writeTo("prod.db.sample")
+    .append()
+```
+
+
+## Type compatibility
+
+Spark and Iceberg support different set of types. Iceberg does the type conversion automatically, but not for all combinations,
+so you may want to understand the type conversion in Iceberg in prior to design the types of columns in your tables.
+
+### Spark type to Iceberg type
+
+This type conversion table describes how Spark types are converted to the Iceberg types. The conversion applies on both creating Iceberg table and writing to Iceberg table via Spark.
+
+| Spark           | Iceberg                 | Notes |
+|-----------------|-------------------------|-------|
+| boolean         | boolean                 |       |
+| short           | integer                 |       |
+| byte            | integer                 |       |
+| integer         | integer                 |       |
+| long            | long                    |       |
+| float           | float                   |       |
+| double          | double                  |       |
+| date            | date                    |       |
+| timestamp       | timestamp with timezone |       |
+| char            | string                  |       |
+| varchar         | string                  |       |
+| string          | string                  |       |
+| binary          | binary                  |       |
+| decimal         | decimal                 |       |
+| struct          | struct                  |       |
+| array           | list                    |       |
+| map             | map                     |       |
+
+{{< hint info >}}
+The table is based on representing conversion during creating table. In fact, broader supports are applied on write. Here're some points on write:
+
+* Iceberg numeric types (`integer`, `long`, `float`, `double`, `decimal`) support promotion during writes. e.g. You can write Spark types `short`, `byte`, `integer`, `long` to Iceberg type `long`.
+* You can write to Iceberg `fixed` type using Spark `binary` type. Note that assertion on the length will be performed.
+{{< /hint >}}
+
+### Iceberg type to Spark type
+
+This type conversion table describes how Iceberg types are converted to the Spark types. The conversion applies on reading from Iceberg table via Spark.
+
+| Iceberg                    | Spark                   | Note          |
+|----------------------------|-------------------------|---------------|
+| boolean                    | boolean                 |               |
+| integer                    | integer                 |               |
+| long                       | long                    |               |
+| float                      | float                   |               |
+| double                     | double                  |               |
+| date                       | date                    |               |
+| time                       |                         | Not supported |
+| timestamp with timezone    | timestamp               |               |
+| timestamp without timezone |                         | Not supported |
+| string                     | string                  |               |
+| uuid                       | string                  |               |
+| fixed                      | binary                  |               |
+| binary                     | binary                  |               |
+| decimal                    | decimal                 |               |
+| struct                     | struct                  |               |
+| list                       | array                   |               |
+| map                        | map                     |               |
+
diff --git a/docs/content/docs/tables/_index.md b/docs/content/docs/tables/_index.md
new file mode 100644
index 0000000..033a32a
--- /dev/null
+++ b/docs/content/docs/tables/_index.md
@@ -0,0 +1,5 @@
+---
+bookIconFa: fa-table
+bookFlatSection: true
+weight: 100
+---
\ No newline at end of file
diff --git a/docs/content/docs/tables/configuration.md b/docs/content/docs/tables/configuration.md
new file mode 100644
index 0000000..8c6c32f
--- /dev/null
+++ b/docs/content/docs/tables/configuration.md
@@ -0,0 +1,131 @@
+---
+url: configuration
+aliases:
+    - "tables/configuration"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Configuration
+
+## Table properties
+
+Iceberg tables support table properties to configure table behavior, like the default split size for readers.
+
+### Read properties
+
+| Property                          | Default            | Description                                            |
+| --------------------------------- | ------------------ | ------------------------------------------------------ |
+| read.split.target-size            | 134217728 (128 MB) | Target size when combining data input splits           |
+| read.split.metadata-target-size   | 33554432 (32 MB)   | Target size when combining metadata input splits       |
+| read.split.planning-lookback      | 10                 | Number of bins to consider when combining input splits |
+| read.split.open-file-cost         | 4194304 (4 MB)     | The estimated cost to open a file, used as a minimum weight when combining splits. |
+
+### Write properties
+
+| Property                           | Default            | Description                                        |
+| ---------------------------------- | ------------------ | -------------------------------------------------- |
+| write.format.default               | parquet            | Default file format for the table; parquet, avro, or orc |
+| write.parquet.row-group-size-bytes | 134217728 (128 MB) | Parquet row group size                             |
+| write.parquet.page-size-bytes      | 1048576 (1 MB)     | Parquet page size                                  |
+| write.parquet.dict-size-bytes      | 2097152 (2 MB)     | Parquet dictionary page size                       |
+| write.parquet.compression-codec    | gzip               | Parquet compression codec                          |
+| write.parquet.compression-level    | null               | Parquet compression level                          |
+| write.avro.compression-codec       | gzip               | Avro compression codec                             |
+| write.location-provider.impl       | null               | Optional custom implemention for LocationProvider  |
+| write.metadata.compression-codec   | none               | Metadata compression codec; none or gzip           |
+| write.metadata.metrics.default     | truncate(16)       | Default metrics mode for all columns in the table; none, counts, truncate(length), or full |
+| write.metadata.metrics.column.col1 | (not set)          | Metrics mode for column 'col1' to allow per-column tuning; none, counts, truncate(length), or full |
+| write.target-file-size-bytes       | 536870912 (512 MB) | Controls the size of files generated to target about this many bytes |
+| write.distribution-mode            | none               | Defines distribution of write data: __none__: don't shuffle rows; __hash__: hash distribute by partition key ; __range__: range distribute by partition key or sort key if table has an SortOrder |
+| write.wap.enabled                  | false              | Enables write-audit-publish writes |
+| write.summary.partition-limit      | 0                  | Includes partition-level summary stats in snapshot summaries if the changed partition count is less than this limit |
+| write.metadata.delete-after-commit.enabled | false      | Controls whether to delete the oldest version metadata files after commit |
+| write.metadata.previous-versions-max       | 100        | The max number of previous version metadata files to keep before deleting after commit |
+| write.spark.fanout.enabled       | false        | Enables Partitioned-Fanout-Writer writes in Spark |
+
+### Table behavior properties
+
+| Property                           | Default          | Description                                                   |
+| ---------------------------------- | ---------------- | ------------------------------------------------------------- |
+| commit.retry.num-retries           | 4                | Number of times to retry a commit before failing              |
+| commit.retry.min-wait-ms           | 100              | Minimum time in milliseconds to wait before retrying a commit |
+| commit.retry.max-wait-ms           | 60000 (1 min)    | Maximum time in milliseconds to wait before retrying a commit |
+| commit.retry.total-timeout-ms      | 1800000 (30 min) | Maximum time in milliseconds to wait before retrying a commit |
+| commit.status-check.num-retries    | 3                | Number of times to check whether a commit succeeded after a connection is lost before failing due to an unknown commit state |
+| commit.status-check.min-wait-ms    | 1000 (1s)        | Minimum time in milliseconds to wait before retrying a status-check |
+| commit.status-check.max-wait-ms    | 60000 (1 min)    | Maximum time in milliseconds to wait before retrying a status-check |
+| commit.status-check.total-timeout-ms| 1800000 (30 min) | Maximum time in milliseconds to wait before retrying a status-check |
+| commit.manifest.target-size-bytes  | 8388608 (8 MB)   | Target size when merging manifest files                       |
+| commit.manifest.min-count-to-merge | 100              | Minimum number of manifests to accumulate before merging      |
+| commit.manifest-merge.enabled      | true             | Controls whether to automatically merge manifests on writes   |
+| history.expire.max-snapshot-age-ms | 432000000 (5 days) | Default max age of snapshots to keep while expiring snapshots    |
+| history.expire.min-snapshots-to-keep | 1                | Default min number of snapshots to keep while expiring snapshots |
+
+### Compatibility flags
+
+| Property                                      | Default  | Description                                                   |
+| --------------------------------------------- | -------- | ------------------------------------------------------------- |
+| compatibility.snapshot-id-inheritance.enabled | false    | Enables committing snapshots without explicit snapshot IDs    |
+
+## Catalog properties
+
+Iceberg catalogs support using catalog properties to configure catalog behaviors. Here is a list of commonly used catalog properties:
+
+| Property                          | Default            | Description                                            |
+| --------------------------------- | ------------------ | ------------------------------------------------------ |
+| catalog-impl                      | null               | a custom `Catalog` implementation to use by an engine  |
+| io-impl                           | null               | a custom `FileIO` implementation to use in a catalog   |
+| warehouse                         | null               | the root path of the data warehouse                    |
+| uri                               | null               | a URI string, such as Hive metastore URI               |
+| clients                           | 2                  | client pool size                                       |
+
+`HadoopCatalog` and `HiveCatalog` can access the properties in their constructors.
+Any other custom catalog can access the properties by implementing `Catalog.initialize(catalogName, catalogProperties)`.
+The properties can be manually constructed or passed in from a compute engine like Spark or Flink.
+Spark uses its session properties as catalog properties, see more details in the [Spark configuration](../spark-configuration#catalog-configuration) section.
+Flink passes in catalog properties through `CREATE CATALOG` statement, see more details in the [Flink](../flink/#creating-catalogs-and-using-catalogs) section.
+
+### Lock catalog properties
+
+Here are the catalog properties related to locking. They are used by some catalog implementations to control the locking behavior during commits.
+
+| Property                          | Default            | Description                                            |
+| --------------------------------- | ------------------ | ------------------------------------------------------ |
+| lock-impl                         | null               | a custom implementation of the lock manager, the actual interface depends on the catalog used  |
+| lock.table                        | null               | an auxiliary table for locking, such as in [AWS DynamoDB lock manager](../aws/#dynamodb-for-commit-locking)  |
+| lock.acquire-interval-ms          | 5 seconds          | the interval to wait between each attempt to acquire a lock  |
+| lock.acquire-timeout-ms           | 3 minutes          | the maximum time to try acquiring a lock               |
+| lock.heartbeat-interval-ms        | 3 seconds          | the interval to wait between each heartbeat after acquiring a lock  |
+| lock.heartbeat-timeout-ms         | 15 seconds         | the maximum time without a heartbeat to consider a lock expired  |
+
+
+## Hadoop configuration
+
+The following properties from the Hadoop configuration are used by the Hive Metastore connector.
+
+| Property                              | Default          | Description                                                                        |
+| ------------------------------------- | ---------------- | ---------------------------------------------------------------------------------- |
+| iceberg.hive.client-pool-size         | 5                | The size of the Hive client pool when tracking tables in HMS                       |
+| iceberg.hive.lock-timeout-ms          | 180000 (3 min)   | Maximum time in milliseconds to acquire a lock                                     |
+| iceberg.hive.lock-check-min-wait-ms   | 50               | Minimum time in milliseconds to check back on the status of lock acquisition       |
+| iceberg.hive.lock-check-max-wait-ms   | 5000             | Maximum time in milliseconds to check back on the status of lock acquisition       |
+
+Note: `iceberg.hive.lock-check-max-wait-ms` should be less than the [transaction timeout](https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-hive.txn.timeout) 
+of the Hive Metastore (`hive.txn.timeout` or `metastore.txn.timeout` in the newer versions). Otherwise, the heartbeats on the lock (which happens during the lock checks) would end up expiring in the 
+Hive Metastore before the lock is retried from Iceberg.
+
diff --git a/docs/content/docs/tables/evolution.md b/docs/content/docs/tables/evolution.md
new file mode 100644
index 0000000..c47c8b4
--- /dev/null
+++ b/docs/content/docs/tables/evolution.md
@@ -0,0 +1,103 @@
+---
+url: evolution
+aliases:
+    - "tables/evolution"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+ 
+# Evolution
+
+Iceberg supports **in-place table evolution**. You can [evolve a table schema](#schema-evolution) just like SQL -- even in nested structures -- or [change partition layout](#partition-evolution) when data volume changes. Iceberg does not require costly distractions, like rewriting table data or migrating to a new table.
+
+For example, Hive table partitioning cannot change so moving from a daily partition layout to an hourly partition layout requires a new table. And because queries are dependent on partitions, queries must be rewritten for the new table. In some cases, even changes as simple as renaming a column are either not supported, or can cause [data correctness](#correctness) problems.
+
+## Schema evolution
+
+Iceberg supports the following schema evolution changes:
+
+* **Add** -- add a new column to the table or to a nested struct
+* **Drop** -- remove an existing column from the table or a nested struct
+* **Rename** -- rename an existing column or field in a nested struct
+* **Update** -- widen the type of a column, struct field, map key, map value, or list element
+* **Reorder** -- change the order of columns or fields in a nested struct
+
+Iceberg schema updates are **metadata changes**, so no data files need to be rewritten to perform the update.
+
+Note that map keys do not support adding or dropping struct fields that would change equality.
+
+### Correctness
+
+Iceberg guarantees that **schema evolution changes are independent and free of side-effects**, without rewriting files:
+
+1.  Added columns never read existing values from another column.
+2.  Dropping a column or field does not change the values in any other column.
+3.  Updating a column or field does not change values in any other column.
+4.  Changing the order of columns or fields in a struct does not change the values associated with a column or field name.
+
+Iceberg uses unique IDs to track each column in a table. When you add a column, it is assigned a new ID so existing data is never used by mistake.
+
+* Formats that track columns by name can inadvertently un-delete a column if a name is reused, which violates #1.
+* Formats that track columns by position cannot delete columns without changing the names that are used for each column, which violates #2.
+
+
+## Partition evolution
+
+Iceberg table partitioning can be updated in an existing table because queries do not reference partition values directly.
+
+When you evolve a partition spec, the old data written with an earlier spec remains unchanged. New data is written using the new spec in a new layout. Metadata for each of the partition versions is kept separately. Because of this, when you start writing queries, you get split planning. This is where each partition layout plans files separately using the filter it derives for that specific partition layout. Here's a visual representation of a contrived example: 
+
+![Partition evolution diagram](../img/partition-spec-evolution.png)
+*The data for 2008 is partitioned by month. Starting from 2009 the table is updated so that the data is instead partitioned by day. Both partitioning layouts are able to coexist in the same table.*
+
+Iceberg uses [hidden partitioning](../partitioning), so you don't *need* to write queries for a specific partition layout to be fast. Instead, you can write queries that select the data you need, and Iceberg automatically prunes out files that don't contain matching data.
+
+Partition evolution is a metadata operation and does not eagerly rewrite files.
+
+Iceberg's Java table API provides `updateSpec` API to update partition spec. 
+For example, the following code could be used to update the partition spec to add a new partition field that places `id` column values into 8 buckets and remove an existing partition field `category`:
+
+```java
+Table sampleTable = ...;
+sampleTable.updateSpec()
+    .addField(bucket("id", 8))
+    .removeField("category")
+    .commit();
+```
+
+Spark supports updating partition spec through its `ALTER TABLE` SQL statement, see more details in [Spark SQL](../spark-ddl/#alter-table--add-partition-field).
+
+## Sort order evolution
+
+Similar to partition spec, Iceberg sort order can also be updated in an existing table.
+When you evolve a sort order, the old data written with an earlier order remains unchanged.
+Engines can always choose to write data in the latest sort order or unsorted when sorting is prohibitively expensive.
+
+Iceberg's Java table API provides `replaceSortOrder` API to update partition spec. 
+For example, the following code could be used to create a new sort order 
+with `id` column sorted in ascending order with nulls last,
+and `category` column sorted in descending order with nulls first:
+
+```java
+Table sampleTable = ...;
+sampleTable.replaceSortOrder()
+   .asc("id", NullOrder.NULLS_LAST)
+   .dec("category", NullOrder.NULL_FIRST)
+   .commit();
+```
+
+Spark supports updating sort order through its `ALTER TABLE` SQL statement, see more details in [Spark SQL](../spark-ddl/#alter-table--write-ordered-by).
diff --git a/docs/content/docs/tables/maintenance.md b/docs/content/docs/tables/maintenance.md
new file mode 100644
index 0000000..21e49fd
--- /dev/null
+++ b/docs/content/docs/tables/maintenance.md
@@ -0,0 +1,149 @@
+---
+url: maintenance
+aliases:
+    - "tables/maintenance"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Maintenance
+
+{{< hint info >}}
+Maintenance operations require the `Table` instance. Please refer [Java API quickstart](../java-api-quickstart/#create-a-table) page to refer how to load an existing table.
+{{< /hint >}}
+## Recommended Maintenance
+
+### Expire Snapshots
+
+Each write to an Iceberg table creates a new _snapshot_, or version, of a table. Snapshots can be used for time-travel queries, or the table can be rolled back to any valid snapshot.
+
+Snapshots accumulate until they are expired by the [`expireSnapshots`](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/Table.html#expireSnapshots--) operation. Regularly expiring snapshots is recommended to delete data files that are no longer needed, and to keep the size of table metadata small.
+
+This example expires snapshots that are older than 1 day:
+
+```java
+Table table = ...
+long tsToExpire = System.currentTimeMillis() - (1000 * 60 * 60 * 24); // 1 day
+table.expireSnapshots()
+     .expireOlderThan(tsToExpire)
+     .commit();
+```
+
+See the [`ExpireSnapshots` Javadoc](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/ExpireSnapshots.html) to see more configuration options.
+
+There is also a Spark action that can run table expiration in parallel for large tables:
+
+```java
+Actions.forTable(table)
+    .expireSnapshots()
+    .expireOlderThan(tsToExpire)
+    .execute();
+```
+
+Expiring old snapshots removes them from metadata, so they are no longer available for time travel queries.
+
+{{< hint info >}}
+Data files are not deleted until they are no longer referenced by a snapshot that may be used for time travel or rollback.
+Regularly expiring snapshots deletes unused data files.
+{{< /hint >}}
+
+### Remove old metadata files
+
+Iceberg keeps track of table metadata using JSON files. Each change to a table produces a new metadata file to provide atomicity.
+
+Old metadata files are kept for history by default. Tables with frequent commits, like those written by streaming jobs, may need to regularly clean metadata files.
+
+To automatically clean metadata files, set `write.metadata.delete-after-commit.enabled=true` in table properties. This will keep some metadata files (up to `write.metadata.previous-versions-max`) and will delete the oldest metadata file after each new one is created.
+
+| Property                                     | Description                                                  |
+| -------------------------------------------- | ------------------------------------------------------------ |
+| `write.metadata.delete-after-commit.enabled` | Whether to delete old metadata files after each table commit |
+| `write.metadata.previous-versions-max`       | The number of old metadata files to keep                     |
+
+See [table write properties](../configuration/#write-properties) for more details.
+
+### Remove orphan files
+
+In Spark and other distributed processing engines, task or job failures can leave files that are not referenced by table metadata, and in some cases normal snapshot expiration may not be able to determine a file is no longer needed and delete it.
+
+To clean up these "orphan" files under a table location, use the `removeOrphanFiles` action.
+
+```java
+Table table = ...
+Actions.forTable(table)
+    .removeOrphanFiles()
+    .execute();
+```
+
+See the [RemoveOrphanFilesAction Javadoc](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RemoveOrphanFilesAction.html) to see more configuration options.
+
+This action may take a long time to finish if you have lots of files in data and metadata directories. It is recommended to execute this periodically, but you may not need to execute this often.
+
+{{< hint info >}}
+It is dangerous to remove orphan files with a retention interval shorter than the time expected for any write to complete because it
+might corrupt the table if in-progress files are considered orphaned and are deleted. The default interval is 3 days.
+{{< /hint >}}
+    
+{{< hint info >}}
+Iceberg uses the string representations of paths when determining which files need to be removed. On some file systems,
+the path can change over time, but it still represents the same file. For example, if you change authorities for an HDFS cluster, 
+none of the old path urls used during creation will match those that appear in a current listing. *This will lead to data loss when 
+RemoveOrphanFiles is run*. Please be sure the entries in your MetadataTables match those listed by the Hadoop
+FileSystem API to avoid unintentional deletion. 
+{{< /hint >}}
+
+## Optional Maintenance
+
+Some tables require additional maintenance. For example, streaming queries may produce small data files that should be [compacted into larger files](#compact-data-files). And some tables can benefit from [rewriting manifest files](#rewrite-manifests) to make locating data for queries much faster.
+
+### Compact data files
+
+Iceberg tracks each data file in a table. More data files leads to more metadata stored in manifest files, and small data files causes an unnecessary amount of metadata and less efficient queries from file open costs.
+
+Iceberg can compact data files in parallel using Spark with the `rewriteDataFiles` action. This will combine small files into larger files to reduce metadata overhead and runtime file open cost.
+
+```java
+Table table = ...
+Actions.forTable(table).rewriteDataFiles()
+    .filter(Expressions.equal("date", "2020-08-18"))
+    .targetSizeInBytes(500 * 1024 * 1024) // 500 MB
+    .execute();
+```
+
+The `files` metadata table is useful for inspecting data file sizes and determining when to compact partitons.
+
+See the [`RewriteDataFilesAction` Javadoc](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RewriteDataFilesAction.html) to see more configuration options.
+
+### Rewrite manifests
+
+Iceberg uses metadata in its manifest list and manifest files speed up query planning and to prune unnecessary data files. The metadata tree functions as an index over a table's data.
+
+Manifests in the metadata tree are automatically compacted in the order they are added, which makes queries faster when the write pattern aligns with read filters. For example, writing hourly-partitioned data as it arrives is aligned with time range query filters.
+
+When a table's write pattern doesn't align with the query pattern, metadata can be rewritten to re-group data files into manifests using `rewriteManifests` or the `rewriteManifests` action (for parallel rewrites using Spark).
+
+This example rewrites small manifests and groups data files by the first partition field.
+
+```java
+Table table = ...
+table.rewriteManifests()
+    .rewriteIf(file -> file.length() < 10 * 1024 * 1024) // 10 MB
+    .clusterBy(file -> file.partition().get(0, Integer.class))
+    .commit();
+```
+
+See the [`RewriteManifestsAction` Javadoc](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RewriteManifestsAction.html) to see more configuration options.
diff --git a/docs/content/docs/tables/partitioning.md b/docs/content/docs/tables/partitioning.md
new file mode 100644
index 0000000..a5e111d
--- /dev/null
+++ b/docs/content/docs/tables/partitioning.md
@@ -0,0 +1,97 @@
+---
+url: partitioning
+aliases:
+    - "tables/partitioning"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Partitioning
+
+## What is partitioning?
+
+Partitioning is a way to make queries faster by grouping similar rows together when writing.
+
+For example, queries for log entries from a `logs` table would usually include a time range, like this query for logs between 10 and 12 AM:
+
+```sql
+SELECT level, message FROM logs
+WHERE event_time BETWEEN '2018-12-01 10:00:00' AND '2018-12-01 12:00:00'
+```
+
+Configuring the `logs` table to partition by the date of `event_time` will group log events into files with the same event date. Iceberg keeps track of that date and will use it to skip files for other dates that don't have useful data.
+
+Iceberg can partition timestamps by year, month, day, and hour granularity. It can also use a categorical column, like `level` in this logs example, to store rows together and speed up queries.
+
+
+## What does Iceberg do differently?
+
+Other tables formats like Hive support partitioning, but Iceberg supports *hidden partitioning*.
+
+* Iceberg handles the tedious and error-prone task of producing partition values for rows in a table.
+* Iceberg avoids reading unnecessary partitions automatically. Consumers don't need to know how the table is partitioned and add extra filters to their queries.
+* Iceberg partition layouts can evolve as needed.
+
+### Partitioning in Hive
+
+To demonstrate the difference, consider how Hive would handle a `logs` table.
+
+In Hive, partitions are explicit and appear as a column, so the `logs` table would have a column called `event_date`. When writing, an insert needs to supply the data for the `event_date` column:
+
+```sql
+INSERT INTO logs PARTITION (event_date)
+  SELECT level, message, event_time, format_time(event_time, 'YYYY-MM-dd')
+  FROM unstructured_log_source
+```
+
+Similarly, queries that search through the `logs` table must have an `event_date` filter in addition to an `event_time` filter.
+
+```sql
+SELECT level, count(1) as count FROM logs
+WHERE event_time BETWEEN '2018-12-01 10:00:00' AND '2018-12-01 12:00:00'
+  AND event_date = '2018-12-01'
+```
+
+If the `event_date` filter were missing, Hive would scan through every file in the table because it doesn't know that the `event_time` column is related to the `event_date` column.
+
+### Problems with Hive partitioning
+
+Hive must be given partition values. In the logs example, it doesn't know the relationship between `event_time` and `event_date`.
+
+This leads to several problems:
+
+* Hive can't validate partition values -- it is up to the writer to produce the correct value
+    - Using the wrong format, `2018-12-01` instead of `20181201`, produces silently incorrect results, not query failures
+    - Using the wrong source column, like `processing_time`, or time zone also causes incorrect results, not failures
+* It is up to the user to write queries correctly
+    - Using the wrong format also leads to silently incorrect results
+    - Users that don't understand a table's physical layout get needlessly slow queries -- Hive can't translate filters automatically
+* Working queries are tied to the table's partitioning scheme, so partitioning configuration cannot be changed without breaking queries
+
+### Iceberg's hidden partitioning
+
+Iceberg produces partition values by taking a column value and optionally transforming it. Iceberg is responsible for converting `event_time` into `event_date`, and keeps track of the relationship.
+
+Table partitioning is configured using these relationships. The `logs` table would be partitioned by `date(event_time)` and `level`.
+
+Because Iceberg doesn't require user-maintained partition columns, it can hide partitioning. Partition values are produced correctly every time and always used to speed up queries, when possible. Producers and consumers wouldn't even see `event_date`.
+
+Most importantly, queries no longer depend on a table's physical layout. With a separation between physical and logical, Iceberg tables can evolve partition schemes over time as data volume changes. Misconfigured tables can be fixed without an expensive migration.
+
+For details about all the supported hidden partition transformations, see the [Partition Transforms](../spec/#partition-transforms) section.
+
+For details about updating a table's partition spec, see the [partition evolution](../evolution/#partition-evolution) section.
diff --git a/docs/content/docs/tables/performance.md b/docs/content/docs/tables/performance.md
new file mode 100644
index 0000000..6a8381e
--- /dev/null
+++ b/docs/content/docs/tables/performance.md
@@ -0,0 +1,57 @@
+---
+url: performance
+aliases:
+    - "tables/performance"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Performance
+
+* Iceberg is designed for huge tables and is used in production where a *single table* can contain tens of petabytes of data.
+* Even multi-petabyte tables can be read from a single node, without needing a distributed SQL engine to sift through table metadata.
+
+## Scan planning
+
+Scan planning is the process of finding the files in a table that are needed for a query.
+
+Planning in an Iceberg table fits on a single node because Iceberg's metadata can be used to prune *metadata* files that aren't needed, in addition to filtering *data* files that don't contain matching data.
+
+Fast scan planning from a single node enables:
+
+* Lower latency SQL queries -- by eliminating a distributed scan to plan a distributed scan
+* Access from any client -- stand-alone processes can read data directly from Iceberg tables
+
+### Metadata filtering
+
+Iceberg uses two levels of metadata to track the files in a snapshot.
+
+* **Manifest files** store a list of data files, along each data file's partition data and column-level stats
+* A **manifest list** stores the snapshot's list of manifests, along with the range of values for each partition field
+
+For fast scan planning, Iceberg first filters manifests using the partition value ranges in the manifest list. Then, it reads each manifest to get data files. With this scheme, the manifest list acts as an index over the manifest files, making it possible to plan without reading all manifests.
+
+In addition to partition value ranges, a manifest list also stores the number of files added or deleted in a manifest to speed up operations like snapshot expiration.
+
+### Data filtering
+
+Manifest files include a tuple of partition data and column-level stats for each data file.
+
+During planning, query predicates are automatically converted to predicates on the partition data and applied first to filter data files. Next, column-level value counts, null counts, lower bounds, and upper bounds are used to eliminate files that cannot match the query predicate.
+
+By using upper and lower bounds to filter data files at planning time, Iceberg uses clustered data to eliminate splits without running tasks. In some cases, this is a [10x performance improvement](https://conferences.oreilly.com/strata/strata-ny-2018/cdn.oreillystatic.com/en/assets/1/event/278/Introducing%20Iceberg_%20Tables%20designed%20for%20object%20stores%20Presentation.pdf
+).
diff --git a/docs/content/docs/tables/reliability.md b/docs/content/docs/tables/reliability.md
new file mode 100644
index 0000000..f51eb54
--- /dev/null
+++ b/docs/content/docs/tables/reliability.md
@@ -0,0 +1,70 @@
+---
+url: reliability
+aliases:
+    - "tables/reliability"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Reliability
+
+Iceberg was designed to solve correctness problems that affect Hive tables running in S3.
+
+Hive tables track data files using both a central metastore for partitions and a file system for individual files. This makes atomic changes to a table's contents impossible, and eventually consistent stores like S3 may return incorrect results due to the use of listing files to reconstruct the state of a table. It also requires job planning to make many slow listing calls: O(n) with the number of partitions.
+
+Iceberg tracks the complete list of data files in each [snapshot](../terms#snapshot) using a persistent tree structure. Every write or delete produces a new snapshot that reuses as much of the previous snapshot's metadata tree as possible to avoid high write volumes.
+
+Valid snapshots in an Iceberg table are stored in the table metadata file, along with a reference to the current snapshot. Commits replace the path of the current table metadata file using an atomic operation. This ensures that all updates to table data and metadata are atomic, and is the basis for [serializable isolation](https://en.wikipedia.org/wiki/Isolation_(database_systems)#Serializable).
+
+This results in improved reliability guarantees:
+
+* **Serializable isolation**: All table changes occur in a linear history of atomic table updates
+* **Reliable reads**: Readers always use a consistent snapshot of the table without holding a lock
+* **Version history and rollback**: Table snapshots are kept as history and tables can roll back if a job produces bad data
+* **Safe file-level operations**. By supporting atomic changes, Iceberg enables new use cases, like safely compacting small files and safely appending late data to tables
+
+This design also has performance benefits:
+
+* **O(1) RPCs to plan**: Instead of listing O(n) directories in a table to plan a job, reading a snapshot requires O(1) RPC calls
+* **Distributed planning**: File pruning and predicate push-down is distributed to jobs, removing the metastore as a bottleneck
+* **Finer granularity partitioning**: Distributed planning and O(1) RPC calls remove the current barriers to finer-grained partitioning
+
+
+## Concurrent write operations
+
+Iceberg supports multiple concurrent writes using optimistic concurrency.
+
+Each writer assumes that no other writers are operating and writes out new table metadata for an operation. Then, the writer attempts to commit by atomically swapping the new table metadata file for the existing metadata file.
+
+If the atomic swap fails because another writer has committed, the failed writer retries by writing a new metadata tree based on the the new current table state.
+
+### Cost of retries
+
+Writers avoid expensive retry operations by structuring changes so that work can be reused across retries.
+
+For example, appends usually create a new manifest file for the appended data files, which can be added to the table without rewriting the manifest on every attempt.
+
+### Retry validation
+
+Commits are structured as assumptions and actions. After a conflict, a writer checks that the assumptions are met by the current table state. If the assumptions are met, then it is safe to re-apply the actions and commit.
+
+For example, a compaction might rewrite `file_a.avro` and `file_b.avro` as `merged.parquet`. This is safe to commit as long as the table still contains both `file_a.avro` and `file_b.avro`. If either file was deleted by a conflicting commit, then the operation must fail. Otherwise, it is safe to remove the source files and add the merged file.
+
+
+## Compatibility
+
+By avoiding file listing and rename operations, Iceberg tables are compatible with any object store. No consistent listing is required.
diff --git a/docs/content/docs/tables/schemas.md b/docs/content/docs/tables/schemas.md
new file mode 100644
index 0000000..4006dc2
--- /dev/null
+++ b/docs/content/docs/tables/schemas.md
@@ -0,0 +1,46 @@
+---
+url: schemas
+aliases:
+    - "tables/schemas"
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Schemas
+
+Iceberg tables support the following types:
+
+| Type               | Description                                                              | Notes                                            |
+|--------------------|--------------------------------------------------------------------------|--------------------------------------------------|
+| **`boolean`**      | True or false                                                            |                                                  |
+| **`int`**          | 32-bit signed integers                                                   | Can promote to `long`                            |
+| **`long`**         | 64-bit signed integers                                                   |                                                  |
+| **`float`**        | [32-bit IEEE 754](https://en.wikipedia.org/wiki/IEEE_754) floating point | Can promote to `double`                          |
+| **`double`**       | [64-bit IEEE 754](https://en.wikipedia.org/wiki/IEEE_754) floating point |                                                  |
+| **`decimal(P,S)`** | Fixed-point decimal; precision P, scale S                                | Scale is fixed and precision must be 38 or less  |
+| **`date`**         | Calendar date without timezone or time                                   |                                                  |
+| **`time`**         | Time of day without date, timezone                                       | Stored as microseconds                           |
+| **`timestamp`**    | Timestamp without timezone                                               | Stored as microseconds                           |
+| **`timestamptz`**  | Timestamp with timezone                                                  | Stored as microseconds                           |
+| **`string`**       | Arbitrary-length character sequences                                     | Encoded with UTF-8                               |
+| **`fixed(L)`**     | Fixed-length byte array of length L                                      |                                                  |
+| **`binary`**       | Arbitrary-length byte array                                              |                                                  |
+| **`struct<...>`**  | A record with named fields of any data type                              |                                                  |
+| **`list<E>`**      | A list with elements of any data type                                    |                                                  |
+| **`map<K, V>`**    | A map with keys and values of any data type                              |                                                  |
+
+Iceberg tracks each field in a table schema using an ID that is never reused in a table. See [correctness guarantees](../evolution#correctness) for more information.
diff --git a/docs/content/docs/trino/_index.md b/docs/content/docs/trino/_index.md
new file mode 100644
index 0000000..4079bfa
--- /dev/null
+++ b/docs/content/docs/trino/_index.md
@@ -0,0 +1,23 @@
+---
+title: "Trino"
+bookIconImage: ../img/trino-logo.png
+bookFlatSection: true
+weight: 410
+bookExternalUrlNewWindow: https://trino.io/docs/current/connector/iceberg.html
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/layouts/partials/docs/brand.html b/docs/layouts/partials/docs/brand.html
new file mode 100644
index 0000000..52af2a8
--- /dev/null
+++ b/docs/layouts/partials/docs/brand.html
@@ -0,0 +1,11 @@
+<h2 class="book-brand">
+  <a class="flex align-center" href="{{ cond (not .Site.Home.File) .Sites.First.Home.RelPermalink .Site.Home.RelPermalink }}../../">
+    {{- with .Site.Params.BookLogo -}}
+    <img src="{{ . | relURL }}" alt="Logo" />
+    {{- end -}}
+    <span>{{ .Site.Title }}</span>
+  </a>
+  <a href="{{ .Site.BaseURL }}/../../releases">
+    <img id="version-shield" src="https://img.shields.io/badge/version-{{ if eq $.Site.Params.versions.iceberg `latest` }}{{ $.Site.Params.latestVersions.iceberg }}{{ else if eq $.Site.Params.versions.iceberg `main` }}{{ $.Site.Params.latestVersions.iceberg }}{{ else if eq $.Site.Params.versions.iceberg `` }}{{ $.Site.Params.latestVersions.iceberg }}{{ else }}{{ $.Site.Params.versions.iceberg }}{{ end }}-blue" alt="" />
+  </a>
+</h2>
diff --git a/docs/layouts/partials/docs/header.html b/docs/layouts/partials/docs/header.html
new file mode 100644
index 0000000..56ca903
--- /dev/null
+++ b/docs/layouts/partials/docs/header.html
@@ -0,0 +1,14 @@
+<div class="flex align-center justify-between">
+  <link rel="stylesheet" href="{{ "fontawesome/css/font-awesome.min.css" | relURL }}">
+  <label for="menu-control">
+    <img src="{{ "svg/menu.svg" | relURL }}" class="book-icon" alt="Menu" />
+  </label>
+
+  <strong>{{ partial "docs/title" . }}</strong>
+
+  <label for="toc-control">
+    {{ if default true (default .Site.Params.BookToC .Params.BookToC) }}
+    <img src="{{ "svg/toc.svg" | relURL }}" class="book-icon" alt="Table of Contents" />
+    {{ end }}
+  </label>
+</div>
diff --git a/docs/layouts/partials/docs/menu-filetree.html b/docs/layouts/partials/docs/menu-filetree.html
new file mode 100644
index 0000000..c96ab65
--- /dev/null
+++ b/docs/layouts/partials/docs/menu-filetree.html
@@ -0,0 +1,124 @@
+{{ $bookSection := default "docs" .Site.Params.BookSection  }}
+{{ if eq $bookSection "*" }}
+  {{ $bookSection = "/" }}{{/* Backward compatibility */}}
+{{ end }}
+
+{{ with .Site.GetPage $bookSection }}
+  {{ template "book-section-children" (dict "Section" . "CurrentPage" $) }}
+{{ end }}
+
+{{ define "book-section-children" }}{{/* (dict "Section" .Section "CurrentPage" .CurrentPage) */}}
+  <ul>
+    {{ range (where .Section.Pages "Params.bookhidden" "ne" true) }}
+    {{ if .Params.bookExternalUrl }}
+    <li
+    {{- if and (not .Params.BookFlatSection) (not .Params.BookCollapseSection) }}
+    class="navigation-icon-pad"
+  {{- else if  .Params.BookFlatSection }}
+      {{- else if .Params.BookFlatSection }} class="book-section-flat"
+      {{- else if .Params.BookCollapseSection }} class="book-section-collapsed"
+      {{- else if  (.Page.Params.BookExternalUrl) }} class=""
+      {{- else }} class="navigation-icon-pad"
+      {{ end -}}
+    >
+        <a href="{{ .Params.bookExternalUrl }}">
+          {{ template "book-nav-item-logo-image" (dict "Page" .) }}
+          {{.Title}}
+        </a>
+      </li>
+      {{ else if .Params.bookExternalUrlNewWindow }}
+      <li
+      {{- if and (not .Params.BookFlatSection) (not .Params.BookCollapseSection) }}
+      class="navigation-icon-pad"
+    {{- else if  .Params.BookFlatSection }}
+        {{- else if .Params.BookFlatSection }} class="book-section-flat"
+        {{- else if .Params.BookCollapseSection }} class="book-section-collapsed"
+        {{- else if  (.Page.Params.BookExternalUrl) }} class=""
+        {{- else }} class="navigation-icon-pad"
+        {{ end -}}
+      >
+          <a href="{{ .Params.bookExternalUrlNewWindow }}" target="_blank">
+            {{ template "book-nav-item-logo-image" (dict "Page" .) }}
+            {{.Title}}
+          </a>
+        </li>
+      {{ else if .Params.bookUrlFromBaseURL }}
+      <li
+        {{- if and (not .Params.BookFlatSection) (not .Params.BookCollapseSection) }}
+          class="navigation-icon-pad"
+        {{- else if  .Params.BookFlatSection }}
+          class="book-section-flat navigation-icon-pad"
+        {{- else if  .Params.BookCollapseSection }}
+          class="book-section-collapsed navigation-icon-pad"
+        {{ end -}}
+      >
+          <a href="{{ .Page.Site.BaseURL }}/..{{ .Params.bookUrlFromBaseURL }}">
+            {{ template "book-nav-item-logo-image" (dict "Page" .) }}
+            {{.Title}}
+          </a>
+        </li>
+      {{ else if .IsSection }}
+        <li
+          {{- if and (not .Page.Params.bookIconImage) (not .Page.Params.bookIconFa) }} class="book-section-flat navigation-icon-pad"
+          {{- else if .Params.BookFlatSection }} class="book-section-flats"
+          {{- else if .Params.BookCollapseSection }} class="book-section-collapsed"
+          {{- else }} class="navigation-icon-pad"
+          {{ end -}}
+        >
+          {{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }}
+          {{ template "book-section-children" (dict "Section" . "CurrentPage" $.CurrentPage) }}
+        </li>
+      {{ else if and .IsPage .Content }}
+      <li
+      {{- if or .Parent.Params.bookIconImage .Parent.Params.bookIconFa }} class="navigation-icon-pad"
+      {{ end -}}
+      >
+          {{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }}
+        </li>
+      {{ end }}
+    {{ end }}
+  </ul>
+{{ end }}
+
+{{ define "book-page-link" }}{{/* (dict "Page" .Page "CurrentPage" .CurrentPage) */}}
+  {{ $current := eq .CurrentPage .Page }}
+  {{ $ancestor := .Page.IsAncestor .CurrentPage }}
+
+  {{ if .Page.Params.bookCollapseSection }}
+    <input type="checkbox" id="section-{{ md5 .Page }}" class="toggle" {{ if or $current $ancestor }}checked{{ end }} />
+    <label for="section-{{ md5 .Page }}" class="flex justify-between">
+      <a {{ if .Page.Content }}href="{{ .Page.Permalink }}"{{ else }}role="button"{{ end }} class="{{ if $current }}active{{ end }}">
+        {{ template "book-nav-item-logo-image" (dict "Page" .Page) }}
+        {{- partial "docs/title" .Page -}}
+      </a>
+    </label>
+  {{ else if .Page.Content }}
+    <a href="{{ .Page.Permalink }}" class="{{ if $current }} active{{ end }}">
+      {{ template "book-nav-item-logo-image" (dict "Page" .Page) }}
+      {{- partial "docs/title" .Page -}}
+    </a>
+  {{ else }}
+    <span>
+      {{ template "book-nav-item-logo-image" (dict "Page" .Page) }}
+      {{- partial "docs/title" .Page -}}
+    </span>
+  {{ end }}
+{{ end }}
+
+{{ define "book-nav-item-logo-image" }}{{/* (dict "Page" .Page) */}}
+  {{- if .Page.Params.bookIconImage }}
+    <img src="{{ .Page.Site.BaseURL }}/img/{{.Page.Params.bookIconImage}}" class="navigation-icon fa-fw"/>
+  {{- else if .Page.Params.bookIconFa }}
+    <i class="fa {{.Page.Params.bookIconFa}} fa-fw"></i>
+  {{ end -}}
+{{ end }}
+
+{{ define "book-li-classes" }} */}}{{/* (dict "Page" .Page) */}}
+  {{ $hasLogo := false }}
+  {{ if and not .Page.Params.bookIconImage not .Page.Params.bookIconFa }}
+    {{ $hasLogo := true }}
+  {{ else }}
+    {{ $hasLogo := false }}
+  {{ end -}}
+  class="{{ if $hasLogo }} navigation-icon-pad {{ end }}{{ if .Params.BookFlatSection }} book-section-flat {{ end }}"
+{{ end -}}
\ No newline at end of file
diff --git a/docs/layouts/partials/docs/search.html b/docs/layouts/partials/docs/search.html
new file mode 100644
index 0000000..c497ecc
--- /dev/null
+++ b/docs/layouts/partials/docs/search.html
@@ -0,0 +1,13 @@
+{{ if default true .Site.Params.BookSearch }}
+<div class="book-search">
+  <input type="text" id="book-search-input" placeholder="{{ i18n "Search" }}" aria-label="{{ i18n "Search" }}" maxlength="64" data-hotkeys="s/" />
+  <div class="book-search-spinner hidden"></div>
+  <ul id="book-search-results"></ul>
+  <a href="https://github.com/apache/iceberg" target="_blank">
+    <img src="{{ .Site.BaseURL }}/img/GitHub-Mark.png" target="_blank" class="top-external-icon"/>
+  </a>
+  <a href="https://join.slack.com/t/apache-iceberg/shared_invite/zt-tlv0zjz6-jGJEkHfb1~heMCJA3Uycrg" target="_blank">
+    <img src="{{ .Site.BaseURL }}/img/Slack_Mark_Web.png" target="_blank" class="top-external-icon"/>
+  </a>
+</div>
+{{ end }}
diff --git a/docs/layouts/shortcodes/icebergVersion.html b/docs/layouts/shortcodes/icebergVersion.html
new file mode 100644
index 0000000..e5089e8
--- /dev/null
+++ b/docs/layouts/shortcodes/icebergVersion.html
@@ -0,0 +1 @@
+{{ if eq $.Site.Params.versions.iceberg `latest` }}{{ $.Site.Params.latestVersions.iceberg }}{{ else if eq $.Site.Params.versions.iceberg `main` }}{{ $.Site.Params.latestVersions.iceberg }}{{ else if eq $.Site.Params.versions.iceberg `` }}{{ $.Site.Params.latestVersions.iceberg }}{{ else }}{{ $.Site.Params.versions.iceberg }}{{ end }}
\ No newline at end of file
diff --git a/docs/layouts/shortcodes/nessieVersion.html b/docs/layouts/shortcodes/nessieVersion.html
new file mode 100644
index 0000000..557b514
--- /dev/null
+++ b/docs/layouts/shortcodes/nessieVersion.html
@@ -0,0 +1 @@
+{{ .Page.Site.Params.versions.nessie }}
\ No newline at end of file
diff --git a/docs/static/css/bootstrap.css b/docs/static/css/bootstrap.css
new file mode 100644
index 0000000..8352fad
--- /dev/null
+++ b/docs/static/css/bootstrap.css
@@ -0,0 +1,6199 @@
+/*!
+ * Bootstrap v3.2.0 (http://getbootstrap.com)
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
+html {
+  font-family: sans-serif;
+  -webkit-text-size-adjust: 100%;
+      -ms-text-size-adjust: 100%;
+}
+body {
+  margin: 0;
+}
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+  display: block;
+}
+audio,
+canvas,
+progress,
+video {
+  display: inline-block;
+  vertical-align: baseline;
+}
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+[hidden],
+template {
+  display: none;
+}
+a {
+  background: transparent;
+}
+a:active,
+a:hover {
+  outline: 0;
+}
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+b,
+strong {
+  font-weight: bold;
+}
+dfn {
+  font-style: italic;
+}
+h1 {
+  margin: .67em 0;
+  font-size: 2em;
+}
+mark {
+  color: #000;
+  background: #ff0;
+}
+small {
+  font-size: 80%;
+}
+sub,
+sup {
+  position: relative;
+  font-size: 75%;
+  line-height: 0;
+  vertical-align: baseline;
+}
+sup {
+  top: -.5em;
+}
+sub {
+  bottom: -.25em;
+}
+img {
+  border: 0;
+}
+svg:not(:root) {
+  overflow: hidden;
+}
+figure {
+  margin: 1em 40px;
+}
+hr {
+  height: 0;
+  -webkit-box-sizing: content-box;
+     -moz-box-sizing: content-box;
+          box-sizing: content-box;
+}
+pre {
+  overflow: auto;
+}
+code,
+kbd,
+pre,
+samp {
+  font-family: monospace, monospace;
+  font-size: 1em;
+}
+button,
+input,
+optgroup,
+select,
+textarea {
+  margin: 0;
+  font: inherit;
+  color: inherit;
+}
+button {
+  overflow: visible;
+}
+button,
+select {
+  text-transform: none;
+}
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+  -webkit-appearance: button;
+  cursor: pointer;
+}
+button[disabled],
+html input[disabled] {
+  cursor: default;
+}
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  padding: 0;
+  border: 0;
+}
+input {
+  line-height: normal;
+}
+input[type="checkbox"],
+input[type="radio"] {
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+  padding: 0;
+}
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+  height: auto;
+}
+input[type="search"] {
+  -webkit-box-sizing: content-box;
+     -moz-box-sizing: content-box;
+          box-sizing: content-box;
+  -webkit-appearance: textfield;
+}
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+fieldset {
+  padding: .35em .625em .75em;
+  margin: 0 2px;
+  border: 1px solid #c0c0c0;
+}
+legend {
+  padding: 0;
+  border: 0;
+}
+textarea {
+  overflow: auto;
+}
+optgroup {
+  font-weight: bold;
+}
+table {
+  border-spacing: 0;
+  border-collapse: collapse;
+}
+td,
+th {
+  padding: 0;
+}
+@media print {
+  * {
+    color: #000 !important;
+    text-shadow: none !important;
+    background: transparent !important;
+    -webkit-box-shadow: none !important;
+            box-shadow: none !important;
+  }
+  a,
+  a:visited {
+    text-decoration: underline;
+  }
+  a[href]:after {
+    content: " (" attr(href) ")";
+  }
+  abbr[title]:after {
+    content: " (" attr(title) ")";
+  }
+  a[href^="javascript:"]:after,
+  a[href^="#"]:after {
+    content: "";
+  }
+  pre,
+  blockquote {
+    border: 1px solid #999;
+
+    page-break-inside: avoid;
+  }
+  thead {
+    display: table-header-group;
+  }
+  tr,
+  img {
+    page-break-inside: avoid;
+  }
+  img {
+    max-width: 100% !important;
+  }
+  p,
+  h2,
+  h3 {
+    orphans: 3;
+    widows: 3;
+  }
+  h2,
+  h3 {
+    page-break-after: avoid;
+  }
+  select {
+    background: #fff !important;
+  }
+  .navbar {
+    display: none;
+  }
+  .table td,
+  .table th {
+    background-color: #fff !important;
+  }
+  .btn > .caret,
+  .dropup > .btn > .caret {
+    border-top-color: #000 !important;
+  }
+  .label {
+    border: 1px solid #000;
+  }
+  .table {
+    border-collapse: collapse !important;
+  }
+  .table-bordered th,
+  .table-bordered td {
+    border: 1px solid #ddd !important;
+  }
+}
+@font-face {
+  font-family: 'Glyphicons Halflings';
+
+  src: url('../fonts/glyphicons-halflings-regular.eot');
+  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
+}
+.glyphicon {
+  position: relative;
+  top: 1px;
+  display: inline-block;
+  font-family: 'Glyphicons Halflings';
+  font-style: normal;
+  font-weight: normal;
+  line-height: 1;
+
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+.glyphicon-asterisk:before {
+  content: "\2a";
+}
+.glyphicon-plus:before {
+  content: "\2b";
+}
+.glyphicon-euro:before {
+  content: "\20ac";
+}
+.glyphicon-minus:before {
+  content: "\2212";
+}
+.glyphicon-cloud:before {
+  content: "\2601";
+}
+.glyphicon-envelope:before {
+  content: "\2709";
+}
+.glyphicon-pencil:before {
+  content: "\270f";
+}
+.glyphicon-glass:before {
+  content: "\e001";
+}
+.glyphicon-music:before {
+  content: "\e002";
+}
+.glyphicon-search:before {
+  content: "\e003";
+}
+.glyphicon-heart:before {
+  content: "\e005";
+}
+.glyphicon-star:before {
+  content: "\e006";
+}
+.glyphicon-star-empty:before {
+  content: "\e007";
+}
+.glyphicon-user:before {
+  content: "\e008";
+}
+.glyphicon-film:before {
+  content: "\e009";
+}
+.glyphicon-th-large:before {
+  content: "\e010";
+}
+.glyphicon-th:before {
+  content: "\e011";
+}
+.glyphicon-th-list:before {
+  content: "\e012";
+}
+.glyphicon-ok:before {
+  content: "\e013";
+}
+.glyphicon-remove:before {
+  content: "\e014";
+}
+.glyphicon-zoom-in:before {
+  content: "\e015";
+}
+.glyphicon-zoom-out:before {
+  content: "\e016";
+}
+.glyphicon-off:before {
+  content: "\e017";
+}
+.glyphicon-signal:before {
+  content: "\e018";
+}
+.glyphicon-cog:before {
+  content: "\e019";
+}
+.glyphicon-trash:before {
+  content: "\e020";
+}
+.glyphicon-home:before {
+  content: "\e021";
+}
+.glyphicon-file:before {
+  content: "\e022";
+}
+.glyphicon-time:before {
+  content: "\e023";
+}
+.glyphicon-road:before {
+  content: "\e024";
+}
+.glyphicon-download-alt:before {
+  content: "\e025";
+}
+.glyphicon-download:before {
+  content: "\e026";
+}
+.glyphicon-upload:before {
+  content: "\e027";
+}
+.glyphicon-inbox:before {
+  content: "\e028";
+}
+.glyphicon-play-circle:before {
+  content: "\e029";
+}
+.glyphicon-repeat:before {
+  content: "\e030";
+}
+.glyphicon-refresh:before {
+  content: "\e031";
+}
+.glyphicon-list-alt:before {
+  content: "\e032";
+}
+.glyphicon-lock:before {
+  content: "\e033";
+}
+.glyphicon-flag:before {
+  content: "\e034";
+}
+.glyphicon-headphones:before {
+  content: "\e035";
+}
+.glyphicon-volume-off:before {
+  content: "\e036";
+}
+.glyphicon-volume-down:before {
+  content: "\e037";
+}
+.glyphicon-volume-up:before {
+  content: "\e038";
+}
+.glyphicon-qrcode:before {
+  content: "\e039";
+}
+.glyphicon-barcode:before {
+  content: "\e040";
+}
+.glyphicon-tag:before {
+  content: "\e041";
+}
+.glyphicon-tags:before {
+  content: "\e042";
+}
+.glyphicon-book:before {
+  content: "\e043";
+}
+.glyphicon-bookmark:before {
+  content: "\e044";
+}
+.glyphicon-print:before {
+  content: "\e045";
+}
+.glyphicon-camera:before {
+  content: "\e046";
+}
+.glyphicon-font:before {
+  content: "\e047";
+}
+.glyphicon-bold:before {
+  content: "\e048";
+}
+.glyphicon-italic:before {
+  content: "\e049";
+}
+.glyphicon-text-height:before {
+  content: "\e050";
+}
+.glyphicon-text-width:before {
+  content: "\e051";
+}
+.glyphicon-align-left:before {
+  content: "\e052";
+}
+.glyphicon-align-center:before {
+  content: "\e053";
+}
+.glyphicon-align-right:before {
+  content: "\e054";
+}
+.glyphicon-align-justify:before {
+  content: "\e055";
+}
+.glyphicon-list:before {
+  content: "\e056";
+}
+.glyphicon-indent-left:before {
+  content: "\e057";
+}
+.glyphicon-indent-right:before {
+  content: "\e058";
+}
+.glyphicon-facetime-video:before {
+  content: "\e059";
+}
+.glyphicon-picture:before {
+  content: "\e060";
+}
+.glyphicon-map-marker:before {
+  content: "\e062";
+}
+.glyphicon-adjust:before {
+  content: "\e063";
+}
+.glyphicon-tint:before {
+  content: "\e064";
+}
+.glyphicon-edit:before {
+  content: "\e065";
+}
+.glyphicon-share:before {
+  content: "\e066";
+}
+.glyphicon-check:before {
+  content: "\e067";
+}
+.glyphicon-move:before {
+  content: "\e068";
+}
+.glyphicon-step-backward:before {
+  content: "\e069";
+}
+.glyphicon-fast-backward:before {
+  content: "\e070";
+}
+.glyphicon-backward:before {
+  content: "\e071";
+}
+.glyphicon-play:before {
+  content: "\e072";
+}
+.glyphicon-pause:before {
+  content: "\e073";
+}
+.glyphicon-stop:before {
+  content: "\e074";
+}
+.glyphicon-forward:before {
+  content: "\e075";
+}
+.glyphicon-fast-forward:before {
+  content: "\e076";
+}
+.glyphicon-step-forward:before {
+  content: "\e077";
+}
+.glyphicon-eject:before {
+  content: "\e078";
+}
+.glyphicon-chevron-left:before {
+  content: "\e079";
+}
+.glyphicon-chevron-right:before {
+  content: "\e080";
+}
+.glyphicon-plus-sign:before {
+  content: "\e081";
+}
+.glyphicon-minus-sign:before {
+  content: "\e082";
+}
+.glyphicon-remove-sign:before {
+  content: "\e083";
+}
+.glyphicon-ok-sign:before {
+  content: "\e084";
+}
+.glyphicon-question-sign:before {
+  content: "\e085";
+}
+.glyphicon-info-sign:before {
+  content: "\e086";
+}
+.glyphicon-screenshot:before {
+  content: "\e087";
+}
+.glyphicon-remove-circle:before {
+  content: "\e088";
+}
+.glyphicon-ok-circle:before {
+  content: "\e089";
+}
+.glyphicon-ban-circle:before {
+  content: "\e090";
+}
+.glyphicon-arrow-left:before {
+  content: "\e091";
+}
+.glyphicon-arrow-right:before {
+  content: "\e092";
+}
+.glyphicon-arrow-up:before {
+  content: "\e093";
+}
+.glyphicon-arrow-down:before {
+  content: "\e094";
+}
+.glyphicon-share-alt:before {
+  content: "\e095";
+}
+.glyphicon-resize-full:before {
+  content: "\e096";
+}
+.glyphicon-resize-small:before {
+  content: "\e097";
+}
+.glyphicon-exclamation-sign:before {
+  content: "\e101";
+}
+.glyphicon-gift:before {
+  content: "\e102";
+}
+.glyphicon-leaf:before {
+  content: "\e103";
+}
+.glyphicon-fire:before {
+  content: "\e104";
+}
+.glyphicon-eye-open:before {
+  content: "\e105";
+}
+.glyphicon-eye-close:before {
+  content: "\e106";
+}
+.glyphicon-warning-sign:before {
+  content: "\e107";
+}
+.glyphicon-plane:before {
+  content: "\e108";
+}
+.glyphicon-calendar:before {
+  content: "\e109";
+}
+.glyphicon-random:before {
+  content: "\e110";
+}
+.glyphicon-comment:before {
+  content: "\e111";
+}
+.glyphicon-magnet:before {
+  content: "\e112";
+}
+.glyphicon-chevron-up:before {
+  content: "\e113";
+}
+.glyphicon-chevron-down:before {
+  content: "\e114";
+}
+.glyphicon-retweet:before {
+  content: "\e115";
+}
+.glyphicon-shopping-cart:before {
+  content: "\e116";
+}
+.glyphicon-folder-close:before {
+  content: "\e117";
+}
+.glyphicon-folder-open:before {
+  content: "\e118";
+}
+.glyphicon-resize-vertical:before {
+  content: "\e119";
+}
+.glyphicon-resize-horizontal:before {
+  content: "\e120";
+}
+.glyphicon-hdd:before {
+  content: "\e121";
+}
+.glyphicon-bullhorn:before {
+  content: "\e122";
+}
+.glyphicon-bell:before {
+  content: "\e123";
+}
+.glyphicon-certificate:before {
+  content: "\e124";
+}
+.glyphicon-thumbs-up:before {
+  content: "\e125";
+}
+.glyphicon-thumbs-down:before {
+  content: "\e126";
+}
+.glyphicon-hand-right:before {
+  content: "\e127";
+}
+.glyphicon-hand-left:before {
+  content: "\e128";
+}
+.glyphicon-hand-up:before {
+  content: "\e129";
+}
+.glyphicon-hand-down:before {
+  content: "\e130";
+}
+.glyphicon-circle-arrow-right:before {
+  content: "\e131";
+}
+.glyphicon-circle-arrow-left:before {
+  content: "\e132";
+}
+.glyphicon-circle-arrow-up:before {
+  content: "\e133";
+}
+.glyphicon-circle-arrow-down:before {
+  content: "\e134";
+}
+.glyphicon-globe:before {
+  content: "\e135";
+}
+.glyphicon-wrench:before {
+  content: "\e136";
+}
+.glyphicon-tasks:before {
+  content: "\e137";
+}
+.glyphicon-filter:before {
+  content: "\e138";
+}
+.glyphicon-briefcase:before {
+  content: "\e139";
+}
+.glyphicon-fullscreen:before {
+  content: "\e140";
+}
+.glyphicon-dashboard:before {
+  content: "\e141";
+}
+.glyphicon-paperclip:before {
+  content: "\e142";
+}
+.glyphicon-heart-empty:before {
+  content: "\e143";
+}
+.glyphicon-link:before {
+  content: "\e144";
+}
+.glyphicon-phone:before {
+  content: "\e145";
+}
+.glyphicon-pushpin:before {
+  content: "\e146";
+}
+.glyphicon-usd:before {
+  content: "\e148";
+}
+.glyphicon-gbp:before {
+  content: "\e149";
+}
+.glyphicon-sort:before {
+  content: "\e150";
+}
+.glyphicon-sort-by-alphabet:before {
+  content: "\e151";
+}
+.glyphicon-sort-by-alphabet-alt:before {
+  content: "\e152";
+}
+.glyphicon-sort-by-order:before {
+  content: "\e153";
+}
+.glyphicon-sort-by-order-alt:before {
+  content: "\e154";
+}
+.glyphicon-sort-by-attributes:before {
+  content: "\e155";
+}
+.glyphicon-sort-by-attributes-alt:before {
+  content: "\e156";
+}
+.glyphicon-unchecked:before {
+  content: "\e157";
+}
+.glyphicon-expand:before {
+  content: "\e158";
+}
+.glyphicon-collapse-down:before {
+  content: "\e159";
+}
+.glyphicon-collapse-up:before {
+  content: "\e160";
+}
+.glyphicon-log-in:before {
+  content: "\e161";
+}
+.glyphicon-flash:before {
+  content: "\e162";
+}
+.glyphicon-log-out:before {
+  content: "\e163";
+}
+.glyphicon-new-window:before {
+  content: "\e164";
+}
+.glyphicon-record:before {
+  content: "\e165";
+}
+.glyphicon-save:before {
+  content: "\e166";
+}
+.glyphicon-open:before {
+  content: "\e167";
+}
+.glyphicon-saved:before {
+  content: "\e168";
+}
+.glyphicon-import:before {
+  content: "\e169";
+}
+.glyphicon-export:before {
+  content: "\e170";
+}
+.glyphicon-send:before {
+  content: "\e171";
+}
+.glyphicon-floppy-disk:before {
+  content: "\e172";
+}
+.glyphicon-floppy-saved:before {
+  content: "\e173";
+}
+.glyphicon-floppy-remove:before {
+  content: "\e174";
+}
+.glyphicon-floppy-save:before {
+  content: "\e175";
+}
+.glyphicon-floppy-open:before {
+  content: "\e176";
+}
+.glyphicon-credit-card:before {
+  content: "\e177";
+}
+.glyphicon-transfer:before {
+  content: "\e178";
+}
+.glyphicon-cutlery:before {
+  content: "\e179";
+}
+.glyphicon-header:before {
+  content: "\e180";
+}
+.glyphicon-compressed:before {
+  content: "\e181";
+}
+.glyphicon-earphone:before {
+  content: "\e182";
+}
+.glyphicon-phone-alt:before {
+  content: "\e183";
+}
+.glyphicon-tower:before {
+  content: "\e184";
+}
+.glyphicon-stats:before {
+  content: "\e185";
+}
+.glyphicon-sd-video:before {
+  content: "\e186";
+}
+.glyphicon-hd-video:before {
+  content: "\e187";
+}
+.glyphicon-subtitles:before {
+  content: "\e188";
+}
+.glyphicon-sound-stereo:before {
+  content: "\e189";
+}
+.glyphicon-sound-dolby:before {
+  content: "\e190";
+}
+.glyphicon-sound-5-1:before {
+  content: "\e191";
+}
+.glyphicon-sound-6-1:before {
+  content: "\e192";
+}
+.glyphicon-sound-7-1:before {
+  content: "\e193";
+}
+.glyphicon-copyright-mark:before {
+  content: "\e194";
+}
+.glyphicon-registration-mark:before {
+  content: "\e195";
+}
+.glyphicon-cloud-download:before {
+  content: "\e197";
+}
+.glyphicon-cloud-upload:before {
+  content: "\e198";
+}
+.glyphicon-tree-conifer:before {
+  content: "\e199";
+}
+.glyphicon-tree-deciduous:before {
+  content: "\e200";
+}
+* {
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+*:before,
+*:after {
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+html {
+  font-size: 10px;
+
+  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+body {
+  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 14px;
+  line-height: 1.42857143;
+  color: #333;
+  background-color: #fff;
+}
+input,
+button,
+select,
+textarea {
+  font-family: inherit;
+  font-size: inherit;
+  line-height: inherit;
+}
+a {
+  color: #428bca;
+  text-decoration: none;
+}
+a:hover,
+a:focus {
+  color: #2a6496;
+  text-decoration: underline;
+}
+a:focus {
+  outline: thin dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+figure {
+  margin: 0;
+}
+img {
+  vertical-align: middle;
+}
+.img-responsive,
+.thumbnail > img,
+.thumbnail a > img,
+.carousel-inner > .item > img,
+.carousel-inner > .item > a > img {
+  display: block;
+  width: 100% \9;
+  max-width: 100%;
+  height: auto;
+}
+.img-rounded {
+  border-radius: 6px;
+}
+.img-thumbnail {
+  display: inline-block;
+  width: 100% \9;
+  max-width: 100%;
+  height: auto;
+  padding: 4px;
+  line-height: 1.42857143;
+  background-color: #fff;
+  border: 1px solid #ddd;
+  border-radius: 4px;
+  -webkit-transition: all .2s ease-in-out;
+       -o-transition: all .2s ease-in-out;
+          transition: all .2s ease-in-out;
+}
+.img-circle {
+  border-radius: 50%;
+}
+hr {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border: 0;
+  border-top: 1px solid #eee;
+}
+.sr-only {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  padding: 0;
+  margin: -1px;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+}
+.sr-only-focusable:active,
+.sr-only-focusable:focus {
+  position: static;
+  width: auto;
+  height: auto;
+  margin: 0;
+  overflow: visible;
+  clip: auto;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+.h1,
+.h2,
+.h3,
+.h4,
+.h5,
+.h6 {
+  font-family: inherit;
+  font-weight: 500;
+  line-height: 1.1;
+  color: inherit;
+}
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small,
+.h1 small,
+.h2 small,
+.h3 small,
+.h4 small,
+.h5 small,
+.h6 small,
+h1 .small,
+h2 .small,
+h3 .small,
+h4 .small,
+h5 .small,
+h6 .small,
+.h1 .small,
+.h2 .small,
+.h3 .small,
+.h4 .small,
+.h5 .small,
+.h6 .small {
+  font-weight: normal;
+  line-height: 1;
+  color: #777;
+}
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3 {
+  margin-top: 20px;
+  margin-bottom: 10px;
+}
+h1 small,
+.h1 small,
+h2 small,
+.h2 small,
+h3 small,
+.h3 small,
+h1 .small,
+.h1 .small,
+h2 .small,
+.h2 .small,
+h3 .small,
+.h3 .small {
+  font-size: 65%;
+}
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+  margin-top: 10px;
+  margin-bottom: 10px;
+}
+h4 small,
+.h4 small,
+h5 small,
+.h5 small,
+h6 small,
+.h6 small,
+h4 .small,
+.h4 .small,
+h5 .small,
+.h5 .small,
+h6 .small,
+.h6 .small {
+  font-size: 75%;
+}
+h1,
+.h1 {
+  font-size: 36px;
+}
+h2,
+.h2 {
+  font-size: 30px;
+}
+h3,
+.h3 {
+  font-size: 24px;
+}
+h4,
+.h4 {
+  font-size: 18px;
+}
+h5,
+.h5 {
+  font-size: 14px;
+}
+h6,
+.h6 {
+  font-size: 12px;
+}
+p {
+  margin: 0 0 10px;
+}
+.lead {
+  margin-bottom: 20px;
+  font-size: 16px;
+  font-weight: 300;
+  line-height: 1.4;
+}
+@media (min-width: 768px) {
+  .lead {
+    font-size: 21px;
+  }
+}
+small,
+.small {
+  font-size: 85%;
+}
+cite {
+  font-style: normal;
+}
+mark,
+.mark {
+  padding: .2em;
+  background-color: #fcf8e3;
+}
+.text-left {
+  text-align: left;
+}
+.text-right {
+  text-align: right;
+}
+.text-center {
+  text-align: center;
+}
+.text-justify {
+  text-align: justify;
+}
+.text-nowrap {
+  white-space: nowrap;
+}
+.text-lowercase {
+  text-transform: lowercase;
+}
+.text-uppercase {
+  text-transform: uppercase;
+}
+.text-capitalize {
+  text-transform: capitalize;
+}
+.text-muted {
+  color: #777;
+}
+.text-primary {
+  color: #428bca;
+}
+a.text-primary:hover {
+  color: #3071a9;
+}
+.text-success {
+  color: #3c763d;
+}
+a.text-success:hover {
+  color: #2b542c;
+}
+.text-info {
+  color: #31708f;
+}
+a.text-info:hover {
+  color: #245269;
+}
+.text-warning {
+  color: #8a6d3b;
+}
+a.text-warning:hover {
+  color: #66512c;
+}
+.text-danger {
+  color: #a94442;
+}
+a.text-danger:hover {
+  color: #843534;
+}
+.bg-primary {
+  color: #fff;
+  background-color: #428bca;
+}
+a.bg-primary:hover {
+  background-color: #3071a9;
+}
+.bg-success {
+  background-color: #dff0d8;
+}
+a.bg-success:hover {
+  background-color: #c1e2b3;
+}
+.bg-info {
+  background-color: #d9edf7;
+}
+a.bg-info:hover {
+  background-color: #afd9ee;
+}
+.bg-warning {
+  background-color: #fcf8e3;
+}
+a.bg-warning:hover {
+  background-color: #f7ecb5;
+}
+.bg-danger {
+  background-color: #f2dede;
+}
+a.bg-danger:hover {
+  background-color: #e4b9b9;
+}
+.page-header {
+  padding-bottom: 9px;
+  margin: 40px 0 20px;
+  border-bottom: 1px solid #eee;
+}
+ul,
+ol {
+  margin-top: 0;
+  margin-bottom: 10px;
+}
+ul ul,
+ol ul,
+ul ol,
+ol ol {
+  margin-bottom: 0;
+}
+.list-unstyled {
+  padding-left: 0;
+  list-style: none;
+}
+.list-inline {
+  padding-left: 0;
+  margin-left: -5px;
+  list-style: none;
+}
+.list-inline > li {
+  display: inline-block;
+  padding-right: 5px;
+  padding-left: 5px;
+}
+dl {
+  margin-top: 0;
+  margin-bottom: 20px;
+}
+dt,
+dd {
+  line-height: 1.42857143;
+}
+dt {
+  font-weight: bold;
+}
+dd {
+  margin-left: 0;
+}
+@media (min-width: 768px) {
+  .dl-horizontal dt {
+    float: left;
+    width: 160px;
+    overflow: hidden;
+    clear: left;
+    text-align: right;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+  }
+  .dl-horizontal dd {
+    margin-left: 180px;
+  }
+}
+abbr[title],
+abbr[data-original-title] {
+  cursor: help;
+  border-bottom: 1px dotted #777;
+}
+.initialism {
+  font-size: 90%;
+  text-transform: uppercase;
+}
+blockquote {
+  padding: 10px 20px;
+  margin: 0 0 20px;
+  font-size: 17.5px;
+  border-left: 5px solid #eee;
+}
+blockquote p:last-child,
+blockquote ul:last-child,
+blockquote ol:last-child {
+  margin-bottom: 0;
+}
+blockquote footer,
+blockquote small,
+blockquote .small {
+  display: block;
+  font-size: 80%;
+  line-height: 1.42857143;
+  color: #777;
+}
+blockquote footer:before,
+blockquote small:before,
+blockquote .small:before {
+  content: '\2014 \00A0';
+}
+.blockquote-reverse,
+blockquote.pull-right {
+  padding-right: 15px;
+  padding-left: 0;
+  text-align: right;
+  border-right: 5px solid #eee;
+  border-left: 0;
+}
+.blockquote-reverse footer:before,
+blockquote.pull-right footer:before,
+.blockquote-reverse small:before,
+blockquote.pull-right small:before,
+.blockquote-reverse .small:before,
+blockquote.pull-right .small:before {
+  content: '';
+}
+.blockquote-reverse footer:after,
+blockquote.pull-right footer:after,
+.blockquote-reverse small:after,
+blockquote.pull-right small:after,
+.blockquote-reverse .small:after,
+blockquote.pull-right .small:after {
+  content: '\00A0 \2014';
+}
+blockquote:before,
+blockquote:after {
+  content: "";
+}
+address {
+  margin-bottom: 20px;
+  font-style: normal;
+  line-height: 1.42857143;
+}
+code,
+kbd,
+pre,
+samp {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+}
+code {
+  padding: 2px 4px;
+  font-size: 90%;
+  color: #c7254e;
+  background-color: #f9f2f4;
+  border-radius: 4px;
+}
+kbd {
+  padding: 2px 4px;
+  font-size: 90%;
+  color: #fff;
+  background-color: #333;
+  border-radius: 3px;
+  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
+          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
+}
+kbd kbd {
+  padding: 0;
+  font-size: 100%;
+  -webkit-box-shadow: none;
+          box-shadow: none;
+}
+pre {
+  display: block;
+  padding: 9.5px;
+  margin: 0 0 10px;
+  font-size: 13px;
+  line-height: 1.42857143;
+  color: #333;
+  word-break: break-all;
+  word-wrap: break-word;
+  background-color: #f5f5f5;
+  border: 1px solid #ccc;
+  border-radius: 4px;
+}
+pre code {
+  padding: 0;
+  font-size: inherit;
+  color: inherit;
+  white-space: pre-wrap;
+  background-color: transparent;
+  border-radius: 0;
+}
+.pre-scrollable {
+  max-height: 340px;
+  overflow-y: scroll;
+}
+.container {
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto;
+}
+@media (min-width: 768px) {
+  .container {
+    width: 750px;
+  }
+}
+@media (min-width: 992px) {
+  .container {
+    width: 970px;
+  }
+}
+@media (min-width: 1200px) {
+  .container {
+    width: 1170px;
+  }
+}
+.container-fluid {
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto;
+}
+.row {
+  margin-right: -15px;
+  margin-left: -15px;
+}
+.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11,  [...]
+  position: relative;
+  min-height: 1px;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
+  float: left;
+}
+.col-xs-12 {
+  width: 100%;
+}
+.col-xs-11 {
+  width: 91.66666667%;
+}
+.col-xs-10 {
+  width: 83.33333333%;
+}
+.col-xs-9 {
+  width: 75%;
+}
+.col-xs-8 {
+  width: 66.66666667%;
+}
+.col-xs-7 {
+  width: 58.33333333%;
+}
+.col-xs-6 {
+  width: 50%;
+}
+.col-xs-5 {
+  width: 41.66666667%;
+}
+.col-xs-4 {
+  width: 33.33333333%;
+}
+.col-xs-3 {
+  width: 25%;
+}
+.col-xs-2 {
+  width: 16.66666667%;
+}
+.col-xs-1 {
+  width: 8.33333333%;
+}
+.col-xs-pull-12 {
+  right: 100%;
+}
+.col-xs-pull-11 {
+  right: 91.66666667%;
+}
+.col-xs-pull-10 {
+  right: 83.33333333%;
+}
+.col-xs-pull-9 {
+  right: 75%;
+}
+.col-xs-pull-8 {
+  right: 66.66666667%;
+}
+.col-xs-pull-7 {
+  right: 58.33333333%;
+}
+.col-xs-pull-6 {
+  right: 50%;
+}
+.col-xs-pull-5 {
+  right: 41.66666667%;
+}
+.col-xs-pull-4 {
+  right: 33.33333333%;
+}
+.col-xs-pull-3 {
+  right: 25%;
+}
+.col-xs-pull-2 {
+  right: 16.66666667%;
+}
+.col-xs-pull-1 {
+  right: 8.33333333%;
+}
+.col-xs-pull-0 {
+  right: auto;
+}
+.col-xs-push-12 {
+  left: 100%;
+}
+.col-xs-push-11 {
+  left: 91.66666667%;
+}
+.col-xs-push-10 {
+  left: 83.33333333%;
+}
+.col-xs-push-9 {
+  left: 75%;
+}
+.col-xs-push-8 {
+  left: 66.66666667%;
+}
+.col-xs-push-7 {
+  left: 58.33333333%;
+}
+.col-xs-push-6 {
+  left: 50%;
+}
+.col-xs-push-5 {
+  left: 41.66666667%;
+}
+.col-xs-push-4 {
+  left: 33.33333333%;
+}
+.col-xs-push-3 {
+  left: 25%;
+}
+.col-xs-push-2 {
+  left: 16.66666667%;
+}
+.col-xs-push-1 {
+  left: 8.33333333%;
+}
+.col-xs-push-0 {
+  left: auto;
+}
+.col-xs-offset-12 {
+  margin-left: 100%;
+}
+.col-xs-offset-11 {
+  margin-left: 91.66666667%;
+}
+.col-xs-offset-10 {
+  margin-left: 83.33333333%;
+}
+.col-xs-offset-9 {
+  margin-left: 75%;
+}
+.col-xs-offset-8 {
+  margin-left: 66.66666667%;
+}
+.col-xs-offset-7 {
+  margin-left: 58.33333333%;
+}
+.col-xs-offset-6 {
+  margin-left: 50%;
+}
+.col-xs-offset-5 {
+  margin-left: 41.66666667%;
+}
+.col-xs-offset-4 {
+  margin-left: 33.33333333%;
+}
+.col-xs-offset-3 {
+  margin-left: 25%;
+}
+.col-xs-offset-2 {
+  margin-left: 16.66666667%;
+}
+.col-xs-offset-1 {
+  margin-left: 8.33333333%;
+}
+.col-xs-offset-0 {
+  margin-left: 0;
+}
+@media (min-width: 768px) {
+  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
+    float: left;
+  }
+  .col-sm-12 {
+    width: 100%;
+  }
+  .col-sm-11 {
+    width: 91.66666667%;
+  }
+  .col-sm-10 {
+    width: 83.33333333%;
+  }
+  .col-sm-9 {
+    width: 75%;
+  }
+  .col-sm-8 {
+    width: 66.66666667%;
+  }
+  .col-sm-7 {
+    width: 58.33333333%;
+  }
+  .col-sm-6 {
+    width: 50%;
+  }
+  .col-sm-5 {
+    width: 41.66666667%;
+  }
+  .col-sm-4 {
+    width: 33.33333333%;
+  }
+  .col-sm-3 {
+    width: 25%;
+  }
+  .col-sm-2 {
+    width: 16.66666667%;
+  }
+  .col-sm-1 {
+    width: 8.33333333%;
+  }
+  .col-sm-pull-12 {
+    right: 100%;
+  }
+  .col-sm-pull-11 {
+    right: 91.66666667%;
+  }
+  .col-sm-pull-10 {
+    right: 83.33333333%;
+  }
+  .col-sm-pull-9 {
+    right: 75%;
+  }
+  .col-sm-pull-8 {
+    right: 66.66666667%;
+  }
+  .col-sm-pull-7 {
+    right: 58.33333333%;
+  }
+  .col-sm-pull-6 {
+    right: 50%;
+  }
+  .col-sm-pull-5 {
+    right: 41.66666667%;
+  }
+  .col-sm-pull-4 {
+    right: 33.33333333%;
+  }
+  .col-sm-pull-3 {
+    right: 25%;
+  }
+  .col-sm-pull-2 {
+    right: 16.66666667%;
+  }
+  .col-sm-pull-1 {
+    right: 8.33333333%;
+  }
+  .col-sm-pull-0 {
+    right: auto;
+  }
+  .col-sm-push-12 {
+    left: 100%;
+  }
+  .col-sm-push-11 {
+    left: 91.66666667%;
+  }
+  .col-sm-push-10 {
+    left: 83.33333333%;
+  }
+  .col-sm-push-9 {
+    left: 75%;
+  }
+  .col-sm-push-8 {
+    left: 66.66666667%;
+  }
+  .col-sm-push-7 {
+    left: 58.33333333%;
+  }
+  .col-sm-push-6 {
+    left: 50%;
+  }
+  .col-sm-push-5 {
+    left: 41.66666667%;
+  }
+  .col-sm-push-4 {
+    left: 33.33333333%;
+  }
+  .col-sm-push-3 {
+    left: 25%;
+  }
+  .col-sm-push-2 {
+    left: 16.66666667%;
+  }
+  .col-sm-push-1 {
+    left: 8.33333333%;
+  }
+  .col-sm-push-0 {
+    left: auto;
+  }
+  .col-sm-offset-12 {
+    margin-left: 100%;
+  }
+  .col-sm-offset-11 {
+    margin-left: 91.66666667%;
+  }
+  .col-sm-offset-10 {
+    margin-left: 83.33333333%;
+  }
+  .col-sm-offset-9 {
+    margin-left: 75%;
+  }
+  .col-sm-offset-8 {
+    margin-left: 66.66666667%;
+  }
+  .col-sm-offset-7 {
+    margin-left: 58.33333333%;
+  }
+  .col-sm-offset-6 {
+    margin-left: 50%;
+  }
+  .col-sm-offset-5 {
+    margin-left: 41.66666667%;
+  }
+  .col-sm-offset-4 {
+    margin-left: 33.33333333%;
+  }
+  .col-sm-offset-3 {
+    margin-left: 25%;
+  }
+  .col-sm-offset-2 {
+    margin-left: 16.66666667%;
+  }
+  .col-sm-offset-1 {
+    margin-left: 8.33333333%;
+  }
+  .col-sm-offset-0 {
+    margin-left: 0;
+  }
+}
+@media (min-width: 992px) {
+  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
+    float: left;
+  }
+  .col-md-12 {
+    width: 100%;
+  }
+  .col-md-11 {
+    width: 91.66666667%;
+  }
+  .col-md-10 {
+    width: 83.33333333%;
+  }
+  .col-md-9 {
+    width: 75%;
+  }
+  .col-md-8 {
+    width: 66.66666667%;
+  }
+  .col-md-7 {
+    width: 58.33333333%;
+  }
+  .col-md-6 {
+    width: 50%;
+  }
+  .col-md-5 {
+    width: 41.66666667%;
+  }
+  .col-md-4 {
+    width: 33.33333333%;
+  }
+  .col-md-3 {
+    width: 25%;
+  }
+  .col-md-2 {
+    width: 16.66666667%;
+  }
+  .col-md-1 {
+    width: 8.33333333%;
+  }
+  .col-md-pull-12 {
+    right: 100%;
+  }
+  .col-md-pull-11 {
+    right: 91.66666667%;
+  }
+  .col-md-pull-10 {
+    right: 83.33333333%;
+  }
+  .col-md-pull-9 {
+    right: 75%;
+  }
+  .col-md-pull-8 {
+    right: 66.66666667%;
+  }
+  .col-md-pull-7 {
+    right: 58.33333333%;
+  }
+  .col-md-pull-6 {
+    right: 50%;
+  }
+  .col-md-pull-5 {
+    right: 41.66666667%;
+  }
+  .col-md-pull-4 {
+    right: 33.33333333%;
+  }
+  .col-md-pull-3 {
+    right: 25%;
+  }
+  .col-md-pull-2 {
+    right: 16.66666667%;
+  }
+  .col-md-pull-1 {
+    right: 8.33333333%;
+  }
+  .col-md-pull-0 {
+    right: auto;
+  }
+  .col-md-push-12 {
+    left: 100%;
+  }
+  .col-md-push-11 {
+    left: 91.66666667%;
+  }
+  .col-md-push-10 {
+    left: 83.33333333%;
+  }
+  .col-md-push-9 {
+    left: 75%;
+  }
+  .col-md-push-8 {
+    left: 66.66666667%;
+  }
+  .col-md-push-7 {
+    left: 58.33333333%;
+  }
+  .col-md-push-6 {
+    left: 50%;
+  }
+  .col-md-push-5 {
+    left: 41.66666667%;
+  }
+  .col-md-push-4 {
+    left: 33.33333333%;
+  }
+  .col-md-push-3 {
+    left: 25%;
+  }
+  .col-md-push-2 {
+    left: 16.66666667%;
+  }
+  .col-md-push-1 {
+    left: 8.33333333%;
+  }
+  .col-md-push-0 {
+    left: auto;
+  }
+  .col-md-offset-12 {
+    margin-left: 100%;
+  }
+  .col-md-offset-11 {
+    margin-left: 91.66666667%;
+  }
+  .col-md-offset-10 {
+    margin-left: 83.33333333%;
+  }
+  .col-md-offset-9 {
+    margin-left: 75%;
+  }
+  .col-md-offset-8 {
+    margin-left: 66.66666667%;
+  }
+  .col-md-offset-7 {
+    margin-left: 58.33333333%;
+  }
+  .col-md-offset-6 {
+    margin-left: 50%;
+  }
+  .col-md-offset-5 {
+    margin-left: 41.66666667%;
+  }
+  .col-md-offset-4 {
+    margin-left: 33.33333333%;
+  }
+  .col-md-offset-3 {
+    margin-left: 25%;
+  }
+  .col-md-offset-2 {
+    margin-left: 16.66666667%;
+  }
+  .col-md-offset-1 {
+    margin-left: 8.33333333%;
+  }
+  .col-md-offset-0 {
+    margin-left: 0;
+  }
+}
+@media (min-width: 1200px) {
+  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
+    float: left;
+  }
+  .col-lg-12 {
+    width: 100%;
+  }
+  .col-lg-11 {
+    width: 91.66666667%;
+  }
+  .col-lg-10 {
+    width: 83.33333333%;
+  }
+  .col-lg-9 {
+    width: 75%;
+  }
+  .col-lg-8 {
+    width: 66.66666667%;
+  }
+  .col-lg-7 {
+    width: 58.33333333%;
+  }
+  .col-lg-6 {
+    width: 50%;
+  }
+  .col-lg-5 {
+    width: 41.66666667%;
+  }
+  .col-lg-4 {
+    width: 33.33333333%;
+  }
+  .col-lg-3 {
+    width: 25%;
+  }
+  .col-lg-2 {
+    width: 16.66666667%;
+  }
+  .col-lg-1 {
+    width: 8.33333333%;
+  }
+  .col-lg-pull-12 {
+    right: 100%;
+  }
+  .col-lg-pull-11 {
+    right: 91.66666667%;
+  }
+  .col-lg-pull-10 {
+    right: 83.33333333%;
+  }
+  .col-lg-pull-9 {
+    right: 75%;
+  }
+  .col-lg-pull-8 {
+    right: 66.66666667%;
+  }
+  .col-lg-pull-7 {
+    right: 58.33333333%;
+  }
+  .col-lg-pull-6 {
+    right: 50%;
+  }
+  .col-lg-pull-5 {
+    right: 41.66666667%;
+  }
+  .col-lg-pull-4 {
+    right: 33.33333333%;
+  }
+  .col-lg-pull-3 {
+    right: 25%;
+  }
+  .col-lg-pull-2 {
+    right: 16.66666667%;
+  }
+  .col-lg-pull-1 {
+    right: 8.33333333%;
+  }
+  .col-lg-pull-0 {
+    right: auto;
+  }
+  .col-lg-push-12 {
+    left: 100%;
+  }
+  .col-lg-push-11 {
+    left: 91.66666667%;
+  }
+  .col-lg-push-10 {
+    left: 83.33333333%;
+  }
+  .col-lg-push-9 {
+    left: 75%;
+  }
+  .col-lg-push-8 {
+    left: 66.66666667%;
+  }
+  .col-lg-push-7 {
+    left: 58.33333333%;
+  }
+  .col-lg-push-6 {
+    left: 50%;
+  }
+  .col-lg-push-5 {
+    left: 41.66666667%;
+  }
+  .col-lg-push-4 {
+    left: 33.33333333%;
+  }
+  .col-lg-push-3 {
+    left: 25%;
+  }
+  .col-lg-push-2 {
+    left: 16.66666667%;
+  }
+  .col-lg-push-1 {
+    left: 8.33333333%;
+  }
+  .col-lg-push-0 {
+    left: auto;
+  }
+  .col-lg-offset-12 {
+    margin-left: 100%;
+  }
+  .col-lg-offset-11 {
+    margin-left: 91.66666667%;
+  }
+  .col-lg-offset-10 {
+    margin-left: 83.33333333%;
+  }
+  .col-lg-offset-9 {
+    margin-left: 75%;
+  }
+  .col-lg-offset-8 {
+    margin-left: 66.66666667%;
+  }
+  .col-lg-offset-7 {
+    margin-left: 58.33333333%;
+  }
+  .col-lg-offset-6 {
+    margin-left: 50%;
+  }
+  .col-lg-offset-5 {
+    margin-left: 41.66666667%;
+  }
+  .col-lg-offset-4 {
+    margin-left: 33.33333333%;
+  }
+  .col-lg-offset-3 {
+    margin-left: 25%;
+  }
+  .col-lg-offset-2 {
+    margin-left: 16.66666667%;
+  }
+  .col-lg-offset-1 {
+    margin-left: 8.33333333%;
+  }
+  .col-lg-offset-0 {
+    margin-left: 0;
+  }
+}
+table {
+  background-color: transparent;
+}
+th {
+  text-align: left;
+}
+.table {
+  width: 100%;
+  max-width: 100%;
+  margin-bottom: 20px;
+}
+.table > thead > tr > th,
+.table > tbody > tr > th,
+.table > tfoot > tr > th,
+.table > thead > tr > td,
+.table > tbody > tr > td,
+.table > tfoot > tr > td {
+  padding: 8px;
+  line-height: 1.42857143;
+  vertical-align: top;
+  border-top: 1px solid #ddd;
+}
+.table > thead > tr > th {
+  vertical-align: bottom;
+  border-bottom: 2px solid #ddd;
+}
+.table > caption + thead > tr:first-child > th,
+.table > colgroup + thead > tr:first-child > th,
+.table > thead:first-child > tr:first-child > th,
+.table > caption + thead > tr:first-child > td,
+.table > colgroup + thead > tr:first-child > td,
+.table > thead:first-child > tr:first-child > td {
+  border-top: 0;
+}
+.table > tbody + tbody {
+  border-top: 2px solid #ddd;
+}
+.table .table {
+  background-color: #fff;
+}
+.table-condensed > thead > tr > th,
+.table-condensed > tbody > tr > th,
+.table-condensed > tfoot > tr > th,
+.table-condensed > thead > tr > td,
+.table-condensed > tbody > tr > td,
+.table-condensed > tfoot > tr > td {
+  padding: 5px;
+}
+.table-bordered {
+  border: 1px solid #ddd;
+}
+.table-bordered > thead > tr > th,
+.table-bordered > tbody > tr > th,
+.table-bordered > tfoot > tr > th,
+.table-bordered > thead > tr > td,
+.table-bordered > tbody > tr > td,
+.table-bordered > tfoot > tr > td {
+  border: 1px solid #ddd;
+}
+.table-bordered > thead > tr > th,
+.table-bordered > thead > tr > td {
+  border-bottom-width: 2px;
+}
+.table-striped > tbody > tr:nth-child(odd) > td,
+.table-striped > tbody > tr:nth-child(odd) > th {
+  background-color: #f9f9f9;
+}
+.table-hover > tbody > tr:hover > td,
+.table-hover > tbody > tr:hover > th {
+  background-color: #f5f5f5;
+}
+table col[class*="col-"] {
+  position: static;
+  display: table-column;
+  float: none;
+}
+table td[class*="col-"],
+table th[class*="col-"] {
+  position: static;
+  display: table-cell;
+  float: none;
+}
+.table > thead > tr > td.active,
+.table > tbody > tr > td.active,
+.table > tfoot > tr > td.active,
+.table > thead > tr > th.active,
+.table > tbody > tr > th.active,
+.table > tfoot > tr > th.active,
+.table > thead > tr.active > td,
+.table > tbody > tr.active > td,
+.table > tfoot > tr.active > td,
+.table > thead > tr.active > th,
+.table > tbody > tr.active > th,
+.table > tfoot > tr.active > th {
+  background-color: #f5f5f5;
+}
+.table-hover > tbody > tr > td.active:hover,
+.table-hover > tbody > tr > th.active:hover,
+.table-hover > tbody > tr.active:hover > td,
+.table-hover > tbody > tr:hover > .active,
+.table-hover > tbody > tr.active:hover > th {
+  background-color: #e8e8e8;
+}
+.table > thead > tr > td.success,
+.table > tbody > tr > td.success,
+.table > tfoot > tr > td.success,
+.table > thead > tr > th.success,
+.table > tbody > tr > th.success,
+.table > tfoot > tr > th.success,
+.table > thead > tr.success > td,
+.table > tbody > tr.success > td,
+.table > tfoot > tr.success > td,
+.table > thead > tr.success > th,
+.table > tbody > tr.success > th,
+.table > tfoot > tr.success > th {
+  background-color: #dff0d8;
+}
+.table-hover > tbody > tr > td.success:hover,
+.table-hover > tbody > tr > th.success:hover,
+.table-hover > tbody > tr.success:hover > td,
+.table-hover > tbody > tr:hover > .success,
+.table-hover > tbody > tr.success:hover > th {
+  background-color: #d0e9c6;
+}
+.table > thead > tr > td.info,
+.table > tbody > tr > td.info,
+.table > tfoot > tr > td.info,
+.table > thead > tr > th.info,
+.table > tbody > tr > th.info,
+.table > tfoot > tr > th.info,
+.table > thead > tr.info > td,
+.table > tbody > tr.info > td,
+.table > tfoot > tr.info > td,
+.table > thead > tr.info > th,
+.table > tbody > tr.info > th,
+.table > tfoot > tr.info > th {
+  background-color: #d9edf7;
+}
+.table-hover > tbody > tr > td.info:hover,
+.table-hover > tbody > tr > th.info:hover,
+.table-hover > tbody > tr.info:hover > td,
+.table-hover > tbody > tr:hover > .info,
+.table-hover > tbody > tr.info:hover > th {
+  background-color: #c4e3f3;
+}
+.table > thead > tr > td.warning,
+.table > tbody > tr > td.warning,
+.table > tfoot > tr > td.warning,
+.table > thead > tr > th.warning,
+.table > tbody > tr > th.warning,
+.table > tfoot > tr > th.warning,
+.table > thead > tr.warning > td,
+.table > tbody > tr.warning > td,
+.table > tfoot > tr.warning > td,
+.table > thead > tr.warning > th,
+.table > tbody > tr.warning > th,
+.table > tfoot > tr.warning > th {
+  background-color: #fcf8e3;
+}
+.table-hover > tbody > tr > td.warning:hover,
+.table-hover > tbody > tr > th.warning:hover,
+.table-hover > tbody > tr.warning:hover > td,
+.table-hover > tbody > tr:hover > .warning,
+.table-hover > tbody > tr.warning:hover > th {
+  background-color: #faf2cc;
+}
+.table > thead > tr > td.danger,
+.table > tbody > tr > td.danger,
+.table > tfoot > tr > td.danger,
+.table > thead > tr > th.danger,
+.table > tbody > tr > th.danger,
+.table > tfoot > tr > th.danger,
+.table > thead > tr.danger > td,
+.table > tbody > tr.danger > td,
+.table > tfoot > tr.danger > td,
+.table > thead > tr.danger > th,
+.table > tbody > tr.danger > th,
+.table > tfoot > tr.danger > th {
+  background-color: #f2dede;
+}
+.table-hover > tbody > tr > td.danger:hover,
+.table-hover > tbody > tr > th.danger:hover,
+.table-hover > tbody > tr.danger:hover > td,
+.table-hover > tbody > tr:hover > .danger,
+.table-hover > tbody > tr.danger:hover > th {
+  background-color: #ebcccc;
+}
+@media screen and (max-width: 767px) {
+  .table-responsive {
+    width: 100%;
+    margin-bottom: 15px;
+    overflow-x: auto;
+    overflow-y: hidden;
+    -webkit-overflow-scrolling: touch;
+    -ms-overflow-style: -ms-autohiding-scrollbar;
+    border: 1px solid #ddd;
+  }
+  .table-responsive > .table {
+    margin-bottom: 0;
+  }
+  .table-responsive > .table > thead > tr > th,
+  .table-responsive > .table > tbody > tr > th,
+  .table-responsive > .table > tfoot > tr > th,
+  .table-responsive > .table > thead > tr > td,
+  .table-responsive > .table > tbody > tr > td,
+  .table-responsive > .table > tfoot > tr > td {
+    white-space: nowrap;
+  }
+  .table-responsive > .table-bordered {
+    border: 0;
+  }
+  .table-responsive > .table-bordered > thead > tr > th:first-child,
+  .table-responsive > .table-bordered > tbody > tr > th:first-child,
+  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+  .table-responsive > .table-bordered > thead > tr > td:first-child,
+  .table-responsive > .table-bordered > tbody > tr > td:first-child,
+  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+    border-left: 0;
+  }
+  .table-responsive > .table-bordered > thead > tr > th:last-child,
+  .table-responsive > .table-bordered > tbody > tr > th:last-child,
+  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+  .table-responsive > .table-bordered > thead > tr > td:last-child,
+  .table-responsive > .table-bordered > tbody > tr > td:last-child,
+  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+    border-right: 0;
+  }
+  .table-responsive > .table-bordered > tbody > tr:last-child > th,
+  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
+  .table-responsive > .table-bordered > tbody > tr:last-child > td,
+  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
+    border-bottom: 0;
+  }
+}
+fieldset {
+  min-width: 0;
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+legend {
+  display: block;
+  width: 100%;
+  padding: 0;
+  margin-bottom: 20px;
+  font-size: 21px;
+  line-height: inherit;
+  color: #333;
+  border: 0;
+  border-bottom: 1px solid #e5e5e5;
+}
+label {
+  display: inline-block;
+  max-width: 100%;
+  margin-bottom: 5px;
+  font-weight: bold;
+}
+input[type="search"] {
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+input[type="radio"],
+input[type="checkbox"] {
+  margin: 4px 0 0;
+  margin-top: 1px \9;
+  line-height: normal;
+}
+input[type="file"] {
+  display: block;
+}
+input[type="range"] {
+  display: block;
+  width: 100%;
+}
+select[multiple],
+select[size] {
+  height: auto;
+}
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+  outline: thin dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+output {
+  display: block;
+  padding-top: 7px;
+  font-size: 14px;
+  line-height: 1.42857143;
+  color: #555;
+}
+.form-control {
+  display: block;
+  width: 100%;
+  height: 34px;
+  padding: 6px 12px;
+  font-size: 14px;
+  line-height: 1.42857143;
+  color: #555;
+  background-color: #fff;
+  background-image: none;
+  border: 1px solid #ccc;
+  border-radius: 4px;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
+       -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+          transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+}
+.form-control:focus {
+  border-color: #66afe9;
+  outline: 0;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
+          box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
+}
+.form-control::-moz-placeholder {
+  color: #777;
+  opacity: 1;
+}
+.form-control:-ms-input-placeholder {
+  color: #777;
+}
+.form-control::-webkit-input-placeholder {
+  color: #777;
+}
+.form-control[disabled],
+.form-control[readonly],
+fieldset[disabled] .form-control {
+  cursor: not-allowed;
+  background-color: #eee;
+  opacity: 1;
+}
+textarea.form-control {
+  height: auto;
+}
+input[type="search"] {
+  -webkit-appearance: none;
+}
+input[type="date"],
+input[type="time"],
+input[type="datetime-local"],
+input[type="month"] {
+  line-height: 34px;
+  line-height: 1.42857143 \0;
+}
+input[type="date"].input-sm,
+input[type="time"].input-sm,
+input[type="datetime-local"].input-sm,
+input[type="month"].input-sm {
+  line-height: 30px;
+}
+input[type="date"].input-lg,
+input[type="time"].input-lg,
+input[type="datetime-local"].input-lg,
+input[type="month"].input-lg {
+  line-height: 46px;
+}
+.form-group {
+  margin-bottom: 15px;
+}
+.radio,
+.checkbox {
+  position: relative;
+  display: block;
+  min-height: 20px;
+  margin-top: 10px;
+  margin-bottom: 10px;
+}
+.radio label,
+.checkbox label {
+  padding-left: 20px;
+  margin-bottom: 0;
+  font-weight: normal;
+  cursor: pointer;
+}
+.radio input[type="radio"],
+.radio-inline input[type="radio"],
+.checkbox input[type="checkbox"],
+.checkbox-inline input[type="checkbox"] {
+  position: absolute;
+  margin-top: 4px \9;
+  margin-left: -20px;
+}
+.radio + .radio,
+.checkbox + .checkbox {
+  margin-top: -5px;
+}
+.radio-inline,
+.checkbox-inline {
+  display: inline-block;
+  padding-left: 20px;
+  margin-bottom: 0;
+  font-weight: normal;
+  vertical-align: middle;
+  cursor: pointer;
+}
+.radio-inline + .radio-inline,
+.checkbox-inline + .checkbox-inline {
+  margin-top: 0;
+  margin-left: 10px;
+}
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+input[type="radio"].disabled,
+input[type="checkbox"].disabled,
+fieldset[disabled] input[type="radio"],
+fieldset[disabled] input[type="checkbox"] {
+  cursor: not-allowed;
+}
+.radio-inline.disabled,
+.checkbox-inline.disabled,
+fieldset[disabled] .radio-inline,
+fieldset[disabled] .checkbox-inline {
+  cursor: not-allowed;
+}
+.radio.disabled label,
+.checkbox.disabled label,
+fieldset[disabled] .radio label,
+fieldset[disabled] .checkbox label {
+  cursor: not-allowed;
+}
+.form-control-static {
+  padding-top: 7px;
+  padding-bottom: 7px;
+  margin-bottom: 0;
+}
+.form-control-static.input-lg,
+.form-control-static.input-sm {
+  padding-right: 0;
+  padding-left: 0;
+}
+.input-sm,
+.form-horizontal .form-group-sm .form-control {
+  height: 30px;
+  padding: 5px 10px;
+  font-size: 12px;
+  line-height: 1.5;
+  border-radius: 3px;
+}
+select.input-sm {
+  height: 30px;
+  line-height: 30px;
+}
+textarea.input-sm,
+select[multiple].input-sm {
+  height: auto;
+}
+.input-lg,
+.form-horizontal .form-group-lg .form-control {
+  height: 46px;
+  padding: 10px 16px;
+  font-size: 18px;
+  line-height: 1.33;
+  border-radius: 6px;
+}
+select.input-lg {
+  height: 46px;
+  line-height: 46px;
+}
+textarea.input-lg,
+select[multiple].input-lg {
+  height: auto;
+}
+.has-feedback {
+  position: relative;
+}
+.has-feedback .form-control {
+  padding-right: 42.5px;
+}
+.form-control-feedback {
+  position: absolute;
+  top: 25px;
+  right: 0;
+  z-index: 2;
+  display: block;
+  width: 34px;
+  height: 34px;
+  line-height: 34px;
+  text-align: center;
+}
+.input-lg + .form-control-feedback {
+  width: 46px;
+  height: 46px;
+  line-height: 46px;
+}
+.input-sm + .form-control-feedback {
+  width: 30px;
+  height: 30px;
+  line-height: 30px;
+}
+.has-success .help-block,
+.has-success .control-label,
+.has-success .radio,
+.has-success .checkbox,
+.has-success .radio-inline,
+.has-success .checkbox-inline {
+  color: #3c763d;
+}
+.has-success .form-control {
+  border-color: #3c763d;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+}
+.has-success .form-control:focus {
+  border-color: #2b542c;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
+}
+.has-success .input-group-addon {
+  color: #3c763d;
+  background-color: #dff0d8;
+  border-color: #3c763d;
+}
+.has-success .form-control-feedback {
+  color: #3c763d;
+}
+.has-warning .help-block,
+.has-warning .control-label,
+.has-warning .radio,
+.has-warning .checkbox,
+.has-warning .radio-inline,
+.has-warning .checkbox-inline {
+  color: #8a6d3b;
+}
+.has-warning .form-control {
+  border-color: #8a6d3b;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+}
+.has-warning .form-control:focus {
+  border-color: #66512c;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
+}
+.has-warning .input-group-addon {
+  color: #8a6d3b;
+  background-color: #fcf8e3;
+  border-color: #8a6d3b;
+}
+.has-warning .form-control-feedback {
+  color: #8a6d3b;
+}
+.has-error .help-block,
+.has-error .control-label,
+.has-error .radio,
+.has-error .checkbox,
+.has-error .radio-inline,
+.has-error .checkbox-inline {
+  color: #a94442;
+}
+.has-error .form-control {
+  border-color: #a94442;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+}
+.has-error .form-control:focus {
+  border-color: #843534;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
+}
+.has-error .input-group-addon {
+  color: #a94442;
+  background-color: #f2dede;
+  border-color: #a94442;
+}
+.has-error .form-control-feedback {
+  color: #a94442;
+}
+.has-feedback label.sr-only ~ .form-control-feedback {
+  top: 0;
+}
+.help-block {
+  display: block;
+  margin-top: 5px;
+  margin-bottom: 10px;
+  color: #737373;
+}
+@media (min-width: 768px) {
+  .form-inline .form-group {
+    display: inline-block;
+    margin-bottom: 0;
+    vertical-align: middle;
+  }
+  .form-inline .form-control {
... 56708 lines suppressed ...

[iceberg-docs] 17/47: Replace asciinema recordings with much better looking and easier to use termynal (#17)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 80c0f11276febb7fe5d0b8fbb9198904bd56fae1
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Wed Jan 26 09:53:46 2022 -0800

    Replace asciinema recordings with much better looking and easier to use termynal (#17)
---
 .gitignore                                         |    3 -
 landing-page/asciinema/README.md                   |   73 -
 landing-page/asciinema/generate_asciinema_cast.py  |   71 -
 landing-page/asciinema/schema_evolution.py         |   70 -
 landing-page/asciinema/time_travel.py              |   51 -
 landing-page/layouts/partials/head.html            |    7 +-
 landing-page/layouts/partials/js.html              |    3 +
 landing-page/static/asciinema/asciinema-player.css | 2567 --------------------
 .../static/asciinema/asciinema-player.css.back     | 2567 --------------------
 .../static/asciinema/asciinema-player.min.js       |    1 -
 .../static/asciinema/asciinema-player.min.js.back  |    1 -
 .../static/asciinema/schema_evolution.cast         |  296 ---
 landing-page/static/asciinema/time_travel.cast     |  260 --
 landing-page/static/css/termynal.css               |  102 +
 landing-page/static/js/termynal.js                 |  197 ++
 15 files changed, 305 insertions(+), 5964 deletions(-)

diff --git a/.gitignore b/.gitignore
index 5bdd4c5..791934a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,9 +3,6 @@
 resources
 !javadoc/resources
 
-# Script Generated Asciinema Recordings
-asciinema/output
-
 # Other
 __pycache__
 .DS_Store
diff --git a/landing-page/asciinema/README.md b/landing-page/asciinema/README.md
deleted file mode 100644
index 9e416e1..0000000
--- a/landing-page/asciinema/README.md
+++ /dev/null
@@ -1,73 +0,0 @@
-<!--
-  - Licensed to the Apache Software Foundation (ASF) under one
-  - or more contributor license agreements.  See the NOTICE file
-  - distributed with this work for additional information
-  - regarding copyright ownership.  The ASF licenses this file
-  - to you under the Apache License, Version 2.0 (the
-  - "License"); you may not use this file except in compliance
-  - with the License.  You may obtain a copy of the License at
-  -
-  -   http://www.apache.org/licenses/LICENSE-2.0
-  -
-  - Unless required by applicable law or agreed to in writing,
-  - software distributed under the License is distributed on an
-  - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  - KIND, either express or implied.  See the License for the
-  - specific language governing permissions and limitations
-  - under the License.
-  -->
-
-# Asciinema Recordings
-
-This directory contains some helper scripts to generate asciinema recordings of terminal commands.
-To generate a new asciinema recording, you can use the `Cast` class in [generate_asciinema_cast.py](generate_asciinema_cast.py).
-
-```py
-from generate_asciinema_cast import Cast
-
-Cast(sequence).generate_cast(PS1="spark-sql> ").save("output/schema_evolution.cast")
-```
-
-The `sequence` object is a list of tuples that each contain two string elements. The first string element
-is the user input, and the second is the terminal output. For example, if you wanted to create a cast showing
-the printing of a text file, you would create a sequence like this.
-
-```py
-from generate_aciinema_cast import Cast
-
-sequence = [
-    (
-        "touch file.txt",
-        ""
-    ),
-    (
-        'echo "Hello World!" > file.txt',
-        ""
-    ),
-    (
-        "cat file.txt",
-        "Hello World!"
-    )
-]
-
-Cast(sequence).generate_cast(PS1="$ ").save("output/hello_world.cast")
-```
-
-# Adding a Cast to The Documentation Site
-
-Once you have a cast, you can add it to a location in the documentation site. To do that,
-copy the cast over to the static/asciinema directory. Next, add the following where you want
-the asciinema recording to be displayed.
-
-```html
-<div id="an-example-cast"></div>
-<script>
-    AsciinemaPlayer.create('{{ .Site.BaseURL }}/asciinema/hello_world.cast', document.getElementById('an-example-cast'), {
-        loop: true,
-        autoPlay: true,
-        theme: "monokai",
-    });
-</script>
-```
-
-To see all of the options you can use to customize how the cast is displayed, check out the [asciinema-player](https://github.com/asciinema/asciinema-player) repo.
\ No newline at end of file
diff --git a/landing-page/asciinema/generate_asciinema_cast.py b/landing-page/asciinema/generate_asciinema_cast.py
deleted file mode 100644
index f602506..0000000
--- a/landing-page/asciinema/generate_asciinema_cast.py
+++ /dev/null
@@ -1,71 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import random
-from typing import List, Tuple, Union
-
-VIDEO_NEW_LINE = "\\r\\n"
-
-
-class Cast:
-    def __init__(self, sequence: List[Tuple[str]]):
-        self._sequence = sequence
-
-    @staticmethod
-    def generate_cast_line(clock: int, content: str):
-        return f'[{clock}, "o", "{content}"]\r\n'
-
-    def generate_cast(
-        self,
-        speed: Union[int, float] = 0.01,
-        speed_randomizer: Union[int, Tuple[int]] = (0.00, 0.05),
-        newline_pause: Union[int, float] = 0.5,
-        PS1: str = "$ ",
-        width: int = 450,
-        height: int = 300,
-    ):
-        cast = '{"version": 2}\r\n'
-        lower_speed_randomizer, upper_speed_randomizer = (
-            speed_randomizer
-            if isinstance(speed_randomizer, tuple)
-            else (speed_randomizer, speed_randomizer)
-        )
-        clock = 0
-        for command, output in self._sequence:
-            cast += self.generate_cast_line(clock, PS1)
-            for character in command:
-                clock += random.uniform(
-                    speed - lower_speed_randomizer, speed + upper_speed_randomizer
-                )
-                cast += self.generate_cast_line(clock, character)
-            cast += self.generate_cast_line(clock, VIDEO_NEW_LINE)
-            clock += (
-                random.uniform(
-                    speed - lower_speed_randomizer, speed + upper_speed_randomizer
-                )
-                + newline_pause
-            )
-            for line in output.split("\n"):
-                cast += self.generate_cast_line(clock, line + VIDEO_NEW_LINE)
-        cast += self.generate_cast_line(clock + 5, PS1)
-        self.content = cast
-        return self
-
-    def save(self, path: str):
-        output_file = open(path, "wt")
-        with open(path, "w") as output_file:
-            output_file.write(self.content)
diff --git a/landing-page/asciinema/schema_evolution.py b/landing-page/asciinema/schema_evolution.py
deleted file mode 100644
index 14dbe3b..0000000
--- a/landing-page/asciinema/schema_evolution.py
+++ /dev/null
@@ -1,70 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-from generate_asciinema_cast import Cast
-
-sequence = [
-    (
-        "ALTER TABLE taxis ADD COLUMN fare_per_distance_unit float AFTER trip_distance;",
-        "Time taken: 0.671 seconds",
-    ),
-    (
-        "DESCRIBE TABLE nyc.taxis;",
-        """VendorID    string
-tpep_pickup_datetime    string
-tpep_dropoff_datetime    string
-passenger_count    string
-trip_distance    string
-RatecodeID    string
-store_and_fwd_flag    string
-PULocationID    string
-DOLocationID    string
-payment_type    string
-fare_amount    string
-extra    string
-mta_tax    string
-tip_amount    string
-tolls_amount    string
-improvement_surcharge    string
-total_amount    string
-congestion_surcharge    string
-
-# Partitioning
-Not partitioned
-Time taken: 3.884 seconds, Fetched 21 row(s)""",
-    ),
-    (
-        "UPDATE taxis SET fare_per_distance_unit = fare_amount/trip_distance;",
-        "Time taken: 7.917 seconds",
-    ),
-    (
-        "SELECT fare_amount, trip_distance, fare_per_distance_unit FROM taxis limit 10;",
-        """5.5    1.20    4.5833335
-12.5    3.40    3.6764705
-10    2.80    3.5714285
-10    2.60    3.8461537
-6.5    1.44    4.513889
-10.5    2.93    3.5836177
-20    6.86    2.915452
-7    1.19    5.882353
-31.5    11.30    2.7876105
-13    3.68    3.5326087
-Time taken: 6.736 seconds, Fetched 10 row(s)""",
-    ),
-]
-
-Cast(sequence).generate_cast(PS1="spark-sql> ").save("output/schema_evolution.cast")
diff --git a/landing-page/asciinema/time_travel.py b/landing-page/asciinema/time_travel.py
deleted file mode 100644
index 342139a..0000000
--- a/landing-page/asciinema/time_travel.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-from generate_asciinema_cast import Cast
-
-sequence = [
-    (
-        "SELECT count(*) FROM taxis;",
-        """237993
-Time taken: 0.187 seconds, Fetched 1 row(s)""",
-    ),
-    (
-        "DELETE FROM taxis WHERE passenger_count < 7;",
-        """Time taken: 2.688 seconds""",
-    ),
-    (
-        "SELECT count(*) FROM taxis;",
-        """19514
-Time taken: 0.187 seconds, Fetched 1 row(s)""",
-    ),
-    (
-        "SELECT * FROM taxis.history;",
-        """2021-11-26 16:12:03.188    2874264644797652805    NULL    true
-2021-11-27 00:02:45.087    4605577096637158771    2874264644797652805    true""",
-    ),
-    (
-        "ALTER TABLE taxis SET TBLPROPERTIES ('current-snapshot-id'='2874264644797652805');",
-        """Time taken: 0.183 seconds""",
-    ),
-    (
-        "SELECT count(*) FROM taxis;",
-        """237993
-Time taken: 0.107 seconds, Fetched 1 row(s)""",
-    ),
-]
-
-Cast(sequence).generate_cast(PS1="spark-sql> ").save("output/time_travel.cast")
diff --git a/landing-page/layouts/partials/head.html b/landing-page/layouts/partials/head.html
index 558e393..1cfdd2a 100644
--- a/landing-page/layouts/partials/head.html
+++ b/landing-page/layouts/partials/head.html
@@ -33,10 +33,9 @@
     <link href="{{ .Site.BaseURL }}/font-awesome-4.7.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
     <link href="//fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
 
-    <!-- Needed to render embedded asciinema player -->
-    <link rel="stylesheet" type="text/css" href="{{ .Site.BaseURL }}/asciinema/asciinema-player.css" />
-    <script src="{{ .Site.BaseURL }}/asciinema/asciinema-player.min.js"></script>
-
+    <!-- Needed to render termynal animations -->
+    <link href="{{ .Site.BaseURL }}/css/termynal.css" rel="stylesheet">
+    
     <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
     <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
     <!--[if lt IE 9]>
diff --git a/landing-page/layouts/partials/js.html b/landing-page/layouts/partials/js.html
index 45a2981..063204a 100644
--- a/landing-page/layouts/partials/js.html
+++ b/landing-page/layouts/partials/js.html
@@ -10,6 +10,9 @@
 <!-- Custom Theme JavaScript -->
 <script src="{{ .Site.BaseURL }}/js/landing-page.js"></script>
 
+<!-- Termynal animation renderer -->
+<script src="{{ .Site.BaseURL }}/js/termynal.js" data-termynal-container="#termynal"></script>
+
 {{ if isset .Site.Params "googleAnalytics" }}
 
 <!-- Google Analytics -->
diff --git a/landing-page/static/asciinema/asciinema-player.css b/landing-page/static/asciinema/asciinema-player.css
deleted file mode 100644
index aec9775..0000000
--- a/landing-page/static/asciinema/asciinema-player.css
+++ /dev/null
@@ -1,2567 +0,0 @@
-.asciinema-player-wrapper {
-  outline: none;
-  height: 100%;
-  display: flex;
-  justify-content: center;
-}
-.asciinema-player-wrapper .title-bar {
-  display: none;
-  top: -78px;
-  transition: top 0.15s linear;
-  position: absolute;
-  left: 0;
-  right: 0;
-  box-sizing: content-box;
-  font-size: 20px;
-  line-height: 1em;
-  padding: 15px;
-  font-family: sans-serif;
-  color: white;
-  background-color: rgba(0, 0, 0, 0.8);
-}
-.asciinema-player-wrapper .title-bar img {
-  vertical-align: middle;
-  height: 48px;
-  margin-right: 16px;
-}
-.asciinema-player-wrapper .title-bar a {
-  color: white;
-  text-decoration: underline;
-}
-.asciinema-player-wrapper .title-bar a:hover {
-  text-decoration: none;
-}
-.asciinema-player-wrapper:fullscreen {
-  background-color: #000;
-  width: 100%;
-  -webkit-align-items: center;
-  align-items: center;
-}
-.asciinema-player-wrapper:fullscreen .asciinema-player {
-  position: static;
-}
-.asciinema-player-wrapper:fullscreen .title-bar {
-  display: initial;
-}
-.asciinema-player-wrapper:fullscreen.hud .title-bar {
-  top: 0;
-}
-.asciinema-player-wrapper:-webkit-full-screen {
-  background-color: #000;
-  width: 100%;
-  -webkit-align-items: center;
-  align-items: center;
-}
-.asciinema-player-wrapper:-webkit-full-screen .asciinema-player {
-  position: static;
-}
-.asciinema-player-wrapper:-webkit-full-screen .title-bar {
-  display: initial;
-}
-.asciinema-player-wrapper:-webkit-full-screen.hud .title-bar {
-  top: 0;
-}
-.asciinema-player-wrapper:-moz-full-screen {
-  background-color: #000;
-  width: 100%;
-  -webkit-align-items: center;
-  align-items: center;
-}
-.asciinema-player-wrapper:-moz-full-screen .asciinema-player {
-  position: static;
-}
-.asciinema-player-wrapper:-moz-full-screen .title-bar {
-  display: initial;
-}
-.asciinema-player-wrapper:-moz-full-screen.hud .title-bar {
-  top: 0;
-}
-.asciinema-player-wrapper:-ms-fullscreen {
-  background-color: #000;
-  width: 100%;
-  -webkit-align-items: center;
-  align-items: center;
-}
-.asciinema-player-wrapper:-ms-fullscreen .asciinema-player {
-  position: static;
-}
-.asciinema-player-wrapper:-ms-fullscreen .title-bar {
-  display: initial;
-}
-.asciinema-player-wrapper:-ms-fullscreen.hud .title-bar {
-  top: 0;
-}
-.asciinema-player-wrapper .asciinema-player {
-  text-align: left;
-  display: inline-block;
-  padding: 0px;
-  position: relative;
-  box-sizing: content-box;
-  -moz-box-sizing: content-box;
-  -webkit-box-sizing: content-box;
-  overflow: hidden;
-  max-width: 100%;
-  border-radius: 4px;
-  font-size: 12px;
-}
-.asciinema-terminal {
-  box-sizing: content-box;
-  -moz-box-sizing: content-box;
-  -webkit-box-sizing: content-box;
-  overflow: hidden;
-  padding: 0;
-  margin: 0px;
-  display: block;
-  white-space: pre;
-  border: 0;
-  word-wrap: normal;
-  word-break: normal;
-  border-radius: 0;
-  border-style: solid;
-  cursor: text;
-  border-width: 0.75em;
-  font-family: Consolas, Menlo, 'Bitstream Vera Sans Mono', monospace, 'Powerline Symbols';
-  line-height: 1.33333333em;
-}
-.asciinema-terminal .line {
-  letter-spacing: normal;
-  overflow: hidden;
-  height: 1.33333333em;
-}
-.asciinema-terminal .line span {
-  padding: 0;
-  display: inline-block;
-  height: 1.33333333em;
-}
-.asciinema-terminal .line {
-  display: block;
-  width: 200%;
-}
-.asciinema-terminal .line .cursor-a {
-  display: inline-block;
-}
-.asciinema-terminal .line .cursor-b {
-  display: none;
-  border-radius: 0.05em;
-}
-.asciinema-terminal .line .blink {
-  visibility: hidden;
-}
-.asciinema-terminal.cursor .line .cursor-a {
-  display: none;
-}
-.asciinema-terminal.cursor .line .cursor-b {
-  display: inline-block;
-}
-.asciinema-terminal.blink .line .blink {
-  visibility: visible;
-}
-.asciinema-terminal .bright {
-  font-weight: bold;
-}
-.asciinema-terminal .underline {
-  text-decoration: underline;
-}
-.asciinema-terminal .italic {
-  font-style: italic;
-}
-.asciinema-terminal .strikethrough {
-  text-decoration: line-through;
-}
-.asciinema-player .control-bar {
-  width: 100%;
-  height: 32px;
-  background: rgba(0, 0, 0, 0.8);
-  /* no gradient fallback */
-  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%);
-  /* FF3.6-15 */
-  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%);
-  /* Chrome10-25,Safari5.1-6 */
-  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%);
-  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
-  color: #bbb;
-  box-sizing: content-box;
-  line-height: 1;
-  position: absolute;
-  bottom: -35px;
-  left: 0;
-  transition: bottom 0.15s linear;
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -khtml-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-  z-index: 30;
-}
-.asciinema-player .control-bar * {
-  box-sizing: inherit;
-  font-size: 0;
-}
-.asciinema-player .control-bar svg.icon path {
-  fill: #bbb;
-}
-.asciinema-player .control-bar .playback-button {
-  display: block;
-  float: left;
-  cursor: pointer;
-  height: 12px;
-  width: 12px;
-  padding: 10px;
-}
-.asciinema-player .control-bar .playback-button svg {
-  height: 12px;
-  width: 12px;
-}
-.asciinema-player .control-bar .timer {
-  display: block;
-  float: left;
-  width: 50px;
-  height: 100%;
-  text-align: center;
-  font-family: Helvetica, Arial, sans-serif;
-  font-size: 11px;
-  font-weight: bold;
-  line-height: 32px;
-  cursor: default;
-}
-.asciinema-player .control-bar .timer span {
-  display: inline-block;
-  font-size: inherit;
-}
-.asciinema-player .control-bar .timer .time-remaining {
-  display: none;
-}
-.asciinema-player .control-bar .timer:hover .time-elapsed {
-  display: none;
-}
-.asciinema-player .control-bar .timer:hover .time-remaining {
-  display: inline;
-}
-.asciinema-player .control-bar .progressbar {
-  display: block;
-  overflow: hidden;
-  height: 100%;
-  padding: 0 10px;
-}
-.asciinema-player .control-bar .progressbar .bar {
-  display: block;
-  cursor: default;
-  height: 100%;
-  padding-top: 15px;
-  font-size: 0;
-}
-.asciinema-player .control-bar .progressbar .bar .gutter {
-  display: block;
-  height: 3px;
-  background-color: #333;
-}
-.asciinema-player .control-bar .progressbar .bar .gutter span {
-  display: inline-block;
-  height: 100%;
-  background-color: #bbb;
-  border-radius: 3px;
-}
-.asciinema-player .control-bar.seekable .progressbar .bar {
-  cursor: pointer;
-}
-.asciinema-player .control-bar .fullscreen-button {
-  display: block;
-  float: right;
-  width: 14px;
-  height: 14px;
-  padding: 9px;
-  cursor: pointer;
-}
-.asciinema-player .control-bar .fullscreen-button svg {
-  width: 14px;
-  height: 14px;
-}
-.asciinema-player .control-bar .fullscreen-button svg:first-child {
-  display: inline;
-}
-.asciinema-player .control-bar .fullscreen-button svg:last-child {
-  display: none;
-}
-.asciinema-player-wrapper.hud .control-bar {
-  bottom: 0px;
-}
-.asciinema-player-wrapper:fullscreen .fullscreen-button svg:first-child {
-  display: none;
-}
-.asciinema-player-wrapper:fullscreen .fullscreen-button svg:last-child {
-  display: inline;
-}
-.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:first-child {
-  display: none;
-}
-.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:last-child {
-  display: inline;
-}
-.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:first-child {
-  display: none;
-}
-.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:last-child {
-  display: inline;
-}
-.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:first-child {
-  display: none;
-}
-.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:last-child {
-  display: inline;
-}
-.asciinema-player .loading {
-  z-index: 10;
-  background-repeat: no-repeat;
-  background-position: center;
-  position: absolute;
-  top: 0;
-  left: 0;
-  right: 0;
-  bottom: 0;
-  background-color: rgba(0, 0, 0, 0.5);
-}
-.asciinema-player .start-prompt {
-  z-index: 10;
-  background-repeat: no-repeat;
-  background-position: center;
-  position: absolute;
-  top: 0;
-  left: 0;
-  right: 0;
-  bottom: 0;
-  z-index: 20;
-  cursor: pointer;
-}
-.asciinema-player .start-prompt .play-button {
-  font-size: 0px;
-  position: absolute;
-  left: 0;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  text-align: center;
-  color: white;
-  height: 80px;
-  max-height: 66%;
-  margin: auto;
-}
-.asciinema-player .start-prompt .play-button div {
-  height: 100%;
-}
-.asciinema-player .start-prompt .play-button div span {
-  height: 100%;
-  display: block;
-}
-.asciinema-player .start-prompt .play-button div span svg {
-  height: 100%;
-}
-@-webkit-keyframes expand {
-  0% {
-    -webkit-transform: scale(0);
-  }
-  50% {
-    -webkit-transform: scale(1);
-  }
-  100% {
-    z-index: 1;
-  }
-}
-@-moz-keyframes expand {
-  0% {
-    -moz-transform: scale(0);
-  }
-  50% {
-    -moz-transform: scale(1);
-  }
-  100% {
-    z-index: 1;
-  }
-}
-@-o-keyframes expand {
-  0% {
-    -o-transform: scale(0);
-  }
-  50% {
-    -o-transform: scale(1);
-  }
-  100% {
-    z-index: 1;
-  }
-}
-@keyframes expand {
-  0% {
-    transform: scale(0);
-  }
-  50% {
-    transform: scale(1);
-  }
-  100% {
-    z-index: 1;
-  }
-}
-.loader {
-  position: absolute;
-  left: 50%;
-  top: 50%;
-  margin: -20px 0 0 -20px;
-  background-color: white;
-  border-radius: 50%;
-  box-shadow: 0 0 0 6.66667px #141414;
-  width: 40px;
-  height: 40px;
-}
-.loader:before,
-.loader:after {
-  content: "";
-  position: absolute;
-  left: 50%;
-  top: 50%;
-  display: block;
-  margin: -21px 0 0 -21px;
-  border-radius: 50%;
-  z-index: 2;
-  width: 42px;
-  height: 42px;
-}
-.loader:before {
-  background-color: #141414;
-  -webkit-animation: expand 1.6s linear infinite both;
-  -moz-animation: expand 1.6s linear infinite both;
-  animation: expand 1.6s linear infinite both;
-}
-.loader:after {
-  background-color: white;
-  -webkit-animation: expand 1.6s linear 0.8s infinite both;
-  -moz-animation: expand 1.6s linear 0.8s infinite both;
-  animation: expand 1.6s linear 0.8s infinite both;
-}
-.asciinema-terminal .fg-16 {
-  color: #000000;
-}
-.asciinema-terminal .bg-16 {
-  background-color: #000000;
-}
-.asciinema-terminal .fg-17 {
-  color: #00005f;
-}
-.asciinema-terminal .bg-17 {
-  background-color: #00005f;
-}
-.asciinema-terminal .fg-18 {
-  color: #000087;
-}
-.asciinema-terminal .bg-18 {
-  background-color: #000087;
-}
-.asciinema-terminal .fg-19 {
-  color: #0000af;
-}
-.asciinema-terminal .bg-19 {
-  background-color: #0000af;
-}
-.asciinema-terminal .fg-20 {
-  color: #0000d7;
-}
-.asciinema-terminal .bg-20 {
-  background-color: #0000d7;
-}
-.asciinema-terminal .fg-21 {
-  color: #0000ff;
-}
-.asciinema-terminal .bg-21 {
-  background-color: #0000ff;
-}
-.asciinema-terminal .fg-22 {
-  color: #005f00;
-}
-.asciinema-terminal .bg-22 {
-  background-color: #005f00;
-}
-.asciinema-terminal .fg-23 {
-  color: #005f5f;
-}
-.asciinema-terminal .bg-23 {
-  background-color: #005f5f;
-}
-.asciinema-terminal .fg-24 {
-  color: #005f87;
-}
-.asciinema-terminal .bg-24 {
-  background-color: #005f87;
-}
-.asciinema-terminal .fg-25 {
-  color: #005faf;
-}
-.asciinema-terminal .bg-25 {
-  background-color: #005faf;
-}
-.asciinema-terminal .fg-26 {
-  color: #005fd7;
-}
-.asciinema-terminal .bg-26 {
-  background-color: #005fd7;
-}
-.asciinema-terminal .fg-27 {
-  color: #005fff;
-}
-.asciinema-terminal .bg-27 {
-  background-color: #005fff;
-}
-.asciinema-terminal .fg-28 {
-  color: #008700;
-}
-.asciinema-terminal .bg-28 {
-  background-color: #008700;
-}
-.asciinema-terminal .fg-29 {
-  color: #00875f;
-}
-.asciinema-terminal .bg-29 {
-  background-color: #00875f;
-}
-.asciinema-terminal .fg-30 {
-  color: #008787;
-}
-.asciinema-terminal .bg-30 {
-  background-color: #008787;
-}
-.asciinema-terminal .fg-31 {
-  color: #0087af;
-}
-.asciinema-terminal .bg-31 {
-  background-color: #0087af;
-}
-.asciinema-terminal .fg-32 {
-  color: #0087d7;
-}
-.asciinema-terminal .bg-32 {
-  background-color: #0087d7;
-}
-.asciinema-terminal .fg-33 {
-  color: #0087ff;
-}
-.asciinema-terminal .bg-33 {
-  background-color: #0087ff;
-}
-.asciinema-terminal .fg-34 {
-  color: #00af00;
-}
-.asciinema-terminal .bg-34 {
-  background-color: #00af00;
-}
-.asciinema-terminal .fg-35 {
-  color: #00af5f;
-}
-.asciinema-terminal .bg-35 {
-  background-color: #00af5f;
-}
-.asciinema-terminal .fg-36 {
-  color: #00af87;
-}
-.asciinema-terminal .bg-36 {
-  background-color: #00af87;
-}
-.asciinema-terminal .fg-37 {
-  color: #00afaf;
-}
-.asciinema-terminal .bg-37 {
-  background-color: #00afaf;
-}
-.asciinema-terminal .fg-38 {
-  color: #00afd7;
-}
-.asciinema-terminal .bg-38 {
-  background-color: #00afd7;
-}
-.asciinema-terminal .fg-39 {
-  color: #00afff;
-}
-.asciinema-terminal .bg-39 {
-  background-color: #00afff;
-}
-.asciinema-terminal .fg-40 {
-  color: #00d700;
-}
-.asciinema-terminal .bg-40 {
-  background-color: #00d700;
-}
-.asciinema-terminal .fg-41 {
-  color: #00d75f;
-}
-.asciinema-terminal .bg-41 {
-  background-color: #00d75f;
-}
-.asciinema-terminal .fg-42 {
-  color: #00d787;
-}
-.asciinema-terminal .bg-42 {
-  background-color: #00d787;
-}
-.asciinema-terminal .fg-43 {
-  color: #00d7af;
-}
-.asciinema-terminal .bg-43 {
-  background-color: #00d7af;
-}
-.asciinema-terminal .fg-44 {
-  color: #00d7d7;
-}
-.asciinema-terminal .bg-44 {
-  background-color: #00d7d7;
-}
-.asciinema-terminal .fg-45 {
-  color: #00d7ff;
-}
-.asciinema-terminal .bg-45 {
-  background-color: #00d7ff;
-}
-.asciinema-terminal .fg-46 {
-  color: #00ff00;
-}
-.asciinema-terminal .bg-46 {
-  background-color: #00ff00;
-}
-.asciinema-terminal .fg-47 {
-  color: #00ff5f;
-}
-.asciinema-terminal .bg-47 {
-  background-color: #00ff5f;
-}
-.asciinema-terminal .fg-48 {
-  color: #00ff87;
-}
-.asciinema-terminal .bg-48 {
-  background-color: #00ff87;
-}
-.asciinema-terminal .fg-49 {
-  color: #00ffaf;
-}
-.asciinema-terminal .bg-49 {
-  background-color: #00ffaf;
-}
-.asciinema-terminal .fg-50 {
-  color: #00ffd7;
-}
-.asciinema-terminal .bg-50 {
-  background-color: #00ffd7;
-}
-.asciinema-terminal .fg-51 {
-  color: #00ffff;
-}
-.asciinema-terminal .bg-51 {
-  background-color: #00ffff;
-}
-.asciinema-terminal .fg-52 {
-  color: #5f0000;
-}
-.asciinema-terminal .bg-52 {
-  background-color: #5f0000;
-}
-.asciinema-terminal .fg-53 {
-  color: #5f005f;
-}
-.asciinema-terminal .bg-53 {
-  background-color: #5f005f;
-}
-.asciinema-terminal .fg-54 {
-  color: #5f0087;
-}
-.asciinema-terminal .bg-54 {
-  background-color: #5f0087;
-}
-.asciinema-terminal .fg-55 {
-  color: #5f00af;
-}
-.asciinema-terminal .bg-55 {
-  background-color: #5f00af;
-}
-.asciinema-terminal .fg-56 {
-  color: #5f00d7;
-}
-.asciinema-terminal .bg-56 {
-  background-color: #5f00d7;
-}
-.asciinema-terminal .fg-57 {
-  color: #5f00ff;
-}
-.asciinema-terminal .bg-57 {
-  background-color: #5f00ff;
-}
-.asciinema-terminal .fg-58 {
-  color: #5f5f00;
-}
-.asciinema-terminal .bg-58 {
-  background-color: #5f5f00;
-}
-.asciinema-terminal .fg-59 {
-  color: #5f5f5f;
-}
-.asciinema-terminal .bg-59 {
-  background-color: #5f5f5f;
-}
-.asciinema-terminal .fg-60 {
-  color: #5f5f87;
-}
-.asciinema-terminal .bg-60 {
-  background-color: #5f5f87;
-}
-.asciinema-terminal .fg-61 {
-  color: #5f5faf;
-}
-.asciinema-terminal .bg-61 {
-  background-color: #5f5faf;
-}
-.asciinema-terminal .fg-62 {
-  color: #5f5fd7;
-}
-.asciinema-terminal .bg-62 {
-  background-color: #5f5fd7;
-}
-.asciinema-terminal .fg-63 {
-  color: #5f5fff;
-}
-.asciinema-terminal .bg-63 {
-  background-color: #5f5fff;
-}
-.asciinema-terminal .fg-64 {
-  color: #5f8700;
-}
-.asciinema-terminal .bg-64 {
-  background-color: #5f8700;
-}
-.asciinema-terminal .fg-65 {
-  color: #5f875f;
-}
-.asciinema-terminal .bg-65 {
-  background-color: #5f875f;
-}
-.asciinema-terminal .fg-66 {
-  color: #5f8787;
-}
-.asciinema-terminal .bg-66 {
-  background-color: #5f8787;
-}
-.asciinema-terminal .fg-67 {
-  color: #5f87af;
-}
-.asciinema-terminal .bg-67 {
-  background-color: #5f87af;
-}
-.asciinema-terminal .fg-68 {
-  color: #5f87d7;
-}
-.asciinema-terminal .bg-68 {
-  background-color: #5f87d7;
-}
-.asciinema-terminal .fg-69 {
-  color: #5f87ff;
-}
-.asciinema-terminal .bg-69 {
-  background-color: #5f87ff;
-}
-.asciinema-terminal .fg-70 {
-  color: #5faf00;
-}
-.asciinema-terminal .bg-70 {
-  background-color: #5faf00;
-}
-.asciinema-terminal .fg-71 {
-  color: #5faf5f;
-}
-.asciinema-terminal .bg-71 {
-  background-color: #5faf5f;
-}
-.asciinema-terminal .fg-72 {
-  color: #5faf87;
-}
-.asciinema-terminal .bg-72 {
-  background-color: #5faf87;
-}
-.asciinema-terminal .fg-73 {
-  color: #5fafaf;
-}
-.asciinema-terminal .bg-73 {
-  background-color: #5fafaf;
-}
-.asciinema-terminal .fg-74 {
-  color: #5fafd7;
-}
-.asciinema-terminal .bg-74 {
-  background-color: #5fafd7;
-}
-.asciinema-terminal .fg-75 {
-  color: #5fafff;
-}
-.asciinema-terminal .bg-75 {
-  background-color: #5fafff;
-}
-.asciinema-terminal .fg-76 {
-  color: #5fd700;
-}
-.asciinema-terminal .bg-76 {
-  background-color: #5fd700;
-}
-.asciinema-terminal .fg-77 {
-  color: #5fd75f;
-}
-.asciinema-terminal .bg-77 {
-  background-color: #5fd75f;
-}
-.asciinema-terminal .fg-78 {
-  color: #5fd787;
-}
-.asciinema-terminal .bg-78 {
-  background-color: #5fd787;
-}
-.asciinema-terminal .fg-79 {
-  color: #5fd7af;
-}
-.asciinema-terminal .bg-79 {
-  background-color: #5fd7af;
-}
-.asciinema-terminal .fg-80 {
-  color: #5fd7d7;
-}
-.asciinema-terminal .bg-80 {
-  background-color: #5fd7d7;
-}
-.asciinema-terminal .fg-81 {
-  color: #5fd7ff;
-}
-.asciinema-terminal .bg-81 {
-  background-color: #5fd7ff;
-}
-.asciinema-terminal .fg-82 {
-  color: #5fff00;
-}
-.asciinema-terminal .bg-82 {
-  background-color: #5fff00;
-}
-.asciinema-terminal .fg-83 {
-  color: #5fff5f;
-}
-.asciinema-terminal .bg-83 {
-  background-color: #5fff5f;
-}
-.asciinema-terminal .fg-84 {
-  color: #5fff87;
-}
-.asciinema-terminal .bg-84 {
-  background-color: #5fff87;
-}
-.asciinema-terminal .fg-85 {
-  color: #5fffaf;
-}
-.asciinema-terminal .bg-85 {
-  background-color: #5fffaf;
-}
-.asciinema-terminal .fg-86 {
-  color: #5fffd7;
-}
-.asciinema-terminal .bg-86 {
-  background-color: #5fffd7;
-}
-.asciinema-terminal .fg-87 {
-  color: #5fffff;
-}
-.asciinema-terminal .bg-87 {
-  background-color: #5fffff;
-}
-.asciinema-terminal .fg-88 {
-  color: #870000;
-}
-.asciinema-terminal .bg-88 {
-  background-color: #870000;
-}
-.asciinema-terminal .fg-89 {
-  color: #87005f;
-}
-.asciinema-terminal .bg-89 {
-  background-color: #87005f;
-}
-.asciinema-terminal .fg-90 {
-  color: #870087;
-}
-.asciinema-terminal .bg-90 {
-  background-color: #870087;
-}
-.asciinema-terminal .fg-91 {
-  color: #8700af;
-}
-.asciinema-terminal .bg-91 {
-  background-color: #8700af;
-}
-.asciinema-terminal .fg-92 {
-  color: #8700d7;
-}
-.asciinema-terminal .bg-92 {
-  background-color: #8700d7;
-}
-.asciinema-terminal .fg-93 {
-  color: #8700ff;
-}
-.asciinema-terminal .bg-93 {
-  background-color: #8700ff;
-}
-.asciinema-terminal .fg-94 {
-  color: #875f00;
-}
-.asciinema-terminal .bg-94 {
-  background-color: #875f00;
-}
-.asciinema-terminal .fg-95 {
-  color: #875f5f;
-}
-.asciinema-terminal .bg-95 {
-  background-color: #875f5f;
-}
-.asciinema-terminal .fg-96 {
-  color: #875f87;
-}
-.asciinema-terminal .bg-96 {
-  background-color: #875f87;
-}
-.asciinema-terminal .fg-97 {
-  color: #875faf;
-}
-.asciinema-terminal .bg-97 {
-  background-color: #875faf;
-}
-.asciinema-terminal .fg-98 {
-  color: #875fd7;
-}
-.asciinema-terminal .bg-98 {
-  background-color: #875fd7;
-}
-.asciinema-terminal .fg-99 {
-  color: #875fff;
-}
-.asciinema-terminal .bg-99 {
-  background-color: #875fff;
-}
-.asciinema-terminal .fg-100 {
-  color: #878700;
-}
-.asciinema-terminal .bg-100 {
-  background-color: #878700;
-}
-.asciinema-terminal .fg-101 {
-  color: #87875f;
-}
-.asciinema-terminal .bg-101 {
-  background-color: #87875f;
-}
-.asciinema-terminal .fg-102 {
-  color: #878787;
-}
-.asciinema-terminal .bg-102 {
-  background-color: #878787;
-}
-.asciinema-terminal .fg-103 {
-  color: #8787af;
-}
-.asciinema-terminal .bg-103 {
-  background-color: #8787af;
-}
-.asciinema-terminal .fg-104 {
-  color: #8787d7;
-}
-.asciinema-terminal .bg-104 {
-  background-color: #8787d7;
-}
-.asciinema-terminal .fg-105 {
-  color: #8787ff;
-}
-.asciinema-terminal .bg-105 {
-  background-color: #8787ff;
-}
-.asciinema-terminal .fg-106 {
-  color: #87af00;
-}
-.asciinema-terminal .bg-106 {
-  background-color: #87af00;
-}
-.asciinema-terminal .fg-107 {
-  color: #87af5f;
-}
-.asciinema-terminal .bg-107 {
-  background-color: #87af5f;
-}
-.asciinema-terminal .fg-108 {
-  color: #87af87;
-}
-.asciinema-terminal .bg-108 {
-  background-color: #87af87;
-}
-.asciinema-terminal .fg-109 {
-  color: #87afaf;
-}
-.asciinema-terminal .bg-109 {
-  background-color: #87afaf;
-}
-.asciinema-terminal .fg-110 {
-  color: #87afd7;
-}
-.asciinema-terminal .bg-110 {
-  background-color: #87afd7;
-}
-.asciinema-terminal .fg-111 {
-  color: #87afff;
-}
-.asciinema-terminal .bg-111 {
-  background-color: #87afff;
-}
-.asciinema-terminal .fg-112 {
-  color: #87d700;
-}
-.asciinema-terminal .bg-112 {
-  background-color: #87d700;
-}
-.asciinema-terminal .fg-113 {
-  color: #87d75f;
-}
-.asciinema-terminal .bg-113 {
-  background-color: #87d75f;
-}
-.asciinema-terminal .fg-114 {
-  color: #87d787;
-}
-.asciinema-terminal .bg-114 {
-  background-color: #87d787;
-}
-.asciinema-terminal .fg-115 {
-  color: #87d7af;
-}
-.asciinema-terminal .bg-115 {
-  background-color: #87d7af;
-}
-.asciinema-terminal .fg-116 {
-  color: #87d7d7;
-}
-.asciinema-terminal .bg-116 {
-  background-color: #87d7d7;
-}
-.asciinema-terminal .fg-117 {
-  color: #87d7ff;
-}
-.asciinema-terminal .bg-117 {
-  background-color: #87d7ff;
-}
-.asciinema-terminal .fg-118 {
-  color: #87ff00;
-}
-.asciinema-terminal .bg-118 {
-  background-color: #87ff00;
-}
-.asciinema-terminal .fg-119 {
-  color: #87ff5f;
-}
-.asciinema-terminal .bg-119 {
-  background-color: #87ff5f;
-}
-.asciinema-terminal .fg-120 {
-  color: #87ff87;
-}
-.asciinema-terminal .bg-120 {
-  background-color: #87ff87;
-}
-.asciinema-terminal .fg-121 {
-  color: #87ffaf;
-}
-.asciinema-terminal .bg-121 {
-  background-color: #87ffaf;
-}
-.asciinema-terminal .fg-122 {
-  color: #87ffd7;
-}
-.asciinema-terminal .bg-122 {
-  background-color: #87ffd7;
-}
-.asciinema-terminal .fg-123 {
-  color: #87ffff;
-}
-.asciinema-terminal .bg-123 {
-  background-color: #87ffff;
-}
-.asciinema-terminal .fg-124 {
-  color: #af0000;
-}
-.asciinema-terminal .bg-124 {
-  background-color: #af0000;
-}
-.asciinema-terminal .fg-125 {
-  color: #af005f;
-}
-.asciinema-terminal .bg-125 {
-  background-color: #af005f;
-}
-.asciinema-terminal .fg-126 {
-  color: #af0087;
-}
-.asciinema-terminal .bg-126 {
-  background-color: #af0087;
-}
-.asciinema-terminal .fg-127 {
-  color: #af00af;
-}
-.asciinema-terminal .bg-127 {
-  background-color: #af00af;
-}
-.asciinema-terminal .fg-128 {
-  color: #af00d7;
-}
-.asciinema-terminal .bg-128 {
-  background-color: #af00d7;
-}
-.asciinema-terminal .fg-129 {
-  color: #af00ff;
-}
-.asciinema-terminal .bg-129 {
-  background-color: #af00ff;
-}
-.asciinema-terminal .fg-130 {
-  color: #af5f00;
-}
-.asciinema-terminal .bg-130 {
-  background-color: #af5f00;
-}
-.asciinema-terminal .fg-131 {
-  color: #af5f5f;
-}
-.asciinema-terminal .bg-131 {
-  background-color: #af5f5f;
-}
-.asciinema-terminal .fg-132 {
-  color: #af5f87;
-}
-.asciinema-terminal .bg-132 {
-  background-color: #af5f87;
-}
-.asciinema-terminal .fg-133 {
-  color: #af5faf;
-}
-.asciinema-terminal .bg-133 {
-  background-color: #af5faf;
-}
-.asciinema-terminal .fg-134 {
-  color: #af5fd7;
-}
-.asciinema-terminal .bg-134 {
-  background-color: #af5fd7;
-}
-.asciinema-terminal .fg-135 {
-  color: #af5fff;
-}
-.asciinema-terminal .bg-135 {
-  background-color: #af5fff;
-}
-.asciinema-terminal .fg-136 {
-  color: #af8700;
-}
-.asciinema-terminal .bg-136 {
-  background-color: #af8700;
-}
-.asciinema-terminal .fg-137 {
-  color: #af875f;
-}
-.asciinema-terminal .bg-137 {
-  background-color: #af875f;
-}
-.asciinema-terminal .fg-138 {
-  color: #af8787;
-}
-.asciinema-terminal .bg-138 {
-  background-color: #af8787;
-}
-.asciinema-terminal .fg-139 {
-  color: #af87af;
-}
-.asciinema-terminal .bg-139 {
-  background-color: #af87af;
-}
-.asciinema-terminal .fg-140 {
-  color: #af87d7;
-}
-.asciinema-terminal .bg-140 {
-  background-color: #af87d7;
-}
-.asciinema-terminal .fg-141 {
-  color: #af87ff;
-}
-.asciinema-terminal .bg-141 {
-  background-color: #af87ff;
-}
-.asciinema-terminal .fg-142 {
-  color: #afaf00;
-}
-.asciinema-terminal .bg-142 {
-  background-color: #afaf00;
-}
-.asciinema-terminal .fg-143 {
-  color: #afaf5f;
-}
-.asciinema-terminal .bg-143 {
-  background-color: #afaf5f;
-}
-.asciinema-terminal .fg-144 {
-  color: #afaf87;
-}
-.asciinema-terminal .bg-144 {
-  background-color: #afaf87;
-}
-.asciinema-terminal .fg-145 {
-  color: #afafaf;
-}
-.asciinema-terminal .bg-145 {
-  background-color: #afafaf;
-}
-.asciinema-terminal .fg-146 {
-  color: #afafd7;
-}
-.asciinema-terminal .bg-146 {
-  background-color: #afafd7;
-}
-.asciinema-terminal .fg-147 {
-  color: #afafff;
-}
-.asciinema-terminal .bg-147 {
-  background-color: #afafff;
-}
-.asciinema-terminal .fg-148 {
-  color: #afd700;
-}
-.asciinema-terminal .bg-148 {
-  background-color: #afd700;
-}
-.asciinema-terminal .fg-149 {
-  color: #afd75f;
-}
-.asciinema-terminal .bg-149 {
-  background-color: #afd75f;
-}
-.asciinema-terminal .fg-150 {
-  color: #afd787;
-}
-.asciinema-terminal .bg-150 {
-  background-color: #afd787;
-}
-.asciinema-terminal .fg-151 {
-  color: #afd7af;
-}
-.asciinema-terminal .bg-151 {
-  background-color: #afd7af;
-}
-.asciinema-terminal .fg-152 {
-  color: #afd7d7;
-}
-.asciinema-terminal .bg-152 {
-  background-color: #afd7d7;
-}
-.asciinema-terminal .fg-153 {
-  color: #afd7ff;
-}
-.asciinema-terminal .bg-153 {
-  background-color: #afd7ff;
-}
-.asciinema-terminal .fg-154 {
-  color: #afff00;
-}
-.asciinema-terminal .bg-154 {
-  background-color: #afff00;
-}
-.asciinema-terminal .fg-155 {
-  color: #afff5f;
-}
-.asciinema-terminal .bg-155 {
-  background-color: #afff5f;
-}
-.asciinema-terminal .fg-156 {
-  color: #afff87;
-}
-.asciinema-terminal .bg-156 {
-  background-color: #afff87;
-}
-.asciinema-terminal .fg-157 {
-  color: #afffaf;
-}
-.asciinema-terminal .bg-157 {
-  background-color: #afffaf;
-}
-.asciinema-terminal .fg-158 {
-  color: #afffd7;
-}
-.asciinema-terminal .bg-158 {
-  background-color: #afffd7;
-}
-.asciinema-terminal .fg-159 {
-  color: #afffff;
-}
-.asciinema-terminal .bg-159 {
-  background-color: #afffff;
-}
-.asciinema-terminal .fg-160 {
-  color: #d70000;
-}
-.asciinema-terminal .bg-160 {
-  background-color: #d70000;
-}
-.asciinema-terminal .fg-161 {
-  color: #d7005f;
-}
-.asciinema-terminal .bg-161 {
-  background-color: #d7005f;
-}
-.asciinema-terminal .fg-162 {
-  color: #d70087;
-}
-.asciinema-terminal .bg-162 {
-  background-color: #d70087;
-}
-.asciinema-terminal .fg-163 {
-  color: #d700af;
-}
-.asciinema-terminal .bg-163 {
-  background-color: #d700af;
-}
-.asciinema-terminal .fg-164 {
-  color: #d700d7;
-}
-.asciinema-terminal .bg-164 {
-  background-color: #d700d7;
-}
-.asciinema-terminal .fg-165 {
-  color: #d700ff;
-}
-.asciinema-terminal .bg-165 {
-  background-color: #d700ff;
-}
-.asciinema-terminal .fg-166 {
-  color: #d75f00;
-}
-.asciinema-terminal .bg-166 {
-  background-color: #d75f00;
-}
-.asciinema-terminal .fg-167 {
-  color: #d75f5f;
-}
-.asciinema-terminal .bg-167 {
-  background-color: #d75f5f;
-}
-.asciinema-terminal .fg-168 {
-  color: #d75f87;
-}
-.asciinema-terminal .bg-168 {
-  background-color: #d75f87;
-}
-.asciinema-terminal .fg-169 {
-  color: #d75faf;
-}
-.asciinema-terminal .bg-169 {
-  background-color: #d75faf;
-}
-.asciinema-terminal .fg-170 {
-  color: #d75fd7;
-}
-.asciinema-terminal .bg-170 {
-  background-color: #d75fd7;
-}
-.asciinema-terminal .fg-171 {
-  color: #d75fff;
-}
-.asciinema-terminal .bg-171 {
-  background-color: #d75fff;
-}
-.asciinema-terminal .fg-172 {
-  color: #d78700;
-}
-.asciinema-terminal .bg-172 {
-  background-color: #d78700;
-}
-.asciinema-terminal .fg-173 {
-  color: #d7875f;
-}
-.asciinema-terminal .bg-173 {
-  background-color: #d7875f;
-}
-.asciinema-terminal .fg-174 {
-  color: #d78787;
-}
-.asciinema-terminal .bg-174 {
-  background-color: #d78787;
-}
-.asciinema-terminal .fg-175 {
-  color: #d787af;
-}
-.asciinema-terminal .bg-175 {
-  background-color: #d787af;
-}
-.asciinema-terminal .fg-176 {
-  color: #d787d7;
-}
-.asciinema-terminal .bg-176 {
-  background-color: #d787d7;
-}
-.asciinema-terminal .fg-177 {
-  color: #d787ff;
-}
-.asciinema-terminal .bg-177 {
-  background-color: #d787ff;
-}
-.asciinema-terminal .fg-178 {
-  color: #d7af00;
-}
-.asciinema-terminal .bg-178 {
-  background-color: #d7af00;
-}
-.asciinema-terminal .fg-179 {
-  color: #d7af5f;
-}
-.asciinema-terminal .bg-179 {
-  background-color: #d7af5f;
-}
-.asciinema-terminal .fg-180 {
-  color: #d7af87;
-}
-.asciinema-terminal .bg-180 {
-  background-color: #d7af87;
-}
-.asciinema-terminal .fg-181 {
-  color: #d7afaf;
-}
-.asciinema-terminal .bg-181 {
-  background-color: #d7afaf;
-}
-.asciinema-terminal .fg-182 {
-  color: #d7afd7;
-}
-.asciinema-terminal .bg-182 {
-  background-color: #d7afd7;
-}
-.asciinema-terminal .fg-183 {
-  color: #d7afff;
-}
-.asciinema-terminal .bg-183 {
-  background-color: #d7afff;
-}
-.asciinema-terminal .fg-184 {
-  color: #d7d700;
-}
-.asciinema-terminal .bg-184 {
-  background-color: #d7d700;
-}
-.asciinema-terminal .fg-185 {
-  color: #d7d75f;
-}
-.asciinema-terminal .bg-185 {
-  background-color: #d7d75f;
-}
-.asciinema-terminal .fg-186 {
-  color: #d7d787;
-}
-.asciinema-terminal .bg-186 {
-  background-color: #d7d787;
-}
-.asciinema-terminal .fg-187 {
-  color: #d7d7af;
-}
-.asciinema-terminal .bg-187 {
-  background-color: #d7d7af;
-}
-.asciinema-terminal .fg-188 {
-  color: #d7d7d7;
-}
-.asciinema-terminal .bg-188 {
-  background-color: #d7d7d7;
-}
-.asciinema-terminal .fg-189 {
-  color: #d7d7ff;
-}
-.asciinema-terminal .bg-189 {
-  background-color: #d7d7ff;
-}
-.asciinema-terminal .fg-190 {
-  color: #d7ff00;
-}
-.asciinema-terminal .bg-190 {
-  background-color: #d7ff00;
-}
-.asciinema-terminal .fg-191 {
-  color: #d7ff5f;
-}
-.asciinema-terminal .bg-191 {
-  background-color: #d7ff5f;
-}
-.asciinema-terminal .fg-192 {
-  color: #d7ff87;
-}
-.asciinema-terminal .bg-192 {
-  background-color: #d7ff87;
-}
-.asciinema-terminal .fg-193 {
-  color: #d7ffaf;
-}
-.asciinema-terminal .bg-193 {
-  background-color: #d7ffaf;
-}
-.asciinema-terminal .fg-194 {
-  color: #d7ffd7;
-}
-.asciinema-terminal .bg-194 {
-  background-color: #d7ffd7;
-}
-.asciinema-terminal .fg-195 {
-  color: #d7ffff;
-}
-.asciinema-terminal .bg-195 {
-  background-color: #d7ffff;
-}
-.asciinema-terminal .fg-196 {
-  color: #ff0000;
-}
-.asciinema-terminal .bg-196 {
-  background-color: #ff0000;
-}
-.asciinema-terminal .fg-197 {
-  color: #ff005f;
-}
-.asciinema-terminal .bg-197 {
-  background-color: #ff005f;
-}
-.asciinema-terminal .fg-198 {
-  color: #ff0087;
-}
-.asciinema-terminal .bg-198 {
-  background-color: #ff0087;
-}
-.asciinema-terminal .fg-199 {
-  color: #ff00af;
-}
-.asciinema-terminal .bg-199 {
-  background-color: #ff00af;
-}
-.asciinema-terminal .fg-200 {
-  color: #ff00d7;
-}
-.asciinema-terminal .bg-200 {
-  background-color: #ff00d7;
-}
-.asciinema-terminal .fg-201 {
-  color: #ff00ff;
-}
-.asciinema-terminal .bg-201 {
-  background-color: #ff00ff;
-}
-.asciinema-terminal .fg-202 {
-  color: #ff5f00;
-}
-.asciinema-terminal .bg-202 {
-  background-color: #ff5f00;
-}
-.asciinema-terminal .fg-203 {
-  color: #ff5f5f;
-}
-.asciinema-terminal .bg-203 {
-  background-color: #ff5f5f;
-}
-.asciinema-terminal .fg-204 {
-  color: #ff5f87;
-}
-.asciinema-terminal .bg-204 {
-  background-color: #ff5f87;
-}
-.asciinema-terminal .fg-205 {
-  color: #ff5faf;
-}
-.asciinema-terminal .bg-205 {
-  background-color: #ff5faf;
-}
-.asciinema-terminal .fg-206 {
-  color: #ff5fd7;
-}
-.asciinema-terminal .bg-206 {
-  background-color: #ff5fd7;
-}
-.asciinema-terminal .fg-207 {
-  color: #ff5fff;
-}
-.asciinema-terminal .bg-207 {
-  background-color: #ff5fff;
-}
-.asciinema-terminal .fg-208 {
-  color: #ff8700;
-}
-.asciinema-terminal .bg-208 {
-  background-color: #ff8700;
-}
-.asciinema-terminal .fg-209 {
-  color: #ff875f;
-}
-.asciinema-terminal .bg-209 {
-  background-color: #ff875f;
-}
-.asciinema-terminal .fg-210 {
-  color: #ff8787;
-}
-.asciinema-terminal .bg-210 {
-  background-color: #ff8787;
-}
-.asciinema-terminal .fg-211 {
-  color: #ff87af;
-}
-.asciinema-terminal .bg-211 {
-  background-color: #ff87af;
-}
-.asciinema-terminal .fg-212 {
-  color: #ff87d7;
-}
-.asciinema-terminal .bg-212 {
-  background-color: #ff87d7;
-}
-.asciinema-terminal .fg-213 {
-  color: #ff87ff;
-}
-.asciinema-terminal .bg-213 {
-  background-color: #ff87ff;
-}
-.asciinema-terminal .fg-214 {
-  color: #ffaf00;
-}
-.asciinema-terminal .bg-214 {
-  background-color: #ffaf00;
-}
-.asciinema-terminal .fg-215 {
-  color: #ffaf5f;
-}
-.asciinema-terminal .bg-215 {
-  background-color: #ffaf5f;
-}
-.asciinema-terminal .fg-216 {
-  color: #ffaf87;
-}
-.asciinema-terminal .bg-216 {
-  background-color: #ffaf87;
-}
-.asciinema-terminal .fg-217 {
-  color: #ffafaf;
-}
-.asciinema-terminal .bg-217 {
-  background-color: #ffafaf;
-}
-.asciinema-terminal .fg-218 {
-  color: #ffafd7;
-}
-.asciinema-terminal .bg-218 {
-  background-color: #ffafd7;
-}
-.asciinema-terminal .fg-219 {
-  color: #ffafff;
-}
-.asciinema-terminal .bg-219 {
-  background-color: #ffafff;
-}
-.asciinema-terminal .fg-220 {
-  color: #ffd700;
-}
-.asciinema-terminal .bg-220 {
-  background-color: #ffd700;
-}
-.asciinema-terminal .fg-221 {
-  color: #ffd75f;
-}
-.asciinema-terminal .bg-221 {
-  background-color: #ffd75f;
-}
-.asciinema-terminal .fg-222 {
-  color: #ffd787;
-}
-.asciinema-terminal .bg-222 {
-  background-color: #ffd787;
-}
-.asciinema-terminal .fg-223 {
-  color: #ffd7af;
-}
-.asciinema-terminal .bg-223 {
-  background-color: #ffd7af;
-}
-.asciinema-terminal .fg-224 {
-  color: #ffd7d7;
-}
-.asciinema-terminal .bg-224 {
-  background-color: #ffd7d7;
-}
-.asciinema-terminal .fg-225 {
-  color: #ffd7ff;
-}
-.asciinema-terminal .bg-225 {
-  background-color: #ffd7ff;
-}
-.asciinema-terminal .fg-226 {
-  color: #ffff00;
-}
-.asciinema-terminal .bg-226 {
-  background-color: #ffff00;
-}
-.asciinema-terminal .fg-227 {
-  color: #ffff5f;
-}
-.asciinema-terminal .bg-227 {
-  background-color: #ffff5f;
-}
-.asciinema-terminal .fg-228 {
-  color: #ffff87;
-}
-.asciinema-terminal .bg-228 {
-  background-color: #ffff87;
-}
-.asciinema-terminal .fg-229 {
-  color: #ffffaf;
-}
-.asciinema-terminal .bg-229 {
-  background-color: #ffffaf;
-}
-.asciinema-terminal .fg-230 {
-  color: #ffffd7;
-}
-.asciinema-terminal .bg-230 {
-  background-color: #ffffd7;
-}
-.asciinema-terminal .fg-231 {
-  color: #ffffff;
-}
-.asciinema-terminal .bg-231 {
-  background-color: #ffffff;
-}
-.asciinema-terminal .fg-232 {
-  color: #080808;
-}
-.asciinema-terminal .bg-232 {
-  background-color: #080808;
-}
-.asciinema-terminal .fg-233 {
-  color: #121212;
-}
-.asciinema-terminal .bg-233 {
-  background-color: #121212;
-}
-.asciinema-terminal .fg-234 {
-  color: #1c1c1c;
-}
-.asciinema-terminal .bg-234 {
-  background-color: #1c1c1c;
-}
-.asciinema-terminal .fg-235 {
-  color: #262626;
-}
-.asciinema-terminal .bg-235 {
-  background-color: #262626;
-}
-.asciinema-terminal .fg-236 {
-  color: #303030;
-}
-.asciinema-terminal .bg-236 {
-  background-color: #303030;
-}
-.asciinema-terminal .fg-237 {
-  color: #3a3a3a;
-}
-.asciinema-terminal .bg-237 {
-  background-color: #3a3a3a;
-}
-.asciinema-terminal .fg-238 {
-  color: #444444;
-}
-.asciinema-terminal .bg-238 {
-  background-color: #444444;
-}
-.asciinema-terminal .fg-239 {
-  color: #4e4e4e;
-}
-.asciinema-terminal .bg-239 {
-  background-color: #4e4e4e;
-}
-.asciinema-terminal .fg-240 {
-  color: #585858;
-}
-.asciinema-terminal .bg-240 {
-  background-color: #585858;
-}
-.asciinema-terminal .fg-241 {
-  color: #626262;
-}
-.asciinema-terminal .bg-241 {
-  background-color: #626262;
-}
-.asciinema-terminal .fg-242 {
-  color: #6c6c6c;
-}
-.asciinema-terminal .bg-242 {
-  background-color: #6c6c6c;
-}
-.asciinema-terminal .fg-243 {
-  color: #767676;
-}
-.asciinema-terminal .bg-243 {
-  background-color: #767676;
-}
-.asciinema-terminal .fg-244 {
-  color: #808080;
-}
-.asciinema-terminal .bg-244 {
-  background-color: #808080;
-}
-.asciinema-terminal .fg-245 {
-  color: #8a8a8a;
-}
-.asciinema-terminal .bg-245 {
-  background-color: #8a8a8a;
-}
-.asciinema-terminal .fg-246 {
-  color: #949494;
-}
-.asciinema-terminal .bg-246 {
-  background-color: #949494;
-}
-.asciinema-terminal .fg-247 {
-  color: #9e9e9e;
-}
-.asciinema-terminal .bg-247 {
-  background-color: #9e9e9e;
-}
-.asciinema-terminal .fg-248 {
-  color: #a8a8a8;
-}
-.asciinema-terminal .bg-248 {
-  background-color: #a8a8a8;
-}
-.asciinema-terminal .fg-249 {
-  color: #b2b2b2;
-}
-.asciinema-terminal .bg-249 {
-  background-color: #b2b2b2;
-}
-.asciinema-terminal .fg-250 {
-  color: #bcbcbc;
-}
-.asciinema-terminal .bg-250 {
-  background-color: #bcbcbc;
-}
-.asciinema-terminal .fg-251 {
-  color: #c6c6c6;
-}
-.asciinema-terminal .bg-251 {
-  background-color: #c6c6c6;
-}
-.asciinema-terminal .fg-252 {
-  color: #d0d0d0;
-}
-.asciinema-terminal .bg-252 {
-  background-color: #d0d0d0;
-}
-.asciinema-terminal .fg-253 {
-  color: #dadada;
-}
-.asciinema-terminal .bg-253 {
-  background-color: #dadada;
-}
-.asciinema-terminal .fg-254 {
-  color: #e4e4e4;
-}
-.asciinema-terminal .bg-254 {
-  background-color: #e4e4e4;
-}
-.asciinema-terminal .fg-255 {
-  color: #eeeeee;
-}
-.asciinema-terminal .bg-255 {
-  background-color: #eeeeee;
-}
-.asciinema-theme-asciinema .asciinema-terminal {
-  color: #CCCCCC;
-  background-color: #121314;
-  border-color: #121314;
-}
-.asciinema-theme-asciinema .fg-bg {
-  color: #121314;
-}
-.asciinema-theme-asciinema .bg-fg {
-  background-color: #CCCCCC;
-}
-.asciinema-theme-asciinema .fg-0 {
-  color: hsl(0, 0%, 0%);
-}
-.asciinema-theme-asciinema .bg-0 {
-  background-color: hsl(0, 0%, 0%);
-}
-.asciinema-theme-asciinema .fg-1 {
-  color: hsl(343, 70%, 55%);
-}
-.asciinema-theme-asciinema .bg-1 {
-  background-color: hsl(343, 70%, 55%);
-}
-.asciinema-theme-asciinema .fg-2 {
-  color: hsl(103, 70%, 44%);
-}
-.asciinema-theme-asciinema .bg-2 {
-  background-color: hsl(103, 70%, 44%);
-}
-.asciinema-theme-asciinema .fg-3 {
-  color: hsl(43, 70%, 55%);
-}
-.asciinema-theme-asciinema .bg-3 {
-  background-color: hsl(43, 70%, 55%);
-}
-.asciinema-theme-asciinema .fg-4 {
-  color: hsl(193, 70%, 49.5%);
-}
-.asciinema-theme-asciinema .bg-4 {
-  background-color: hsl(193, 70%, 49.5%);
-}
-.asciinema-theme-asciinema .fg-5 {
-  color: hsl(283, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .bg-5 {
-  background-color: hsl(283, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .fg-6 {
-  color: hsl(163, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .bg-6 {
-  background-color: hsl(163, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .fg-7 {
-  color: hsl(0, 0%, 85%);
-}
-.asciinema-theme-asciinema .bg-7 {
-  background-color: hsl(0, 0%, 85%);
-}
-.asciinema-theme-asciinema .fg-8 {
-  color: hsl(0, 0%, 30%);
-}
-.asciinema-theme-asciinema .bg-8 {
-  background-color: hsl(0, 0%, 30%);
-}
-.asciinema-theme-asciinema .fg-9 {
-  color: hsl(343, 70%, 55%);
-}
-.asciinema-theme-asciinema .bg-9 {
-  background-color: hsl(343, 70%, 55%);
-}
-.asciinema-theme-asciinema .fg-10 {
-  color: hsl(103, 70%, 44%);
-}
-.asciinema-theme-asciinema .bg-10 {
-  background-color: hsl(103, 70%, 44%);
-}
-.asciinema-theme-asciinema .fg-11 {
-  color: hsl(43, 70%, 55%);
-}
-.asciinema-theme-asciinema .bg-11 {
-  background-color: hsl(43, 70%, 55%);
-}
-.asciinema-theme-asciinema .fg-12 {
-  color: hsl(193, 70%, 49.5%);
-}
-.asciinema-theme-asciinema .bg-12 {
-  background-color: hsl(193, 70%, 49.5%);
-}
-.asciinema-theme-asciinema .fg-13 {
-  color: hsl(283, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .bg-13 {
-  background-color: hsl(283, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .fg-14 {
-  color: hsl(163, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .bg-14 {
-  background-color: hsl(163, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .fg-15 {
-  color: hsl(0, 0%, 100%);
-}
-.asciinema-theme-asciinema .bg-15 {
-  background-color: hsl(0, 0%, 100%);
-}
-.asciinema-theme-asciinema .fg-8,
-.asciinema-theme-asciinema .fg-9,
-.asciinema-theme-asciinema .fg-10,
-.asciinema-theme-asciinema .fg-11,
-.asciinema-theme-asciinema .fg-12,
-.asciinema-theme-asciinema .fg-13,
-.asciinema-theme-asciinema .fg-14,
-.asciinema-theme-asciinema .fg-15 {
-  font-weight: bold;
-}
-.asciinema-theme-tango .asciinema-terminal {
-  color: #CCCCCC;
-  background-color: #121314;
-  border-color: #121314;
-}
-.asciinema-theme-tango .fg-bg {
-  color: #121314;
-}
-.asciinema-theme-tango .bg-fg {
-  background-color: #CCCCCC;
-}
-.asciinema-theme-tango .fg-0 {
-  color: #000000;
-}
-.asciinema-theme-tango .bg-0 {
-  background-color: #000000;
-}
-.asciinema-theme-tango .fg-1 {
-  color: #CC0000;
-}
-.asciinema-theme-tango .bg-1 {
-  background-color: #CC0000;
-}
-.asciinema-theme-tango .fg-2 {
-  color: #4E9A06;
-}
-.asciinema-theme-tango .bg-2 {
-  background-color: #4E9A06;
-}
-.asciinema-theme-tango .fg-3 {
-  color: #C4A000;
-}
-.asciinema-theme-tango .bg-3 {
-  background-color: #C4A000;
-}
-.asciinema-theme-tango .fg-4 {
-  color: #3465A4;
-}
-.asciinema-theme-tango .bg-4 {
-  background-color: #3465A4;
-}
-.asciinema-theme-tango .fg-5 {
-  color: #75507B;
-}
-.asciinema-theme-tango .bg-5 {
-  background-color: #75507B;
-}
-.asciinema-theme-tango .fg-6 {
-  color: #06989A;
-}
-.asciinema-theme-tango .bg-6 {
-  background-color: #06989A;
-}
-.asciinema-theme-tango .fg-7 {
-  color: #D3D7CF;
-}
-.asciinema-theme-tango .bg-7 {
-  background-color: #D3D7CF;
-}
-.asciinema-theme-tango .fg-8 {
-  color: #555753;
-}
-.asciinema-theme-tango .bg-8 {
-  background-color: #555753;
-}
-.asciinema-theme-tango .fg-9 {
-  color: #EF2929;
-}
-.asciinema-theme-tango .bg-9 {
-  background-color: #EF2929;
-}
-.asciinema-theme-tango .fg-10 {
-  color: #8AE234;
-}
-.asciinema-theme-tango .bg-10 {
-  background-color: #8AE234;
-}
-.asciinema-theme-tango .fg-11 {
-  color: #FCE94F;
-}
-.asciinema-theme-tango .bg-11 {
-  background-color: #FCE94F;
-}
-.asciinema-theme-tango .fg-12 {
-  color: #729FCF;
-}
-.asciinema-theme-tango .bg-12 {
-  background-color: #729FCF;
-}
-.asciinema-theme-tango .fg-13 {
-  color: #AD7FA8;
-}
-.asciinema-theme-tango .bg-13 {
-  background-color: #AD7FA8;
-}
-.asciinema-theme-tango .fg-14 {
-  color: #34E2E2;
-}
-.asciinema-theme-tango .bg-14 {
-  background-color: #34E2E2;
-}
-.asciinema-theme-tango .fg-15 {
-  color: #EEEEEC;
-}
-.asciinema-theme-tango .bg-15 {
-  background-color: #EEEEEC;
-}
-.asciinema-theme-tango .fg-8,
-.asciinema-theme-tango .fg-9,
-.asciinema-theme-tango .fg-10,
-.asciinema-theme-tango .fg-11,
-.asciinema-theme-tango .fg-12,
-.asciinema-theme-tango .fg-13,
-.asciinema-theme-tango .fg-14,
-.asciinema-theme-tango .fg-15 {
-  font-weight: bold;
-}
-.asciinema-theme-solarized-dark .asciinema-terminal {
-  color: #839496;
-  background-color: #002b36;
-  border-color: #002b36;
-}
-.asciinema-theme-solarized-dark .fg-bg {
-  color: #002b36;
-}
-.asciinema-theme-solarized-dark .bg-fg {
-  background-color: #839496;
-}
-.asciinema-theme-solarized-dark .fg-0 {
-  color: #073642;
-}
-.asciinema-theme-solarized-dark .bg-0 {
-  background-color: #073642;
-}
-.asciinema-theme-solarized-dark .fg-1 {
-  color: #dc322f;
-}
-.asciinema-theme-solarized-dark .bg-1 {
-  background-color: #dc322f;
-}
-.asciinema-theme-solarized-dark .fg-2 {
-  color: #859900;
-}
-.asciinema-theme-solarized-dark .bg-2 {
-  background-color: #859900;
-}
-.asciinema-theme-solarized-dark .fg-3 {
-  color: #b58900;
-}
-.asciinema-theme-solarized-dark .bg-3 {
-  background-color: #b58900;
-}
-.asciinema-theme-solarized-dark .fg-4 {
-  color: #268bd2;
-}
-.asciinema-theme-solarized-dark .bg-4 {
-  background-color: #268bd2;
-}
-.asciinema-theme-solarized-dark .fg-5 {
-  color: #d33682;
-}
-.asciinema-theme-solarized-dark .bg-5 {
-  background-color: #d33682;
-}
-.asciinema-theme-solarized-dark .fg-6 {
-  color: #2aa198;
-}
-.asciinema-theme-solarized-dark .bg-6 {
-  background-color: #2aa198;
-}
-.asciinema-theme-solarized-dark .fg-7 {
-  color: #eee8d5;
-}
-.asciinema-theme-solarized-dark .bg-7 {
-  background-color: #eee8d5;
-}
-.asciinema-theme-solarized-dark .fg-8 {
-  color: #002b36;
-}
-.asciinema-theme-solarized-dark .bg-8 {
-  background-color: #002b36;
-}
-.asciinema-theme-solarized-dark .fg-9 {
-  color: #cb4b16;
-}
-.asciinema-theme-solarized-dark .bg-9 {
-  background-color: #cb4b16;
-}
-.asciinema-theme-solarized-dark .fg-10 {
-  color: #586e75;
-}
-.asciinema-theme-solarized-dark .bg-10 {
-  background-color: #586e75;
-}
-.asciinema-theme-solarized-dark .fg-11 {
-  color: #657b83;
-}
-.asciinema-theme-solarized-dark .bg-11 {
-  background-color: #657b83;
-}
-.asciinema-theme-solarized-dark .fg-12 {
-  color: #839496;
-}
-.asciinema-theme-solarized-dark .bg-12 {
-  background-color: #839496;
-}
-.asciinema-theme-solarized-dark .fg-13 {
-  color: #6c71c4;
-}
-.asciinema-theme-solarized-dark .bg-13 {
-  background-color: #6c71c4;
-}
-.asciinema-theme-solarized-dark .fg-14 {
-  color: #93a1a1;
-}
-.asciinema-theme-solarized-dark .bg-14 {
-  background-color: #93a1a1;
-}
-.asciinema-theme-solarized-dark .fg-15 {
-  color: #fdf6e3;
-}
-.asciinema-theme-solarized-dark .bg-15 {
-  background-color: #fdf6e3;
-}
-.asciinema-theme-solarized-light .asciinema-terminal {
-  color: #657b83;
-  background-color: #fdf6e3;
-  border-color: #fdf6e3;
-}
-.asciinema-theme-solarized-light .fg-bg {
-  color: #fdf6e3;
-}
-.asciinema-theme-solarized-light .bg-fg {
-  background-color: #657b83;
-}
-.asciinema-theme-solarized-light .fg-0 {
-  color: #073642;
-}
-.asciinema-theme-solarized-light .bg-0 {
-  background-color: #073642;
-}
-.asciinema-theme-solarized-light .fg-1 {
-  color: #dc322f;
-}
-.asciinema-theme-solarized-light .bg-1 {
-  background-color: #dc322f;
-}
-.asciinema-theme-solarized-light .fg-2 {
-  color: #859900;
-}
-.asciinema-theme-solarized-light .bg-2 {
-  background-color: #859900;
-}
-.asciinema-theme-solarized-light .fg-3 {
-  color: #b58900;
-}
-.asciinema-theme-solarized-light .bg-3 {
-  background-color: #b58900;
-}
-.asciinema-theme-solarized-light .fg-4 {
-  color: #268bd2;
-}
-.asciinema-theme-solarized-light .bg-4 {
-  background-color: #268bd2;
-}
-.asciinema-theme-solarized-light .fg-5 {
-  color: #d33682;
-}
-.asciinema-theme-solarized-light .bg-5 {
-  background-color: #d33682;
-}
-.asciinema-theme-solarized-light .fg-6 {
-  color: #2aa198;
-}
-.asciinema-theme-solarized-light .bg-6 {
-  background-color: #2aa198;
-}
-.asciinema-theme-solarized-light .fg-7 {
-  color: #eee8d5;
-}
-.asciinema-theme-solarized-light .bg-7 {
-  background-color: #eee8d5;
-}
-.asciinema-theme-solarized-light .fg-8 {
-  color: #002b36;
-}
-.asciinema-theme-solarized-light .bg-8 {
-  background-color: #002b36;
-}
-.asciinema-theme-solarized-light .fg-9 {
-  color: #cb4b16;
-}
-.asciinema-theme-solarized-light .bg-9 {
-  background-color: #cb4b16;
-}
-.asciinema-theme-solarized-light .fg-10 {
-  color: #586e75;
-}
-.asciinema-theme-solarized-light .bg-10 {
-  background-color: #586e75;
-}
-.asciinema-theme-solarized-light .fg-11 {
-  color: #657c83;
-}
-.asciinema-theme-solarized-light .bg-11 {
-  background-color: #657c83;
-}
-.asciinema-theme-solarized-light .fg-12 {
-  color: #839496;
-}
-.asciinema-theme-solarized-light .bg-12 {
-  background-color: #839496;
-}
-.asciinema-theme-solarized-light .fg-13 {
-  color: #6c71c4;
-}
-.asciinema-theme-solarized-light .bg-13 {
-  background-color: #6c71c4;
-}
-.asciinema-theme-solarized-light .fg-14 {
-  color: #93a1a1;
-}
-.asciinema-theme-solarized-light .bg-14 {
-  background-color: #93a1a1;
-}
-.asciinema-theme-solarized-light .fg-15 {
-  color: #fdf6e3;
-}
-.asciinema-theme-solarized-light .bg-15 {
-  background-color: #fdf6e3;
-}
-.asciinema-theme-solarized-light .start-prompt .play-button svg .play-btn-fill {
-  fill: #dc322f;
-}
-.asciinema-theme-solarized-light .start-prompt .play-button svg .play-btn-stroke {
-  stroke: #dc322f;
-}
-.asciinema-theme-seti .asciinema-terminal {
-  color: #cacecd;
-  background-color: #111213;
-  border-color: #111213;
-}
-.asciinema-theme-seti .fg-bg {
-  color: #111213;
-}
-.asciinema-theme-seti .bg-fg {
-  background-color: #cacecd;
-}
-.asciinema-theme-seti .fg-0 {
-  color: #323232;
-}
-.asciinema-theme-seti .bg-0 {
-  background-color: #323232;
-}
-.asciinema-theme-seti .fg-1 {
-  color: #c22832;
-}
-.asciinema-theme-seti .bg-1 {
-  background-color: #c22832;
-}
-.asciinema-theme-seti .fg-2 {
-  color: #8ec43d;
-}
-.asciinema-theme-seti .bg-2 {
-  background-color: #8ec43d;
-}
-.asciinema-theme-seti .fg-3 {
-  color: #e0c64f;
-}
-.asciinema-theme-seti .bg-3 {
-  background-color: #e0c64f;
-}
-.asciinema-theme-seti .fg-4 {
-  color: #43a5d5;
-}
-.asciinema-theme-seti .bg-4 {
-  background-color: #43a5d5;
-}
-.asciinema-theme-seti .fg-5 {
-  color: #8b57b5;
-}
-.asciinema-theme-seti .bg-5 {
-  background-color: #8b57b5;
-}
-.asciinema-theme-seti .fg-6 {
-  color: #8ec43d;
-}
-.asciinema-theme-seti .bg-6 {
-  background-color: #8ec43d;
-}
-.asciinema-theme-seti .fg-7 {
-  color: #eeeeee;
-}
-.asciinema-theme-seti .bg-7 {
-  background-color: #eeeeee;
-}
-.asciinema-theme-seti .fg-8 {
-  color: #323232;
-}
-.asciinema-theme-seti .bg-8 {
-  background-color: #323232;
-}
-.asciinema-theme-seti .fg-9 {
-  color: #c22832;
-}
-.asciinema-theme-seti .bg-9 {
-  background-color: #c22832;
-}
-.asciinema-theme-seti .fg-10 {
-  color: #8ec43d;
-}
-.asciinema-theme-seti .bg-10 {
-  background-color: #8ec43d;
-}
-.asciinema-theme-seti .fg-11 {
-  color: #e0c64f;
-}
-.asciinema-theme-seti .bg-11 {
-  background-color: #e0c64f;
-}
-.asciinema-theme-seti .fg-12 {
-  color: #43a5d5;
-}
-.asciinema-theme-seti .bg-12 {
-  background-color: #43a5d5;
-}
-.asciinema-theme-seti .fg-13 {
-  color: #8b57b5;
-}
-.asciinema-theme-seti .bg-13 {
-  background-color: #8b57b5;
-}
-.asciinema-theme-seti .fg-14 {
-  color: #8ec43d;
-}
-.asciinema-theme-seti .bg-14 {
-  background-color: #8ec43d;
-}
-.asciinema-theme-seti .fg-15 {
-  color: #ffffff;
-}
-.asciinema-theme-seti .bg-15 {
-  background-color: #ffffff;
-}
-.asciinema-theme-seti .fg-8,
-.asciinema-theme-seti .fg-9,
-.asciinema-theme-seti .fg-10,
-.asciinema-theme-seti .fg-11,
-.asciinema-theme-seti .fg-12,
-.asciinema-theme-seti .fg-13,
-.asciinema-theme-seti .fg-14,
-.asciinema-theme-seti .fg-15 {
-  font-weight: bold;
-}
-/* Based on Monokai from base16 collection - https://github.com/chriskempson/base16 */
-.asciinema-theme-monokai .asciinema-terminal {
-  color: #f8f8f2;
-  background-color: #272822;
-  border-color: #272822;
-}
-.asciinema-theme-monokai .fg-bg {
-  color: #272822;
-}
-.asciinema-theme-monokai .bg-fg {
-  background-color: #f8f8f2;
-}
-.asciinema-theme-monokai .fg-0 {
-  color: #272822;
-}
-.asciinema-theme-monokai .bg-0 {
-  background-color: #272822;
-}
-.asciinema-theme-monokai .fg-1 {
-  color: #f92672;
-}
-.asciinema-theme-monokai .bg-1 {
-  background-color: #f92672;
-}
-.asciinema-theme-monokai .fg-2 {
-  color: #a6e22e;
-}
-.asciinema-theme-monokai .bg-2 {
-  background-color: #a6e22e;
-}
-.asciinema-theme-monokai .fg-3 {
-  color: #f4bf75;
-}
-.asciinema-theme-monokai .bg-3 {
-  background-color: #f4bf75;
-}
-.asciinema-theme-monokai .fg-4 {
-  color: #66d9ef;
-}
-.asciinema-theme-monokai .bg-4 {
-  background-color: #66d9ef;
-}
-.asciinema-theme-monokai .fg-5 {
-  color: #ae81ff;
-}
-.asciinema-theme-monokai .bg-5 {
-  background-color: #ae81ff;
-}
-.asciinema-theme-monokai .fg-6 {
-  color: #a1efe4;
-}
-.asciinema-theme-monokai .bg-6 {
-  background-color: #a1efe4;
-}
-.asciinema-theme-monokai .fg-7 {
-  color: #f8f8f2;
-}
-.asciinema-theme-monokai .bg-7 {
-  background-color: #f8f8f2;
-}
-.asciinema-theme-monokai .fg-8 {
-  color: #75715e;
-}
-.asciinema-theme-monokai .bg-8 {
-  background-color: #75715e;
-}
-.asciinema-theme-monokai .fg-9 {
-  color: #f92672;
-}
-.asciinema-theme-monokai .bg-9 {
-  background-color: #f92672;
-}
-.asciinema-theme-monokai .fg-10 {
-  color: #a6e22e;
-}
-.asciinema-theme-monokai .bg-10 {
-  background-color: #a6e22e;
-}
-.asciinema-theme-monokai .fg-11 {
-  color: #f4bf75;
-}
-.asciinema-theme-monokai .bg-11 {
-  background-color: #f4bf75;
-}
-.asciinema-theme-monokai .fg-12 {
-  color: #66d9ef;
-}
-.asciinema-theme-monokai .bg-12 {
-  background-color: #66d9ef;
-}
-.asciinema-theme-monokai .fg-13 {
-  color: #ae81ff;
-}
-.asciinema-theme-monokai .bg-13 {
-  background-color: #ae81ff;
-}
-.asciinema-theme-monokai .fg-14 {
-  color: #a1efe4;
-}
-.asciinema-theme-monokai .bg-14 {
-  background-color: #a1efe4;
-}
-.asciinema-theme-monokai .fg-15 {
-  color: #f9f8f5;
-}
-.asciinema-theme-monokai .bg-15 {
-  background-color: #f9f8f5;
-}
-.asciinema-theme-monokai .fg-8,
-.asciinema-theme-monokai .fg-9,
-.asciinema-theme-monokai .fg-10,
-.asciinema-theme-monokai .fg-11,
-.asciinema-theme-monokai .fg-12,
-.asciinema-theme-monokai .fg-13,
-.asciinema-theme-monokai .fg-14,
-.asciinema-theme-monokai .fg-15 {
-  font-weight: bold;
-}
diff --git a/landing-page/static/asciinema/asciinema-player.css.back b/landing-page/static/asciinema/asciinema-player.css.back
deleted file mode 100644
index aec9775..0000000
--- a/landing-page/static/asciinema/asciinema-player.css.back
+++ /dev/null
@@ -1,2567 +0,0 @@
-.asciinema-player-wrapper {
-  outline: none;
-  height: 100%;
-  display: flex;
-  justify-content: center;
-}
-.asciinema-player-wrapper .title-bar {
-  display: none;
-  top: -78px;
-  transition: top 0.15s linear;
-  position: absolute;
-  left: 0;
-  right: 0;
-  box-sizing: content-box;
-  font-size: 20px;
-  line-height: 1em;
-  padding: 15px;
-  font-family: sans-serif;
-  color: white;
-  background-color: rgba(0, 0, 0, 0.8);
-}
-.asciinema-player-wrapper .title-bar img {
-  vertical-align: middle;
-  height: 48px;
-  margin-right: 16px;
-}
-.asciinema-player-wrapper .title-bar a {
-  color: white;
-  text-decoration: underline;
-}
-.asciinema-player-wrapper .title-bar a:hover {
-  text-decoration: none;
-}
-.asciinema-player-wrapper:fullscreen {
-  background-color: #000;
-  width: 100%;
-  -webkit-align-items: center;
-  align-items: center;
-}
-.asciinema-player-wrapper:fullscreen .asciinema-player {
-  position: static;
-}
-.asciinema-player-wrapper:fullscreen .title-bar {
-  display: initial;
-}
-.asciinema-player-wrapper:fullscreen.hud .title-bar {
-  top: 0;
-}
-.asciinema-player-wrapper:-webkit-full-screen {
-  background-color: #000;
-  width: 100%;
-  -webkit-align-items: center;
-  align-items: center;
-}
-.asciinema-player-wrapper:-webkit-full-screen .asciinema-player {
-  position: static;
-}
-.asciinema-player-wrapper:-webkit-full-screen .title-bar {
-  display: initial;
-}
-.asciinema-player-wrapper:-webkit-full-screen.hud .title-bar {
-  top: 0;
-}
-.asciinema-player-wrapper:-moz-full-screen {
-  background-color: #000;
-  width: 100%;
-  -webkit-align-items: center;
-  align-items: center;
-}
-.asciinema-player-wrapper:-moz-full-screen .asciinema-player {
-  position: static;
-}
-.asciinema-player-wrapper:-moz-full-screen .title-bar {
-  display: initial;
-}
-.asciinema-player-wrapper:-moz-full-screen.hud .title-bar {
-  top: 0;
-}
-.asciinema-player-wrapper:-ms-fullscreen {
-  background-color: #000;
-  width: 100%;
-  -webkit-align-items: center;
-  align-items: center;
-}
-.asciinema-player-wrapper:-ms-fullscreen .asciinema-player {
-  position: static;
-}
-.asciinema-player-wrapper:-ms-fullscreen .title-bar {
-  display: initial;
-}
-.asciinema-player-wrapper:-ms-fullscreen.hud .title-bar {
-  top: 0;
-}
-.asciinema-player-wrapper .asciinema-player {
-  text-align: left;
-  display: inline-block;
-  padding: 0px;
-  position: relative;
-  box-sizing: content-box;
-  -moz-box-sizing: content-box;
-  -webkit-box-sizing: content-box;
-  overflow: hidden;
-  max-width: 100%;
-  border-radius: 4px;
-  font-size: 12px;
-}
-.asciinema-terminal {
-  box-sizing: content-box;
-  -moz-box-sizing: content-box;
-  -webkit-box-sizing: content-box;
-  overflow: hidden;
-  padding: 0;
-  margin: 0px;
-  display: block;
-  white-space: pre;
-  border: 0;
-  word-wrap: normal;
-  word-break: normal;
-  border-radius: 0;
-  border-style: solid;
-  cursor: text;
-  border-width: 0.75em;
-  font-family: Consolas, Menlo, 'Bitstream Vera Sans Mono', monospace, 'Powerline Symbols';
-  line-height: 1.33333333em;
-}
-.asciinema-terminal .line {
-  letter-spacing: normal;
-  overflow: hidden;
-  height: 1.33333333em;
-}
-.asciinema-terminal .line span {
-  padding: 0;
-  display: inline-block;
-  height: 1.33333333em;
-}
-.asciinema-terminal .line {
-  display: block;
-  width: 200%;
-}
-.asciinema-terminal .line .cursor-a {
-  display: inline-block;
-}
-.asciinema-terminal .line .cursor-b {
-  display: none;
-  border-radius: 0.05em;
-}
-.asciinema-terminal .line .blink {
-  visibility: hidden;
-}
-.asciinema-terminal.cursor .line .cursor-a {
-  display: none;
-}
-.asciinema-terminal.cursor .line .cursor-b {
-  display: inline-block;
-}
-.asciinema-terminal.blink .line .blink {
-  visibility: visible;
-}
-.asciinema-terminal .bright {
-  font-weight: bold;
-}
-.asciinema-terminal .underline {
-  text-decoration: underline;
-}
-.asciinema-terminal .italic {
-  font-style: italic;
-}
-.asciinema-terminal .strikethrough {
-  text-decoration: line-through;
-}
-.asciinema-player .control-bar {
-  width: 100%;
-  height: 32px;
-  background: rgba(0, 0, 0, 0.8);
-  /* no gradient fallback */
-  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%);
-  /* FF3.6-15 */
-  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%);
-  /* Chrome10-25,Safari5.1-6 */
-  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%);
-  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
-  color: #bbb;
-  box-sizing: content-box;
-  line-height: 1;
-  position: absolute;
-  bottom: -35px;
-  left: 0;
-  transition: bottom 0.15s linear;
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -khtml-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-  z-index: 30;
-}
-.asciinema-player .control-bar * {
-  box-sizing: inherit;
-  font-size: 0;
-}
-.asciinema-player .control-bar svg.icon path {
-  fill: #bbb;
-}
-.asciinema-player .control-bar .playback-button {
-  display: block;
-  float: left;
-  cursor: pointer;
-  height: 12px;
-  width: 12px;
-  padding: 10px;
-}
-.asciinema-player .control-bar .playback-button svg {
-  height: 12px;
-  width: 12px;
-}
-.asciinema-player .control-bar .timer {
-  display: block;
-  float: left;
-  width: 50px;
-  height: 100%;
-  text-align: center;
-  font-family: Helvetica, Arial, sans-serif;
-  font-size: 11px;
-  font-weight: bold;
-  line-height: 32px;
-  cursor: default;
-}
-.asciinema-player .control-bar .timer span {
-  display: inline-block;
-  font-size: inherit;
-}
-.asciinema-player .control-bar .timer .time-remaining {
-  display: none;
-}
-.asciinema-player .control-bar .timer:hover .time-elapsed {
-  display: none;
-}
-.asciinema-player .control-bar .timer:hover .time-remaining {
-  display: inline;
-}
-.asciinema-player .control-bar .progressbar {
-  display: block;
-  overflow: hidden;
-  height: 100%;
-  padding: 0 10px;
-}
-.asciinema-player .control-bar .progressbar .bar {
-  display: block;
-  cursor: default;
-  height: 100%;
-  padding-top: 15px;
-  font-size: 0;
-}
-.asciinema-player .control-bar .progressbar .bar .gutter {
-  display: block;
-  height: 3px;
-  background-color: #333;
-}
-.asciinema-player .control-bar .progressbar .bar .gutter span {
-  display: inline-block;
-  height: 100%;
-  background-color: #bbb;
-  border-radius: 3px;
-}
-.asciinema-player .control-bar.seekable .progressbar .bar {
-  cursor: pointer;
-}
-.asciinema-player .control-bar .fullscreen-button {
-  display: block;
-  float: right;
-  width: 14px;
-  height: 14px;
-  padding: 9px;
-  cursor: pointer;
-}
-.asciinema-player .control-bar .fullscreen-button svg {
-  width: 14px;
-  height: 14px;
-}
-.asciinema-player .control-bar .fullscreen-button svg:first-child {
-  display: inline;
-}
-.asciinema-player .control-bar .fullscreen-button svg:last-child {
-  display: none;
-}
-.asciinema-player-wrapper.hud .control-bar {
-  bottom: 0px;
-}
-.asciinema-player-wrapper:fullscreen .fullscreen-button svg:first-child {
-  display: none;
-}
-.asciinema-player-wrapper:fullscreen .fullscreen-button svg:last-child {
-  display: inline;
-}
-.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:first-child {
-  display: none;
-}
-.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:last-child {
-  display: inline;
-}
-.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:first-child {
-  display: none;
-}
-.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:last-child {
-  display: inline;
-}
-.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:first-child {
-  display: none;
-}
-.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:last-child {
-  display: inline;
-}
-.asciinema-player .loading {
-  z-index: 10;
-  background-repeat: no-repeat;
-  background-position: center;
-  position: absolute;
-  top: 0;
-  left: 0;
-  right: 0;
-  bottom: 0;
-  background-color: rgba(0, 0, 0, 0.5);
-}
-.asciinema-player .start-prompt {
-  z-index: 10;
-  background-repeat: no-repeat;
-  background-position: center;
-  position: absolute;
-  top: 0;
-  left: 0;
-  right: 0;
-  bottom: 0;
-  z-index: 20;
-  cursor: pointer;
-}
-.asciinema-player .start-prompt .play-button {
-  font-size: 0px;
-  position: absolute;
-  left: 0;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  text-align: center;
-  color: white;
-  height: 80px;
-  max-height: 66%;
-  margin: auto;
-}
-.asciinema-player .start-prompt .play-button div {
-  height: 100%;
-}
-.asciinema-player .start-prompt .play-button div span {
-  height: 100%;
-  display: block;
-}
-.asciinema-player .start-prompt .play-button div span svg {
-  height: 100%;
-}
-@-webkit-keyframes expand {
-  0% {
-    -webkit-transform: scale(0);
-  }
-  50% {
-    -webkit-transform: scale(1);
-  }
-  100% {
-    z-index: 1;
-  }
-}
-@-moz-keyframes expand {
-  0% {
-    -moz-transform: scale(0);
-  }
-  50% {
-    -moz-transform: scale(1);
-  }
-  100% {
-    z-index: 1;
-  }
-}
-@-o-keyframes expand {
-  0% {
-    -o-transform: scale(0);
-  }
-  50% {
-    -o-transform: scale(1);
-  }
-  100% {
-    z-index: 1;
-  }
-}
-@keyframes expand {
-  0% {
-    transform: scale(0);
-  }
-  50% {
-    transform: scale(1);
-  }
-  100% {
-    z-index: 1;
-  }
-}
-.loader {
-  position: absolute;
-  left: 50%;
-  top: 50%;
-  margin: -20px 0 0 -20px;
-  background-color: white;
-  border-radius: 50%;
-  box-shadow: 0 0 0 6.66667px #141414;
-  width: 40px;
-  height: 40px;
-}
-.loader:before,
-.loader:after {
-  content: "";
-  position: absolute;
-  left: 50%;
-  top: 50%;
-  display: block;
-  margin: -21px 0 0 -21px;
-  border-radius: 50%;
-  z-index: 2;
-  width: 42px;
-  height: 42px;
-}
-.loader:before {
-  background-color: #141414;
-  -webkit-animation: expand 1.6s linear infinite both;
-  -moz-animation: expand 1.6s linear infinite both;
-  animation: expand 1.6s linear infinite both;
-}
-.loader:after {
-  background-color: white;
-  -webkit-animation: expand 1.6s linear 0.8s infinite both;
-  -moz-animation: expand 1.6s linear 0.8s infinite both;
-  animation: expand 1.6s linear 0.8s infinite both;
-}
-.asciinema-terminal .fg-16 {
-  color: #000000;
-}
-.asciinema-terminal .bg-16 {
-  background-color: #000000;
-}
-.asciinema-terminal .fg-17 {
-  color: #00005f;
-}
-.asciinema-terminal .bg-17 {
-  background-color: #00005f;
-}
-.asciinema-terminal .fg-18 {
-  color: #000087;
-}
-.asciinema-terminal .bg-18 {
-  background-color: #000087;
-}
-.asciinema-terminal .fg-19 {
-  color: #0000af;
-}
-.asciinema-terminal .bg-19 {
-  background-color: #0000af;
-}
-.asciinema-terminal .fg-20 {
-  color: #0000d7;
-}
-.asciinema-terminal .bg-20 {
-  background-color: #0000d7;
-}
-.asciinema-terminal .fg-21 {
-  color: #0000ff;
-}
-.asciinema-terminal .bg-21 {
-  background-color: #0000ff;
-}
-.asciinema-terminal .fg-22 {
-  color: #005f00;
-}
-.asciinema-terminal .bg-22 {
-  background-color: #005f00;
-}
-.asciinema-terminal .fg-23 {
-  color: #005f5f;
-}
-.asciinema-terminal .bg-23 {
-  background-color: #005f5f;
-}
-.asciinema-terminal .fg-24 {
-  color: #005f87;
-}
-.asciinema-terminal .bg-24 {
-  background-color: #005f87;
-}
-.asciinema-terminal .fg-25 {
-  color: #005faf;
-}
-.asciinema-terminal .bg-25 {
-  background-color: #005faf;
-}
-.asciinema-terminal .fg-26 {
-  color: #005fd7;
-}
-.asciinema-terminal .bg-26 {
-  background-color: #005fd7;
-}
-.asciinema-terminal .fg-27 {
-  color: #005fff;
-}
-.asciinema-terminal .bg-27 {
-  background-color: #005fff;
-}
-.asciinema-terminal .fg-28 {
-  color: #008700;
-}
-.asciinema-terminal .bg-28 {
-  background-color: #008700;
-}
-.asciinema-terminal .fg-29 {
-  color: #00875f;
-}
-.asciinema-terminal .bg-29 {
-  background-color: #00875f;
-}
-.asciinema-terminal .fg-30 {
-  color: #008787;
-}
-.asciinema-terminal .bg-30 {
-  background-color: #008787;
-}
-.asciinema-terminal .fg-31 {
-  color: #0087af;
-}
-.asciinema-terminal .bg-31 {
-  background-color: #0087af;
-}
-.asciinema-terminal .fg-32 {
-  color: #0087d7;
-}
-.asciinema-terminal .bg-32 {
-  background-color: #0087d7;
-}
-.asciinema-terminal .fg-33 {
-  color: #0087ff;
-}
-.asciinema-terminal .bg-33 {
-  background-color: #0087ff;
-}
-.asciinema-terminal .fg-34 {
-  color: #00af00;
-}
-.asciinema-terminal .bg-34 {
-  background-color: #00af00;
-}
-.asciinema-terminal .fg-35 {
-  color: #00af5f;
-}
-.asciinema-terminal .bg-35 {
-  background-color: #00af5f;
-}
-.asciinema-terminal .fg-36 {
-  color: #00af87;
-}
-.asciinema-terminal .bg-36 {
-  background-color: #00af87;
-}
-.asciinema-terminal .fg-37 {
-  color: #00afaf;
-}
-.asciinema-terminal .bg-37 {
-  background-color: #00afaf;
-}
-.asciinema-terminal .fg-38 {
-  color: #00afd7;
-}
-.asciinema-terminal .bg-38 {
-  background-color: #00afd7;
-}
-.asciinema-terminal .fg-39 {
-  color: #00afff;
-}
-.asciinema-terminal .bg-39 {
-  background-color: #00afff;
-}
-.asciinema-terminal .fg-40 {
-  color: #00d700;
-}
-.asciinema-terminal .bg-40 {
-  background-color: #00d700;
-}
-.asciinema-terminal .fg-41 {
-  color: #00d75f;
-}
-.asciinema-terminal .bg-41 {
-  background-color: #00d75f;
-}
-.asciinema-terminal .fg-42 {
-  color: #00d787;
-}
-.asciinema-terminal .bg-42 {
-  background-color: #00d787;
-}
-.asciinema-terminal .fg-43 {
-  color: #00d7af;
-}
-.asciinema-terminal .bg-43 {
-  background-color: #00d7af;
-}
-.asciinema-terminal .fg-44 {
-  color: #00d7d7;
-}
-.asciinema-terminal .bg-44 {
-  background-color: #00d7d7;
-}
-.asciinema-terminal .fg-45 {
-  color: #00d7ff;
-}
-.asciinema-terminal .bg-45 {
-  background-color: #00d7ff;
-}
-.asciinema-terminal .fg-46 {
-  color: #00ff00;
-}
-.asciinema-terminal .bg-46 {
-  background-color: #00ff00;
-}
-.asciinema-terminal .fg-47 {
-  color: #00ff5f;
-}
-.asciinema-terminal .bg-47 {
-  background-color: #00ff5f;
-}
-.asciinema-terminal .fg-48 {
-  color: #00ff87;
-}
-.asciinema-terminal .bg-48 {
-  background-color: #00ff87;
-}
-.asciinema-terminal .fg-49 {
-  color: #00ffaf;
-}
-.asciinema-terminal .bg-49 {
-  background-color: #00ffaf;
-}
-.asciinema-terminal .fg-50 {
-  color: #00ffd7;
-}
-.asciinema-terminal .bg-50 {
-  background-color: #00ffd7;
-}
-.asciinema-terminal .fg-51 {
-  color: #00ffff;
-}
-.asciinema-terminal .bg-51 {
-  background-color: #00ffff;
-}
-.asciinema-terminal .fg-52 {
-  color: #5f0000;
-}
-.asciinema-terminal .bg-52 {
-  background-color: #5f0000;
-}
-.asciinema-terminal .fg-53 {
-  color: #5f005f;
-}
-.asciinema-terminal .bg-53 {
-  background-color: #5f005f;
-}
-.asciinema-terminal .fg-54 {
-  color: #5f0087;
-}
-.asciinema-terminal .bg-54 {
-  background-color: #5f0087;
-}
-.asciinema-terminal .fg-55 {
-  color: #5f00af;
-}
-.asciinema-terminal .bg-55 {
-  background-color: #5f00af;
-}
-.asciinema-terminal .fg-56 {
-  color: #5f00d7;
-}
-.asciinema-terminal .bg-56 {
-  background-color: #5f00d7;
-}
-.asciinema-terminal .fg-57 {
-  color: #5f00ff;
-}
-.asciinema-terminal .bg-57 {
-  background-color: #5f00ff;
-}
-.asciinema-terminal .fg-58 {
-  color: #5f5f00;
-}
-.asciinema-terminal .bg-58 {
-  background-color: #5f5f00;
-}
-.asciinema-terminal .fg-59 {
-  color: #5f5f5f;
-}
-.asciinema-terminal .bg-59 {
-  background-color: #5f5f5f;
-}
-.asciinema-terminal .fg-60 {
-  color: #5f5f87;
-}
-.asciinema-terminal .bg-60 {
-  background-color: #5f5f87;
-}
-.asciinema-terminal .fg-61 {
-  color: #5f5faf;
-}
-.asciinema-terminal .bg-61 {
-  background-color: #5f5faf;
-}
-.asciinema-terminal .fg-62 {
-  color: #5f5fd7;
-}
-.asciinema-terminal .bg-62 {
-  background-color: #5f5fd7;
-}
-.asciinema-terminal .fg-63 {
-  color: #5f5fff;
-}
-.asciinema-terminal .bg-63 {
-  background-color: #5f5fff;
-}
-.asciinema-terminal .fg-64 {
-  color: #5f8700;
-}
-.asciinema-terminal .bg-64 {
-  background-color: #5f8700;
-}
-.asciinema-terminal .fg-65 {
-  color: #5f875f;
-}
-.asciinema-terminal .bg-65 {
-  background-color: #5f875f;
-}
-.asciinema-terminal .fg-66 {
-  color: #5f8787;
-}
-.asciinema-terminal .bg-66 {
-  background-color: #5f8787;
-}
-.asciinema-terminal .fg-67 {
-  color: #5f87af;
-}
-.asciinema-terminal .bg-67 {
-  background-color: #5f87af;
-}
-.asciinema-terminal .fg-68 {
-  color: #5f87d7;
-}
-.asciinema-terminal .bg-68 {
-  background-color: #5f87d7;
-}
-.asciinema-terminal .fg-69 {
-  color: #5f87ff;
-}
-.asciinema-terminal .bg-69 {
-  background-color: #5f87ff;
-}
-.asciinema-terminal .fg-70 {
-  color: #5faf00;
-}
-.asciinema-terminal .bg-70 {
-  background-color: #5faf00;
-}
-.asciinema-terminal .fg-71 {
-  color: #5faf5f;
-}
-.asciinema-terminal .bg-71 {
-  background-color: #5faf5f;
-}
-.asciinema-terminal .fg-72 {
-  color: #5faf87;
-}
-.asciinema-terminal .bg-72 {
-  background-color: #5faf87;
-}
-.asciinema-terminal .fg-73 {
-  color: #5fafaf;
-}
-.asciinema-terminal .bg-73 {
-  background-color: #5fafaf;
-}
-.asciinema-terminal .fg-74 {
-  color: #5fafd7;
-}
-.asciinema-terminal .bg-74 {
-  background-color: #5fafd7;
-}
-.asciinema-terminal .fg-75 {
-  color: #5fafff;
-}
-.asciinema-terminal .bg-75 {
-  background-color: #5fafff;
-}
-.asciinema-terminal .fg-76 {
-  color: #5fd700;
-}
-.asciinema-terminal .bg-76 {
-  background-color: #5fd700;
-}
-.asciinema-terminal .fg-77 {
-  color: #5fd75f;
-}
-.asciinema-terminal .bg-77 {
-  background-color: #5fd75f;
-}
-.asciinema-terminal .fg-78 {
-  color: #5fd787;
-}
-.asciinema-terminal .bg-78 {
-  background-color: #5fd787;
-}
-.asciinema-terminal .fg-79 {
-  color: #5fd7af;
-}
-.asciinema-terminal .bg-79 {
-  background-color: #5fd7af;
-}
-.asciinema-terminal .fg-80 {
-  color: #5fd7d7;
-}
-.asciinema-terminal .bg-80 {
-  background-color: #5fd7d7;
-}
-.asciinema-terminal .fg-81 {
-  color: #5fd7ff;
-}
-.asciinema-terminal .bg-81 {
-  background-color: #5fd7ff;
-}
-.asciinema-terminal .fg-82 {
-  color: #5fff00;
-}
-.asciinema-terminal .bg-82 {
-  background-color: #5fff00;
-}
-.asciinema-terminal .fg-83 {
-  color: #5fff5f;
-}
-.asciinema-terminal .bg-83 {
-  background-color: #5fff5f;
-}
-.asciinema-terminal .fg-84 {
-  color: #5fff87;
-}
-.asciinema-terminal .bg-84 {
-  background-color: #5fff87;
-}
-.asciinema-terminal .fg-85 {
-  color: #5fffaf;
-}
-.asciinema-terminal .bg-85 {
-  background-color: #5fffaf;
-}
-.asciinema-terminal .fg-86 {
-  color: #5fffd7;
-}
-.asciinema-terminal .bg-86 {
-  background-color: #5fffd7;
-}
-.asciinema-terminal .fg-87 {
-  color: #5fffff;
-}
-.asciinema-terminal .bg-87 {
-  background-color: #5fffff;
-}
-.asciinema-terminal .fg-88 {
-  color: #870000;
-}
-.asciinema-terminal .bg-88 {
-  background-color: #870000;
-}
-.asciinema-terminal .fg-89 {
-  color: #87005f;
-}
-.asciinema-terminal .bg-89 {
-  background-color: #87005f;
-}
-.asciinema-terminal .fg-90 {
-  color: #870087;
-}
-.asciinema-terminal .bg-90 {
-  background-color: #870087;
-}
-.asciinema-terminal .fg-91 {
-  color: #8700af;
-}
-.asciinema-terminal .bg-91 {
-  background-color: #8700af;
-}
-.asciinema-terminal .fg-92 {
-  color: #8700d7;
-}
-.asciinema-terminal .bg-92 {
-  background-color: #8700d7;
-}
-.asciinema-terminal .fg-93 {
-  color: #8700ff;
-}
-.asciinema-terminal .bg-93 {
-  background-color: #8700ff;
-}
-.asciinema-terminal .fg-94 {
-  color: #875f00;
-}
-.asciinema-terminal .bg-94 {
-  background-color: #875f00;
-}
-.asciinema-terminal .fg-95 {
-  color: #875f5f;
-}
-.asciinema-terminal .bg-95 {
-  background-color: #875f5f;
-}
-.asciinema-terminal .fg-96 {
-  color: #875f87;
-}
-.asciinema-terminal .bg-96 {
-  background-color: #875f87;
-}
-.asciinema-terminal .fg-97 {
-  color: #875faf;
-}
-.asciinema-terminal .bg-97 {
-  background-color: #875faf;
-}
-.asciinema-terminal .fg-98 {
-  color: #875fd7;
-}
-.asciinema-terminal .bg-98 {
-  background-color: #875fd7;
-}
-.asciinema-terminal .fg-99 {
-  color: #875fff;
-}
-.asciinema-terminal .bg-99 {
-  background-color: #875fff;
-}
-.asciinema-terminal .fg-100 {
-  color: #878700;
-}
-.asciinema-terminal .bg-100 {
-  background-color: #878700;
-}
-.asciinema-terminal .fg-101 {
-  color: #87875f;
-}
-.asciinema-terminal .bg-101 {
-  background-color: #87875f;
-}
-.asciinema-terminal .fg-102 {
-  color: #878787;
-}
-.asciinema-terminal .bg-102 {
-  background-color: #878787;
-}
-.asciinema-terminal .fg-103 {
-  color: #8787af;
-}
-.asciinema-terminal .bg-103 {
-  background-color: #8787af;
-}
-.asciinema-terminal .fg-104 {
-  color: #8787d7;
-}
-.asciinema-terminal .bg-104 {
-  background-color: #8787d7;
-}
-.asciinema-terminal .fg-105 {
-  color: #8787ff;
-}
-.asciinema-terminal .bg-105 {
-  background-color: #8787ff;
-}
-.asciinema-terminal .fg-106 {
-  color: #87af00;
-}
-.asciinema-terminal .bg-106 {
-  background-color: #87af00;
-}
-.asciinema-terminal .fg-107 {
-  color: #87af5f;
-}
-.asciinema-terminal .bg-107 {
-  background-color: #87af5f;
-}
-.asciinema-terminal .fg-108 {
-  color: #87af87;
-}
-.asciinema-terminal .bg-108 {
-  background-color: #87af87;
-}
-.asciinema-terminal .fg-109 {
-  color: #87afaf;
-}
-.asciinema-terminal .bg-109 {
-  background-color: #87afaf;
-}
-.asciinema-terminal .fg-110 {
-  color: #87afd7;
-}
-.asciinema-terminal .bg-110 {
-  background-color: #87afd7;
-}
-.asciinema-terminal .fg-111 {
-  color: #87afff;
-}
-.asciinema-terminal .bg-111 {
-  background-color: #87afff;
-}
-.asciinema-terminal .fg-112 {
-  color: #87d700;
-}
-.asciinema-terminal .bg-112 {
-  background-color: #87d700;
-}
-.asciinema-terminal .fg-113 {
-  color: #87d75f;
-}
-.asciinema-terminal .bg-113 {
-  background-color: #87d75f;
-}
-.asciinema-terminal .fg-114 {
-  color: #87d787;
-}
-.asciinema-terminal .bg-114 {
-  background-color: #87d787;
-}
-.asciinema-terminal .fg-115 {
-  color: #87d7af;
-}
-.asciinema-terminal .bg-115 {
-  background-color: #87d7af;
-}
-.asciinema-terminal .fg-116 {
-  color: #87d7d7;
-}
-.asciinema-terminal .bg-116 {
-  background-color: #87d7d7;
-}
-.asciinema-terminal .fg-117 {
-  color: #87d7ff;
-}
-.asciinema-terminal .bg-117 {
-  background-color: #87d7ff;
-}
-.asciinema-terminal .fg-118 {
-  color: #87ff00;
-}
-.asciinema-terminal .bg-118 {
-  background-color: #87ff00;
-}
-.asciinema-terminal .fg-119 {
-  color: #87ff5f;
-}
-.asciinema-terminal .bg-119 {
-  background-color: #87ff5f;
-}
-.asciinema-terminal .fg-120 {
-  color: #87ff87;
-}
-.asciinema-terminal .bg-120 {
-  background-color: #87ff87;
-}
-.asciinema-terminal .fg-121 {
-  color: #87ffaf;
-}
-.asciinema-terminal .bg-121 {
-  background-color: #87ffaf;
-}
-.asciinema-terminal .fg-122 {
-  color: #87ffd7;
-}
-.asciinema-terminal .bg-122 {
-  background-color: #87ffd7;
-}
-.asciinema-terminal .fg-123 {
-  color: #87ffff;
-}
-.asciinema-terminal .bg-123 {
-  background-color: #87ffff;
-}
-.asciinema-terminal .fg-124 {
-  color: #af0000;
-}
-.asciinema-terminal .bg-124 {
-  background-color: #af0000;
-}
-.asciinema-terminal .fg-125 {
-  color: #af005f;
-}
-.asciinema-terminal .bg-125 {
-  background-color: #af005f;
-}
-.asciinema-terminal .fg-126 {
-  color: #af0087;
-}
-.asciinema-terminal .bg-126 {
-  background-color: #af0087;
-}
-.asciinema-terminal .fg-127 {
-  color: #af00af;
-}
-.asciinema-terminal .bg-127 {
-  background-color: #af00af;
-}
-.asciinema-terminal .fg-128 {
-  color: #af00d7;
-}
-.asciinema-terminal .bg-128 {
-  background-color: #af00d7;
-}
-.asciinema-terminal .fg-129 {
-  color: #af00ff;
-}
-.asciinema-terminal .bg-129 {
-  background-color: #af00ff;
-}
-.asciinema-terminal .fg-130 {
-  color: #af5f00;
-}
-.asciinema-terminal .bg-130 {
-  background-color: #af5f00;
-}
-.asciinema-terminal .fg-131 {
-  color: #af5f5f;
-}
-.asciinema-terminal .bg-131 {
-  background-color: #af5f5f;
-}
-.asciinema-terminal .fg-132 {
-  color: #af5f87;
-}
-.asciinema-terminal .bg-132 {
-  background-color: #af5f87;
-}
-.asciinema-terminal .fg-133 {
-  color: #af5faf;
-}
-.asciinema-terminal .bg-133 {
-  background-color: #af5faf;
-}
-.asciinema-terminal .fg-134 {
-  color: #af5fd7;
-}
-.asciinema-terminal .bg-134 {
-  background-color: #af5fd7;
-}
-.asciinema-terminal .fg-135 {
-  color: #af5fff;
-}
-.asciinema-terminal .bg-135 {
-  background-color: #af5fff;
-}
-.asciinema-terminal .fg-136 {
-  color: #af8700;
-}
-.asciinema-terminal .bg-136 {
-  background-color: #af8700;
-}
-.asciinema-terminal .fg-137 {
-  color: #af875f;
-}
-.asciinema-terminal .bg-137 {
-  background-color: #af875f;
-}
-.asciinema-terminal .fg-138 {
-  color: #af8787;
-}
-.asciinema-terminal .bg-138 {
-  background-color: #af8787;
-}
-.asciinema-terminal .fg-139 {
-  color: #af87af;
-}
-.asciinema-terminal .bg-139 {
-  background-color: #af87af;
-}
-.asciinema-terminal .fg-140 {
-  color: #af87d7;
-}
-.asciinema-terminal .bg-140 {
-  background-color: #af87d7;
-}
-.asciinema-terminal .fg-141 {
-  color: #af87ff;
-}
-.asciinema-terminal .bg-141 {
-  background-color: #af87ff;
-}
-.asciinema-terminal .fg-142 {
-  color: #afaf00;
-}
-.asciinema-terminal .bg-142 {
-  background-color: #afaf00;
-}
-.asciinema-terminal .fg-143 {
-  color: #afaf5f;
-}
-.asciinema-terminal .bg-143 {
-  background-color: #afaf5f;
-}
-.asciinema-terminal .fg-144 {
-  color: #afaf87;
-}
-.asciinema-terminal .bg-144 {
-  background-color: #afaf87;
-}
-.asciinema-terminal .fg-145 {
-  color: #afafaf;
-}
-.asciinema-terminal .bg-145 {
-  background-color: #afafaf;
-}
-.asciinema-terminal .fg-146 {
-  color: #afafd7;
-}
-.asciinema-terminal .bg-146 {
-  background-color: #afafd7;
-}
-.asciinema-terminal .fg-147 {
-  color: #afafff;
-}
-.asciinema-terminal .bg-147 {
-  background-color: #afafff;
-}
-.asciinema-terminal .fg-148 {
-  color: #afd700;
-}
-.asciinema-terminal .bg-148 {
-  background-color: #afd700;
-}
-.asciinema-terminal .fg-149 {
-  color: #afd75f;
-}
-.asciinema-terminal .bg-149 {
-  background-color: #afd75f;
-}
-.asciinema-terminal .fg-150 {
-  color: #afd787;
-}
-.asciinema-terminal .bg-150 {
-  background-color: #afd787;
-}
-.asciinema-terminal .fg-151 {
-  color: #afd7af;
-}
-.asciinema-terminal .bg-151 {
-  background-color: #afd7af;
-}
-.asciinema-terminal .fg-152 {
-  color: #afd7d7;
-}
-.asciinema-terminal .bg-152 {
-  background-color: #afd7d7;
-}
-.asciinema-terminal .fg-153 {
-  color: #afd7ff;
-}
-.asciinema-terminal .bg-153 {
-  background-color: #afd7ff;
-}
-.asciinema-terminal .fg-154 {
-  color: #afff00;
-}
-.asciinema-terminal .bg-154 {
-  background-color: #afff00;
-}
-.asciinema-terminal .fg-155 {
-  color: #afff5f;
-}
-.asciinema-terminal .bg-155 {
-  background-color: #afff5f;
-}
-.asciinema-terminal .fg-156 {
-  color: #afff87;
-}
-.asciinema-terminal .bg-156 {
-  background-color: #afff87;
-}
-.asciinema-terminal .fg-157 {
-  color: #afffaf;
-}
-.asciinema-terminal .bg-157 {
-  background-color: #afffaf;
-}
-.asciinema-terminal .fg-158 {
-  color: #afffd7;
-}
-.asciinema-terminal .bg-158 {
-  background-color: #afffd7;
-}
-.asciinema-terminal .fg-159 {
-  color: #afffff;
-}
-.asciinema-terminal .bg-159 {
-  background-color: #afffff;
-}
-.asciinema-terminal .fg-160 {
-  color: #d70000;
-}
-.asciinema-terminal .bg-160 {
-  background-color: #d70000;
-}
-.asciinema-terminal .fg-161 {
-  color: #d7005f;
-}
-.asciinema-terminal .bg-161 {
-  background-color: #d7005f;
-}
-.asciinema-terminal .fg-162 {
-  color: #d70087;
-}
-.asciinema-terminal .bg-162 {
-  background-color: #d70087;
-}
-.asciinema-terminal .fg-163 {
-  color: #d700af;
-}
-.asciinema-terminal .bg-163 {
-  background-color: #d700af;
-}
-.asciinema-terminal .fg-164 {
-  color: #d700d7;
-}
-.asciinema-terminal .bg-164 {
-  background-color: #d700d7;
-}
-.asciinema-terminal .fg-165 {
-  color: #d700ff;
-}
-.asciinema-terminal .bg-165 {
-  background-color: #d700ff;
-}
-.asciinema-terminal .fg-166 {
-  color: #d75f00;
-}
-.asciinema-terminal .bg-166 {
-  background-color: #d75f00;
-}
-.asciinema-terminal .fg-167 {
-  color: #d75f5f;
-}
-.asciinema-terminal .bg-167 {
-  background-color: #d75f5f;
-}
-.asciinema-terminal .fg-168 {
-  color: #d75f87;
-}
-.asciinema-terminal .bg-168 {
-  background-color: #d75f87;
-}
-.asciinema-terminal .fg-169 {
-  color: #d75faf;
-}
-.asciinema-terminal .bg-169 {
-  background-color: #d75faf;
-}
-.asciinema-terminal .fg-170 {
-  color: #d75fd7;
-}
-.asciinema-terminal .bg-170 {
-  background-color: #d75fd7;
-}
-.asciinema-terminal .fg-171 {
-  color: #d75fff;
-}
-.asciinema-terminal .bg-171 {
-  background-color: #d75fff;
-}
-.asciinema-terminal .fg-172 {
-  color: #d78700;
-}
-.asciinema-terminal .bg-172 {
-  background-color: #d78700;
-}
-.asciinema-terminal .fg-173 {
-  color: #d7875f;
-}
-.asciinema-terminal .bg-173 {
-  background-color: #d7875f;
-}
-.asciinema-terminal .fg-174 {
-  color: #d78787;
-}
-.asciinema-terminal .bg-174 {
-  background-color: #d78787;
-}
-.asciinema-terminal .fg-175 {
-  color: #d787af;
-}
-.asciinema-terminal .bg-175 {
-  background-color: #d787af;
-}
-.asciinema-terminal .fg-176 {
-  color: #d787d7;
-}
-.asciinema-terminal .bg-176 {
-  background-color: #d787d7;
-}
-.asciinema-terminal .fg-177 {
-  color: #d787ff;
-}
-.asciinema-terminal .bg-177 {
-  background-color: #d787ff;
-}
-.asciinema-terminal .fg-178 {
-  color: #d7af00;
-}
-.asciinema-terminal .bg-178 {
-  background-color: #d7af00;
-}
-.asciinema-terminal .fg-179 {
-  color: #d7af5f;
-}
-.asciinema-terminal .bg-179 {
-  background-color: #d7af5f;
-}
-.asciinema-terminal .fg-180 {
-  color: #d7af87;
-}
-.asciinema-terminal .bg-180 {
-  background-color: #d7af87;
-}
-.asciinema-terminal .fg-181 {
-  color: #d7afaf;
-}
-.asciinema-terminal .bg-181 {
-  background-color: #d7afaf;
-}
-.asciinema-terminal .fg-182 {
-  color: #d7afd7;
-}
-.asciinema-terminal .bg-182 {
-  background-color: #d7afd7;
-}
-.asciinema-terminal .fg-183 {
-  color: #d7afff;
-}
-.asciinema-terminal .bg-183 {
-  background-color: #d7afff;
-}
-.asciinema-terminal .fg-184 {
-  color: #d7d700;
-}
-.asciinema-terminal .bg-184 {
-  background-color: #d7d700;
-}
-.asciinema-terminal .fg-185 {
-  color: #d7d75f;
-}
-.asciinema-terminal .bg-185 {
-  background-color: #d7d75f;
-}
-.asciinema-terminal .fg-186 {
-  color: #d7d787;
-}
-.asciinema-terminal .bg-186 {
-  background-color: #d7d787;
-}
-.asciinema-terminal .fg-187 {
-  color: #d7d7af;
-}
-.asciinema-terminal .bg-187 {
-  background-color: #d7d7af;
-}
-.asciinema-terminal .fg-188 {
-  color: #d7d7d7;
-}
-.asciinema-terminal .bg-188 {
-  background-color: #d7d7d7;
-}
-.asciinema-terminal .fg-189 {
-  color: #d7d7ff;
-}
-.asciinema-terminal .bg-189 {
-  background-color: #d7d7ff;
-}
-.asciinema-terminal .fg-190 {
-  color: #d7ff00;
-}
-.asciinema-terminal .bg-190 {
-  background-color: #d7ff00;
-}
-.asciinema-terminal .fg-191 {
-  color: #d7ff5f;
-}
-.asciinema-terminal .bg-191 {
-  background-color: #d7ff5f;
-}
-.asciinema-terminal .fg-192 {
-  color: #d7ff87;
-}
-.asciinema-terminal .bg-192 {
-  background-color: #d7ff87;
-}
-.asciinema-terminal .fg-193 {
-  color: #d7ffaf;
-}
-.asciinema-terminal .bg-193 {
-  background-color: #d7ffaf;
-}
-.asciinema-terminal .fg-194 {
-  color: #d7ffd7;
-}
-.asciinema-terminal .bg-194 {
-  background-color: #d7ffd7;
-}
-.asciinema-terminal .fg-195 {
-  color: #d7ffff;
-}
-.asciinema-terminal .bg-195 {
-  background-color: #d7ffff;
-}
-.asciinema-terminal .fg-196 {
-  color: #ff0000;
-}
-.asciinema-terminal .bg-196 {
-  background-color: #ff0000;
-}
-.asciinema-terminal .fg-197 {
-  color: #ff005f;
-}
-.asciinema-terminal .bg-197 {
-  background-color: #ff005f;
-}
-.asciinema-terminal .fg-198 {
-  color: #ff0087;
-}
-.asciinema-terminal .bg-198 {
-  background-color: #ff0087;
-}
-.asciinema-terminal .fg-199 {
-  color: #ff00af;
-}
-.asciinema-terminal .bg-199 {
-  background-color: #ff00af;
-}
-.asciinema-terminal .fg-200 {
-  color: #ff00d7;
-}
-.asciinema-terminal .bg-200 {
-  background-color: #ff00d7;
-}
-.asciinema-terminal .fg-201 {
-  color: #ff00ff;
-}
-.asciinema-terminal .bg-201 {
-  background-color: #ff00ff;
-}
-.asciinema-terminal .fg-202 {
-  color: #ff5f00;
-}
-.asciinema-terminal .bg-202 {
-  background-color: #ff5f00;
-}
-.asciinema-terminal .fg-203 {
-  color: #ff5f5f;
-}
-.asciinema-terminal .bg-203 {
-  background-color: #ff5f5f;
-}
-.asciinema-terminal .fg-204 {
-  color: #ff5f87;
-}
-.asciinema-terminal .bg-204 {
-  background-color: #ff5f87;
-}
-.asciinema-terminal .fg-205 {
-  color: #ff5faf;
-}
-.asciinema-terminal .bg-205 {
-  background-color: #ff5faf;
-}
-.asciinema-terminal .fg-206 {
-  color: #ff5fd7;
-}
-.asciinema-terminal .bg-206 {
-  background-color: #ff5fd7;
-}
-.asciinema-terminal .fg-207 {
-  color: #ff5fff;
-}
-.asciinema-terminal .bg-207 {
-  background-color: #ff5fff;
-}
-.asciinema-terminal .fg-208 {
-  color: #ff8700;
-}
-.asciinema-terminal .bg-208 {
-  background-color: #ff8700;
-}
-.asciinema-terminal .fg-209 {
-  color: #ff875f;
-}
-.asciinema-terminal .bg-209 {
-  background-color: #ff875f;
-}
-.asciinema-terminal .fg-210 {
-  color: #ff8787;
-}
-.asciinema-terminal .bg-210 {
-  background-color: #ff8787;
-}
-.asciinema-terminal .fg-211 {
-  color: #ff87af;
-}
-.asciinema-terminal .bg-211 {
-  background-color: #ff87af;
-}
-.asciinema-terminal .fg-212 {
-  color: #ff87d7;
-}
-.asciinema-terminal .bg-212 {
-  background-color: #ff87d7;
-}
-.asciinema-terminal .fg-213 {
-  color: #ff87ff;
-}
-.asciinema-terminal .bg-213 {
-  background-color: #ff87ff;
-}
-.asciinema-terminal .fg-214 {
-  color: #ffaf00;
-}
-.asciinema-terminal .bg-214 {
-  background-color: #ffaf00;
-}
-.asciinema-terminal .fg-215 {
-  color: #ffaf5f;
-}
-.asciinema-terminal .bg-215 {
-  background-color: #ffaf5f;
-}
-.asciinema-terminal .fg-216 {
-  color: #ffaf87;
-}
-.asciinema-terminal .bg-216 {
-  background-color: #ffaf87;
-}
-.asciinema-terminal .fg-217 {
-  color: #ffafaf;
-}
-.asciinema-terminal .bg-217 {
-  background-color: #ffafaf;
-}
-.asciinema-terminal .fg-218 {
-  color: #ffafd7;
-}
-.asciinema-terminal .bg-218 {
-  background-color: #ffafd7;
-}
-.asciinema-terminal .fg-219 {
-  color: #ffafff;
-}
-.asciinema-terminal .bg-219 {
-  background-color: #ffafff;
-}
-.asciinema-terminal .fg-220 {
-  color: #ffd700;
-}
-.asciinema-terminal .bg-220 {
-  background-color: #ffd700;
-}
-.asciinema-terminal .fg-221 {
-  color: #ffd75f;
-}
-.asciinema-terminal .bg-221 {
-  background-color: #ffd75f;
-}
-.asciinema-terminal .fg-222 {
-  color: #ffd787;
-}
-.asciinema-terminal .bg-222 {
-  background-color: #ffd787;
-}
-.asciinema-terminal .fg-223 {
-  color: #ffd7af;
-}
-.asciinema-terminal .bg-223 {
-  background-color: #ffd7af;
-}
-.asciinema-terminal .fg-224 {
-  color: #ffd7d7;
-}
-.asciinema-terminal .bg-224 {
-  background-color: #ffd7d7;
-}
-.asciinema-terminal .fg-225 {
-  color: #ffd7ff;
-}
-.asciinema-terminal .bg-225 {
-  background-color: #ffd7ff;
-}
-.asciinema-terminal .fg-226 {
-  color: #ffff00;
-}
-.asciinema-terminal .bg-226 {
-  background-color: #ffff00;
-}
-.asciinema-terminal .fg-227 {
-  color: #ffff5f;
-}
-.asciinema-terminal .bg-227 {
-  background-color: #ffff5f;
-}
-.asciinema-terminal .fg-228 {
-  color: #ffff87;
-}
-.asciinema-terminal .bg-228 {
-  background-color: #ffff87;
-}
-.asciinema-terminal .fg-229 {
-  color: #ffffaf;
-}
-.asciinema-terminal .bg-229 {
-  background-color: #ffffaf;
-}
-.asciinema-terminal .fg-230 {
-  color: #ffffd7;
-}
-.asciinema-terminal .bg-230 {
-  background-color: #ffffd7;
-}
-.asciinema-terminal .fg-231 {
-  color: #ffffff;
-}
-.asciinema-terminal .bg-231 {
-  background-color: #ffffff;
-}
-.asciinema-terminal .fg-232 {
-  color: #080808;
-}
-.asciinema-terminal .bg-232 {
-  background-color: #080808;
-}
-.asciinema-terminal .fg-233 {
-  color: #121212;
-}
-.asciinema-terminal .bg-233 {
-  background-color: #121212;
-}
-.asciinema-terminal .fg-234 {
-  color: #1c1c1c;
-}
-.asciinema-terminal .bg-234 {
-  background-color: #1c1c1c;
-}
-.asciinema-terminal .fg-235 {
-  color: #262626;
-}
-.asciinema-terminal .bg-235 {
-  background-color: #262626;
-}
-.asciinema-terminal .fg-236 {
-  color: #303030;
-}
-.asciinema-terminal .bg-236 {
-  background-color: #303030;
-}
-.asciinema-terminal .fg-237 {
-  color: #3a3a3a;
-}
-.asciinema-terminal .bg-237 {
-  background-color: #3a3a3a;
-}
-.asciinema-terminal .fg-238 {
-  color: #444444;
-}
-.asciinema-terminal .bg-238 {
-  background-color: #444444;
-}
-.asciinema-terminal .fg-239 {
-  color: #4e4e4e;
-}
-.asciinema-terminal .bg-239 {
-  background-color: #4e4e4e;
-}
-.asciinema-terminal .fg-240 {
-  color: #585858;
-}
-.asciinema-terminal .bg-240 {
-  background-color: #585858;
-}
-.asciinema-terminal .fg-241 {
-  color: #626262;
-}
-.asciinema-terminal .bg-241 {
-  background-color: #626262;
-}
-.asciinema-terminal .fg-242 {
-  color: #6c6c6c;
-}
-.asciinema-terminal .bg-242 {
-  background-color: #6c6c6c;
-}
-.asciinema-terminal .fg-243 {
-  color: #767676;
-}
-.asciinema-terminal .bg-243 {
-  background-color: #767676;
-}
-.asciinema-terminal .fg-244 {
-  color: #808080;
-}
-.asciinema-terminal .bg-244 {
-  background-color: #808080;
-}
-.asciinema-terminal .fg-245 {
-  color: #8a8a8a;
-}
-.asciinema-terminal .bg-245 {
-  background-color: #8a8a8a;
-}
-.asciinema-terminal .fg-246 {
-  color: #949494;
-}
-.asciinema-terminal .bg-246 {
-  background-color: #949494;
-}
-.asciinema-terminal .fg-247 {
-  color: #9e9e9e;
-}
-.asciinema-terminal .bg-247 {
-  background-color: #9e9e9e;
-}
-.asciinema-terminal .fg-248 {
-  color: #a8a8a8;
-}
-.asciinema-terminal .bg-248 {
-  background-color: #a8a8a8;
-}
-.asciinema-terminal .fg-249 {
-  color: #b2b2b2;
-}
-.asciinema-terminal .bg-249 {
-  background-color: #b2b2b2;
-}
-.asciinema-terminal .fg-250 {
-  color: #bcbcbc;
-}
-.asciinema-terminal .bg-250 {
-  background-color: #bcbcbc;
-}
-.asciinema-terminal .fg-251 {
-  color: #c6c6c6;
-}
-.asciinema-terminal .bg-251 {
-  background-color: #c6c6c6;
-}
-.asciinema-terminal .fg-252 {
-  color: #d0d0d0;
-}
-.asciinema-terminal .bg-252 {
-  background-color: #d0d0d0;
-}
-.asciinema-terminal .fg-253 {
-  color: #dadada;
-}
-.asciinema-terminal .bg-253 {
-  background-color: #dadada;
-}
-.asciinema-terminal .fg-254 {
-  color: #e4e4e4;
-}
-.asciinema-terminal .bg-254 {
-  background-color: #e4e4e4;
-}
-.asciinema-terminal .fg-255 {
-  color: #eeeeee;
-}
-.asciinema-terminal .bg-255 {
-  background-color: #eeeeee;
-}
-.asciinema-theme-asciinema .asciinema-terminal {
-  color: #CCCCCC;
-  background-color: #121314;
-  border-color: #121314;
-}
-.asciinema-theme-asciinema .fg-bg {
-  color: #121314;
-}
-.asciinema-theme-asciinema .bg-fg {
-  background-color: #CCCCCC;
-}
-.asciinema-theme-asciinema .fg-0 {
-  color: hsl(0, 0%, 0%);
-}
-.asciinema-theme-asciinema .bg-0 {
-  background-color: hsl(0, 0%, 0%);
-}
-.asciinema-theme-asciinema .fg-1 {
-  color: hsl(343, 70%, 55%);
-}
-.asciinema-theme-asciinema .bg-1 {
-  background-color: hsl(343, 70%, 55%);
-}
-.asciinema-theme-asciinema .fg-2 {
-  color: hsl(103, 70%, 44%);
-}
-.asciinema-theme-asciinema .bg-2 {
-  background-color: hsl(103, 70%, 44%);
-}
-.asciinema-theme-asciinema .fg-3 {
-  color: hsl(43, 70%, 55%);
-}
-.asciinema-theme-asciinema .bg-3 {
-  background-color: hsl(43, 70%, 55%);
-}
-.asciinema-theme-asciinema .fg-4 {
-  color: hsl(193, 70%, 49.5%);
-}
-.asciinema-theme-asciinema .bg-4 {
-  background-color: hsl(193, 70%, 49.5%);
-}
-.asciinema-theme-asciinema .fg-5 {
-  color: hsl(283, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .bg-5 {
-  background-color: hsl(283, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .fg-6 {
-  color: hsl(163, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .bg-6 {
-  background-color: hsl(163, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .fg-7 {
-  color: hsl(0, 0%, 85%);
-}
-.asciinema-theme-asciinema .bg-7 {
-  background-color: hsl(0, 0%, 85%);
-}
-.asciinema-theme-asciinema .fg-8 {
-  color: hsl(0, 0%, 30%);
-}
-.asciinema-theme-asciinema .bg-8 {
-  background-color: hsl(0, 0%, 30%);
-}
-.asciinema-theme-asciinema .fg-9 {
-  color: hsl(343, 70%, 55%);
-}
-.asciinema-theme-asciinema .bg-9 {
-  background-color: hsl(343, 70%, 55%);
-}
-.asciinema-theme-asciinema .fg-10 {
-  color: hsl(103, 70%, 44%);
-}
-.asciinema-theme-asciinema .bg-10 {
-  background-color: hsl(103, 70%, 44%);
-}
-.asciinema-theme-asciinema .fg-11 {
-  color: hsl(43, 70%, 55%);
-}
-.asciinema-theme-asciinema .bg-11 {
-  background-color: hsl(43, 70%, 55%);
-}
-.asciinema-theme-asciinema .fg-12 {
-  color: hsl(193, 70%, 49.5%);
-}
-.asciinema-theme-asciinema .bg-12 {
-  background-color: hsl(193, 70%, 49.5%);
-}
-.asciinema-theme-asciinema .fg-13 {
-  color: hsl(283, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .bg-13 {
-  background-color: hsl(283, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .fg-14 {
-  color: hsl(163, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .bg-14 {
-  background-color: hsl(163, 70%, 60.5%);
-}
-.asciinema-theme-asciinema .fg-15 {
-  color: hsl(0, 0%, 100%);
-}
-.asciinema-theme-asciinema .bg-15 {
-  background-color: hsl(0, 0%, 100%);
-}
-.asciinema-theme-asciinema .fg-8,
-.asciinema-theme-asciinema .fg-9,
-.asciinema-theme-asciinema .fg-10,
-.asciinema-theme-asciinema .fg-11,
-.asciinema-theme-asciinema .fg-12,
-.asciinema-theme-asciinema .fg-13,
-.asciinema-theme-asciinema .fg-14,
-.asciinema-theme-asciinema .fg-15 {
-  font-weight: bold;
-}
-.asciinema-theme-tango .asciinema-terminal {
-  color: #CCCCCC;
-  background-color: #121314;
-  border-color: #121314;
-}
-.asciinema-theme-tango .fg-bg {
-  color: #121314;
-}
-.asciinema-theme-tango .bg-fg {
-  background-color: #CCCCCC;
-}
-.asciinema-theme-tango .fg-0 {
-  color: #000000;
-}
-.asciinema-theme-tango .bg-0 {
-  background-color: #000000;
-}
-.asciinema-theme-tango .fg-1 {
-  color: #CC0000;
-}
-.asciinema-theme-tango .bg-1 {
-  background-color: #CC0000;
-}
-.asciinema-theme-tango .fg-2 {
-  color: #4E9A06;
-}
-.asciinema-theme-tango .bg-2 {
-  background-color: #4E9A06;
-}
-.asciinema-theme-tango .fg-3 {
-  color: #C4A000;
-}
-.asciinema-theme-tango .bg-3 {
-  background-color: #C4A000;
-}
-.asciinema-theme-tango .fg-4 {
-  color: #3465A4;
-}
-.asciinema-theme-tango .bg-4 {
-  background-color: #3465A4;
-}
-.asciinema-theme-tango .fg-5 {
-  color: #75507B;
-}
-.asciinema-theme-tango .bg-5 {
-  background-color: #75507B;
-}
-.asciinema-theme-tango .fg-6 {
-  color: #06989A;
-}
-.asciinema-theme-tango .bg-6 {
-  background-color: #06989A;
-}
-.asciinema-theme-tango .fg-7 {
-  color: #D3D7CF;
-}
-.asciinema-theme-tango .bg-7 {
-  background-color: #D3D7CF;
-}
-.asciinema-theme-tango .fg-8 {
-  color: #555753;
-}
-.asciinema-theme-tango .bg-8 {
-  background-color: #555753;
-}
-.asciinema-theme-tango .fg-9 {
-  color: #EF2929;
-}
-.asciinema-theme-tango .bg-9 {
-  background-color: #EF2929;
-}
-.asciinema-theme-tango .fg-10 {
-  color: #8AE234;
-}
-.asciinema-theme-tango .bg-10 {
-  background-color: #8AE234;
-}
-.asciinema-theme-tango .fg-11 {
-  color: #FCE94F;
-}
-.asciinema-theme-tango .bg-11 {
-  background-color: #FCE94F;
-}
-.asciinema-theme-tango .fg-12 {
-  color: #729FCF;
-}
-.asciinema-theme-tango .bg-12 {
-  background-color: #729FCF;
-}
-.asciinema-theme-tango .fg-13 {
-  color: #AD7FA8;
-}
-.asciinema-theme-tango .bg-13 {
-  background-color: #AD7FA8;
-}
-.asciinema-theme-tango .fg-14 {
-  color: #34E2E2;
-}
-.asciinema-theme-tango .bg-14 {
-  background-color: #34E2E2;
-}
-.asciinema-theme-tango .fg-15 {
-  color: #EEEEEC;
-}
-.asciinema-theme-tango .bg-15 {
-  background-color: #EEEEEC;
-}
-.asciinema-theme-tango .fg-8,
-.asciinema-theme-tango .fg-9,
-.asciinema-theme-tango .fg-10,
-.asciinema-theme-tango .fg-11,
-.asciinema-theme-tango .fg-12,
-.asciinema-theme-tango .fg-13,
-.asciinema-theme-tango .fg-14,
-.asciinema-theme-tango .fg-15 {
-  font-weight: bold;
-}
-.asciinema-theme-solarized-dark .asciinema-terminal {
-  color: #839496;
-  background-color: #002b36;
-  border-color: #002b36;
-}
-.asciinema-theme-solarized-dark .fg-bg {
-  color: #002b36;
-}
-.asciinema-theme-solarized-dark .bg-fg {
-  background-color: #839496;
-}
-.asciinema-theme-solarized-dark .fg-0 {
-  color: #073642;
-}
-.asciinema-theme-solarized-dark .bg-0 {
-  background-color: #073642;
-}
-.asciinema-theme-solarized-dark .fg-1 {
-  color: #dc322f;
-}
-.asciinema-theme-solarized-dark .bg-1 {
-  background-color: #dc322f;
-}
-.asciinema-theme-solarized-dark .fg-2 {
-  color: #859900;
-}
-.asciinema-theme-solarized-dark .bg-2 {
-  background-color: #859900;
-}
-.asciinema-theme-solarized-dark .fg-3 {
-  color: #b58900;
-}
-.asciinema-theme-solarized-dark .bg-3 {
-  background-color: #b58900;
-}
-.asciinema-theme-solarized-dark .fg-4 {
-  color: #268bd2;
-}
-.asciinema-theme-solarized-dark .bg-4 {
-  background-color: #268bd2;
-}
-.asciinema-theme-solarized-dark .fg-5 {
-  color: #d33682;
-}
-.asciinema-theme-solarized-dark .bg-5 {
-  background-color: #d33682;
-}
-.asciinema-theme-solarized-dark .fg-6 {
-  color: #2aa198;
-}
-.asciinema-theme-solarized-dark .bg-6 {
-  background-color: #2aa198;
-}
-.asciinema-theme-solarized-dark .fg-7 {
-  color: #eee8d5;
-}
-.asciinema-theme-solarized-dark .bg-7 {
-  background-color: #eee8d5;
-}
-.asciinema-theme-solarized-dark .fg-8 {
-  color: #002b36;
-}
-.asciinema-theme-solarized-dark .bg-8 {
-  background-color: #002b36;
-}
-.asciinema-theme-solarized-dark .fg-9 {
-  color: #cb4b16;
-}
-.asciinema-theme-solarized-dark .bg-9 {
-  background-color: #cb4b16;
-}
-.asciinema-theme-solarized-dark .fg-10 {
-  color: #586e75;
-}
-.asciinema-theme-solarized-dark .bg-10 {
-  background-color: #586e75;
-}
-.asciinema-theme-solarized-dark .fg-11 {
-  color: #657b83;
-}
-.asciinema-theme-solarized-dark .bg-11 {
-  background-color: #657b83;
-}
-.asciinema-theme-solarized-dark .fg-12 {
-  color: #839496;
-}
-.asciinema-theme-solarized-dark .bg-12 {
-  background-color: #839496;
-}
-.asciinema-theme-solarized-dark .fg-13 {
-  color: #6c71c4;
-}
-.asciinema-theme-solarized-dark .bg-13 {
-  background-color: #6c71c4;
-}
-.asciinema-theme-solarized-dark .fg-14 {
-  color: #93a1a1;
-}
-.asciinema-theme-solarized-dark .bg-14 {
-  background-color: #93a1a1;
-}
-.asciinema-theme-solarized-dark .fg-15 {
-  color: #fdf6e3;
-}
-.asciinema-theme-solarized-dark .bg-15 {
-  background-color: #fdf6e3;
-}
-.asciinema-theme-solarized-light .asciinema-terminal {
-  color: #657b83;
-  background-color: #fdf6e3;
-  border-color: #fdf6e3;
-}
-.asciinema-theme-solarized-light .fg-bg {
-  color: #fdf6e3;
-}
-.asciinema-theme-solarized-light .bg-fg {
-  background-color: #657b83;
-}
-.asciinema-theme-solarized-light .fg-0 {
-  color: #073642;
-}
-.asciinema-theme-solarized-light .bg-0 {
-  background-color: #073642;
-}
-.asciinema-theme-solarized-light .fg-1 {
-  color: #dc322f;
-}
-.asciinema-theme-solarized-light .bg-1 {
-  background-color: #dc322f;
-}
-.asciinema-theme-solarized-light .fg-2 {
-  color: #859900;
-}
-.asciinema-theme-solarized-light .bg-2 {
-  background-color: #859900;
-}
-.asciinema-theme-solarized-light .fg-3 {
-  color: #b58900;
-}
-.asciinema-theme-solarized-light .bg-3 {
-  background-color: #b58900;
-}
-.asciinema-theme-solarized-light .fg-4 {
-  color: #268bd2;
-}
-.asciinema-theme-solarized-light .bg-4 {
-  background-color: #268bd2;
-}
-.asciinema-theme-solarized-light .fg-5 {
-  color: #d33682;
-}
-.asciinema-theme-solarized-light .bg-5 {
-  background-color: #d33682;
-}
-.asciinema-theme-solarized-light .fg-6 {
-  color: #2aa198;
-}
-.asciinema-theme-solarized-light .bg-6 {
-  background-color: #2aa198;
-}
-.asciinema-theme-solarized-light .fg-7 {
-  color: #eee8d5;
-}
-.asciinema-theme-solarized-light .bg-7 {
-  background-color: #eee8d5;
-}
-.asciinema-theme-solarized-light .fg-8 {
-  color: #002b36;
-}
-.asciinema-theme-solarized-light .bg-8 {
-  background-color: #002b36;
-}
-.asciinema-theme-solarized-light .fg-9 {
-  color: #cb4b16;
-}
-.asciinema-theme-solarized-light .bg-9 {
-  background-color: #cb4b16;
-}
-.asciinema-theme-solarized-light .fg-10 {
-  color: #586e75;
-}
-.asciinema-theme-solarized-light .bg-10 {
-  background-color: #586e75;
-}
-.asciinema-theme-solarized-light .fg-11 {
-  color: #657c83;
-}
-.asciinema-theme-solarized-light .bg-11 {
-  background-color: #657c83;
-}
-.asciinema-theme-solarized-light .fg-12 {
-  color: #839496;
-}
-.asciinema-theme-solarized-light .bg-12 {
-  background-color: #839496;
-}
-.asciinema-theme-solarized-light .fg-13 {
-  color: #6c71c4;
-}
-.asciinema-theme-solarized-light .bg-13 {
-  background-color: #6c71c4;
-}
-.asciinema-theme-solarized-light .fg-14 {
-  color: #93a1a1;
-}
-.asciinema-theme-solarized-light .bg-14 {
-  background-color: #93a1a1;
-}
-.asciinema-theme-solarized-light .fg-15 {
-  color: #fdf6e3;
-}
-.asciinema-theme-solarized-light .bg-15 {
-  background-color: #fdf6e3;
-}
-.asciinema-theme-solarized-light .start-prompt .play-button svg .play-btn-fill {
-  fill: #dc322f;
-}
-.asciinema-theme-solarized-light .start-prompt .play-button svg .play-btn-stroke {
-  stroke: #dc322f;
-}
-.asciinema-theme-seti .asciinema-terminal {
-  color: #cacecd;
-  background-color: #111213;
-  border-color: #111213;
-}
-.asciinema-theme-seti .fg-bg {
-  color: #111213;
-}
-.asciinema-theme-seti .bg-fg {
-  background-color: #cacecd;
-}
-.asciinema-theme-seti .fg-0 {
-  color: #323232;
-}
-.asciinema-theme-seti .bg-0 {
-  background-color: #323232;
-}
-.asciinema-theme-seti .fg-1 {
-  color: #c22832;
-}
-.asciinema-theme-seti .bg-1 {
-  background-color: #c22832;
-}
-.asciinema-theme-seti .fg-2 {
-  color: #8ec43d;
-}
-.asciinema-theme-seti .bg-2 {
-  background-color: #8ec43d;
-}
-.asciinema-theme-seti .fg-3 {
-  color: #e0c64f;
-}
-.asciinema-theme-seti .bg-3 {
-  background-color: #e0c64f;
-}
-.asciinema-theme-seti .fg-4 {
-  color: #43a5d5;
-}
-.asciinema-theme-seti .bg-4 {
-  background-color: #43a5d5;
-}
-.asciinema-theme-seti .fg-5 {
-  color: #8b57b5;
-}
-.asciinema-theme-seti .bg-5 {
-  background-color: #8b57b5;
-}
-.asciinema-theme-seti .fg-6 {
-  color: #8ec43d;
-}
-.asciinema-theme-seti .bg-6 {
-  background-color: #8ec43d;
-}
-.asciinema-theme-seti .fg-7 {
-  color: #eeeeee;
-}
-.asciinema-theme-seti .bg-7 {
-  background-color: #eeeeee;
-}
-.asciinema-theme-seti .fg-8 {
-  color: #323232;
-}
-.asciinema-theme-seti .bg-8 {
-  background-color: #323232;
-}
-.asciinema-theme-seti .fg-9 {
-  color: #c22832;
-}
-.asciinema-theme-seti .bg-9 {
-  background-color: #c22832;
-}
-.asciinema-theme-seti .fg-10 {
-  color: #8ec43d;
-}
-.asciinema-theme-seti .bg-10 {
-  background-color: #8ec43d;
-}
-.asciinema-theme-seti .fg-11 {
-  color: #e0c64f;
-}
-.asciinema-theme-seti .bg-11 {
-  background-color: #e0c64f;
-}
-.asciinema-theme-seti .fg-12 {
-  color: #43a5d5;
-}
-.asciinema-theme-seti .bg-12 {
-  background-color: #43a5d5;
-}
-.asciinema-theme-seti .fg-13 {
-  color: #8b57b5;
-}
-.asciinema-theme-seti .bg-13 {
-  background-color: #8b57b5;
-}
-.asciinema-theme-seti .fg-14 {
-  color: #8ec43d;
-}
-.asciinema-theme-seti .bg-14 {
-  background-color: #8ec43d;
-}
-.asciinema-theme-seti .fg-15 {
-  color: #ffffff;
-}
-.asciinema-theme-seti .bg-15 {
-  background-color: #ffffff;
-}
-.asciinema-theme-seti .fg-8,
-.asciinema-theme-seti .fg-9,
-.asciinema-theme-seti .fg-10,
-.asciinema-theme-seti .fg-11,
-.asciinema-theme-seti .fg-12,
-.asciinema-theme-seti .fg-13,
-.asciinema-theme-seti .fg-14,
-.asciinema-theme-seti .fg-15 {
-  font-weight: bold;
-}
-/* Based on Monokai from base16 collection - https://github.com/chriskempson/base16 */
-.asciinema-theme-monokai .asciinema-terminal {
-  color: #f8f8f2;
-  background-color: #272822;
-  border-color: #272822;
-}
-.asciinema-theme-monokai .fg-bg {
-  color: #272822;
-}
-.asciinema-theme-monokai .bg-fg {
-  background-color: #f8f8f2;
-}
-.asciinema-theme-monokai .fg-0 {
-  color: #272822;
-}
-.asciinema-theme-monokai .bg-0 {
-  background-color: #272822;
-}
-.asciinema-theme-monokai .fg-1 {
-  color: #f92672;
-}
-.asciinema-theme-monokai .bg-1 {
-  background-color: #f92672;
-}
-.asciinema-theme-monokai .fg-2 {
-  color: #a6e22e;
-}
-.asciinema-theme-monokai .bg-2 {
-  background-color: #a6e22e;
-}
-.asciinema-theme-monokai .fg-3 {
-  color: #f4bf75;
-}
-.asciinema-theme-monokai .bg-3 {
-  background-color: #f4bf75;
-}
-.asciinema-theme-monokai .fg-4 {
-  color: #66d9ef;
-}
-.asciinema-theme-monokai .bg-4 {
-  background-color: #66d9ef;
-}
-.asciinema-theme-monokai .fg-5 {
-  color: #ae81ff;
-}
-.asciinema-theme-monokai .bg-5 {
-  background-color: #ae81ff;
-}
-.asciinema-theme-monokai .fg-6 {
-  color: #a1efe4;
-}
-.asciinema-theme-monokai .bg-6 {
-  background-color: #a1efe4;
-}
-.asciinema-theme-monokai .fg-7 {
-  color: #f8f8f2;
-}
-.asciinema-theme-monokai .bg-7 {
-  background-color: #f8f8f2;
-}
-.asciinema-theme-monokai .fg-8 {
-  color: #75715e;
-}
-.asciinema-theme-monokai .bg-8 {
-  background-color: #75715e;
-}
-.asciinema-theme-monokai .fg-9 {
-  color: #f92672;
-}
-.asciinema-theme-monokai .bg-9 {
-  background-color: #f92672;
-}
-.asciinema-theme-monokai .fg-10 {
-  color: #a6e22e;
-}
-.asciinema-theme-monokai .bg-10 {
-  background-color: #a6e22e;
-}
-.asciinema-theme-monokai .fg-11 {
-  color: #f4bf75;
-}
-.asciinema-theme-monokai .bg-11 {
-  background-color: #f4bf75;
-}
-.asciinema-theme-monokai .fg-12 {
-  color: #66d9ef;
-}
-.asciinema-theme-monokai .bg-12 {
-  background-color: #66d9ef;
-}
-.asciinema-theme-monokai .fg-13 {
-  color: #ae81ff;
-}
-.asciinema-theme-monokai .bg-13 {
-  background-color: #ae81ff;
-}
-.asciinema-theme-monokai .fg-14 {
-  color: #a1efe4;
-}
-.asciinema-theme-monokai .bg-14 {
-  background-color: #a1efe4;
-}
-.asciinema-theme-monokai .fg-15 {
-  color: #f9f8f5;
-}
-.asciinema-theme-monokai .bg-15 {
-  background-color: #f9f8f5;
-}
-.asciinema-theme-monokai .fg-8,
-.asciinema-theme-monokai .fg-9,
-.asciinema-theme-monokai .fg-10,
-.asciinema-theme-monokai .fg-11,
-.asciinema-theme-monokai .fg-12,
-.asciinema-theme-monokai .fg-13,
-.asciinema-theme-monokai .fg-14,
-.asciinema-theme-monokai .fg-15 {
-  font-weight: bold;
-}
diff --git a/landing-page/static/asciinema/asciinema-player.min.js b/landing-page/static/asciinema/asciinema-player.min.js
deleted file mode 100644
index 32cc0fc..0000000
--- a/landing-page/static/asciinema/asciinema-player.min.js
+++ /dev/null
@@ -1 +0,0 @@
-var AsciinemaPlayer=function(A){"use strict";function g(A,g,I){return g in A?Object.defineProperty(A,g,{value:I,enumerable:!0,configurable:!0,writable:!0}):A[g]=I,A}function I(A,g,I,B,Q,C,E){try{var t=A[C](E),i=t.value}catch(A){return void I(A)}t.done?g(i):Promise.resolve(i).then(B,Q)}function B(A){return function(){var g=this,B=arguments;return new Promise((function(Q,C){var E=A.apply(g,B);function t(A){I(E,Q,C,t,i,"next",A)}function i(A){I(E,Q,C,t,i,"throw",A)}t(void 0)}))}}function Q( [...]
diff --git a/landing-page/static/asciinema/asciinema-player.min.js.back b/landing-page/static/asciinema/asciinema-player.min.js.back
deleted file mode 100644
index 32cc0fc..0000000
--- a/landing-page/static/asciinema/asciinema-player.min.js.back
+++ /dev/null
@@ -1 +0,0 @@
-var AsciinemaPlayer=function(A){"use strict";function g(A,g,I){return g in A?Object.defineProperty(A,g,{value:I,enumerable:!0,configurable:!0,writable:!0}):A[g]=I,A}function I(A,g,I,B,Q,C,E){try{var t=A[C](E),i=t.value}catch(A){return void I(A)}t.done?g(i):Promise.resolve(i).then(B,Q)}function B(A){return function(){var g=this,B=arguments;return new Promise((function(Q,C){var E=A.apply(g,B);function t(A){I(E,Q,C,t,i,"next",A)}function i(A){I(E,Q,C,t,i,"throw",A)}t(void 0)}))}}function Q( [...]
diff --git a/landing-page/static/asciinema/schema_evolution.cast b/landing-page/static/asciinema/schema_evolution.cast
deleted file mode 100644
index 7ff4bfd..0000000
--- a/landing-page/static/asciinema/schema_evolution.cast
+++ /dev/null
@@ -1,296 +0,0 @@
-{"version": 2}
-[0.01, "o", "spark-sql> "]
-[0.016387909661439423, "o", "A"]
-[0.03621777922084847, "o", "L"]
-[0.0703883752315071, "o", "T"]
-[0.11907465592814556, "o", "E"]
-[0.1488073358463973, "o", "R"]
-[0.16613146779531554, "o", " "]
-[0.20491212029169356, "o", "T"]
-[0.25294952579993524, "o", "A"]
-[0.2694849714285003, "o", "B"]
-[0.2926005692416687, "o", "L"]
-[0.3340217980190992, "o", "E"]
-[0.3753218245544116, "o", " "]
-[0.4340452801433529, "o", "t"]
-[0.480759724110375, "o", "a"]
-[0.5019094138206053, "o", "x"]
-[0.5229364352655751, "o", "i"]
-[0.5782642670557038, "o", "s"]
-[0.6374862694992898, "o", " "]
-[0.652320920019499, "o", "A"]
-[0.7115325617092959, "o", "D"]
-[0.7311425226289228, "o", "D"]
-[0.7529870036324979, "o", " "]
-[0.7934743450656737, "o", "C"]
-[0.8127112938807379, "o", "O"]
-[0.8361598264389571, "o", "L"]
-[0.8612686930944125, "o", "U"]
-[0.8971568058323647, "o", "M"]
-[0.9093766184943584, "o", "N"]
-[0.9508082943627304, "o", " "]
-[0.995497830210502, "o", "f"]
-[1.0118253238052544, "o", "a"]
-[1.025129037379598, "o", "r"]
-[1.0507760514487923, "o", "e"]
-[1.0943469990586605, "o", "_"]
-[1.1351941055687296, "o", "p"]
-[1.1723847039142077, "o", "e"]
-[1.2104670584606703, "o", "r"]
-[1.2489161625012897, "o", "_"]
-[1.292827440083783, "o", "d"]
-[1.3132795572571714, "o", "i"]
-[1.3632268362922157, "o", "s"]
-[1.405691052745109, "o", "t"]
-[1.4458456188791353, "o", "a"]
-[1.4995653066094448, "o", "n"]
-[1.5502749092105284, "o", "c"]
-[1.5955139580271924, "o", "e"]
-[1.638283962723195, "o", "_"]
-[1.6941718039345908, "o", "u"]
-[1.7072013201086846, "o", "n"]
-[1.7443344323929064, "o", "i"]
-[1.7647980930599076, "o", "t"]
-[1.7916733864940884, "o", " "]
-[1.822066763165082, "o", "f"]
-[1.852642632560901, "o", "l"]
-[1.8963355259374788, "o", "o"]
-[1.9412613847100986, "o", "a"]
-[1.9928731297863442, "o", "t"]
-[2.004763097134256, "o", " "]
-[2.0454258650467962, "o", "A"]
-[2.099508592953167, "o", "F"]
-[2.1241363152359383, "o", "T"]
-[2.170398881128981, "o", "E"]
-[2.2015521160978238, "o", "R"]
-[2.2209809916736285, "o", " "]
-[2.2487675304421133, "o", "t"]
-[2.299926983749769, "o", "r"]
-[2.333571308232894, "o", "i"]
-[2.385834312953112, "o", "p"]
-[2.4199309020121587, "o", "_"]
-[2.4357752215661916, "o", "d"]
-[2.4591199005303856, "o", "i"]
-[2.5019925211888165, "o", "s"]
-[2.5423589685726697, "o", "t"]
-[2.5807261629031504, "o", "a"]
-[2.626097752625921, "o", "n"]
-[2.6473978005948724, "o", "c"]
-[2.6597997866611385, "o", "e"]
-[2.6728109738005164, "o", ";"]
-[2.6728109738005164, "o", "\r\n"]
-[3.1876538332178903, "o", "Time taken: 0.671 seconds\r\n"]
-[3.1876538332178903, "o", "spark-sql> "]
-[3.2338423839674535, "o", "D"]
-[3.2560931609729944, "o", "E"]
-[3.2777334504361932, "o", "S"]
-[3.3084362899304276, "o", "C"]
-[3.3239144188853142, "o", "R"]
-[3.3438620911873196, "o", "I"]
-[3.3702089644040467, "o", "B"]
-[3.4203374720477226, "o", "E"]
-[3.4668207686106807, "o", " "]
-[3.5043781587149376, "o", "T"]
-[3.557204097492082, "o", "A"]
-[3.613548468309852, "o", "B"]
-[3.6240484153273647, "o", "L"]
-[3.6425051309204384, "o", "E"]
-[3.6936402830534405, "o", " "]
-[3.7518254003068523, "o", "n"]
-[3.789185797502283, "o", "y"]
-[3.8385149824173808, "o", "c"]
-[3.8901816588173546, "o", "."]
-[3.9354901373820614, "o", "t"]
-[3.9871974220598356, "o", "a"]
-[4.024261423912387, "o", "x"]
-[4.061460215874512, "o", "i"]
-[4.07976356888279, "o", "s"]
-[4.128698189622275, "o", ";"]
-[4.128698189622275, "o", "\r\n"]
-[4.6526384581054305, "o", "VendorID    string\r\n"]
-[4.6526384581054305, "o", "tpep_pickup_datetime    string\r\n"]
-[4.6526384581054305, "o", "tpep_dropoff_datetime    string\r\n"]
-[4.6526384581054305, "o", "passenger_count    string\r\n"]
-[4.6526384581054305, "o", "trip_distance    string\r\n"]
-[4.6526384581054305, "o", "RatecodeID    string\r\n"]
-[4.6526384581054305, "o", "store_and_fwd_flag    string\r\n"]
-[4.6526384581054305, "o", "PULocationID    string\r\n"]
-[4.6526384581054305, "o", "DOLocationID    string\r\n"]
-[4.6526384581054305, "o", "payment_type    string\r\n"]
-[4.6526384581054305, "o", "fare_amount    string\r\n"]
-[4.6526384581054305, "o", "extra    string\r\n"]
-[4.6526384581054305, "o", "mta_tax    string\r\n"]
-[4.6526384581054305, "o", "tip_amount    string\r\n"]
-[4.6526384581054305, "o", "tolls_amount    string\r\n"]
-[4.6526384581054305, "o", "improvement_surcharge    string\r\n"]
-[4.6526384581054305, "o", "total_amount    string\r\n"]
-[4.6526384581054305, "o", "congestion_surcharge    string\r\n"]
-[4.6526384581054305, "o", "\r\n"]
-[4.6526384581054305, "o", "# Partitioning\r\n"]
-[4.6526384581054305, "o", "Not partitioned\r\n"]
-[4.6526384581054305, "o", "Time taken: 3.884 seconds, Fetched 21 row(s)\r\n"]
-[4.6526384581054305, "o", "spark-sql> "]
-[4.704158149315041, "o", "U"]
-[4.748121393899721, "o", "P"]
-[4.801541898026101, "o", "D"]
-[4.8243472060882695, "o", "A"]
-[4.848723148375926, "o", "T"]
-[4.906419885755708, "o", "E"]
-[4.9471570351656515, "o", " "]
-[4.998489645668099, "o", "t"]
-[5.0323388533873095, "o", "a"]
-[5.05760106096532, "o", "x"]
-[5.078436849069031, "o", "i"]
-[5.0994026813068185, "o", "s"]
-[5.112280544551105, "o", " "]
-[5.158753034214947, "o", "S"]
-[5.193747266103391, "o", "E"]
-[5.207479429011806, "o", "T"]
-[5.222035922453126, "o", " "]
-[5.237983889777242, "o", "f"]
-[5.283723330259363, "o", "a"]
-[5.313760474104859, "o", "r"]
-[5.344101014868967, "o", "e"]
-[5.385306178253943, "o", "_"]
-[5.436903516440214, "o", "p"]
-[5.491948199395077, "o", "e"]
-[5.518321790665844, "o", "r"]
-[5.537805487958887, "o", "_"]
-[5.5787726443282635, "o", "d"]
-[5.6243549186778, "o", "i"]
-[5.660479835340531, "o", "s"]
-[5.707921703707783, "o", "t"]
-[5.756025148447188, "o", "a"]
-[5.774491519608564, "o", "n"]
-[5.831306510890049, "o", "c"]
-[5.865423397971541, "o", "e"]
-[5.91449936303505, "o", "_"]
-[5.934411128470145, "o", "u"]
-[5.945823367609566, "o", "n"]
-[5.968034358893267, "o", "i"]
-[5.989349479494695, "o", "t"]
-[6.014832426455337, "o", " "]
-[6.037942309554177, "o", "="]
-[6.051843629828546, "o", " "]
-[6.098528823185208, "o", "f"]
-[6.1326134595498285, "o", "a"]
-[6.1645119677496165, "o", "r"]
-[6.217169761598833, "o", "e"]
-[6.263964548034468, "o", "_"]
-[6.294112026467399, "o", "a"]
-[6.310490370617973, "o", "m"]
-[6.350010347207321, "o", "o"]
-[6.386078861329466, "o", "u"]
-[6.4012389749311005, "o", "n"]
-[6.451863605696451, "o", "t"]
-[6.4630335521712166, "o", "/"]
-[6.479917090941625, "o", "t"]
-[6.5078627511701805, "o", "r"]
-[6.564710255481205, "o", "i"]
-[6.612149943603092, "o", "p"]
-[6.6479921383978136, "o", "_"]
-[6.662308902604682, "o", "d"]
-[6.697772376374122, "o", "i"]
-[6.738915516311376, "o", "s"]
-[6.751198043515503, "o", "t"]
-[6.7892962622751805, "o", "a"]
-[6.805760427282311, "o", "n"]
-[6.818889275285565, "o", "c"]
-[6.876506311732296, "o", "e"]
-[6.903068985486164, "o", ";"]
-[6.903068985486164, "o", "\r\n"]
-[7.458577665176795, "o", "Time taken: 7.917 seconds\r\n"]
-[7.458577665176795, "o", "spark-sql> "]
-[7.512342259956104, "o", "S"]
-[7.56640753723676, "o", "E"]
-[7.608083712358011, "o", "L"]
-[7.664472116840138, "o", "E"]
-[7.68216402970594, "o", "C"]
-[7.742145440455821, "o", "T"]
-[7.790086375787755, "o", " "]
-[7.826770058377988, "o", "f"]
-[7.88378737273761, "o", "a"]
-[7.913565303277604, "o", "r"]
-[7.9670122297122346, "o", "e"]
-[8.010400460941769, "o", "_"]
-[8.067604634225106, "o", "a"]
-[8.112022928113836, "o", "m"]
-[8.124663810392708, "o", "o"]
-[8.152023493844062, "o", "u"]
-[8.16518313854765, "o", "n"]
-[8.208786377808643, "o", "t"]
-[8.254532361922767, "o", ","]
-[8.266992158200118, "o", " "]
-[8.31973479227443, "o", "t"]
-[8.338213352319357, "o", "r"]
-[8.395947007785482, "o", "i"]
-[8.409844049370614, "o", "p"]
-[8.452554900328726, "o", "_"]
-[8.47623147340972, "o", "d"]
-[8.49075149855997, "o", "i"]
-[8.523223552742603, "o", "s"]
-[8.567232399355639, "o", "t"]
-[8.592995307270487, "o", "a"]
-[8.629464505571015, "o", "n"]
-[8.684977944165283, "o", "c"]
-[8.725246551792727, "o", "e"]
-[8.758794591547668, "o", ","]
-[8.799663400063128, "o", " "]
-[8.819992808252778, "o", "f"]
-[8.864640047947605, "o", "a"]
-[8.897799959008706, "o", "r"]
-[8.917274123588149, "o", "e"]
-[8.971750400830077, "o", "_"]
-[9.027074617114526, "o", "p"]
-[9.06633618936899, "o", "e"]
-[9.121951086887504, "o", "r"]
-[9.161852500442523, "o", "_"]
-[9.219907477427071, "o", "d"]
-[9.25912199844081, "o", "i"]
-[9.279420353606604, "o", "s"]
-[9.33442859487913, "o", "t"]
-[9.365239857177142, "o", "a"]
-[9.391668095959739, "o", "n"]
-[9.440076980348836, "o", "c"]
-[9.465378690267999, "o", "e"]
-[9.489853387238142, "o", "_"]
-[9.52842757699678, "o", "u"]
-[9.586073950335312, "o", "n"]
-[9.60113296188542, "o", "i"]
-[9.62044596624797, "o", "t"]
-[9.680119561966924, "o", " "]
-[9.727543113104995, "o", "F"]
-[9.786124842894623, "o", "R"]
-[9.842266120853271, "o", "O"]
-[9.880086234994346, "o", "M"]
-[9.910704738330042, "o", " "]
-[9.92074547653258, "o", "t"]
-[9.934342250166726, "o", "a"]
-[9.981394567430971, "o", "x"]
-[10.034037273698912, "o", "i"]
-[10.083162640226163, "o", "s"]
-[10.114286375032977, "o", " "]
-[10.159573594857639, "o", "l"]
-[10.209553241459984, "o", "i"]
-[10.247436883561527, "o", "m"]
-[10.291399092851222, "o", "i"]
-[10.320235200767614, "o", "t"]
-[10.338506664947163, "o", " "]
-[10.379013618516355, "o", "1"]
-[10.431134035761763, "o", "0"]
-[10.460809166181917, "o", ";"]
-[10.460809166181917, "o", "\r\n"]
-[11.000585971670038, "o", "5.5    1.20    4.5833335\r\n"]
-[11.000585971670038, "o", "12.5    3.40    3.6764705\r\n"]
-[11.000585971670038, "o", "10    2.80    3.5714285\r\n"]
-[11.000585971670038, "o", "10    2.60    3.8461537\r\n"]
-[11.000585971670038, "o", "6.5    1.44    4.513889\r\n"]
-[11.000585971670038, "o", "10.5    2.93    3.5836177\r\n"]
-[11.000585971670038, "o", "20    6.86    2.915452\r\n"]
-[11.000585971670038, "o", "7    1.19    5.882353\r\n"]
-[11.000585971670038, "o", "31.5    11.30    2.7876105\r\n"]
-[11.000585971670038, "o", "13    3.68    3.5326087\r\n"]
-[11.000585971670038, "o", "Time taken: 6.736 seconds, Fetched 10 row(s)\r\n"]
-[11.000585971670038, "o", "13    3.68    3.5326087\r\n"]
-[11.000585971670039, "o", "spark-sql> "]
-[16.000585971670039, "o", ""]
\ No newline at end of file
diff --git a/landing-page/static/asciinema/time_travel.cast b/landing-page/static/asciinema/time_travel.cast
deleted file mode 100644
index eeda502..0000000
--- a/landing-page/static/asciinema/time_travel.cast
+++ /dev/null
@@ -1,260 +0,0 @@
-{"version": 2}
-[0.01, "o", "spark-sql> "]
-[0.014825104879633547, "o", "S"]
-[0.03341262119045518, "o", "E"]
-[0.06091692636743316, "o", "L"]
-[0.0788720563323847, "o", "E"]
-[0.1054825539635265, "o", "C"]
-[0.15680806104893524, "o", "T"]
-[0.21481871763327207, "o", " "]
-[0.25785584986972554, "o", "c"]
-[0.3068020824265823, "o", "o"]
-[0.339334319196854, "o", "u"]
-[0.38935459971085584, "o", "n"]
-[0.4270706950411087, "o", "t"]
-[0.47397217375846734, "o", "("]
-[0.48684773878989224, "o", "*"]
-[0.5286823821953379, "o", ")"]
-[0.5792825505703654, "o", " "]
-[0.5965508382123454, "o", "F"]
-[0.6067821390293893, "o", "R"]
-[0.6420183231576084, "o", "O"]
-[0.7012341163094664, "o", "M"]
-[0.7282760878657357, "o", " "]
-[0.739654786173119, "o", "t"]
-[0.7865092276535579, "o", "a"]
-[0.8246837459744122, "o", "x"]
-[0.872063148760906, "o", "i"]
-[0.890620712338872, "o", "s"]
-[0.9038349667656618, "o", ";"]
-[0.9038349667656618, "o", "\r\n"]
-[1.454239419896702, "o", "237993\r\n"]
-[1.454239419896702, "o", "Time taken: 0.187 seconds, Fetched 1 row(s)\r\n"]
-[1.454239419896702, "o", "spark-sql> "]
-[1.494314870663939, "o", "D"]
-[1.5148487954001073, "o", "E"]
-[1.55657175744782, "o", "L"]
-[1.5816556860361035, "o", "E"]
-[1.6317480738777144, "o", "T"]
-[1.6431941436640336, "o", "E"]
-[1.6876616961414426, "o", " "]
-[1.7026738410946667, "o", "F"]
-[1.75577870835443, "o", "R"]
-[1.7738837634050268, "o", "O"]
-[1.8338450932719257, "o", "M"]
-[1.892509457877963, "o", " "]
-[1.9208501143866767, "o", "t"]
-[1.9657120497250267, "o", "a"]
-[1.9904116280648791, "o", "x"]
-[2.0290236148234317, "o", "i"]
-[2.0821911292757025, "o", "s"]
-[2.1328365093000676, "o", " "]
-[2.1558758252812082, "o", "W"]
-[2.1687527970827394, "o", "H"]
-[2.2285045953103655, "o", "E"]
-[2.2832943824595264, "o", "R"]
-[2.316950849844828, "o", "E"]
-[2.3655622192548793, "o", " "]
-[2.403596040231618, "o", "p"]
-[2.440035871192662, "o", "a"]
-[2.4873957516642267, "o", "s"]
-[2.5366907170825512, "o", "s"]
-[2.556356574993101, "o", "e"]
-[2.5680064895892, "o", "n"]
-[2.587147190471789, "o", "g"]
-[2.617126359178081, "o", "e"]
-[2.6460082888599454, "o", "r"]
-[2.705257984245132, "o", "_"]
-[2.7398797404383455, "o", "c"]
-[2.7677819207251915, "o", "o"]
-[2.781032142974992, "o", "u"]
-[2.791258244513865, "o", "n"]
-[2.803500379598677, "o", "t"]
-[2.8402392244838515, "o", " "]
-[2.8713766659395414, "o", "<"]
-[2.918757566258301, "o", " "]
-[2.9637035463453425, "o", "7"]
-[3.0120863980780705, "o", ";"]
-[3.0120863980780705, "o", "\r\n"]
-[3.5383353370810076, "o", "Time taken: 2.688 seconds\r\n"]
-[3.5383353370810076, "o", "spark-sql> "]
-[3.5612494673904056, "o", "S"]
-[3.593007453142794, "o", "E"]
-[3.6198204445001436, "o", "L"]
-[3.657826521554064, "o", "E"]
-[3.675536173413622, "o", "C"]
-[3.7147406564957657, "o", "T"]
-[3.747853848081476, "o", " "]
-[3.7612689442959053, "o", "c"]
-[3.7940667985857246, "o", "o"]
-[3.830580789760069, "o", "u"]
-[3.844167823168459, "o", "n"]
-[3.889321268310623, "o", "t"]
-[3.9133993887852867, "o", "("]
-[3.9484045053371104, "o", "*"]
-[3.992670782527861, "o", ")"]
-[4.0259483021341005, "o", " "]
-[4.042642736067484, "o", "F"]
-[4.081075250534291, "o", "R"]
-[4.094715634793368, "o", "O"]
-[4.142573148833686, "o", "M"]
-[4.176765357455528, "o", " "]
-[4.2261998203913445, "o", "t"]
-[4.263786770493757, "o", "a"]
-[4.315465505563189, "o", "x"]
-[4.353960636486013, "o", "i"]
-[4.370696179106769, "o", "s"]
-[4.42318472466645, "o", ";"]
-[4.42318472466645, "o", "\r\n"]
-[4.969995403204786, "o", "19514\r\n"]
-[4.969995403204786, "o", "Time taken: 0.187 seconds, Fetched 1 row(s)\r\n"]
-[4.969995403204786, "o", "spark-sql> "]
-[5.000900292148296, "o", "S"]
-[5.057856100036385, "o", "E"]
-[5.101745718004036, "o", "L"]
-[5.1187989618364895, "o", "E"]
-[5.144644547870949, "o", "C"]
-[5.192625896202391, "o", "T"]
-[5.249929554180684, "o", " "]
-[5.304945706296154, "o", "*"]
-[5.335991486605417, "o", " "]
-[5.3800681901113245, "o", "F"]
-[5.425990730663832, "o", "R"]
-[5.45826359085593, "o", "O"]
-[5.505055824015594, "o", "M"]
-[5.534926148375619, "o", " "]
-[5.545532861890085, "o", "t"]
-[5.562832279052315, "o", "a"]
-[5.574448055604714, "o", "x"]
-[5.622800832758473, "o", "i"]
-[5.648234538466231, "o", "s"]
-[5.686074185729702, "o", "."]
-[5.739893093756844, "o", "h"]
-[5.774333940602652, "o", "i"]
-[5.831072534596599, "o", "s"]
-[5.871999617273028, "o", "t"]
-[5.914903602154763, "o", "o"]
-[5.953341444294268, "o", "r"]
-[6.0127053945056375, "o", "y"]
-[6.041784479426897, "o", ";"]
-[6.041784479426897, "o", "\r\n"]
-[6.573008575309209, "o", "2021-11-26 16:12:03.188    2874264644797652805    NULL    true\r\n"]
-[6.573008575309209, "o", "2021-11-27 00:02:45.087    4605577096637158771    2874264644797652805    true\r\n"]
-[6.573008575309209, "o", "spark-sql> "]
-[6.605775243751234, "o", "A"]
-[6.635647650385544, "o", "L"]
-[6.688482263531155, "o", "T"]
-[6.747169875758281, "o", "E"]
-[6.77641480946076, "o", "R"]
-[6.793177534845795, "o", " "]
-[6.805840883996767, "o", "T"]
-[6.823012987357478, "o", "A"]
-[6.879469853286664, "o", "B"]
-[6.93553080037832, "o", "L"]
-[6.959220041644217, "o", "E"]
-[6.973880822192073, "o", " "]
-[7.014245685455795, "o", "t"]
-[7.056422361616836, "o", "a"]
-[7.089136568109942, "o", "x"]
-[7.118123928209145, "o", "i"]
-[7.132754025586237, "o", "s"]
-[7.167832220343747, "o", " "]
-[7.213537500592728, "o", "S"]
-[7.232764350715139, "o", "E"]
-[7.274808038079281, "o", "T"]
-[7.310457125684642, "o", " "]
-[7.327834881621973, "o", "T"]
-[7.3519934316769575, "o", "B"]
-[7.402339111288409, "o", "L"]
-[7.440690130539594, "o", "P"]
-[7.452090646954785, "o", "R"]
-[7.502371157473404, "o", "O"]
-[7.5539186247898895, "o", "P"]
-[7.599341249370102, "o", "E"]
-[7.622045734282425, "o", "R"]
-[7.677974358955174, "o", "T"]
-[7.725140722292945, "o", "I"]
-[7.7609003453978165, "o", "E"]
-[7.787068865893277, "o", "S"]
-[7.799791929247861, "o", " "]
-[7.810524656388835, "o", "("]
-[7.835295787712263, "o", "'"]
-[7.847737457325568, "o", "c"]
-[7.876590150687706, "o", "u"]
-[7.921615110100521, "o", "r"]
-[7.974944363779328, "o", "r"]
-[8.011291544860402, "o", "e"]
-[8.027271534334968, "o", "n"]
-[8.04543337568005, "o", "t"]
-[8.077465442917694, "o", "-"]
-[8.107895546772157, "o", "s"]
-[8.146410143045953, "o", "n"]
-[8.18015332554049, "o", "a"]
-[8.202692330773898, "o", "p"]
-[8.256772248007193, "o", "s"]
-[8.301517329223326, "o", "h"]
-[8.324509769740457, "o", "o"]
-[8.368534151382615, "o", "t"]
-[8.428162221991215, "o", "-"]
-[8.486373324104695, "o", "i"]
-[8.5342377073122, "o", "d"]
-[8.559490587426989, "o", "'"]
-[8.613640004037908, "o", "="]
-[8.662827832959623, "o", "'"]
-[8.694363392645597, "o", "2"]
-[8.752049629764738, "o", "8"]
-[8.778467605450114, "o", "7"]
-[8.82574977190806, "o", "4"]
-[8.872307874858922, "o", "2"]
-[8.909401162588983, "o", "6"]
-[8.953238299444228, "o", "4"]
-[8.975779158112502, "o", "6"]
-[9.006150577686018, "o", "4"]
-[9.04470279039638, "o", "4"]
-[9.061335645363124, "o", "7"]
-[9.120606725138334, "o", "9"]
-[9.13383521297639, "o", "7"]
-[9.171056835701002, "o", "6"]
-[9.222479336052464, "o", "5"]
-[9.257859690032724, "o", "2"]
-[9.300443634327436, "o", "8"]
-[9.355094635367678, "o", "0"]
-[9.37931398611412, "o", "5"]
-[9.421426637591225, "o", "'"]
-[9.468851728087063, "o", ")"]
-[9.494458326364942, "o", ";"]
-[9.494458326364942, "o", "\r\n"]
-[10.014980794856232, "o", "Time taken: 0.183 seconds\r\n"]
-[10.014980794856232, "o", "spark-sql> "]
-[10.06747703053677, "o", "S"]
-[10.081641689650494, "o", "E"]
-[10.14083819705591, "o", "L"]
-[10.19289530587836, "o", "E"]
-[10.244610765920603, "o", "C"]
-[10.262373948029913, "o", "T"]
-[10.280357642772419, "o", " "]
-[10.311398173303687, "o", "c"]
-[10.36767547135465, "o", "o"]
-[10.424001484182881, "o", "u"]
-[10.446756801036942, "o", "n"]
-[10.463832856078158, "o", "t"]
-[10.501532483982572, "o", "("]
-[10.534331065388217, "o", "*"]
-[10.55505255270753, "o", ")"]
-[10.586605682180043, "o", " "]
-[10.620222828110418, "o", "F"]
-[10.643891586362793, "o", "R"]
-[10.662863730111443, "o", "O"]
-[10.71370273379354, "o", "M"]
-[10.739082103569602, "o", " "]
-[10.76559436926677, "o", "t"]
-[10.790179962367887, "o", "a"]
-[10.822716507350064, "o", "x"]
-[10.87214027392595, "o", "i"]
-[10.913051552974077, "o", "s"]
-[10.93582446940313, "o", ";"]
-[10.93582446940313, "o", "\r\n"]
-[11.461178249233953, "o", "237993\r\n"]
-[11.461178249233953, "o", "Time taken: 0.107 seconds, Fetched 1 row(s)\r\n"]
-[11.461178249233954, "o", "spark-sql> "]
-[16.000585971670039, "o", ""]
\ No newline at end of file
diff --git a/landing-page/static/css/termynal.css b/landing-page/static/css/termynal.css
new file mode 100644
index 0000000..a5a3da7
--- /dev/null
+++ b/landing-page/static/css/termynal.css
@@ -0,0 +1,102 @@
+/**
+ * termynal.js
+ *
+ * @author Ines Montani <in...@ines.io>
+ * @version 0.0.1
+ * @license MIT
+ */
+
+ :root {
+    --color-bg: #252a33;
+    --color-text: #eee;
+    --color-text-subtle: #a2a2a2;
+}
+
+[data-termynal] {
+    width: 750px;
+    left: 150px;
+    max-width: 100%;
+    background: var(--color-bg);
+    color: var(--color-text);
+    font-size: 14px;
+    font-family: 'Fira Mono', Consolas, Menlo, Monaco, 'Courier New', Courier, monospace;
+    border-radius: 10px;
+    padding: 100px 45px 35px;
+    position: relative;
+    -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+}
+
+[data-termynal]:before {
+    content: '';
+    position: absolute;
+    top: 15px;
+    left: 15px;
+    display: inline-block;
+    width: 15px;
+    height: 15px;
+    border-radius: 50%;
+    /* A little hack to display the window buttons in one pseudo element. */
+    background: #d9515d;
+    -webkit-box-shadow: 25px 0 0 #f4c025, 50px 0 0 #3ec930;
+            box-shadow: 25px 0 0 #f4c025, 50px 0 0 #3ec930;
+}
+
+[data-termynal]:after {
+    content: 'bash';
+    position: absolute;
+    color: var(--color-text-subtle);
+    top: 5px;
+    left: 0;
+    width: 100%;
+    text-align: center;
+}
+
+[data-ty] {
+    display: block;
+    line-height: 2;
+}
+
+[data-ty]:before {
+    /* Set up defaults and ensure empty lines are displayed. */
+    content: '';
+    display: inline-block;
+    vertical-align: middle;
+}
+
+[data-ty="input"]:before,
+[data-ty-prompt]:before {
+    margin-right: 0.75em;
+    color: var(--color-text-subtle);
+}
+
+[data-ty="input"]:before {
+    content: '$';
+}
+
+[data-ty][data-ty-prompt]:before {
+    content: attr(data-ty-prompt);
+}
+
+[data-ty-cursor]:after {
+    content: attr(data-ty-cursor);
+    font-family: monospace;
+    margin-left: 0.5em;
+    -webkit-animation: blink 1s infinite;
+            animation: blink 1s infinite;
+}
+
+
+/* Cursor animation */
+
+@-webkit-keyframes blink {
+    50% {
+        opacity: 0;
+    }
+}
+
+@keyframes blink {
+    50% {
+        opacity: 0;
+    }
+}
\ No newline at end of file
diff --git a/landing-page/static/js/termynal.js b/landing-page/static/js/termynal.js
new file mode 100644
index 0000000..a2cffcd
--- /dev/null
+++ b/landing-page/static/js/termynal.js
@@ -0,0 +1,197 @@
+/**
+ * termynal.js
+ * A lightweight, modern and extensible animated terminal window, using
+ * async/await.
+ *
+ * @author Ines Montani <in...@ines.io>
+ * @version 0.0.1
+ * @license MIT
+ */
+
+ 'use strict';
+
+ /** Generate a terminal widget. */
+ class Termynal {
+     /**
+      * Construct the widget's settings.
+      * @param {(string|Node)=} container - Query selector or container element.
+      * @param {Object=} options - Custom settings.
+      * @param {string} options.prefix - Prefix to use for data attributes.
+      * @param {number} options.startDelay - Delay before animation, in ms.
+      * @param {number} options.typeDelay - Delay between each typed character, in ms.
+      * @param {number} options.lineDelay - Delay between each line, in ms.
+      * @param {number} options.progressLength - Number of characters displayed as progress bar.
+      * @param {string} options.progressChar – Character to use for progress bar, defaults to █.
+      * @param {number} options.progressPercent - Max percent of progress.
+      * @param {string} options.cursor – Character to use for cursor, defaults to ▋.
+      * @param {Object[]} lineData - Dynamically loaded line data objects.
+      * @param {boolean} options.noInit - Don't initialise the animation.
+      */
+     constructor(container = '#termynal', options = {}) {
+         this.container = (typeof container === 'string') ? document.querySelector(container) : container;
+         this.pfx = `data-${options.prefix || 'ty'}`;
+         this.startDelay = options.startDelay
+             || parseFloat(this.container.getAttribute(`${this.pfx}-startDelay`)) || 600;
+         this.typeDelay = options.typeDelay
+             || parseFloat(this.container.getAttribute(`${this.pfx}-typeDelay`)) || 90;
+         this.lineDelay = options.lineDelay
+             || parseFloat(this.container.getAttribute(`${this.pfx}-lineDelay`)) || 1500;
+         this.progressLength = options.progressLength
+             || parseFloat(this.container.getAttribute(`${this.pfx}-progressLength`)) || 40;
+         this.progressChar = options.progressChar
+             || this.container.getAttribute(`${this.pfx}-progressChar`) || '█';
+         this.progressPercent = options.progressPercent
+             || parseFloat(this.container.getAttribute(`${this.pfx}-progressPercent`)) || 100;
+         this.cursor = options.cursor
+             || this.container.getAttribute(`${this.pfx}-cursor`) || '▋';
+         this.lineData = this.lineDataToElements(options.lineData || []);
+         if (!options.noInit) this.init()
+     }
+ 
+     /**
+      * Initialise the widget, get lines, clear container and start animation.
+      */
+     init() {
+         // Appends dynamically loaded lines to existing line elements.
+         this.lines = [...this.container.querySelectorAll(`[${this.pfx}]`)].concat(this.lineData);
+ 
+         /** 
+          * Calculates width and height of Termynal container.
+          * If container is empty and lines are dynamically loaded, defaults to browser `auto` or CSS.
+          */ 
+         const containerStyle = getComputedStyle(this.container);
+         this.container.style.width = containerStyle.width !== '0px' ? 
+             containerStyle.width : undefined;
+         this.container.style.minHeight = containerStyle.height !== '0px' ? 
+             containerStyle.height : undefined;
+ 
+         this.container.setAttribute('data-termynal', '');
+         this.container.innerHTML = '';
+         this.start();
+     }
+ 
+     /**
+      * Start the animation and rener the lines depending on their data attributes.
+      */
+     async start() {
+         await this._wait(this.startDelay);
+ 
+         for (let line of this.lines) {
+             const type = line.getAttribute(this.pfx);
+             const delay = line.getAttribute(`${this.pfx}-delay`) || this.lineDelay;
+ 
+             if (type == 'input') {
+                 line.setAttribute(`${this.pfx}-cursor`, this.cursor);
+                 await this.type(line);
+                 await this._wait(delay);
+             }
+ 
+             else if (type == 'progress') {
+                 await this.progress(line);
+                 await this._wait(delay);
+             }
+ 
+             else {
+                 this.container.appendChild(line);
+                 await this._wait(delay);
+             }
+ 
+             line.removeAttribute(`${this.pfx}-cursor`);
+         }
+     }
+ 
+     /**
+      * Animate a typed line.
+      * @param {Node} line - The line element to render.
+      */
+     async type(line) {
+         const chars = [...line.textContent];
+         const delay = line.getAttribute(`${this.pfx}-typeDelay`) || this.typeDelay;
+         line.textContent = '';
+         this.container.appendChild(line);
+ 
+         for (let char of chars) {
+             await this._wait(delay);
+             line.textContent += char;
+         }
+     }
+ 
+     /**
+      * Animate a progress bar.
+      * @param {Node} line - The line element to render.
+      */
+     async progress(line) {
+         const progressLength = line.getAttribute(`${this.pfx}-progressLength`)
+             || this.progressLength;
+         const progressChar = line.getAttribute(`${this.pfx}-progressChar`)
+             || this.progressChar;
+         const chars = progressChar.repeat(progressLength);
+         const progressPercent = line.getAttribute(`${this.pfx}-progressPercent`)
+             || this.progressPercent;
+         line.textContent = '';
+         this.container.appendChild(line);
+ 
+         for (let i = 1; i < chars.length + 1; i++) {
+             await this._wait(this.typeDelay);
+             const percent = Math.round(i / chars.length * 100);
+             line.textContent = `${chars.slice(0, i)} ${percent}%`;
+             if (percent>progressPercent) {
+                 break;
+             }
+         }
+     }
+ 
+     /**
+      * Helper function for animation delays, called with `await`.
+      * @param {number} time - Timeout, in ms.
+      */
+     _wait(time) {
+         return new Promise(resolve => setTimeout(resolve, time));
+     }
+ 
+     /**
+      * Converts line data objects into line elements.
+      * 
+      * @param {Object[]} lineData - Dynamically loaded lines.
+      * @param {Object} line - Line data object.
+      * @returns {Element[]} - Array of line elements.
+      */
+     lineDataToElements(lineData) {
+         return lineData.map(line => {
+             let div = document.createElement('div');
+             div.innerHTML = `<span ${this._attributes(line)}>${line.value || ''}</span>`;
+ 
+             return div.firstElementChild;
+         });
+     }
+ 
+     /**
+      * Helper function for generating attributes string.
+      * 
+      * @param {Object} line - Line data object.
+      * @returns {string} - String of attributes.
+      */
+     _attributes(line) {
+         let attrs = '';
+         for (let prop in line) {
+             attrs += this.pfx;
+ 
+             if (prop === 'type') {
+                 attrs += `="${line[prop]}" `
+             } else if (prop !== 'value') {
+                 attrs += `-${prop}="${line[prop]}" `
+             }
+         }
+ 
+         return attrs;
+     }
+ }
+ 
+ /**
+ * HTML API: If current script has container(s) specified, initialise Termynal.
+ */
+ if (document.currentScript.hasAttribute('data-termynal-container')) {
+     const containers = document.currentScript.getAttribute('data-termynal-container');
+     containers.split('|')
+         .forEach(container => new Termynal(container))
+ }
\ No newline at end of file

[iceberg-docs] 42/47: Add 0.13.0 release note (#27)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit e217017751a2dfc8e9583084f525dcf7a43cf58c
Author: Jack Ye <yz...@amazon.com>
AuthorDate: Mon Feb 7 20:24:40 2022 -0800

    Add 0.13.0 release note (#27)
---
 landing-page/config.toml                           |   2 +-
 .../content/common/project/multi-engine-support.md | 110 +++++++++++++++++++++
 .../content/common/releases/release-notes.md       |  89 +++++++++++++++--
 3 files changed, 194 insertions(+), 7 deletions(-)

diff --git a/landing-page/config.toml b/landing-page/config.toml
index a9be5fd..3b13e87 100644
--- a/landing-page/config.toml
+++ b/landing-page/config.toml
@@ -4,7 +4,7 @@ title = "Apache Iceberg"
 
 [params]
   description = "The open table format for analytic datasets."
-  latestVersions.iceberg = "0.12.1"
+  latestVersions.iceberg = "0.13.0"
   docsBaseURL = ""
 
 [[params.social]]
diff --git a/landing-page/content/common/project/multi-engine-support.md b/landing-page/content/common/project/multi-engine-support.md
new file mode 100644
index 0000000..77dced4
--- /dev/null
+++ b/landing-page/content/common/project/multi-engine-support.md
@@ -0,0 +1,110 @@
+---
+title: "Multi-Engine Support"
+bookHidden: true
+url: multi-engine-support
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Multi-Engine Support
+
+Apache Iceberg is an open standard for huge analytic tables that can be used by any processing engine.
+The community continuously improves Iceberg core library components to enable integrations with different compute engines that power analytics, business intelligence, machine learning, etc.
+Connectors for Spark, Flink and Hive are maintained in the main Iceberg repository.
+
+## Multi-Version Support
+
+Processing engine connectors maintained in the iceberg repository are built for multiple versions.
+
+For Spark and Flink, each new version that introduces backwards incompatible upgrade has its dedicated integration codebase and release artifacts.
+For example, the code for Iceberg Spark 3.1 integration is under `/spark/v3.1` and the code for Iceberg Spark 3.2 integration is under `/spark/v3.2`.
+Different artifacts (`iceberg-spark-3.1_2.12` and `iceberg-spark-3.2_2.12`) are released for users to consume.
+By doing this, changes across versions are isolated. 
+New features in Iceberg could be developed against the latest features of an engine without breaking support of old APIs in past engine versions.
+
+For Hive, Hive 2 uses the `iceberg-mr` package for Iceberg integration, and Hive 3 requires an additional dependency of the `iceberg-hive3` package.
+
+### Runtime Jar
+
+Iceberg provides a runtime connector Jar for each supported version of Spark, Flink and Hive.
+When using Iceberg with these engines, the runtime jar is the only addition to the classpath needed in addition to vendor dependencies.
+For example, to use Iceberg with Spark 3.2 and AWS integrations, `iceberg-spark-runtime-3.2_2.12` and AWS SDK dependencies are needed for the Spark installation.
+
+Spark and Flink provide different runtime jars for each supported engine version.
+Hive 2 and Hive 3 currently share the same runtime jar.
+The runtime jar names and latest version download links are listed in [the tables below](./multi-engine-support/#current-engine-version-lifecycle-status).
+
+### Engine Version Lifecycle
+
+Each engine version undergoes the following lifecycle stages:
+
+1. **Beta**: a new engine version is supported, but still in the experimental stage. Maybe the engine version itself is still in preview (e.g. Spark `3.0.0-preview`), or the engine does not yet have full feature compatibility compared to old versions yet. This stage allows Iceberg to release an engine version support without the need to wait for feature parity, shortening the release time.
+2. **Maintained**: an engine version is actively maintained by the community. Users can expect parity for most features across all the maintained versions. If a feature has to leverage some new engine functionalities that older versions don't have, then feature parity across maintained versions is not guaranteed.
+3. **Deprecated**: an engine version is no longer actively maintained. People who are still interested in the version can backport any necessary feature or bug fix from newer versions, but the community will not spend effort in achieving feature parity. Iceberg recommends users to move towards a newer version. Contributions to a deprecated version is expected to diminish over time, so that eventually no change is added to a deprecated version.
+4. **End-of-life**: a vote can be initiated in the community to fully remove a deprecated version out of the Iceberg repository to mark as its end of life.
+
+## Current Engine Version Lifecycle Status
+
+### Apache Spark
+
+Note that Spark 2.4 and 3.0 artifact names do not comply to the naming convention of later versions for backwards compatibility.
+
+| Version    | Lifecycle Stage    | Runtime Artifact |
+| ---------- | ------------------ | ---------------- |
+| 2.4        | Deprecated         | [iceberg-spark-runtime](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime/{{% icebergVersion %}}/iceberg-spark-runtime-{{% icebergVersion %}}.jar) |
+| 3.0        | Maintained         | [iceberg-spark3-runtime](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark3-runtime/{{% icebergVersion %}}/iceberg-spark3-runtime-{{% icebergVersion %}}.jar) |
+| 3.1        | Maintained         | [iceberg-spark-runtime-3.1_2.12](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime-3.1_2.12/{{% icebergVersion %}}/iceberg-spark-runtime-3.1_2.12-{{% icebergVersion %}}.jar) |
+| 3.2        | Maintained         | [iceberg-spark-runtime-3.2_2.12](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime-3.2_2.12/{{% icebergVersion %}}/iceberg-spark-runtime-3.2_2.12-{{% icebergVersion %}}.jar) |
+
+### Apache Flink
+
+Based on the guideline of the Flink community, only the latest 2 minor versions are actively maintained.
+Users should continuously upgrade their Flink version to stay up-to-date.
+
+| Version    | Lifecycle Stage   | Runtime Artifact |
+| ---------- | ----------------- | ---------------- |
+| 1.12       | Deprecated        | [iceberg-flink-runtime-1.12](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-flink-runtime-1.12/{{% icebergVersion %}}/iceberg-flink-runtime-1.12-{{% icebergVersion %}}.jar) |
+| 1.13       | Maintained        | [iceberg-flink-runtime-1.13](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-flink-runtime-1.13/{{% icebergVersion %}}/iceberg-flink-runtime-1.13-{{% icebergVersion %}}.jar) |
+| 1.14       | Maintained        | [iceberg-flink-runtime-1.14](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-flink-runtime-1.14/{{% icebergVersion %}}/iceberg-flink-runtime-1.14-{{% icebergVersion %}}.jar) |
+
+### Apache Hive
+
+| Version        | Recommended minor version | Lifecycle Stage   | Runtime Artifact |
+| -------------- | ------------------------- | ----------------- | ---------------- |
+| 2              | 2.3.8                     | Maintained        | [iceberg-hive-runtime](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-hive-runtime/{{% icebergVersion %}}/iceberg-hive-runtime-{{% icebergVersion %}}.jar) |
+| 3              | 3.1.2                     | Maintained        | [iceberg-hive-runtime](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-hive-runtime/{{% icebergVersion %}}/iceberg-hive-runtime-{{% icebergVersion %}}.jar) |
+
+## Developer Guide
+
+### Maintaining existing engine versions
+
+Iceberg recommends the following for developers who are maintaining existing engine versions:
+
+1. New features should always be prioritized first in the latest version, which is either a maintained or beta version.
+2. For features that could be backported, contributors are encouraged to either perform backports to all maintained versions, or at least create some issues to track the backport.
+3. If the change is small enough, updating all versions in a single PR is acceptable. Otherwise, using separated PRs for each version is recommended.
+
+### Supporting new engines
+
+Iceberg recommends new engines to build support by importing the Iceberg libraries to the engine's project.
+This allows the Iceberg support to evolve with the engine.
+Projects such as [Trino](https://trino.io/docs/current/connector/iceberg.html) and [Presto](https://prestodb.io/docs/current/connector/iceberg.html) are good examples of such support strategy.
+
+In this approach, an Iceberg version upgrade is needed for an engine to consume new Iceberg features.
+To facilitate engine development against unreleased Iceberg features, a daily snapshot is published in the [Apache snapshot repository](https://repository.apache.org/content/repositories/snapshots/org/apache/iceberg/).
+
+If bringing an engine directly to the Iceberg main repository is needed, please raise a discussion thread in the [Iceberg community](../community).
\ No newline at end of file
diff --git a/landing-page/content/common/releases/release-notes.md b/landing-page/content/common/releases/release-notes.md
index ba40086..9480303 100644
--- a/landing-page/content/common/releases/release-notes.md
+++ b/landing-page/content/common/releases/release-notes.md
@@ -25,14 +25,18 @@ url: releases
 The latest version of Iceberg is [{{% icebergVersion %}}](https://github.com/apache/iceberg/releases/tag/apache-iceberg-{{% icebergVersion %}}).
 
 * [{{% icebergVersion %}} source tar.gz](https://www.apache.org/dyn/closer.cgi/iceberg/apache-iceberg-{{% icebergVersion %}}/apache-iceberg-{{% icebergVersion %}}.tar.gz) -- [signature](https://downloads.apache.org/iceberg/apache-iceberg-{{% icebergVersion %}}/apache-iceberg-{{% icebergVersion %}}.tar.gz.asc) -- [sha512](https://downloads.apache.org/iceberg/apache-iceberg-{{% icebergVersion %}}/apache-iceberg-{{% icebergVersion %}}.tar.gz.sha512)
+* [{{% icebergVersion %}} Spark 3.2 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime-3.2_2.12/{{% icebergVersion %}}/iceberg-spark-runtime-3.2_2.12-{{% icebergVersion %}}.jar)
+* [{{% icebergVersion %}} Spark 3.1 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime-3.1_2.12/{{% icebergVersion %}}/iceberg-spark-runtime-3.1_2.12-{{% icebergVersion %}}.jar)
 * [{{% icebergVersion %}} Spark 3.0 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark3-runtime/{{% icebergVersion %}}/iceberg-spark3-runtime-{{% icebergVersion %}}.jar)
 * [{{% icebergVersion %}} Spark 2.4 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime/{{% icebergVersion %}}/iceberg-spark-runtime-{{% icebergVersion %}}.jar)
-* [{{% icebergVersion %}} Flink runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-flink-runtime/{{% icebergVersion %}}/iceberg-flink-runtime-{{% icebergVersion %}}.jar)
+* [{{% icebergVersion %}} Flink 1.14 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-flink-runtime-1.14/{{% icebergVersion %}}/iceberg-flink-runtime-1.14-{{% icebergVersion %}}.jar)
+* [{{% icebergVersion %}} Flink 1.13 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-flink-runtime-1.13/{{% icebergVersion %}}/iceberg-flink-runtime-1.13-{{% icebergVersion %}}.jar)
+* [{{% icebergVersion %}} Flink 1.12 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-flink-runtime-1.12/{{% icebergVersion %}}/iceberg-flink-runtime-1.12-{{% icebergVersion %}}.jar)
 * [{{% icebergVersion %}} Hive runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-hive-runtime/{{% icebergVersion %}}/iceberg-hive-runtime-{{% icebergVersion %}}.jar)
 
-To use Iceberg in Spark, download the runtime JAR and add it to the jars folder of your Spark install. Use iceberg-spark3-runtime for Spark 3, and iceberg-spark-runtime for Spark 2.4.
+To use Iceberg in Spark or Flink, download the runtime JAR for your engine version and add it to the jars folder of your installation.
 
-To use Iceberg in Hive, download the iceberg-hive-runtime JAR and add it to Hive using `ADD JAR`.
+To use Iceberg in Hive 2 or Hive 3, download the Hive runtime JAR and add it to Hive using `ADD JAR`.
 
 ### Gradle
 
@@ -62,10 +66,85 @@ To add a dependency on Iceberg in Maven, add the following to your `pom.xml`:
 </dependencies>
 ```
 
-## 0.12.1 Release Notes
+## 0.13.0 Release Notes
+
+Apache Iceberg 0.13.0 was released on February 4th, 2022.
+
+**High-level features:**
+
+* **Core**
+  * Catalog caching now supports cache expiration through catalog property `cache.expiration-interval-ms` [[\#3543](https://github.com/apache/iceberg/pull/3543)]
+  * Catalog now supports registration of Iceberg table from a given metadata file location [[\#3851](https://github.com/apache/iceberg/pull/3851)]
+  * Hadoop catalog can be used with S3 and other file systems safely by using a lock manager [[\#3663](https://github.com/apache/iceberg/pull/3663)]
+* **Vendor Integrations**
+  * Google Cloud Storage (GCS) `FileIO` is supported with optimized read and write using GCS streaming transfer [[\#3711](https://github.com/apache/iceberg/pull/3711)]
+  * Aliyun Object Storage Service (OSS) `FileIO` is supported [[\#3553](https://github.com/apache/iceberg/pull/3553)]
+  * Any S3-compatible storage (e.g. MinIO) can now be accessed through AWS `S3FileIO` with custom endpoint and credential configurations [[\#3656](https://github.com/apache/iceberg/pull/3656)] [[\#3658](https://github.com/apache/iceberg/pull/3658)]
+  * AWS `S3FileIO` now supports server-side checksum validation [[\#3813](https://github.com/apache/iceberg/pull/3813)]
+  * AWS `GlueCatalog` now displays more table information including table location, description [[\#3467](https://github.com/apache/iceberg/pull/3467)] and columns [[\#3888](https://github.com/apache/iceberg/pull/3888)]
+  * Using multiple `FileIO`s based on file path scheme is supported by configuring a `ResolvingFileIO` [[\#3593](https://github.com/apache/iceberg/pull/3593)]
+* **Spark**
+  * Spark 3.2 is supported [[\#3335](https://github.com/apache/iceberg/pull/3335)] with merge-on-read `DELETE` [[\#3970](https://github.com/apache/iceberg/pull/3970)]
+  * `RewriteDataFiles` action now supports sort-based table optimization [[\#2829](https://github.com/apache/iceberg/pull/2829)] and merge-on-read delete compaction [[\#3454](https://github.com/apache/iceberg/pull/3454)]. The corresponding Spark call procedure `rewrite_data_files` is also supported [[\#3375](https://github.com/apache/iceberg/pull/3375)]
+  * Time travel queries now use snapshot schema instead of the table's latest schema [[\#3722](https://github.com/apache/iceberg/pull/3722)]
+  * Spark vectorized reads now support row-level deletes [[\#3557](https://github.com/apache/iceberg/pull/3557)] [[\#3287](https://github.com/apache/iceberg/pull/3287)]
+  * `add_files` procedure now skips duplicated files by default (can be turned off with the `check_duplicate_files` flag) [[\#2895](https://github.com/apache/iceberg/issues/2779)], skips folder without file [[\#2895](https://github.com/apache/iceberg/issues/3455)] and partitions with `null` values [[\#2895](https://github.com/apache/iceberg/issues/3778)] instead of throwing exception, and supports partition pruning for faster table import [[\#3745](https://github.com/apache/iceberg/issue [...]
+* **Flink**
+  * Flink 1.13 and 1.14 are supported [[\#3116](https://github.com/apache/iceberg/pull/3116)] [[\#3434](https://github.com/apache/iceberg/pull/3434)]
+  * Flink connector support is supported [[\#2666](https://github.com/apache/iceberg/pull/2666)]
+  * Upsert write option is supported [[\#2863](https://github.com/apache/iceberg/pull/2863)]
+* **Hive**
+  * Table listing in Hive catalog can now skip non-Iceberg tables by disabling flag `list-all-tables` [[\#3908](https://github.com/apache/iceberg/pull/3908)]
+  * Hive tables imported to Iceberg can now be read by `IcebergInputFormat` [[\#3312](https://github.com/apache/iceberg/pull/3312)]
+* **File Formats**
+  * Reading legacy Parquet file (e.g. produced by `ParquetHiveSerDe` or Spark `spark.sql.parquet.writeLegacyFormat=true`) is now fully supported  to facilitate Hive to Iceberg table migration [[\#3723](https://github.com/apache/iceberg/pull/3723)]
+  * ORC now supports writing delete file [[\#3248](https://github.com/apache/iceberg/pull/3248)] [[\#3250](https://github.com/apache/iceberg/pull/3250)] [[\#3366](https://github.com/apache/iceberg/pull/3366)]
+
+**Important bug fixes:**
+
+* **Core**
+  * Iceberg new data file root path is configured through `write.data.path` going forward. `write.folder-storage.path` and `write.object-storage.path` are deprecated [[\#3094](https://github.com/apache/iceberg/pull/3094)]
+  * Catalog commit status is `UNKNOWN` instead of `FAILURE` when new metadata location cannot be found in snapshot history [[\#3717](https://github.com/apache/iceberg/pull/3717)]
+  * Dropping table now also deletes old metadata files instead of leaving them strained [[\#3622](https://github.com/apache/iceberg/pull/3622)]
+  * `history` and `snapshots` metadata tables can now query tables with no current snapshot instead of returning empty [[\#3812](https://github.com/apache/iceberg/pull/3812)]
+* **Vendor Integrations**
+  * Using cloud service integrations such as AWS `GlueCatalog` and `S3FileIO` no longer fail when missing Hadoop dependencies in the execution environment [[\#3590](https://github.com/apache/iceberg/pull/3590)]
+  * AWS clients are now auto-closed when related `FileIO` or `Catalog` is closed. There is no need to close the AWS clients separately [[\#2878](https://github.com/apache/iceberg/pull/2878)]
+* **Spark**
+  * For Spark >= 3.1, `REFRESH TABLE` can now be used with Spark session catalog instead of throwing exception [[\#3072](https://github.com/apache/iceberg/pull/3072)]
+  * Insert overwrite mode now skips partition with 0 record instead of failing the write operation [[\#2895](https://github.com/apache/iceberg/issues/2895)]
+  * Spark snapshot expiration action now supports custom `FileIO` instead of just `HadoopFileIO` [[\#3089](https://github.com/apache/iceberg/pull/3089)]
+  * `REPLACE TABLE AS SELECT` can now work with tables with columns that have changed partition transform. Each old partition field of the same column is converted to a void transform with a different name [[\#3421](https://github.com/apache/iceberg/issues/3421)]
+  * Spark SQL filters containing binary or fixed literals can now be pushed down instead of throwing exception [[\#3728](https://github.com/apache/iceberg/pull/3728)]
+* **Flink**
+  * A `ValidationException` will be thrown if a user configures both `catalog-type` and `catalog-impl`. Previously it chose to use `catalog-type`. The new behavior brings Flink consistent with Spark and Hive [[\#3308](https://github.com/apache/iceberg/issues/3308)]
+  * Changelog tables can now be queried without `RowData` serialization issues [[\#3240](https://github.com/apache/iceberg/pull/3240)]
+  * `java.sql.Time` data type can now be written without data overflow problem [[\#3740](https://github.com/apache/iceberg/pull/3740)]
+  * Avro position delete files can now be read without encountering `NullPointerException` [[\#3540](https://github.com/apache/iceberg/pull/3540)]
+* **Hive**
+  * Hive catalog can now be initialized with a `null` Hadoop configuration instead of throwing exception [[\#3252](https://github.com/apache/iceberg/pull/3252)]
+  * Table creation can now succeed instead of throwing exception when some columns do not have comments [[\#3531](https://github.com/apache/iceberg/pull/3531)]
+* **File Formats**
+  * Parquet file writing issue is fixed for string data with over 16 unparseable chars (e.g. high/low surrogates) [[\#3760](https://github.com/apache/iceberg/pull/3760)]
+  * ORC vectorized read is now configured using `read.orc.vectorization.batch-size` instead of `read.parquet.vectorization.batch-size`  [[\#3133](https://github.com/apache/iceberg/pull/3133)]
+
+**Other notable changes:**
+
+* The community has finalized the long-term strategy of Spark, Flink and Hive support. See [Multi-Engine Support](../multi-engine-support) page for more details.
+
+## Past releases
+
+### 0.12.1
 
 Apache Iceberg 0.12.1 was released on November 8th, 2021.
 
+* Git tag: [0.12.1](https://github.com/apache/iceberg/releases/tag/apache-iceberg-0.12.1)
+* [0.12.1 source tar.gz](https://www.apache.org/dyn/closer.cgi/iceberg/apache-iceberg-0.12.1/apache-iceberg-0.12.1.tar.gz) -- [signature](https://downloads.apache.org/iceberg/apache-iceberg-0.12.1/apache-iceberg-0.12.1.tar.gz.asc) -- [sha512](https://downloads.apache.org/iceberg/apache-iceberg-0.12.1/apache-iceberg-0.12.1.tar.gz.sha512)
+* [0.12.1 Spark 3.x runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark3-runtime/0.12.1/iceberg-spark3-runtime-0.12.1.jar)
+* [0.12.1 Spark 2.4 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime/0.12.1/iceberg-spark-runtime-0.12.1.jar)
+* [0.12.1 Flink runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-flink-runtime/0.12.1/iceberg-flink-runtime-0.12.1.jar)
+* [0.12.1 Hive runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-hive-runtime/0.12.1/iceberg-hive-runtime-0.12.1.jar)
+
 Important bug fixes and changes:
 
 * [\#3264](https://github.com/apache/iceberg/pull/3258) fixes validation failures that occurred after snapshot expiration when writing Flink CDC streams to Iceberg tables.
@@ -80,8 +159,6 @@ Important bug fixes and changes:
 
 A more exhaustive list of changes is available under the [0.12.1 release milestone](https://github.com/apache/iceberg/milestone/15?closed=1).
 
-## Past releases
-
 ### 0.12.0
 
 Apache Iceberg 0.12.0 was released on August 15, 2021. It consists of 395 commits authored by 74 contributors over a 139 day period.

[iceberg-docs] 41/47: Update AWS services that support Iceberg (#44)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 6e53d99955d59824d070db36a702efe875cf2bda
Author: Jack Ye <yz...@amazon.com>
AuthorDate: Mon Feb 7 19:44:38 2022 -0800

    Update AWS services that support Iceberg (#44)
---
 docs/content/docs/athena/_index.md    |  23 +++++++++++++++++++++++
 docs/content/docs/emr/_index.md       |  23 +++++++++++++++++++++++
 docs/content/docs/integrations/aws.md |   9 +++++++++
 docs/static/img/athena-logo.png       | Bin 0 -> 20651 bytes
 docs/static/img/emr-logo.png          | Bin 0 -> 18885 bytes
 5 files changed, 55 insertions(+)

diff --git a/docs/content/docs/athena/_index.md b/docs/content/docs/athena/_index.md
new file mode 100644
index 0000000..fbdb137
--- /dev/null
+++ b/docs/content/docs/athena/_index.md
@@ -0,0 +1,23 @@
+---
+title: "Amazon Athena"
+bookIconImage: ../img/athena-logo.png
+bookFlatSection: true
+weight: 440
+bookExternalUrlNewWindow: https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg.html
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/emr/_index.md b/docs/content/docs/emr/_index.md
new file mode 100644
index 0000000..b29d213
--- /dev/null
+++ b/docs/content/docs/emr/_index.md
@@ -0,0 +1,23 @@
+---
+title: "Amazon EMR"
+bookIconImage: ../img/emr-logo.png
+bookFlatSection: true
+weight: 450
+bookExternalUrlNewWindow: https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-iceberg-create-cluster.html
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/integrations/aws.md b/docs/content/docs/integrations/aws.md
index 9d2c732..add8a4b 100644
--- a/docs/content/docs/integrations/aws.md
+++ b/docs/content/docs/integrations/aws.md
@@ -447,6 +447,11 @@ spark-sql --packages org.apache.iceberg:iceberg-spark3-runtime:{{% icebergVersio
 
 ## Run Iceberg on AWS
 
+### Amazon Athena
+
+[Amazon Athena](https://aws.amazon.com/athena/) provides a serverless query engine that could be used to perform read, write, update and optimization tasks against Iceberg tables.
+More details could be found [here](https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg.html).
+
 ### Amazon EMR
 
 [Amazon EMR](https://aws.amazon.com/emr/) can provision clusters with [Spark](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark.html) (EMR 6 for Spark 3, EMR 5 for Spark 2),
@@ -494,6 +499,10 @@ install_dependencies $LIB_PATH $ICEBERG_MAVEN_URL $ICEBERG_VERSION "${ICEBERG_PA
 install_dependencies $LIB_PATH $AWS_MAVEN_URL $AWS_SDK_VERSION "${AWS_PACKAGES[@]}"
 ```
 
+### AWS EKS
+
+[AWS Elastic Kubernetes Service (EKS)](https://aws.amazon.com/eks/) can be used to start any Spark, Flink, Hive, Presto or Trino clusters to work with Iceberg.
+Search the [Iceberg blogs](../../../blogs) page for tutorials around running Iceberg with Docker and Kubernetes.
 
 ### Amazon Kinesis
 
diff --git a/docs/static/img/athena-logo.png b/docs/static/img/athena-logo.png
new file mode 100644
index 0000000..236c18e
Binary files /dev/null and b/docs/static/img/athena-logo.png differ
diff --git a/docs/static/img/emr-logo.png b/docs/static/img/emr-logo.png
new file mode 100644
index 0000000..63391d4
Binary files /dev/null and b/docs/static/img/emr-logo.png differ

[iceberg-docs] 08/47: Update README to include description of javadocs deployment

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit acb0a299b9d9ed50205f8856178f617b7205bb4c
Author: samredai <43...@users.noreply.github.com>
AuthorDate: Mon Jan 10 21:33:05 2022 -0800

    Update README to include description of javadocs deployment
---
 README.md | 38 ++++++++++++++++++++++++--------------
 1 file changed, 24 insertions(+), 14 deletions(-)

diff --git a/README.md b/README.md
index 61a9b85..6788cb1 100644
--- a/README.md
+++ b/README.md
@@ -24,10 +24,9 @@ It's built with [Hugo](https://gohugo.io/) and hosted at https://iceberg.apache.
 
 # Structure
 
-The Iceberg documentation site is actually constructed from two hugo sites. The first, is the landing page which is
-an entire site on it's own. The second, is the documentation site which contains the full Iceberg documentation.
-The landing page and documentation sites are completely self-contained in the `./landing-page` and `./docs` directories,
-respectively.
+The Iceberg documentation site is actually constructed from two hugo sites. The first, is the landing page. The second site, 
+is the documentation site which contains the full Iceberg documentation, including the javadocs. The landing page and
+documentation sites are completely self-contained in the `./landing-page` and `./docs` directories, respectively.
 
 # Landing Page Deployment
 
@@ -43,9 +42,12 @@ named after the branch where the commit occured. This is performed by the `deplo
 **except** `main`. A branch is maintained for each Iceberg version. If the job runs and the directory does not
 yet exist in the `asf-site` branch, it will be created.
 
+Additionally, the contents of the `javadocs` directory is deployed to a `javadocs/<branch_name>` directory in
+the `asf-site` branch.
+
 #### Latest Docs
-In [./docs/redirect/index.html](./docs/redirect/index.html), a redirect meta tag exists to forward the `/docs` 
-and `/latest` to `/docs/0.12.1`.
+In [./docs/redirect/index.html](./docs/redirect/index.html), a redirect meta tag exists to forward `/docs` 
+and `/latest` to `/docs/latest`.
 
 # `asf-site` Branch Structure
 
@@ -54,16 +56,24 @@ The `asf-site` branch structure is the following:
 .
 ├── docs
 │   ├── 0.12.1
-│   │   └── <Full Docs Site @0.12.1 (also, `/latest` redirects here)>
-│   ├── 0.12.0
-│   │   └── <Full Docs Site @0.12.0>
-│   └── index.html  <-- Includes a redirect to 0.12.1
+│   │   └── <Full Docs Site @0.12.1>
+│   ├── latest
+│   │   └── <Full Docs Site @latest>
+│   └── index.html  <-- Includes a redirect to 0.12.1 which is the latest version
+├── javadocs
+│   ├── 0.12.1
+│   │   └── <Full javadocs site @0.12.1>
+│   └── latest
+│       └── <Full javadocs Site @latest>
 └── <Full Landing Page Site>
 ```
 
-A non-`main` branch commit deploys the docs site **only** and creates a new directory in the
-`docs` directory.  A `main` branch commit deploys the landing page site **only** and overwrites
-the landing page site at the root of the `asf-site` branch.
+A non-`main` branch commit deploys the docs site into a new sub-directory in the
+`asf-site` branch's `docs` directory, as well as copies the javadocs directory into a new sub-directory
+in the `asf-site` branch's `javadocs` directory.
+
+A `main` branch commit deploys the landing page site **only** and overwrites the landing page site at
+the root of the `asf-site` branch.
 
 # Redirects
 
@@ -90,4 +100,4 @@ cd docs && hugo serve
 
 # Scanning For Broken Links
 
-If you'd like to scan for broken links, one available tool is linkcheck that can be found [here](https://github.com/filiph/linkcheck).
\ No newline at end of file
+If you'd like to scan for broken links, one available tool is linkcheck that can be found [here](https://github.com/filiph/linkcheck).

[iceberg-docs] 01/47: Initial commit.

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 2c136f0531afc4801c34d2f74a9b16c7f9a973bf
Author: Ryan Blue <bl...@apache.org>
AuthorDate: Sat Dec 4 14:08:14 2021 -0800

    Initial commit.
---
 README.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/README.md b/README.md
new file mode 100644
index 0000000..1fc1e82
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+## Iceberg Docs
+
+This repository contains the markdown documentation hosted at https://iceberg.apache.org.

[iceberg-docs] 30/47: Add javadoc for 0.13.0 (#34)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 9d5bb29bf09c9838562d6d8611992a60580b6f5f
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Fri Feb 4 16:00:06 2022 -0500

    Add javadoc for 0.13.0 (#34)
---
 javadoc/allclasses-index.html                      |  2122 ++--
 javadoc/allclasses.html                            |   126 +-
 javadoc/allpackages-index.html                     |    77 +-
 javadoc/constant-values.html                       |   740 +-
 javadoc/deprecated-list.html                       |   231 +-
 javadoc/element-list                               |    61 +
 javadoc/help-doc.html                              |     3 +-
 javadoc/index-all.html                             |  2791 +++--
 javadoc/index.html                                 |   119 +-
 javadoc/jquery/jszip-utils/dist/jszip-utils-ie.js  |    56 +
 .../jquery/jszip-utils/dist/jszip-utils-ie.min.js  |    10 +
 javadoc/jquery/jszip-utils/dist/jszip-utils.js     |   118 +
 javadoc/jquery/jszip-utils/dist/jszip-utils.min.js |    10 +
 javadoc/jquery/jszip/dist/jszip.js                 | 11367 +++++++++++++++++++
 javadoc/jquery/jszip/dist/jszip.min.js             |    13 +
 javadoc/member-search-index.js                     |     2 +-
 javadoc/member-search-index.zip                    |   Bin 75766 -> 82073 bytes
 .../ql/exec/vector/VectorizedSupport.Support.html  |     3 +-
 .../hive/ql/exec/vector/VectorizedSupport.html     |     3 +-
 .../hive/ql/exec/vector/package-summary.html       |     3 +-
 .../hadoop/hive/ql/exec/vector/package-tree.html   |     3 +-
 javadoc/org/apache/iceberg/Accessor.html           |     3 +-
 javadoc/org/apache/iceberg/Accessors.html          |     3 +-
 .../AllDataFilesTable.AllDataFilesTableScan.html   |    81 +-
 javadoc/org/apache/iceberg/AllDataFilesTable.html  |     3 +-
 javadoc/org/apache/iceberg/AllEntriesTable.html    |     3 +-
 .../AllManifestsTable.AllManifestsTableScan.html   |    81 +-
 javadoc/org/apache/iceberg/AllManifestsTable.html  |     3 +-
 javadoc/org/apache/iceberg/AppendFiles.html        |     3 +-
 .../org/apache/iceberg/BaseCombinedScanTask.html   |     3 +-
 ...reCatalog.BaseMetastoreCatalogTableBuilder.html |     3 +-
 .../org/apache/iceberg/BaseMetastoreCatalog.html   |   140 +-
 .../BaseMetastoreTableOperations.CommitStatus.html |     3 +-
 .../iceberg/BaseMetastoreTableOperations.html      |    31 +-
 javadoc/org/apache/iceberg/BaseOverwriteFiles.html |   232 +-
 .../org/apache/iceberg/BaseReplacePartitions.html  |   164 +-
 .../org/apache/iceberg/BaseReplaceSortOrder.html   |     3 +-
 .../org/apache/iceberg/BaseRewriteManifests.html   |     3 +-
 javadoc/org/apache/iceberg/BaseTable.html          |     3 +-
 javadoc/org/apache/iceberg/CachingCatalog.html     |   311 +-
 javadoc/org/apache/iceberg/CatalogProperties.html  |   145 +-
 javadoc/org/apache/iceberg/CatalogUtil.html        |    69 +-
 javadoc/org/apache/iceberg/ClientPool.Action.html  |     3 +-
 javadoc/org/apache/iceberg/ClientPool.html         |    30 +-
 javadoc/org/apache/iceberg/ClientPoolImpl.html     |    40 +-
 javadoc/org/apache/iceberg/CombinedScanTask.html   |     3 +-
 javadoc/org/apache/iceberg/ContentFile.html        |     3 +-
 javadoc/org/apache/iceberg/DataFile.html           |    21 +-
 javadoc/org/apache/iceberg/DataFiles.Builder.html  |     3 +-
 javadoc/org/apache/iceberg/DataFiles.html          |     3 +-
 .../iceberg/DataFilesTable.FilesTableScan.html     |    79 +-
 javadoc/org/apache/iceberg/DataFilesTable.html     |     3 +-
 javadoc/org/apache/iceberg/DataOperations.html     |     3 +-
 javadoc/org/apache/iceberg/DataTableScan.html      |    97 +-
 javadoc/org/apache/iceberg/DataTask.html           |     3 +-
 javadoc/org/apache/iceberg/DeleteFile.html         |     3 +-
 javadoc/org/apache/iceberg/DeleteFiles.html        |    34 +-
 javadoc/org/apache/iceberg/DistributionMode.html   |     3 +-
 .../apache/iceberg/DoubleFieldMetrics.Builder.html |     3 +-
 javadoc/org/apache/iceberg/DoubleFieldMetrics.html |     3 +-
 javadoc/org/apache/iceberg/ExpireSnapshots.html    |     3 +-
 javadoc/org/apache/iceberg/FieldMetrics.html       |     3 +-
 javadoc/org/apache/iceberg/FileContent.html        |     3 +-
 javadoc/org/apache/iceberg/FileFormat.html         |     3 +-
 .../org/apache/iceberg/FileMetadata.Builder.html   |     3 +-
 javadoc/org/apache/iceberg/FileMetadata.html       |     3 +-
 javadoc/org/apache/iceberg/FileScanTask.html       |     3 +-
 javadoc/org/apache/iceberg/Files.html              |     3 +-
 javadoc/org/apache/iceberg/FindFiles.Builder.html  |     3 +-
 javadoc/org/apache/iceberg/FindFiles.html          |     3 +-
 .../apache/iceberg/FloatFieldMetrics.Builder.html  |     3 +-
 javadoc/org/apache/iceberg/FloatFieldMetrics.html  |     3 +-
 .../iceberg/GenericManifestFile.CopyBuilder.html   |     3 +-
 .../org/apache/iceberg/GenericManifestFile.html    |     3 +-
 .../iceberg/GenericPartitionFieldSummary.html      |     3 +-
 javadoc/org/apache/iceberg/GuavaClasses.html       |     3 +-
 javadoc/org/apache/iceberg/HasTableOperations.html |     3 +-
 javadoc/org/apache/iceberg/HistoryEntry.html       |     3 +-
 javadoc/org/apache/iceberg/HistoryTable.html       |     3 +-
 javadoc/org/apache/iceberg/IsolationLevel.html     |    23 +-
 javadoc/org/apache/iceberg/LocationProviders.html  |     3 +-
 .../iceberg/{StructLike.html => LockManager.html}  |   106 +-
 javadoc/org/apache/iceberg/ManageSnapshots.html    |     5 +-
 javadoc/org/apache/iceberg/ManifestContent.html    |     3 +-
 .../org/apache/iceberg/ManifestEntriesTable.html   |     3 +-
 .../ManifestFile.PartitionFieldSummary.html        |     3 +-
 javadoc/org/apache/iceberg/ManifestFile.html       |     5 +-
 javadoc/org/apache/iceberg/ManifestFiles.html      |     3 +-
 .../apache/iceberg/ManifestReader.FileType.html    |     3 +-
 javadoc/org/apache/iceberg/ManifestReader.html     |     5 +-
 javadoc/org/apache/iceberg/ManifestWriter.html     |    50 +-
 javadoc/org/apache/iceberg/ManifestsTable.html     |     3 +-
 javadoc/org/apache/iceberg/MetadataColumns.html    |    87 +-
 javadoc/org/apache/iceberg/MetadataTableType.html  |     3 +-
 javadoc/org/apache/iceberg/MetadataTableUtils.html |    21 +-
 ...s.html => MetadataUpdate.AddPartitionSpec.html} |   131 +-
 ...nMetrics.html => MetadataUpdate.AddSchema.html} |   129 +-
 ...etrics.html => MetadataUpdate.AddSnapshot.html} |   131 +-
 ...trics.html => MetadataUpdate.AddSortOrder.html} |   131 +-
 ...Metrics.html => MetadataUpdate.AssignUUID.html} |   129 +-
 ...s.html => MetadataUpdate.RemoveProperties.html} |   131 +-
 ...ics.html => MetadataUpdate.RemoveSnapshot.html} |   129 +-
 ...s.html => MetadataUpdate.SetCurrentSchema.html} |   129 +-
 ...html => MetadataUpdate.SetCurrentSnapshot.html} |   129 +-
 ...=> MetadataUpdate.SetDefaultPartitionSpec.html} |   129 +-
 ...tml => MetadataUpdate.SetDefaultSortOrder.html} |   129 +-
 ...etrics.html => MetadataUpdate.SetLocation.html} |   129 +-
 ...rics.html => MetadataUpdate.SetProperties.html} |   131 +-
 ...ml => MetadataUpdate.UpgradeFormatVersion.html} |   129 +-
 .../{MetricsModes.html => MetadataUpdate.html}     |   172 +-
 javadoc/org/apache/iceberg/Metrics.html            |    63 +-
 javadoc/org/apache/iceberg/MetricsConfig.html      |    75 +-
 .../org/apache/iceberg/MetricsModes.Counts.html    |     3 +-
 javadoc/org/apache/iceberg/MetricsModes.Full.html  |     3 +-
 .../apache/iceberg/MetricsModes.MetricsMode.html   |     6 +-
 javadoc/org/apache/iceberg/MetricsModes.None.html  |     3 +-
 .../org/apache/iceberg/MetricsModes.Truncate.html  |     3 +-
 javadoc/org/apache/iceberg/MetricsModes.html       |     7 +-
 javadoc/org/apache/iceberg/MetricsUtil.html        |     3 +-
 .../apache/iceberg/MicroBatches.MicroBatch.html    |     3 +-
 .../iceberg/MicroBatches.MicroBatchBuilder.html    |     3 +-
 javadoc/org/apache/iceberg/MicroBatches.html       |     3 +-
 javadoc/org/apache/iceberg/NullOrder.html          |     3 +-
 javadoc/org/apache/iceberg/OverwriteFiles.html     |    52 +-
 javadoc/org/apache/iceberg/PartitionField.html     |     3 +-
 javadoc/org/apache/iceberg/PartitionKey.html       |     3 +-
 .../org/apache/iceberg/PartitionSpec.Builder.html  |     3 +-
 javadoc/org/apache/iceberg/PartitionSpec.html      |    33 +-
 .../org/apache/iceberg/PartitionSpecParser.html    |     3 +-
 javadoc/org/apache/iceberg/Partitioning.html       |    33 +-
 javadoc/org/apache/iceberg/PartitionsTable.html    |     3 +-
 javadoc/org/apache/iceberg/PendingUpdate.html      |     3 +-
 javadoc/org/apache/iceberg/ReachableFileUtil.html  |     3 +-
 javadoc/org/apache/iceberg/ReplacePartitions.html  |     3 +-
 javadoc/org/apache/iceberg/ReplaceSortOrder.html   |     3 +-
 javadoc/org/apache/iceberg/RewriteFiles.html       |    37 +-
 javadoc/org/apache/iceberg/RewriteManifests.html   |     3 +-
 javadoc/org/apache/iceberg/Rollback.html           |     3 +-
 javadoc/org/apache/iceberg/RowDelta.html           |     3 +-
 ...arser.Codec.html => RowLevelOperationMode.html} |    89 +-
 .../org/apache/iceberg/ScanSummary.Builder.html    |     3 +-
 .../iceberg/ScanSummary.PartitionMetrics.html      |     3 +-
 javadoc/org/apache/iceberg/ScanSummary.html        |     3 +-
 javadoc/org/apache/iceberg/ScanTask.html           |     3 +-
 javadoc/org/apache/iceberg/Schema.html             |     3 +-
 javadoc/org/apache/iceberg/SchemaParser.html       |     3 +-
 javadoc/org/apache/iceberg/SerializableTable.html  |     3 +-
 javadoc/org/apache/iceberg/SetLocation.html        |     3 +-
 javadoc/org/apache/iceberg/Snapshot.html           |     3 +-
 javadoc/org/apache/iceberg/SnapshotManager.html    |   170 +-
 javadoc/org/apache/iceberg/SnapshotParser.html     |     3 +-
 .../apache/iceberg/SnapshotSummary.Builder.html    |     3 +-
 javadoc/org/apache/iceberg/SnapshotSummary.html    |     3 +-
 javadoc/org/apache/iceberg/SnapshotUpdate.html     |     3 +-
 javadoc/org/apache/iceberg/SnapshotsTable.html     |     3 +-
 javadoc/org/apache/iceberg/SortDirection.html      |     3 +-
 javadoc/org/apache/iceberg/SortField.html          |     3 +-
 javadoc/org/apache/iceberg/SortOrder.Builder.html  |     3 +-
 javadoc/org/apache/iceberg/SortOrder.html          |    34 +-
 javadoc/org/apache/iceberg/SortOrderBuilder.html   |     3 +-
 javadoc/org/apache/iceberg/SortOrderParser.html    |     3 +-
 .../org/apache/iceberg/StaticTableOperations.html  |     3 +-
 javadoc/org/apache/iceberg/StructLike.html         |     3 +-
 javadoc/org/apache/iceberg/SystemProperties.html   |     3 +-
 javadoc/org/apache/iceberg/Table.html              |     3 +-
 .../org/apache/iceberg/TableMetadata.Builder.html  |   537 +
 .../iceberg/TableMetadata.MetadataLogEntry.html    |     3 +-
 .../iceberg/TableMetadata.SnapshotLogEntry.html    |     3 +-
 javadoc/org/apache/iceberg/TableMetadata.html      |   140 +-
 .../apache/iceberg/TableMetadataParser.Codec.html  |     3 +-
 .../org/apache/iceberg/TableMetadataParser.html    |   104 +-
 javadoc/org/apache/iceberg/TableOperations.html    |     3 +-
 javadoc/org/apache/iceberg/TableProperties.html    |   400 +-
 javadoc/org/apache/iceberg/TableScan.html          |    45 +-
 javadoc/org/apache/iceberg/Tables.html             |     3 +-
 javadoc/org/apache/iceberg/Transaction.html        |     3 +-
 javadoc/org/apache/iceberg/Transactions.html       |     3 +-
 javadoc/org/apache/iceberg/UpdateLocation.html     |     3 +-
 .../org/apache/iceberg/UpdatePartitionSpec.html    |     3 +-
 javadoc/org/apache/iceberg/UpdateProperties.html   |     3 +-
 javadoc/org/apache/iceberg/UpdateSchema.html       |     3 +-
 javadoc/org/apache/iceberg/actions/Action.html     |     7 +-
 javadoc/org/apache/iceberg/actions/Actions.html    |   607 -
 .../apache/iceberg/actions/ActionsProvider.html    |     3 +-
 .../actions/BaseDeleteOrphanFilesActionResult.html |     3 +-
 .../BaseDeleteReachableFilesActionResult.html      |     3 +-
 .../actions/BaseExpireSnapshotsActionResult.html   |     3 +-
 .../actions/BaseFileGroupRewriteResult.html        |     3 +-
 .../actions/BaseMigrateTableActionResult.html      |     3 +-
 .../actions/BaseRewriteDataFilesAction.html        |     5 +-
 .../actions/BaseRewriteDataFilesFileGroupInfo.html |     3 +-
 .../actions/BaseRewriteDataFilesResult.html        |     3 +-
 .../actions/BaseRewriteManifestsActionResult.html  |     3 +-
 .../actions/BaseSnapshotTableActionResult.html     |     3 +-
 .../apache/iceberg/actions/BinPackStrategy.html    |    89 +-
 ...html => ConvertEqualityDeleteFiles.Result.html} |    50 +-
 ...eTable.html => ConvertEqualityDeleteFiles.html} |    80 +-
 ...egy.html => ConvertEqualityDeleteStrategy.html} |    98 +-
 .../org/apache/iceberg/actions/CreateAction.html   |   313 -
 .../iceberg/actions/DeleteOrphanFiles.Result.html  |     3 +-
 .../apache/iceberg/actions/DeleteOrphanFiles.html  |    36 +-
 .../actions/DeleteReachableFiles.Result.html       |     3 +-
 .../iceberg/actions/DeleteReachableFiles.html      |     3 +-
 .../iceberg/actions/ExpireSnapshots.Result.html    |     3 +-
 .../apache/iceberg/actions/ExpireSnapshots.html    |     3 +-
 .../iceberg/actions/ExpireSnapshotsAction.html     |   486 -
 .../actions/ExpireSnapshotsActionResult.html       |   350 -
 .../iceberg/actions/MigrateTable.Result.html       |     3 +-
 .../org/apache/iceberg/actions/MigrateTable.html   |     3 +-
 .../iceberg/actions/RemoveOrphanFilesAction.html   |   379 -
 .../actions/RewriteDataFiles.FileGroupInfo.html    |     3 +-
 .../RewriteDataFiles.FileGroupRewriteResult.html   |     3 +-
 .../iceberg/actions/RewriteDataFiles.Result.html   |     3 +-
 .../apache/iceberg/actions/RewriteDataFiles.html   |    96 +-
 .../iceberg/actions/RewriteDataFilesAction.html    |   400 -
 .../actions/RewriteDataFilesActionResult.html      |     3 +-
 ...ewriteDataFilesCommitManager.CommitService.html |     3 +-
 .../actions/RewriteDataFilesCommitManager.html     |    22 +-
 .../apache/iceberg/actions/RewriteFileGroup.html   |     3 +-
 .../iceberg/actions/RewriteManifests.Result.html   |     3 +-
 .../apache/iceberg/actions/RewriteManifests.html   |     3 +-
 .../iceberg/actions/RewriteManifestsAction.html    |   390 -
 .../actions/RewriteManifestsActionResult.html      |   331 -
 ...html => RewritePositionDeleteFiles.Result.html} |    50 +-
 ...eTable.html => RewritePositionDeleteFiles.html} |    81 +-
 ...egy.html => RewritePositionDeleteStrategy.html} |    82 +-
 .../apache/iceberg/actions/RewriteStrategy.html    |     5 +-
 .../org/apache/iceberg/actions/SnapshotAction.html |   278 -
 .../iceberg/actions/SnapshotTable.Result.html      |     3 +-
 .../org/apache/iceberg/actions/SnapshotTable.html  |     3 +-
 .../org/apache/iceberg/actions/SnapshotUpdate.html |     5 +-
 .../iceberg/actions/SnapshotUpdateAction.html      |     5 +-
 .../org/apache/iceberg/actions/SortStrategy.html   |    51 +-
 .../iceberg/actions/Spark3MigrateAction.html       |   404 -
 .../iceberg/actions/Spark3SnapshotAction.html      |   428 -
 .../org/apache/iceberg/actions/SparkActions.html   |   391 -
 .../apache/iceberg/actions/package-summary.html    |   121 +-
 .../org/apache/iceberg/actions/package-tree.html   |    33 +-
 .../AliyunClientFactories.html}                    |    35 +-
 .../AliyunClientFactory.html}                      |    73 +-
 .../AliyunProperties.html}                         |   254 +-
 .../s3/S3FileIO.html => aliyun/oss/OSSFileIO.html} |   109 +-
 .../oss/OSSInputFile.html}                         |   134 +-
 .../oss/OSSInputStream.html}                       |   172 +-
 .../oss/OSSOutputStream.html}                      |   164 +-
 .../Container.html => aliyun/oss/OSSURI.html}      |   139 +-
 .../{aws/s3 => aliyun/oss}/package-summary.html    |    26 +-
 .../{flink/sink => aliyun/oss}/package-tree.html   |    34 +-
 .../iceberg/{jdbc => aliyun}/package-summary.html  |    23 +-
 .../iceberg/{schema => aliyun}/package-tree.html   |    22 +-
 .../org/apache/iceberg/arrow/ArrowAllocation.html  |     3 +-
 .../org/apache/iceberg/arrow/ArrowSchemaUtil.html  |     3 +-
 .../org/apache/iceberg/arrow/package-summary.html  |     3 +-
 javadoc/org/apache/iceberg/arrow/package-tree.html |     3 +-
 .../iceberg/arrow/vectorized/ArrowReader.html      |    26 +-
 .../arrow/vectorized/ArrowVectorAccessor.html      |     3 +-
 .../vectorized/BaseBatchReader.html}               |   221 +-
 .../iceberg/arrow/vectorized/ColumnVector.html     |     5 +-
 .../iceberg/arrow/vectorized/ColumnarBatch.html    |     3 +-
 ...ricArrowVectorAccessorFactory.ArrayFactory.html |     3 +-
 ...cArrowVectorAccessorFactory.DecimalFactory.html |     3 +-
 ...icArrowVectorAccessorFactory.StringFactory.html |     3 +-
 ...owVectorAccessorFactory.StructChildFactory.html |     3 +-
 .../GenericArrowVectorAccessorFactory.html         |     3 +-
 .../arrow/vectorized/NullabilityHolder.html        |    19 +-
 .../VectorHolder.ConstantVectorHolder.html         |     3 +-
 .../VectorHolder.PositionVectorHolder.html         |     3 +-
 .../iceberg/arrow/vectorized/VectorHolder.html     |     3 +-
 ...VectorizedArrowReader.ConstantVectorReader.html |     5 +-
 .../arrow/vectorized/VectorizedArrowReader.html    |    27 +-
 .../arrow/vectorized/VectorizedReaderBuilder.html  |    19 +-
 .../vectorized/VectorizedTableScanIterable.html    |    12 +-
 .../iceberg/arrow/vectorized/package-summary.html  |    29 +-
 .../iceberg/arrow/vectorized/package-tree.html     |     4 +-
 .../parquet/BaseVectorizedParquetValuesReader.html |     3 +-
 .../VectorizedColumnIterator.BatchReader.html      |     3 +-
 ...ectorizedColumnIterator.BooleanBatchReader.html |     3 +-
 ...orizedColumnIterator.DictionaryBatchReader.html |     3 +-
 ...VectorizedColumnIterator.DoubleBatchReader.html |     3 +-
 ...lumnIterator.FixedLengthDecimalBatchReader.html |     3 +-
 ...dColumnIterator.FixedSizeBinaryBatchReader.html |     3 +-
 ...mnIterator.FixedWidthTypeBinaryBatchReader.html |     3 +-
 .../VectorizedColumnIterator.FloatBatchReader.html |     3 +-
 ...ColumnIterator.IntBackedDecimalBatchReader.html |     3 +-
 ...ectorizedColumnIterator.IntegerBatchReader.html |     3 +-
 ...olumnIterator.LongBackedDecimalBatchReader.html |     3 +-
 .../VectorizedColumnIterator.LongBatchReader.html  |     3 +-
 ...dColumnIterator.TimestampMillisBatchReader.html |     3 +-
 ...izedColumnIterator.VarWidthTypeBatchReader.html |     3 +-
 .../parquet/VectorizedColumnIterator.html          |     3 +-
 ...orizedDictionaryEncodedParquetValuesReader.html |     3 +-
 .../vectorized/parquet/VectorizedPageIterator.html |     3 +-
 .../VectorizedParquetDefinitionLevelReader.html    |     3 +-
 .../arrow/vectorized/parquet/package-summary.html  |     3 +-
 .../arrow/vectorized/parquet/package-tree.html     |     3 +-
 .../apache/iceberg/avro/Avro.DataWriteBuilder.html |     3 +-
 .../iceberg/avro/Avro.DeleteWriteBuilder.html      |    35 +-
 .../org/apache/iceberg/avro/Avro.ReadBuilder.html  |     3 +-
 .../org/apache/iceberg/avro/Avro.WriteBuilder.html |     3 +-
 javadoc/org/apache/iceberg/avro/Avro.html          |     3 +-
 .../org/apache/iceberg/avro/AvroEncoderUtil.html   |     3 +-
 javadoc/org/apache/iceberg/avro/AvroIterable.html  |     5 +-
 javadoc/org/apache/iceberg/avro/AvroMetrics.html   |     3 +-
 .../org/apache/iceberg/avro/AvroSchemaUtil.html    |     3 +-
 .../org/apache/iceberg/avro/AvroSchemaVisitor.html |     3 +-
 .../iceberg/avro/AvroSchemaWithTypeVisitor.html    |     3 +-
 .../avro/AvroWithPartnerByStructureVisitor.html    |     3 +-
 javadoc/org/apache/iceberg/avro/LogicalMap.html    |     3 +-
 .../iceberg/avro/MetricsAwareDatumWriter.html      |     3 +-
 .../apache/iceberg/avro/ProjectionDatumReader.html |     3 +-
 javadoc/org/apache/iceberg/avro/RemoveIds.html     |     3 +-
 .../apache/iceberg/avro/SupportsRowPosition.html   |     5 +-
 .../org/apache/iceberg/avro/UUIDConversion.html    |     3 +-
 javadoc/org/apache/iceberg/avro/ValueReader.html   |     3 +-
 .../iceberg/avro/ValueReaders.StructReader.html    |     3 +-
 javadoc/org/apache/iceberg/avro/ValueReaders.html  |     3 +-
 javadoc/org/apache/iceberg/avro/ValueWriter.html   |     3 +-
 .../iceberg/avro/ValueWriters.StructWriter.html    |     3 +-
 javadoc/org/apache/iceberg/avro/ValueWriters.html  |     3 +-
 .../org/apache/iceberg/avro/package-summary.html   |     3 +-
 javadoc/org/apache/iceberg/avro/package-tree.html  |     3 +-
 .../iceberg/aws/AssumeRoleAwsClientFactory.html    |     3 +-
 .../org/apache/iceberg/aws/AwsClientFactories.html |     3 +-
 .../org/apache/iceberg/aws/AwsClientFactory.html   |     3 +-
 javadoc/org/apache/iceberg/aws/AwsProperties.html  |   220 +-
 .../iceberg/aws/dynamodb/DynamoDbCatalog.html      |    21 +-
 .../iceberg/aws/dynamodb/package-summary.html      |     3 +-
 .../apache/iceberg/aws/dynamodb/package-tree.html  |     3 +-
 .../org/apache/iceberg/aws/glue/GlueCatalog.html   |    69 +-
 .../apache/iceberg/aws/glue/package-summary.html   |     3 +-
 .../org/apache/iceberg/aws/glue/package-tree.html  |     5 +-
 .../org/apache/iceberg/aws/package-summary.html    |     3 +-
 javadoc/org/apache/iceberg/aws/package-tree.html   |     3 +-
 javadoc/org/apache/iceberg/aws/s3/S3FileIO.html    |    44 +-
 javadoc/org/apache/iceberg/aws/s3/S3InputFile.html |     3 +-
 .../org/apache/iceberg/aws/s3/S3OutputFile.html    |     3 +-
 .../org/apache/iceberg/aws/s3/S3RequestUtil.html   |     3 +-
 .../org/apache/iceberg/aws/s3/package-summary.html |     3 +-
 .../org/apache/iceberg/aws/s3/package-tree.html    |     3 +-
 .../iceberg/catalog/Catalog.TableBuilder.html      |     3 +-
 javadoc/org/apache/iceberg/catalog/Catalog.html    |   125 +-
 javadoc/org/apache/iceberg/catalog/Namespace.html  |     3 +-
 .../apache/iceberg/catalog/SupportsNamespaces.html |    17 +-
 .../apache/iceberg/catalog/TableIdentifier.html    |     3 +-
 .../apache/iceberg/catalog/package-summary.html    |     3 +-
 .../org/apache/iceberg/catalog/package-tree.html   |     3 +-
 .../apache/iceberg/common/DynClasses.Builder.html  |     3 +-
 javadoc/org/apache/iceberg/common/DynClasses.html  |     3 +-
 .../iceberg/common/DynConstructors.Builder.html    |     3 +-
 .../iceberg/common/DynConstructors.Ctor.html       |     3 +-
 .../org/apache/iceberg/common/DynConstructors.html |     3 +-
 .../iceberg/common/DynFields.BoundField.html       |     3 +-
 .../apache/iceberg/common/DynFields.Builder.html   |     3 +-
 .../iceberg/common/DynFields.StaticField.html      |     3 +-
 .../iceberg/common/DynFields.UnboundField.html     |     3 +-
 javadoc/org/apache/iceberg/common/DynFields.html   |     3 +-
 .../iceberg/common/DynMethods.BoundMethod.html     |     3 +-
 .../apache/iceberg/common/DynMethods.Builder.html  |     3 +-
 .../iceberg/common/DynMethods.StaticMethod.html    |     3 +-
 .../iceberg/common/DynMethods.UnboundMethod.html   |     3 +-
 javadoc/org/apache/iceberg/common/DynMethods.html  |     3 +-
 .../org/apache/iceberg/common/package-summary.html |     3 +-
 .../org/apache/iceberg/common/package-tree.html    |     3 +-
 ...iterFactory.html => BaseFileWriterFactory.html} |   125 +-
 javadoc/org/apache/iceberg/data/DeleteFilter.html  |    71 +-
 .../iceberg/data/GenericAppenderFactory.html       |     3 +-
 .../apache/iceberg/data/GenericDeleteFilter.html   |     5 +-
 javadoc/org/apache/iceberg/data/GenericRecord.html |     3 +-
 .../iceberg/data/IcebergGenerics.ScanBuilder.html  |     3 +-
 .../org/apache/iceberg/data/IcebergGenerics.html   |     3 +-
 .../iceberg/data/IdentityPartitionConverters.html  |     3 +-
 .../apache/iceberg/data/InternalRecordWrapper.html |     3 +-
 javadoc/org/apache/iceberg/data/Record.html        |     3 +-
 .../apache/iceberg/data/TableMigrationUtil.html    |    35 +-
 .../org/apache/iceberg/data/avro/DataReader.html   |     3 +-
 .../org/apache/iceberg/data/avro/DataWriter.html   |     3 +-
 .../apache/iceberg/data/avro/DecoderResolver.html  |     3 +-
 .../apache/iceberg/data/avro/IcebergDecoder.html   |     3 +-
 .../apache/iceberg/data/avro/IcebergEncoder.html   |     3 +-
 .../apache/iceberg/data/avro/package-summary.html  |     3 +-
 .../org/apache/iceberg/data/avro/package-tree.html |     3 +-
 .../apache/iceberg/data/orc/GenericOrcReader.html  |     3 +-
 .../apache/iceberg/data/orc/GenericOrcReaders.html |     3 +-
 .../apache/iceberg/data/orc/GenericOrcWriter.html  |    23 +-
 .../GenericOrcWriters.StructWriter.html}           |   129 +-
 .../apache/iceberg/data/orc/GenericOrcWriters.html |    60 +-
 .../apache/iceberg/data/orc/package-summary.html   |     7 +-
 .../org/apache/iceberg/data/orc/package-tree.html  |     4 +-
 .../org/apache/iceberg/data/package-summary.html   |     5 +-
 javadoc/org/apache/iceberg/data/package-tree.html  |     5 +-
 .../iceberg/data/parquet/BaseParquetReaders.html   |     3 +-
 .../iceberg/data/parquet/BaseParquetWriter.html    |     3 +-
 .../data/parquet/GenericParquetReaders.html        |     3 +-
 .../iceberg/data/parquet/GenericParquetWriter.html |     3 +-
 .../iceberg/data/parquet/package-summary.html      |     3 +-
 .../apache/iceberg/data/parquet/package-tree.html  |     3 +-
 javadoc/org/apache/iceberg/deletes/Deletes.html    |    53 +-
 .../iceberg/deletes/EqualityDeleteWriter.html      |   111 +-
 .../org/apache/iceberg/deletes/PositionDelete.html |    79 +-
 .../PositionDeleteIndex.html}                      |    95 +-
 .../iceberg/deletes/PositionDeleteWriter.html      |   123 +-
 .../apache/iceberg/deletes/package-summary.html    |    18 +-
 .../org/apache/iceberg/deletes/package-tree.html   |    13 +-
 .../apache/iceberg/encryption/EncryptedFiles.html  |     3 +-
 .../iceberg/encryption/EncryptedInputFile.html     |     3 +-
 .../iceberg/encryption/EncryptedOutputFile.html    |     3 +-
 .../iceberg/encryption/EncryptionKeyMetadata.html  |     3 +-
 .../iceberg/encryption/EncryptionKeyMetadatas.html |     3 +-
 .../iceberg/encryption/EncryptionManager.html      |     3 +-
 .../InputFilesDecryptor.html}                      |    49 +-
 .../encryption/PlaintextEncryptionManager.html     |     3 +-
 .../apache/iceberg/encryption/package-summary.html |     7 +-
 .../apache/iceberg/encryption/package-tree.html    |     4 +-
 .../apache/iceberg/events/CreateSnapshotEvent.html |     3 +-
 .../iceberg/events/IncrementalScanEvent.html       |     3 +-
 javadoc/org/apache/iceberg/events/Listener.html    |     3 +-
 javadoc/org/apache/iceberg/events/Listeners.html   |     3 +-
 javadoc/org/apache/iceberg/events/ScanEvent.html   |     3 +-
 .../org/apache/iceberg/events/package-summary.html |     3 +-
 .../org/apache/iceberg/events/package-tree.html    |     3 +-
 .../iceberg/exceptions/AlreadyExistsException.html |     3 +-
 .../CherrypickAncestorCommitException.html         |     3 +-
 .../iceberg/exceptions/CommitFailedException.html  |     3 +-
 .../exceptions/CommitStateUnknownException.html    |     3 +-
 .../exceptions/DuplicateWAPCommitException.html    |     3 +-
 .../exceptions/NamespaceNotEmptyException.html     |     3 +-
 .../exceptions/NoSuchIcebergTableException.html    |     3 +-
 .../exceptions/NoSuchNamespaceException.html       |     3 +-
 .../iceberg/exceptions/NoSuchTableException.html   |     3 +-
 .../iceberg/exceptions/NotFoundException.html      |     3 +-
 .../iceberg/exceptions/RuntimeIOException.html     |     3 +-
 .../iceberg/exceptions/ValidationException.html    |     3 +-
 .../apache/iceberg/exceptions/package-summary.html |     3 +-
 .../apache/iceberg/exceptions/package-tree.html    |     3 +-
 javadoc/org/apache/iceberg/expressions/And.html    |     3 +-
 javadoc/org/apache/iceberg/expressions/Binder.html |     3 +-
 javadoc/org/apache/iceberg/expressions/Bound.html  |     3 +-
 .../iceberg/expressions/BoundLiteralPredicate.html |     3 +-
 .../apache/iceberg/expressions/BoundPredicate.html |     3 +-
 .../apache/iceberg/expressions/BoundReference.html |     3 +-
 .../iceberg/expressions/BoundSetPredicate.html     |     3 +-
 .../org/apache/iceberg/expressions/BoundTerm.html  |     3 +-
 .../apache/iceberg/expressions/BoundTransform.html |     3 +-
 .../iceberg/expressions/BoundUnaryPredicate.html   |     3 +-
 .../org/apache/iceberg/expressions/Evaluator.html  |     3 +-
 .../iceberg/expressions/Expression.Operation.html  |    22 +-
 .../org/apache/iceberg/expressions/Expression.html |     3 +-
 .../ExpressionVisitors.BoundExpressionVisitor.html |   163 +-
 .../ExpressionVisitors.BoundVisitor.html           |    25 +-
 .../ExpressionVisitors.ExpressionVisitor.html      |     3 +-
 .../iceberg/expressions/ExpressionVisitors.html    |     9 +-
 .../apache/iceberg/expressions/Expressions.html    |    59 +-
 javadoc/org/apache/iceberg/expressions/False.html  |     3 +-
 .../expressions/InclusiveMetricsEvaluator.html     |     3 +-
 .../org/apache/iceberg/expressions/Literal.html    |     3 +-
 .../iceberg/expressions/ManifestEvaluator.html     |     3 +-
 .../apache/iceberg/expressions/NamedReference.html |     3 +-
 javadoc/org/apache/iceberg/expressions/Not.html    |     3 +-
 javadoc/org/apache/iceberg/expressions/Or.html     |     3 +-
 .../org/apache/iceberg/expressions/Predicate.html  |     3 +-
 .../Projections.ProjectionEvaluator.html           |     3 +-
 .../apache/iceberg/expressions/Projections.html    |     3 +-
 .../org/apache/iceberg/expressions/Reference.html  |     3 +-
 .../iceberg/expressions/ResidualEvaluator.html     |     3 +-
 .../expressions/StrictMetricsEvaluator.html        |    22 +-
 javadoc/org/apache/iceberg/expressions/Term.html   |     3 +-
 javadoc/org/apache/iceberg/expressions/True.html   |     3 +-
 .../org/apache/iceberg/expressions/Unbound.html    |     3 +-
 .../iceberg/expressions/UnboundPredicate.html      |     3 +-
 .../apache/iceberg/expressions/UnboundTerm.html    |     3 +-
 .../iceberg/expressions/UnboundTransform.html      |     3 +-
 .../iceberg/expressions/package-summary.html       |     7 +-
 .../apache/iceberg/expressions/package-tree.html   |     3 +-
 .../flink/CatalogLoader.CustomCatalogLoader.html   |     3 +-
 .../flink/CatalogLoader.HadoopCatalogLoader.html   |     3 +-
 .../flink/CatalogLoader.HiveCatalogLoader.html     |     3 +-
 .../org/apache/iceberg/flink/CatalogLoader.html    |     3 +-
 javadoc/org/apache/iceberg/flink/FlinkCatalog.html |     3 +-
 .../apache/iceberg/flink/FlinkCatalogFactory.html  |   132 +-
 .../apache/iceberg/flink/FlinkConfigOptions.html   |     3 +-
 .../iceberg/flink/FlinkDynamicTableFactory.html    |    16 +-
 javadoc/org/apache/iceberg/flink/FlinkFilters.html |     3 +-
 .../org/apache/iceberg/flink/FlinkSchemaUtil.html  |     3 +-
 .../org/apache/iceberg/flink/FlinkTypeVisitor.html |     3 +-
 .../org/apache/iceberg/flink/IcebergTableSink.html |     3 +-
 .../apache/iceberg/flink/IcebergTableSource.html   |     3 +-
 .../org/apache/iceberg/flink/RowDataWrapper.html   |     3 +-
 .../flink/TableLoader.CatalogTableLoader.html      |     3 +-
 .../flink/TableLoader.HadoopTableLoader.html       |     3 +-
 javadoc/org/apache/iceberg/flink/TableLoader.html  |     3 +-
 .../org/apache/iceberg/flink/actions/Actions.html  |     3 +-
 .../flink/actions/RewriteDataFilesAction.html      |     3 +-
 .../iceberg/flink/actions/package-summary.html     |     3 +-
 .../apache/iceberg/flink/actions/package-tree.html |     3 +-
 .../flink/data/AvroWithFlinkSchemaVisitor.html     |     3 +-
 .../apache/iceberg/flink/data/FlinkAvroReader.html |    29 +-
 .../apache/iceberg/flink/data/FlinkAvroWriter.html |     3 +-
 .../apache/iceberg/flink/data/FlinkOrcReader.html  |     3 +-
 .../apache/iceberg/flink/data/FlinkOrcWriter.html  |    23 +-
 .../iceberg/flink/data/FlinkParquetReaders.html    |     3 +-
 .../iceberg/flink/data/FlinkParquetWriters.html    |     3 +-
 .../iceberg/flink/data/FlinkValueReaders.html      |     3 +-
 .../iceberg/flink/data/FlinkValueWriters.html      |     3 +-
 .../flink/data/ParquetWithFlinkSchemaVisitor.html  |     3 +-
 .../iceberg/flink/data/RowDataProjection.html      |   694 ++
 .../org/apache/iceberg/flink/data/RowDataUtil.html |     3 +-
 .../apache/iceberg/flink/data/package-summary.html |     7 +-
 .../apache/iceberg/flink/data/package-tree.html    |     6 +-
 .../org/apache/iceberg/flink/package-summary.html  |     3 +-
 javadoc/org/apache/iceberg/flink/package-tree.html |     3 +-
 .../iceberg/flink/sink/FlinkAppenderFactory.html   |     3 +-
 .../iceberg/flink/sink/FlinkSink.Builder.html      |    94 +-
 .../org/apache/iceberg/flink/sink/FlinkSink.html   |     3 +-
 .../flink/sink/RowDataTaskWriterFactory.html       |    13 +-
 .../iceberg/flink/sink/TaskWriterFactory.html      |     3 +-
 .../apache/iceberg/flink/sink/package-summary.html |     3 +-
 .../apache/iceberg/flink/sink/package-tree.html    |     3 +-
 .../DataIterator.html}                             |    98 +-
 .../source/FileScanTaskReader.html}                |    38 +-
 .../iceberg/flink/source/FlinkInputFormat.html     |     3 +-
 .../iceberg/flink/source/FlinkInputSplit.html      |     3 +-
 .../iceberg/flink/source/FlinkSource.Builder.html  |     3 +-
 .../apache/iceberg/flink/source/FlinkSource.html   |     3 +-
 .../FlinkSplitPlanner.html}                        |    35 +-
 .../source/RowDataFileScanTaskReader.html}         |    56 +-
 .../flink/source/RowDataRewriter.RewriteMap.html   |     3 +-
 .../iceberg/flink/source/RowDataRewriter.html      |     3 +-
 .../flink/source/StreamingMonitorFunction.html     |     3 +-
 .../flink/source/StreamingReaderOperator.html      |    37 +-
 .../iceberg/flink/source/package-summary.html      |    46 +-
 .../apache/iceberg/flink/source/package-tree.html  |    16 +-
 .../source/split/IcebergSourceSplit.html}          |   192 +-
 .../split/IcebergSourceSplitSerializer.html}       |   141 +-
 .../flink/source/split}/package-summary.html       |    21 +-
 .../flink/source/split}/package-tree.html          |    24 +-
 .../iceberg/flink/util/FlinkCompatibilityUtil.html |     3 +-
 .../apache/iceberg/flink/util/package-summary.html |     3 +-
 .../apache/iceberg/flink/util/package-tree.html    |     3 +-
 .../GCPProperties.html}                            |   275 +-
 .../s3/S3FileIO.html => gcp/gcs/GCSFileIO.html}    |   116 +-
 .../S3InputFile.html => gcp/gcs/GCSInputFile.html} |    98 +-
 .../gcs/GCSOutputFile.html}                        |   101 +-
 .../actions => gcp/gcs}/package-summary.html       |    21 +-
 .../{aws/glue => gcp/gcs}/package-tree.html        |    17 +-
 .../iceberg/{arrow => gcp}/package-summary.html    |    15 +-
 .../iceberg/{arrow => gcp}/package-tree.html       |    12 +-
 .../apache/iceberg/hadoop/ConfigProperties.html    |    23 +-
 .../Listener.html => hadoop/Configurable.html}     |    29 +-
 .../org/apache/iceberg/hadoop/HadoopCatalog.html   |    67 +-
 .../apache/iceberg/hadoop/HadoopConfigurable.html  |     5 +-
 .../org/apache/iceberg/hadoop/HadoopFileIO.html    |     7 +-
 .../org/apache/iceberg/hadoop/HadoopInputFile.html |     3 +-
 .../apache/iceberg/hadoop/HadoopOutputFile.html    |     3 +-
 .../iceberg/hadoop/HadoopTableOperations.html      |    13 +-
 .../org/apache/iceberg/hadoop/HadoopTables.html    |    57 +-
 .../apache/iceberg/hadoop/HiddenPathFilter.html    |     3 +-
 .../iceberg/hadoop/SerializableConfiguration.html  |     3 +-
 javadoc/org/apache/iceberg/hadoop/Util.html        |     3 +-
 .../org/apache/iceberg/hadoop/package-summary.html |     9 +-
 .../org/apache/iceberg/hadoop/package-tree.html    |     4 +-
 .../org/apache/iceberg/hive/CachedClientPool.html  |    40 +-
 javadoc/org/apache/iceberg/hive/HiveCatalog.html   |   153 +-
 javadoc/org/apache/iceberg/hive/HiveCatalogs.html  |   273 -
 .../org/apache/iceberg/hive/HiveClientPool.html    |    37 +-
 .../org/apache/iceberg/hive/HiveSchemaUtil.html    |     3 +-
 .../apache/iceberg/hive/HiveTableOperations.html   |     5 +-
 javadoc/org/apache/iceberg/hive/MetastoreUtil.html |     3 +-
 .../apache/iceberg/hive/RuntimeMetaException.html  |     3 +-
 .../org/apache/iceberg/hive/package-summary.html   |    13 +-
 javadoc/org/apache/iceberg/hive/package-tree.html  |     4 +-
 .../BasePositionDeltaWriter.html}                  |   173 +-
 .../io/BaseTaskWriter.BaseEqualityDeltaWriter.html |     3 +-
 .../io/BaseTaskWriter.RollingEqDeleteWriter.html   |     3 +-
 .../io/BaseTaskWriter.RollingFileWriter.html       |     3 +-
 javadoc/org/apache/iceberg/io/BaseTaskWriter.html  |     3 +-
 javadoc/org/apache/iceberg/io/CloseableGroup.html  |    70 +-
 .../CloseableIterable.ConcatCloseableIterable.html |     5 +-
 .../org/apache/iceberg/io/CloseableIterable.html   |     3 +-
 .../org/apache/iceberg/io/CloseableIterator.html   |     5 +-
 javadoc/org/apache/iceberg/io/ClosingIterator.html |     3 +-
 .../ClusteredDataWriter.html}                      |   223 +-
 .../ClusteredEqualityDeleteWriter.html}            |   223 +-
 .../iceberg/io/ClusteredPositionDeleteWriter.html  |   445 +
 .../DataWriteResult.html}                          |    66 +-
 javadoc/org/apache/iceberg/io/DataWriter.html      |    98 +-
 .../apache/iceberg/io/DelegatingInputStream.html   |     3 +-
 .../apache/iceberg/io/DelegatingOutputStream.html  |     3 +-
 .../org/apache/iceberg/io/DeleteSchemaUtil.html    |     3 +-
 .../DeleteWriteResult.html}                        |   166 +-
 .../{TaskWriter.html => EqualityDeltaWriter.html}  |   130 +-
 .../FanoutDataWriter.html}                         |   186 +-
 javadoc/org/apache/iceberg/io/FileAppender.html    |     3 +-
 .../org/apache/iceberg/io/FileAppenderFactory.html |     3 +-
 javadoc/org/apache/iceberg/io/FileIO.html          |    49 +-
 .../io/{TaskWriter.html => FileWriter.html}        |   100 +-
 .../{WriterFactory.html => FileWriterFactory.html} |    25 +-
 javadoc/org/apache/iceberg/io/FilterIterator.html  |     3 +-
 javadoc/org/apache/iceberg/io/InputFile.html       |     5 +-
 .../org/apache/iceberg/io/LocationProvider.html    |     3 +-
 javadoc/org/apache/iceberg/io/OutputFile.html      |     5 +-
 .../iceberg/io/OutputFileFactory.Builder.html      |     3 +-
 .../org/apache/iceberg/io/OutputFileFactory.html   |   178 +-
 .../apache/iceberg/io/PartitionedFanoutWriter.html |     3 +-
 .../org/apache/iceberg/io/PartitionedWriter.html   |     3 +-
 .../PartitioningWriter.html}                       |   146 +-
 .../{TaskWriter.html => PositionDeltaWriter.html}  |   129 +-
 .../apache/iceberg/io/PositionOutputStream.html    |     7 +-
 .../HadoopFileIO.html => io/ResolvingFileIO.html}  |   191 +-
 .../org/apache/iceberg/io/RollingDataWriter.html   |   522 +
 .../iceberg/io/RollingEqualityDeleteWriter.html    |   522 +
 .../iceberg/io/RollingPositionDeleteWriter.html    |   522 +
 .../org/apache/iceberg/io/SeekableInputStream.html |     7 +-
 javadoc/org/apache/iceberg/io/TaskWriter.html      |     3 +-
 .../org/apache/iceberg/io/UnpartitionedWriter.html |     3 +-
 .../org/apache/iceberg/io/WriteResult.Builder.html |     3 +-
 javadoc/org/apache/iceberg/io/WriteResult.html     |     3 +-
 javadoc/org/apache/iceberg/io/package-summary.html |   138 +-
 javadoc/org/apache/iceberg/io/package-tree.html    |    25 +-
 javadoc/org/apache/iceberg/jdbc/JdbcCatalog.html   |    67 +-
 .../jdbc/UncheckedInterruptedException.html        |     3 +-
 .../apache/iceberg/jdbc/UncheckedSQLException.html |     3 +-
 .../org/apache/iceberg/jdbc/package-summary.html   |     3 +-
 javadoc/org/apache/iceberg/jdbc/package-tree.html  |     5 +-
 .../org/apache/iceberg/mapping/MappedField.html    |     3 +-
 .../org/apache/iceberg/mapping/MappedFields.html   |     3 +-
 .../org/apache/iceberg/mapping/MappingUtil.html    |     3 +-
 .../org/apache/iceberg/mapping/NameMapping.html    |     3 +-
 .../apache/iceberg/mapping/NameMappingParser.html  |     3 +-
 .../apache/iceberg/mapping/package-summary.html    |     3 +-
 .../org/apache/iceberg/mapping/package-tree.html   |     3 +-
 javadoc/org/apache/iceberg/mr/Catalogs.html        |     3 +-
 .../mr/InputFormatConfig.ConfigBuilder.html        |     3 +-
 .../mr/InputFormatConfig.InMemoryDataModel.html    |     3 +-
 .../org/apache/iceberg/mr/InputFormatConfig.html   |    39 +-
 .../iceberg/mr/hive/HiveIcebergFilterFactory.html  |     3 +-
 .../iceberg/mr/hive/HiveIcebergInputFormat.html    |     3 +-
 .../iceberg/mr/hive/HiveIcebergMetaHook.html       |     3 +-
 .../mr/hive/HiveIcebergOutputCommitter.html        |     3 +-
 .../iceberg/mr/hive/HiveIcebergOutputFormat.html   |     3 +-
 .../apache/iceberg/mr/hive/HiveIcebergSerDe.html   |     3 +-
 .../apache/iceberg/mr/hive/HiveIcebergSplit.html   |     3 +-
 .../iceberg/mr/hive/HiveIcebergStorageHandler.html |    93 +-
 javadoc/org/apache/iceberg/mr/hive/TezUtil.html    |     3 +-
 .../apache/iceberg/mr/hive/package-summary.html    |     3 +-
 .../org/apache/iceberg/mr/hive/package-tree.html   |     3 +-
 .../IcebergBinaryObjectInspector.html              |     3 +-
 .../IcebergDateObjectInspector.html                |     3 +-
 .../IcebergDecimalObjectInspector.html             |     3 +-
 .../IcebergFixedObjectInspector.html               |     3 +-
 .../objectinspector/IcebergObjectInspector.html    |     3 +-
 .../IcebergRecordObjectInspector.html              |     3 +-
 .../IcebergTimeObjectInspector.html                |     3 +-
 .../IcebergTimestampObjectInspector.html           |     3 +-
 .../IcebergTimestampWithZoneObjectInspector.html   |     3 +-
 .../IcebergUUIDObjectInspector.html                |     3 +-
 .../objectinspector/WriteObjectInspector.html      |     3 +-
 .../serde/objectinspector/package-summary.html     |     3 +-
 .../hive/serde/objectinspector/package-tree.html   |     3 +-
 .../mapred/AbstractMapredIcebergRecordReader.html  |     3 +-
 .../org/apache/iceberg/mr/mapred/Container.html    |     3 +-
 ...Format.CompatibilityTaskAttemptContextImpl.html |     3 +-
 .../mr/mapred/MapredIcebergInputFormat.html        |     3 +-
 .../apache/iceberg/mr/mapred/package-summary.html  |     3 +-
 .../org/apache/iceberg/mr/mapred/package-tree.html |     3 +-
 .../iceberg/mr/mapreduce/IcebergInputFormat.html   |     3 +-
 .../apache/iceberg/mr/mapreduce/IcebergSplit.html  |    45 +-
 .../mr/mapreduce/IcebergSplitContainer.html        |     3 +-
 .../iceberg/mr/mapreduce/package-summary.html      |     3 +-
 .../apache/iceberg/mr/mapreduce/package-tree.html  |     3 +-
 javadoc/org/apache/iceberg/mr/package-summary.html |     3 +-
 javadoc/org/apache/iceberg/mr/package-tree.html    |     3 +-
 .../org/apache/iceberg/nessie/NessieCatalog.html   |    46 +-
 .../iceberg/nessie/NessieTableOperations.html      |    29 +-
 javadoc/org/apache/iceberg/nessie/NessieUtil.html  |    81 +-
 .../org/apache/iceberg/nessie/TableReference.html  |   373 -
 .../org/apache/iceberg/nessie/package-summary.html |     7 +-
 .../org/apache/iceberg/nessie/package-tree.html    |     4 +-
 .../apache/iceberg/orc/ORC.DataWriteBuilder.html   |     3 +-
 .../ORC.DeleteWriteBuilder.html}                   |   103 +-
 .../org/apache/iceberg/orc/ORC.ReadBuilder.html    |     3 +-
 .../org/apache/iceberg/orc/ORC.WriteBuilder.html   |    45 +-
 javadoc/org/apache/iceberg/orc/ORC.html            |    26 +-
 .../iceberg/orc/ORCSchemaUtil.BinaryType.html      |     3 +-
 .../apache/iceberg/orc/ORCSchemaUtil.LongType.html |     3 +-
 javadoc/org/apache/iceberg/orc/ORCSchemaUtil.html  |     3 +-
 javadoc/org/apache/iceberg/orc/OrcBatchReader.html |     3 +-
 javadoc/org/apache/iceberg/orc/OrcMetrics.html     |     3 +-
 javadoc/org/apache/iceberg/orc/OrcRowReader.html   |     3 +-
 javadoc/org/apache/iceberg/orc/OrcRowWriter.html   |    19 +-
 .../org/apache/iceberg/orc/OrcSchemaVisitor.html   |     3 +-
 .../iceberg/orc/OrcSchemaWithTypeVisitor.html      |     3 +-
 javadoc/org/apache/iceberg/orc/OrcValueReader.html |     3 +-
 .../iceberg/orc/OrcValueReaders.StructReader.html  |     3 +-
 .../org/apache/iceberg/orc/OrcValueReaders.html    |     3 +-
 javadoc/org/apache/iceberg/orc/OrcValueWriter.html |    29 +-
 .../iceberg/orc/VectorizedRowBatchIterator.html    |     3 +-
 .../org/apache/iceberg/orc/package-summary.html    |    23 +-
 javadoc/org/apache/iceberg/orc/package-tree.html   |     4 +-
 javadoc/org/apache/iceberg/package-summary.html    |   103 +-
 javadoc/org/apache/iceberg/package-tree.html       |    25 +-
 .../apache/iceberg/parquet/BaseColumnIterator.html |     3 +-
 .../parquet/BasePageIterator.IntIterator.html      |     3 +-
 .../apache/iceberg/parquet/BasePageIterator.html   |     3 +-
 .../org/apache/iceberg/parquet/ColumnIterator.html |     3 +-
 .../org/apache/iceberg/parquet/ColumnWriter.html   |     3 +-
 .../iceberg/parquet/Parquet.DataWriteBuilder.html  |     3 +-
 .../parquet/Parquet.DeleteWriteBuilder.html        |     3 +-
 .../iceberg/parquet/Parquet.ReadBuilder.html       |     3 +-
 .../iceberg/parquet/Parquet.WriteBuilder.html      |     3 +-
 javadoc/org/apache/iceberg/parquet/Parquet.html    |     3 +-
 .../apache/iceberg/parquet/ParquetAvroReader.html  |     3 +-
 .../ParquetAvroValueReaders.TimeMillisReader.html  |     3 +-
 ...quetAvroValueReaders.TimestampMillisReader.html |     3 +-
 .../iceberg/parquet/ParquetAvroValueReaders.html   |     3 +-
 .../apache/iceberg/parquet/ParquetAvroWriter.html  |     3 +-
 .../parquet/ParquetDictionaryRowGroupFilter.html   |     3 +-
 .../apache/iceberg/parquet/ParquetIterable.html    |     5 +-
 .../parquet/ParquetMetricsRowGroupFilter.html      |     3 +-
 .../org/apache/iceberg/parquet/ParquetReader.html  |     5 +-
 .../iceberg/parquet/ParquetSchemaUtil.HasIds.html  |     3 +-
 .../apache/iceberg/parquet/ParquetSchemaUtil.html  |     3 +-
 .../apache/iceberg/parquet/ParquetTypeVisitor.html |     3 +-
 .../org/apache/iceberg/parquet/ParquetUtil.html    |     3 +-
 .../apache/iceberg/parquet/ParquetValueReader.html |     3 +-
 .../ParquetValueReaders.BinaryAsDecimalReader.html |     3 +-
 .../ParquetValueReaders.ByteArrayReader.html       |     3 +-
 .../parquet/ParquetValueReaders.BytesReader.html   |     3 +-
 .../ParquetValueReaders.FloatAsDoubleReader.html   |     3 +-
 .../ParquetValueReaders.IntAsLongReader.html       |     3 +-
 ...ParquetValueReaders.IntegerAsDecimalReader.html |     3 +-
 .../parquet/ParquetValueReaders.ListReader.html    |     3 +-
 .../ParquetValueReaders.LongAsDecimalReader.html   |     3 +-
 .../parquet/ParquetValueReaders.MapReader.html     |     3 +-
 .../ParquetValueReaders.PrimitiveReader.html       |     3 +-
 ...ParquetValueReaders.RepeatedKeyValueReader.html |     3 +-
 .../ParquetValueReaders.RepeatedReader.html        |     3 +-
 .../parquet/ParquetValueReaders.ReusableEntry.html |     3 +-
 .../parquet/ParquetValueReaders.StringReader.html  |     3 +-
 .../parquet/ParquetValueReaders.StructReader.html  |     3 +-
 .../parquet/ParquetValueReaders.UnboxedReader.html |     3 +-
 .../iceberg/parquet/ParquetValueReaders.html       |     3 +-
 .../apache/iceberg/parquet/ParquetValueWriter.html |     3 +-
 ...uetValueWriters.PositionDeleteStructWriter.html |     3 +-
 .../ParquetValueWriters.PrimitiveWriter.html       |     3 +-
 ...ParquetValueWriters.RepeatedKeyValueWriter.html |     3 +-
 .../ParquetValueWriters.RepeatedWriter.html        |     3 +-
 .../parquet/ParquetValueWriters.StructWriter.html  |     3 +-
 .../iceberg/parquet/ParquetValueWriters.html       |     3 +-
 .../iceberg/parquet/ParquetWriteAdapter.html       |     3 +-
 javadoc/org/apache/iceberg/parquet/RemoveIds.html  |     3 +-
 .../org/apache/iceberg/parquet/TripleWriter.html   |     3 +-
 .../apache/iceberg/parquet/TypeToMessageType.html  |     3 +-
 .../iceberg/parquet/TypeWithSchemaVisitor.html     |     3 +-
 .../iceberg/parquet/ValuesAsBytesReader.html       |     3 +-
 .../iceberg/parquet/VectorizedParquetReader.html   |     5 +-
 .../apache/iceberg/parquet/VectorizedReader.html   |     5 +-
 .../apache/iceberg/parquet/package-summary.html    |     3 +-
 .../org/apache/iceberg/parquet/package-tree.html   |     3 +-
 .../IcebergPigInputFormat.IcebergRecordReader.html |     3 +-
 .../apache/iceberg/pig/IcebergPigInputFormat.html  |     3 +-
 javadoc/org/apache/iceberg/pig/IcebergStorage.html |     3 +-
 .../org/apache/iceberg/pig/PigParquetReader.html   |     3 +-
 javadoc/org/apache/iceberg/pig/SchemaUtil.html     |     3 +-
 .../org/apache/iceberg/pig/package-summary.html    |     3 +-
 javadoc/org/apache/iceberg/pig/package-tree.html   |     3 +-
 .../SchemaWithPartnerVisitor.PartnerAccessors.html |     3 +-
 .../iceberg/schema/SchemaWithPartnerVisitor.html   |     3 +-
 .../apache/iceberg/schema/UnionByNameVisitor.html  |     3 +-
 .../org/apache/iceberg/schema/package-summary.html |     3 +-
 .../org/apache/iceberg/schema/package-tree.html    |     3 +-
 .../iceberg/spark/FileRewriteCoordinator.html      |     3 +-
 .../iceberg/spark/FileScanTaskSetManager.html      |     3 +-
 javadoc/org/apache/iceberg/spark/IcebergSpark.html |    27 +-
 javadoc/org/apache/iceberg/spark/JobGroupInfo.html |     3 +-
 .../org/apache/iceberg/spark/JobGroupUtils.html    |     3 +-
 .../org/apache/iceberg/spark/PathIdentifier.html   |     3 +-
 .../iceberg/spark/PruneColumnsWithReordering.html  |     3 +-
 .../spark/PruneColumnsWithoutReordering.html       |     3 +-
 .../apache/iceberg/spark/RollbackStagedTable.html  |    12 +-
 .../spark/Spark3Util.CatalogAndIdentifier.html     |     3 +-
 .../spark/Spark3Util.DescribeSchemaVisitor.html    |     3 +-
 javadoc/org/apache/iceberg/spark/Spark3Util.html   |   258 +-
 javadoc/org/apache/iceberg/spark/SparkCatalog.html |    10 +-
 .../org/apache/iceberg/spark/SparkDataFile.html    |     5 +-
 .../spark/SparkDistributionAndOrderingUtil.html    |   367 +
 .../apache/iceberg/spark/SparkExceptionUtil.html   |     3 +-
 javadoc/org/apache/iceberg/spark/SparkFilters.html |     3 +-
 .../SparkReadConf.html}                            |   285 +-
 .../org/apache/iceberg/spark/SparkReadOptions.html |   119 +-
 ...arkReadOptions.html => SparkSQLProperties.html} |   110 +-
 .../org/apache/iceberg/spark/SparkSchemaUtil.html  |    53 +-
 .../apache/iceberg/spark/SparkSessionCatalog.html  |    49 +-
 .../org/apache/iceberg/spark/SparkStructLike.html  |     3 +-
 .../spark/SparkTableUtil.SparkPartition.html       |     3 +-
 .../org/apache/iceberg/spark/SparkTableUtil.html   |   137 +-
 javadoc/org/apache/iceberg/spark/SparkUtil.html    |   123 +-
 .../apache/iceberg/spark/SparkValueConverter.html  |     3 +-
 .../SparkWriteConf.html}                           |   273 +-
 .../apache/iceberg/spark/SparkWriteOptions.html    |   131 +-
 .../actions/BaseDeleteOrphanFilesSparkAction.html  |    57 +-
 .../BaseDeleteReachableFilesSparkAction.html       |     3 +-
 .../actions/BaseExpireSnapshotsSparkAction.html    |     3 +-
 .../spark/actions/BaseMigrateTableSparkAction.html |     3 +-
 .../actions/BaseRewriteDataFilesSpark3Action.html  |    80 +-
 .../actions/BaseRewriteManifestsSparkAction.html   |     3 +-
 .../actions/BaseSnapshotTableSparkAction.html      |     3 +-
 .../{ => spark}/actions/ManifestFileBean.html      |   149 +-
 .../spark/actions/Spark3BinPackStrategy.html       |     7 +-
 ...inPackStrategy.html => Spark3SortStrategy.html} |   191 +-
 .../apache/iceberg/spark/actions/SparkActions.html |     3 +-
 .../iceberg/spark/actions/package-summary.html     |    11 +-
 .../apache/iceberg/spark/actions/package-tree.html |     9 +-
 .../spark/data/AvroWithSparkSchemaVisitor.html     |     3 +-
 .../spark/data/ParquetWithSparkSchemaVisitor.html  |     3 +-
 .../apache/iceberg/spark/data/SparkAvroReader.html |     3 +-
 .../apache/iceberg/spark/data/SparkAvroWriter.html |     3 +-
 .../apache/iceberg/spark/data/SparkOrcReader.html  |     3 +-
 .../iceberg/spark/data/SparkOrcValueReaders.html   |     3 +-
 .../apache/iceberg/spark/data/SparkOrcWriter.html  |    23 +-
 .../iceberg/spark/data/SparkParquetReaders.html    |     3 +-
 .../iceberg/spark/data/SparkParquetWriters.html    |     3 +-
 .../iceberg/spark/data/SparkValueReaders.html      |     3 +-
 .../iceberg/spark/data/SparkValueWriters.html      |     3 +-
 .../apache/iceberg/spark/data/package-summary.html |     3 +-
 .../apache/iceberg/spark/data/package-tree.html    |     3 +-
 .../data/vectorized/ArrowVectorAccessors.html      |     3 +-
 ...lumnVector.html => ColumnVectorWithFilter.html} |   251 +-
 .../spark/data/vectorized/ColumnarBatchReader.html |   103 +-
 .../data/vectorized/IcebergArrowColumnVector.html  |    71 +-
 .../data/vectorized/RowPositionColumnVector.html   |     7 +-
 .../data/vectorized/VectorizedSparkOrcReaders.html |     3 +-
 .../vectorized/VectorizedSparkParquetReaders.html  |    29 +-
 .../spark/data/vectorized/package-summary.html     |    13 +-
 .../spark/data/vectorized/package-tree.html        |    15 +-
 .../org/apache/iceberg/spark/package-summary.html  |    33 +-
 javadoc/org/apache/iceberg/spark/package-tree.html |     8 +-
 ...otsProcedure.html => AncestorsOfProcedure.html} |    18 +-
 .../spark/procedures/ExpireSnapshotsProcedure.html |     5 +-
 .../procedures/RemoveOrphanFilesProcedure.html     |     5 +-
 .../SparkProcedures.ProcedureBuilder.html          |     3 +-
 .../iceberg/spark/procedures/SparkProcedures.html  |     3 +-
 .../iceberg/spark/procedures/package-summary.html  |    11 +-
 .../iceberg/spark/procedures/package-tree.html     |     4 +-
 .../spark/source/EqualityDeleteRowReader.html      |    47 +-
 .../apache/iceberg/spark/source/IcebergSource.html |     3 +-
 .../iceberg/spark/source/RowDataRewriter.html      |     3 +-
 ...ewriteBuilder.html => SparkMetadataColumn.html} |    89 +-
 .../spark/source/SparkMicroBatchStream.html        |     3 +-
 .../spark/source/SparkPartitionedFanoutWriter.html |     3 +-
 .../spark/source/SparkPartitionedWriter.html       |     3 +-
 .../iceberg/spark/source/SparkScanBuilder.html     |    35 +-
 .../apache/iceberg/spark/source/SparkTable.html    |   105 +-
 .../iceberg/spark/source/StagedSparkTable.html     |    14 +-
 .../iceberg/spark/source/package-summary.html      |    11 +-
 .../apache/iceberg/spark/source/package-tree.html  |     7 +-
 .../iceberg/transforms/PartitionSpecVisitor.html   |    48 +-
 .../iceberg/transforms/SortOrderVisitor.html       |     3 +-
 .../org/apache/iceberg/transforms/Transform.html   |     3 +-
 .../org/apache/iceberg/transforms/Transforms.html  |     3 +-
 .../iceberg/transforms/UnknownTransform.html       |     3 +-
 .../apache/iceberg/transforms/package-summary.html |     3 +-
 .../apache/iceberg/transforms/package-tree.html    |     3 +-
 .../apache/iceberg/types/CheckCompatibility.html   |     3 +-
 javadoc/org/apache/iceberg/types/Comparators.html  |     3 +-
 javadoc/org/apache/iceberg/types/Conversions.html  |     3 +-
 javadoc/org/apache/iceberg/types/FixupTypes.html   |     3 +-
 javadoc/org/apache/iceberg/types/IndexByName.html  |    18 +-
 javadoc/org/apache/iceberg/types/IndexParents.html |     3 +-
 javadoc/org/apache/iceberg/types/JavaHash.html     |     3 +-
 javadoc/org/apache/iceberg/types/JavaHashes.html   |     3 +-
 .../org/apache/iceberg/types/Type.NestedType.html  |     3 +-
 .../apache/iceberg/types/Type.PrimitiveType.html   |     3 +-
 javadoc/org/apache/iceberg/types/Type.TypeID.html  |     3 +-
 javadoc/org/apache/iceberg/types/Type.html         |     3 +-
 .../types/TypeUtil.CustomOrderSchemaVisitor.html   |     3 +-
 .../org/apache/iceberg/types/TypeUtil.NextID.html  |     3 +-
 .../iceberg/types/TypeUtil.SchemaVisitor.html      |     3 +-
 javadoc/org/apache/iceberg/types/TypeUtil.html     |   124 +-
 .../org/apache/iceberg/types/Types.BinaryType.html |     3 +-
 .../apache/iceberg/types/Types.BooleanType.html    |     3 +-
 .../org/apache/iceberg/types/Types.DateType.html   |     3 +-
 .../apache/iceberg/types/Types.DecimalType.html    |     3 +-
 .../org/apache/iceberg/types/Types.DoubleType.html |     3 +-
 .../org/apache/iceberg/types/Types.FixedType.html  |     3 +-
 .../org/apache/iceberg/types/Types.FloatType.html  |     3 +-
 .../apache/iceberg/types/Types.IntegerType.html    |     3 +-
 .../org/apache/iceberg/types/Types.ListType.html   |     3 +-
 .../org/apache/iceberg/types/Types.LongType.html   |     3 +-
 .../org/apache/iceberg/types/Types.MapType.html    |     3 +-
 .../apache/iceberg/types/Types.NestedField.html    |     3 +-
 .../org/apache/iceberg/types/Types.StringType.html |     3 +-
 .../org/apache/iceberg/types/Types.StructType.html |     3 +-
 .../org/apache/iceberg/types/Types.TimeType.html   |     3 +-
 .../apache/iceberg/types/Types.TimestampType.html  |     3 +-
 .../org/apache/iceberg/types/Types.UUIDType.html   |     3 +-
 javadoc/org/apache/iceberg/types/Types.html        |     3 +-
 .../org/apache/iceberg/types/package-summary.html  |     3 +-
 javadoc/org/apache/iceberg/types/package-tree.html |     3 +-
 javadoc/org/apache/iceberg/util/ArrayUtil.html     |     3 +-
 .../apache/iceberg/util/BinPacking.ListPacker.html |     3 +-
 .../iceberg/util/BinPacking.PackingIterable.html   |     3 +-
 javadoc/org/apache/iceberg/util/BinPacking.html    |     3 +-
 javadoc/org/apache/iceberg/util/BinaryUtil.html    |     3 +-
 javadoc/org/apache/iceberg/util/ByteBuffers.html   |     3 +-
 .../org/apache/iceberg/util/CharSequenceSet.html   |     3 +-
 .../apache/iceberg/util/CharSequenceWrapper.html   |     3 +-
 javadoc/org/apache/iceberg/util/DateTimeUtil.html  |    35 +-
 javadoc/org/apache/iceberg/util/DecimalUtil.html   |     3 +-
 .../apache/iceberg/util/ExceptionUtil.Block.html   |     3 +-
 .../iceberg/util/ExceptionUtil.CatchBlock.html     |     3 +-
 .../iceberg/util/ExceptionUtil.FinallyBlock.html   |     3 +-
 javadoc/org/apache/iceberg/util/ExceptionUtil.html |    32 +-
 javadoc/org/apache/iceberg/util/Exceptions.html    |     3 +-
 javadoc/org/apache/iceberg/util/Filter.html        |     3 +-
 javadoc/org/apache/iceberg/util/JsonUtil.html      |     3 +-
 .../LockManagers.BaseLockManager.html}             |   141 +-
 .../DynClasses.html => util/LockManagers.html}     |    43 +-
 .../org/apache/iceberg/util/ManifestFileUtil.html  |     3 +-
 javadoc/org/apache/iceberg/util/NaNUtil.html       |     3 +-
 javadoc/org/apache/iceberg/util/Pair.html          |     3 +-
 .../org/apache/iceberg/util/ParallelIterable.html  |     5 +-
 javadoc/org/apache/iceberg/util/PartitionSet.html  |     3 +-
 javadoc/org/apache/iceberg/util/PartitionUtil.html |    23 +-
 javadoc/org/apache/iceberg/util/PropertyUtil.html  |     3 +-
 .../org/apache/iceberg/util/SerializableMap.html   |     3 +-
 .../apache/iceberg/util/SerializableSupplier.html  |     3 +-
 .../org/apache/iceberg/util/SerializationUtil.html |     3 +-
 javadoc/org/apache/iceberg/util/SnapshotUtil.html  |   262 +-
 javadoc/org/apache/iceberg/util/SortOrderUtil.html |    55 +-
 javadoc/org/apache/iceberg/util/SortedMerge.html   |     5 +-
 javadoc/org/apache/iceberg/util/StructLikeMap.html |     3 +-
 javadoc/org/apache/iceberg/util/StructLikeSet.html |     3 +-
 .../org/apache/iceberg/util/StructLikeWrapper.html |     3 +-
 .../org/apache/iceberg/util/StructProjection.html  |    67 +-
 javadoc/org/apache/iceberg/util/TableScanUtil.html |    26 +-
 javadoc/org/apache/iceberg/util/Tasks.Builder.html |     9 +-
 .../org/apache/iceberg/util/Tasks.FailureTask.html |     3 +-
 javadoc/org/apache/iceberg/util/Tasks.Task.html    |     3 +-
 .../iceberg/util/Tasks.UnrecoverableException.html |     3 +-
 javadoc/org/apache/iceberg/util/Tasks.html         |     6 +-
 javadoc/org/apache/iceberg/util/ThreadPools.html   |     3 +-
 javadoc/org/apache/iceberg/util/UUIDUtil.html      |     3 +-
 javadoc/org/apache/iceberg/util/UnicodeUtil.html   |     3 +-
 javadoc/org/apache/iceberg/util/WapUtil.html       |     3 +-
 .../org/apache/iceberg/util/package-summary.html   |    11 +-
 javadoc/org/apache/iceberg/util/package-tree.html  |     5 +-
 .../analysis/NoSuchProcedureException.html         |     7 +-
 .../sql/catalyst/analysis/package-summary.html     |     3 +-
 .../spark/sql/catalyst/analysis/package-tree.html  |     5 +-
 .../IcebergSqlExtensionsBaseListener.html          |     3 +-
 .../IcebergSqlExtensionsBaseVisitor.html           |     3 +-
 .../extensions/IcebergSqlExtensionsLexer.html      |     3 +-
 .../extensions/IcebergSqlExtensionsListener.html   |     3 +-
 ...lExtensionsParser.AddPartitionFieldContext.html |     3 +-
 ...gSqlExtensionsParser.ApplyTransformContext.html |     3 +-
 ...lExtensionsParser.BigDecimalLiteralContext.html |     3 +-
 ...rgSqlExtensionsParser.BigIntLiteralContext.html |     3 +-
 ...gSqlExtensionsParser.BooleanLiteralContext.html |     3 +-
 ...ergSqlExtensionsParser.BooleanValueContext.html |     3 +-
 ...ergSqlExtensionsParser.CallArgumentContext.html |     3 +-
 .../IcebergSqlExtensionsParser.CallContext.html    |     3 +-
 ...IcebergSqlExtensionsParser.ConstantContext.html |     3 +-
 ...gSqlExtensionsParser.DecimalLiteralContext.html |     3 +-
 ...rgSqlExtensionsParser.DoubleLiteralContext.html |     3 +-
 ...tensionsParser.DropIdentifierFieldsContext.html |     3 +-
 ...ExtensionsParser.DropPartitionFieldContext.html |     3 +-
 ...SqlExtensionsParser.ExponentLiteralContext.html |     3 +-
 ...ebergSqlExtensionsParser.ExpressionContext.html |     3 +-
 ...cebergSqlExtensionsParser.FieldListContext.html |     3 +-
 ...ergSqlExtensionsParser.FloatLiteralContext.html |     3 +-
 ...ebergSqlExtensionsParser.IdentifierContext.html |     3 +-
 ...lExtensionsParser.IdentityTransformContext.html |     3 +-
 ...gSqlExtensionsParser.IntegerLiteralContext.html |     3 +-
 ...xtensionsParser.MultipartIdentifierContext.html |     3 +-
 ...rgSqlExtensionsParser.NamedArgumentContext.html |     3 +-
 ...bergSqlExtensionsParser.NonReservedContext.html |     3 +-
 .../IcebergSqlExtensionsParser.NumberContext.html  |     3 +-
 ...gSqlExtensionsParser.NumericLiteralContext.html |     3 +-
 .../IcebergSqlExtensionsParser.OrderContext.html   |     3 +-
 ...ebergSqlExtensionsParser.OrderFieldContext.html |     3 +-
 ...ExtensionsParser.PositionalArgumentContext.html |     3 +-
 ...sParser.QuotedIdentifierAlternativeContext.html |     3 +-
 ...qlExtensionsParser.QuotedIdentifierContext.html |     3 +-
 ...ensionsParser.ReplacePartitionFieldContext.html |     3 +-
 ...xtensionsParser.SetIdentifierFieldsContext.html |     3 +-
 ...ser.SetWriteDistributionAndOrderingContext.html |     3 +-
 ...SqlExtensionsParser.SingleStatementContext.html |     3 +-
 ...SqlExtensionsParser.SmallIntLiteralContext.html |     3 +-
 ...cebergSqlExtensionsParser.StatementContext.html |     3 +-
 ...rgSqlExtensionsParser.StringLiteralContext.html |     3 +-
 ...cebergSqlExtensionsParser.StringMapContext.html |     3 +-
 ...gSqlExtensionsParser.TinyIntLiteralContext.html |     3 +-
 ...lExtensionsParser.TransformArgumentContext.html |     3 +-
 ...cebergSqlExtensionsParser.TransformContext.html |     3 +-
 ...SqlExtensionsParser.TypeConstructorContext.html |     3 +-
 ...ExtensionsParser.UnquotedIdentifierContext.html |     3 +-
 ...ensionsParser.WriteDistributionSpecContext.html |     3 +-
 ...lExtensionsParser.WriteOrderingSpecContext.html |     3 +-
 ...cebergSqlExtensionsParser.WriteSpecContext.html |     3 +-
 .../extensions/IcebergSqlExtensionsParser.html     |     3 +-
 .../extensions/IcebergSqlExtensionsVisitor.html    |     3 +-
 .../parser/extensions/package-summary.html         |     3 +-
 .../catalyst/parser/extensions/package-tree.html   |     3 +-
 .../iceberg/catalog/ExtendedSupportsDelete.html    |   280 -
 .../sql/connector/iceberg/catalog/Procedure.html   |     5 +-
 .../iceberg/catalog/ProcedureCatalog.html          |     3 +-
 .../iceberg/catalog/ProcedureParameter.html        |     3 +-
 ...sMerge.html => SupportsRowLevelOperations.html} |    40 +-
 .../connector/iceberg/catalog/package-summary.html |    17 +-
 .../connector/iceberg/catalog/package-tree.html    |    10 +-
 .../iceberg/distributions/Distribution.html        |   201 -
 .../iceberg/distributions/Distributions.html       |   310 -
 .../distributions/UnspecifiedDistribution.html     |   202 -
 .../impl/ClusterDistributionImpl.html              |   317 -
 .../impl/OrderedDistributionImpl.html              |   317 -
 .../impl/UnspecifiedDistributionImpl.html          |   271 -
 .../distributions/impl/package-summary.html        |   172 -
 .../iceberg/distributions/impl/package-tree.html   |   163 -
 .../iceberg/distributions/package-summary.html     |   203 -
 .../iceberg/distributions/package-tree.html        |   173 -
 .../iceberg/expressions/SortDirection.html         |   399 -
 .../iceberg/expressions/package-summary.html       |   189 -
 .../iceberg/expressions/package-tree.html          |   176 -
 .../connector/iceberg/read/package-summary.html    |   166 -
 .../sql/connector/iceberg/read/package-tree.html   |   161 -
 .../DeltaBatchWrite.html}                          |    45 +-
 .../DeltaWrite.html}                               |    48 +-
 .../DeltaWriteBuilder.html}                        |    50 +-
 .../Procedure.html => write/DeltaWriter.html}      |   145 +-
 .../DeltaWriterFactory.html}                       |    49 +-
 ...eBuilder.html => ExtendedLogicalWriteInfo.html} |    61 +-
 .../RowLevelOperation.Command.html}                |    98 +-
 .../RowLevelOperation.html}                        |   150 +-
 .../RowLevelOperationBuilder.html}                 |    43 +-
 ...ergeBuilder.html => RowLevelOperationInfo.html} |    49 +-
 .../SortOrder.html => write/SupportsDelta.html}    |   108 +-
 .../connector/iceberg/write/package-summary.html   |    79 +-
 .../sql/connector/iceberg/write/package-tree.html  |    67 +-
 javadoc/overview-summary.html                      |     2 +-
 javadoc/overview-tree.html                         |   221 +-
 javadoc/package-search-index.js                    |     2 +-
 javadoc/package-search-index.zip                   |   Bin 591 -> 589 bytes
 javadoc/serialized-form.html                       |  1531 ++-
 javadoc/type-search-index.js                       |     2 +-
 javadoc/type-search-index.zip                      |   Bin 6384 -> 6736 bytes
 1045 files changed, 32936 insertions(+), 21206 deletions(-)

diff --git a/javadoc/allclasses-index.html b/javadoc/allclasses-index.html
index 40aaed1..5637b1f 100644
--- a/javadoc/allclasses-index.html
+++ b/javadoc/allclasses-index.html
@@ -2,10 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.12) on Mon Nov 08 18:33:49 PST 2021 -->
+<!-- Generated by javadoc -->
 <title>All Classes</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2021-11-08">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
@@ -27,7 +26,7 @@
     catch(err) {
     }
 //-->
-var data = {"i0":2,"i1":1,"i2":2,"i3":1,"i4":2,"i5":2,"i6":1,"i7":2,"i8":2,"i9":2,"i10":2,"i11":2,"i12":8,"i13":2,"i14":1,"i15":2,"i16":2,"i17":2,"i18":2,"i19":2,"i20":2,"i21":2,"i22":2,"i23":2,"i24":2,"i25":2,"i26":2,"i27":2,"i28":2,"i29":2,"i30":2,"i31":2,"i32":2,"i33":2,"i34":2,"i35":2,"i36":2,"i37":1,"i38":2,"i39":2,"i40":2,"i41":2,"i42":2,"i43":2,"i44":2,"i45":2,"i46":2,"i47":2,"i48":2,"i49":2,"i50":4,"i51":2,"i52":2,"i53":2,"i54":2,"i55":2,"i56":2,"i57":2,"i58":2,"i59":2,"i60":2,"i [...]
+var data = {"i0":2,"i1":1,"i2":2,"i3":1,"i4":2,"i5":1,"i6":2,"i7":1,"i8":2,"i9":2,"i10":2,"i11":2,"i12":2,"i13":2,"i14":8,"i15":2,"i16":2,"i17":1,"i18":2,"i19":2,"i20":2,"i21":2,"i22":2,"i23":2,"i24":2,"i25":2,"i26":2,"i27":2,"i28":2,"i29":2,"i30":2,"i31":2,"i32":2,"i33":2,"i34":2,"i35":2,"i36":2,"i37":2,"i38":2,"i39":2,"i40":1,"i41":2,"i42":2,"i43":2,"i44":2,"i45":2,"i46":2,"i47":2,"i48":2,"i49":2,"i50":2,"i51":2,"i52":2,"i53":2,"i54":2,"i55":4,"i56":2,"i57":2,"i58":2,"i59":2,"i60":2,"i [...]
 var tabs = {65535:["t0","All Classes"],1:["t1","Interface Summary"],2:["t2","Class Summary"],4:["t3","Enum Summary"],8:["t4","Exception Summary"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -131,834 +130,926 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </th>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><a href="org/apache/iceberg/actions/Actions.html" title="class in org.apache.iceberg.actions">Actions</a></td>
-<th class="colLast" scope="row">Deprecated.
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use an implementation of <a href="org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions"><code>ActionsProvider</code></a> instead.</div>
-</th>
-</tr>
-<tr id="i5" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/actions/Actions.html" title="class in org.apache.iceberg.flink.actions">Actions</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions">ActionsProvider</a></td>
 <th class="colLast" scope="row">
 <div class="block">An API that should be implemented by query engine integrations for providing actions.</div>
 </th>
 </tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/aliyun/AliyunClientFactories.html" title="class in org.apache.iceberg.aliyun">AliyunClientFactories</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
 <tr id="i7" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/aliyun/AliyunClientFactory.html" title="interface in org.apache.iceberg.aliyun">AliyunClientFactory</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun">AliyunProperties</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/AllDataFilesTable.html" title="class in org.apache.iceberg">AllDataFilesTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's valid data files as rows.</div>
 </th>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html" title="class in org.apache.iceberg">AllDataFilesTable.AllDataFilesTableScan</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/AllEntriesTable.html" title="class in org.apache.iceberg">AllEntriesTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's manifest entries as rows, for both delete and data files.</div>
 </th>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/AllManifestsTable.html" title="class in org.apache.iceberg">AllManifestsTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's valid manifest files as rows.</div>
 </th>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html" title="class in org.apache.iceberg">AllManifestsTable.AllManifestsTableScan</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/exceptions/AlreadyExistsException.html" title="class in org.apache.iceberg.exceptions">AlreadyExistsException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception raised when attempting to create a table that already exists.</div>
 </th>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/procedures/AncestorsOfProcedure.html" title="class in org.apache.iceberg.spark.procedures">AncestorsOfProcedure</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i16" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/And.html" title="class in org.apache.iceberg.expressions">And</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/AppendFiles.html" title="interface in org.apache.iceberg">AppendFiles</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for appending new files in a table.</div>
 </th>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/ArrayUtil.html" title="class in org.apache.iceberg.util">ArrayUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/ArrowAllocation.html" title="class in org.apache.iceberg.arrow">ArrowAllocation</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/ArrowReader.html" title="class in org.apache.iceberg.arrow.vectorized">ArrowReader</a></td>
 <th class="colLast" scope="row">
 <div class="block">Vectorized reader that returns an iterator of <a href="org/apache/iceberg/arrow/vectorized/ColumnarBatch.html" title="class in org.apache.iceberg.arrow.vectorized"><code>ColumnarBatch</code></a>.</div>
 </th>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/ArrowSchemaUtil.html" title="class in org.apache.iceberg.arrow">ArrowSchemaUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/ArrowVectorAccessor.html" title="class in org.apache.iceberg.arrow.vectorized">ArrowVectorAccessor</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/ArrowVectorAccessor.html" title="type parameter in ArrowVectorAccessor">DecimalT</a>,&#8203;<a href="org/apache/iceberg/arrow/vectorized/ArrowVectorAccessor.html" title="type parameter in ArrowVectorAccessor">Utf8StringT</a>,&#8203;<a href="org/apache/iceberg/arrow/vectorize [...]
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/vectorized/ArrowVectorAccessors.html" title="class in org.apache.iceberg.spark.data.vectorized">ArrowVectorAccessors</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/aws/AssumeRoleAwsClientFactory.html" title="class in org.apache.iceberg.aws">AssumeRoleAwsClientFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/Avro.html" title="class in org.apache.iceberg.avro">Avro</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/Avro.DataWriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.DataWriteBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/Avro.DeleteWriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.DeleteWriteBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/Avro.ReadBuilder.html" title="class in org.apache.iceberg.avro">Avro.ReadBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/Avro.WriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.WriteBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/AvroEncoderUtil.html" title="class in org.apache.iceberg.avro">AvroEncoderUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/AvroIterable.html" title="class in org.apache.iceberg.avro">AvroIterable</a>&lt;<a href="org/apache/iceberg/avro/AvroIterable.html" title="type parameter in AvroIterable">D</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/AvroMetrics.html" title="class in org.apache.iceberg.avro">AvroMetrics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/AvroSchemaUtil.html" title="class in org.apache.iceberg.avro">AvroSchemaUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/AvroSchemaVisitor.html" title="class in org.apache.iceberg.avro">AvroSchemaVisitor</a>&lt;<a href="org/apache/iceberg/avro/AvroSchemaVisitor.html" title="type parameter in AvroSchemaVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/AvroSchemaWithTypeVisitor.html" title="class in org.apache.iceberg.avro">AvroSchemaWithTypeVisitor</a>&lt;<a href="org/apache/iceberg/avro/AvroSchemaWithTypeVisitor.html" title="type parameter in AvroSchemaWithTypeVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/data/AvroWithFlinkSchemaVisitor.html" title="class in org.apache.iceberg.flink.data">AvroWithFlinkSchemaVisitor</a>&lt;<a href="org/apache/iceberg/flink/data/AvroWithFlinkSchemaVisitor.html" title="type parameter in AvroWithFlinkSchemaVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/AvroWithPartnerByStructureVisitor.html" title="class in org.apache.iceberg.avro">AvroWithPartnerByStructureVisitor</a>&lt;<a href="org/apache/iceberg/avro/AvroWithPartnerByStructureVisitor.html" title="type parameter in AvroWithPartnerByStructureVisitor">P</a>,&#8203;<a href="org/apache/iceberg/avro/AvroWithPartnerByStructureVisitor.html" title="type parameter in AvroWithPartnerByStructureVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">A abstract avro schema visitor with partner type.</div>
 </th>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/AvroWithSparkSchemaVisitor.html" title="class in org.apache.iceberg.spark.data">AvroWithSparkSchemaVisitor</a>&lt;<a href="org/apache/iceberg/spark/data/AvroWithSparkSchemaVisitor.html" title="type parameter in AvroWithSparkSchemaVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/aws/AwsClientFactories.html" title="class in org.apache.iceberg.aws">AwsClientFactories</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws">AwsClientFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interface to customize AWS clients used by Iceberg.</div>
 </th>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i42" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/BaseBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized">BaseBatchReader</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/BaseBatchReader.html" title="type parameter in BaseBatchReader">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A base BatchReader class that contains common functionality</div>
+</th>
+</tr>
+<tr id="i43" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/BaseColumnIterator.html" title="class in org.apache.iceberg.parquet">BaseColumnIterator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/BaseCombinedScanTask.html" title="class in org.apache.iceberg">BaseCombinedScanTask</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteOrphanFilesActionResult</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/actions/BaseDeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseDeleteOrphanFilesSparkAction</a></td>
 <th class="colLast" scope="row">
 <div class="block">An action that removes orphan metadata and data files by listing a given location and comparing
  the actual files in that location with data and metadata files referenced by all valid snapshots.</div>
 </th>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/actions/BaseDeleteReachableFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseDeleteReachableFilesSparkAction</a></td>
 <th class="colLast" scope="row">
 <div class="block">An implementation of <a href="org/apache/iceberg/actions/DeleteReachableFiles.html" title="interface in org.apache.iceberg.actions"><code>DeleteReachableFiles</code></a> that uses metadata tables in Spark
  to determine which files should be deleted.</div>
 </th>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/actions/BaseExpireSnapshotsSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseExpireSnapshotsSparkAction</a></td>
 <th class="colLast" scope="row">
 <div class="block">An action that performs the same operation as <a href="org/apache/iceberg/ExpireSnapshots.html" title="interface in org.apache.iceberg"><code>ExpireSnapshots</code></a> but uses Spark
  to determine the delta in files between the pre and post-expiration table metadata.</div>
 </th>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i52" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data">BaseFileWriterFactory</a>&lt;<a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="type parameter in BaseFileWriterFactory">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A base writer factory to be extended by query engine integrations.</div>
+</th>
+</tr>
+<tr id="i53" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/BaseMetastoreTableOperations.html" title="class in org.apache.iceberg">BaseMetastoreTableOperations</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/BaseMetastoreTableOperations.CommitStatus.html" title="enum in org.apache.iceberg">BaseMetastoreTableOperations.CommitStatus</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/BaseMigrateTableActionResult.html" title="class in org.apache.iceberg.actions">BaseMigrateTableActionResult</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/actions/BaseMigrateTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseMigrateTableSparkAction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Takes a Spark table in the source catalog and attempts to transform it into an Iceberg
  table in the same location with the same identifier.</div>
 </th>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/BaseOverwriteFiles.html" title="class in org.apache.iceberg">BaseOverwriteFiles</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/BasePageIterator.IntIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator.IntIterator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/parquet/BaseParquetReaders.html" title="class in org.apache.iceberg.data.parquet">BaseParquetReaders</a>&lt;<a href="org/apache/iceberg/data/parquet/BaseParquetReaders.html" title="type parameter in BaseParquetReaders">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/parquet/BaseParquetWriter.html" title="class in org.apache.iceberg.data.parquet">BaseParquetWriter</a>&lt;<a href="org/apache/iceberg/data/parquet/BaseParquetWriter.html" title="type parameter in BaseParquetWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i63" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/BasePositionDeltaWriter.html" title="class in org.apache.iceberg.io">BasePositionDeltaWriter</a>&lt;<a href="org/apache/iceberg/io/BasePositionDeltaWriter.html" title="type parameter in BasePositionDeltaWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i64" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/BaseReplacePartitions.html" title="class in org.apache.iceberg">BaseReplacePartitions</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/BaseReplaceSortOrder.html" title="class in org.apache.iceberg">BaseReplaceSortOrder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a>&lt;<a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="type parameter in BaseRewriteDataFilesAction">ThisT</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesFileGroupInfo</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesResult.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesResult</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/actions/BaseRewriteDataFilesSpark3Action.html" title="class in org.apache.iceberg.spark.actions">BaseRewriteDataFilesSpark3Action</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/BaseRewriteManifests.html" title="class in org.apache.iceberg">BaseRewriteManifests</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">BaseRewriteManifestsActionResult</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/actions/BaseRewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseRewriteManifestsSparkAction</a></td>
 <th class="colLast" scope="row">
 <div class="block">An action that rewrites manifests in a distributed manner and co-locates metadata for partitions.</div>
 </th>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/BaseSnapshotTableActionResult.html" title="class in org.apache.iceberg.actions">BaseSnapshotTableActionResult</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/actions/BaseSnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseSnapshotTableSparkAction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Creates a new Iceberg table based on a source Spark table.</div>
 </th>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/BaseTable.html" title="class in org.apache.iceberg">BaseTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation.</div>
 </th>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/BaseTaskWriter.html" title="class in org.apache.iceberg.io">BaseTaskWriter</a>&lt;<a href="org/apache/iceberg/io/BaseTaskWriter.html" title="type parameter in BaseTaskWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/parquet/BaseVectorizedParquetValuesReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">BaseVectorizedParquetValuesReader</a></td>
 <th class="colLast" scope="row">
 <div class="block">A values reader for Parquet's run-length encoded data that reads column data in batches instead of one value at a
  time.</div>
 </th>
 </tr>
-<tr id="i72" class="altColor">
-<td class="colFirst"><a href="org/apache/iceberg/data/BaseWriterFactory.html" title="class in org.apache.iceberg.data">BaseWriterFactory</a>&lt;<a href="org/apache/iceberg/data/BaseWriterFactory.html" title="type parameter in BaseWriterFactory">T</a>&gt;</td>
-<th class="colLast" scope="row">
-<div class="block">A base writer factory to be extended by query engine integrations.</div>
-</th>
-</tr>
-<tr id="i73" class="rowColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/BinaryUtil.html" title="class in org.apache.iceberg.util">BinaryUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/Binder.html" title="class in org.apache.iceberg.expressions">Binder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rewrites <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>expressions</code></a> by replacing unbound named references with references to
  fields in a struct schema.</div>
 </th>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/BinPacking.html" title="class in org.apache.iceberg.util">BinPacking</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/BinPacking.ListPacker.html" title="class in org.apache.iceberg.util">BinPacking.ListPacker</a>&lt;<a href="org/apache/iceberg/util/BinPacking.ListPacker.html" title="type parameter in BinPacking.ListPacker">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/BinPacking.PackingIterable.html" title="class in org.apache.iceberg.util">BinPacking.PackingIterable</a>&lt;<a href="org/apache/iceberg/util/BinPacking.PackingIterable.html" title="type parameter in BinPacking.PackingIterable">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></td>
 <th class="colLast" scope="row">
 <div class="block">A rewrite strategy for data files which determines which files to rewrite
  based on their size.</div>
 </th>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/Bound.html" title="interface in org.apache.iceberg.expressions">Bound</a>&lt;<a href="org/apache/iceberg/expressions/Bound.html" title="type parameter in Bound">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Represents a bound value expression.</div>
 </th>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/BoundLiteralPredicate.html" title="class in org.apache.iceberg.expressions">BoundLiteralPredicate</a>&lt;<a href="org/apache/iceberg/expressions/BoundLiteralPredicate.html" title="type parameter in BoundLiteralPredicate">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/BoundPredicate.html" title="class in org.apache.iceberg.expressions">BoundPredicate</a>&lt;<a href="org/apache/iceberg/expressions/BoundPredicate.html" title="type parameter in BoundPredicate">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/BoundReference.html" title="class in org.apache.iceberg.expressions">BoundReference</a>&lt;<a href="org/apache/iceberg/expressions/BoundReference.html" title="type parameter in BoundReference">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/BoundSetPredicate.html" title="class in org.apache.iceberg.expressions">BoundSetPredicate</a>&lt;<a href="org/apache/iceberg/expressions/BoundSetPredicate.html" title="type parameter in BoundSetPredicate">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/BoundTerm.html" title="interface in org.apache.iceberg.expressions">BoundTerm</a>&lt;<a href="org/apache/iceberg/expressions/BoundTerm.html" title="type parameter in BoundTerm">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Represents a bound term.</div>
 </th>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/BoundTransform.html" title="class in org.apache.iceberg.expressions">BoundTransform</a>&lt;<a href="org/apache/iceberg/expressions/BoundTransform.html" title="type parameter in BoundTransform">S</a>,&#8203;<a href="org/apache/iceberg/expressions/BoundTransform.html" title="type parameter in BoundTransform">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">A transform expression.</div>
 </th>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/BoundUnaryPredicate.html" title="class in org.apache.iceberg.expressions">BoundUnaryPredicate</a>&lt;<a href="org/apache/iceberg/expressions/BoundUnaryPredicate.html" title="type parameter in BoundUnaryPredicate">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/ByteBuffers.html" title="class in org.apache.iceberg.util">ByteBuffers</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i88" class="altColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/hive/CachedClientPool.html" title="class in org.apache.iceberg.hive">CachedClientPool</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i89" class="rowColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/CachingCatalog.html" title="class in org.apache.iceberg">CachingCatalog</a></td>
-<th class="colLast" scope="row">&nbsp;</th>
+<th class="colLast" scope="row">
+<div class="block">Class that wraps an Iceberg Catalog to cache tables.</div>
+</th>
 </tr>
-<tr id="i90" class="altColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></td>
 <th class="colLast" scope="row">
 <div class="block">A Catalog API for table create, drop, and load operations.</div>
 </th>
 </tr>
-<tr id="i91" class="rowColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/catalog/Catalog.TableBuilder.html" title="interface in org.apache.iceberg.catalog">Catalog.TableBuilder</a></td>
 <th class="colLast" scope="row">
 <div class="block">A builder used to create valid <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>tables</code></a> or start create/replace <a href="org/apache/iceberg/Transaction.html" title="interface in org.apache.iceberg"><code>transactions</code></a>.</div>
 </th>
 </tr>
-<tr id="i92" class="altColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></td>
 <th class="colLast" scope="row">
 <div class="block">Serializable loader to load an Iceberg <a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><code>Catalog</code></a>.</div>
 </th>
 </tr>
-<tr id="i93" class="rowColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/CatalogLoader.CustomCatalogLoader.html" title="class in org.apache.iceberg.flink">CatalogLoader.CustomCatalogLoader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i94" class="altColor">
+<tr id="i99" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/CatalogLoader.HadoopCatalogLoader.html" title="class in org.apache.iceberg.flink">CatalogLoader.HadoopCatalogLoader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i95" class="rowColor">
+<tr id="i100" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/CatalogLoader.HiveCatalogLoader.html" title="class in org.apache.iceberg.flink">CatalogLoader.HiveCatalogLoader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i96" class="altColor">
+<tr id="i101" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i97" class="rowColor">
+<tr id="i102" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/Catalogs.html" title="class in org.apache.iceberg.mr">Catalogs</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class for catalog resolution and accessing the common functions for <a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><code>Catalog</code></a> API.</div>
 </th>
 </tr>
-<tr id="i98" class="altColor">
+<tr id="i103" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/CatalogUtil.html" title="class in org.apache.iceberg">CatalogUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i99" class="rowColor">
+<tr id="i104" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/CharSequenceSet.html" title="class in org.apache.iceberg.util">CharSequenceSet</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i100" class="altColor">
+<tr id="i105" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/CharSequenceWrapper.html" title="class in org.apache.iceberg.util">CharSequenceWrapper</a></td>
 <th class="colLast" scope="row">
 <div class="block">Wrapper class to adapt CharSequence for use in maps and sets.</div>
 </th>
 </tr>
-<tr id="i101" class="rowColor">
+<tr id="i106" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/CheckCompatibility.html" title="class in org.apache.iceberg.types">CheckCompatibility</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i102" class="altColor">
+<tr id="i107" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/exceptions/CherrypickAncestorCommitException.html" title="class in org.apache.iceberg.exceptions">CherrypickAncestorCommitException</a></td>
 <th class="colLast" scope="row">
 <div class="block">This exception occurs when one cherrypicks an ancestor or when the picked snapshot is already linked to
  a published ancestor.</div>
 </th>
 </tr>
-<tr id="i103" class="rowColor">
+<tr id="i108" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/ClientPool.html" title="interface in org.apache.iceberg">ClientPool</a>&lt;<a href="org/apache/iceberg/ClientPool.html" title="type parameter in ClientPool">C</a>,&#8203;<a href="org/apache/iceberg/ClientPool.html" title="type parameter in ClientPool">E</a> extends java.lang.Exception&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i104" class="altColor">
+<tr id="i109" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/ClientPool.Action.html" title="interface in org.apache.iceberg">ClientPool.Action</a>&lt;<a href="org/apache/iceberg/ClientPool.Action.html" title="type parameter in ClientPool.Action">R</a>,&#8203;<a href="org/apache/iceberg/ClientPool.Action.html" title="type parameter in ClientPool.Action">C</a>,&#8203;<a href="org/apache/iceberg/ClientPool.Action.html" title="type parameter in ClientPool.Action">E</a> extends java.lang.Exception&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i105" class="rowColor">
+<tr id="i110" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/ClientPoolImpl.html" title="class in org.apache.iceberg">ClientPoolImpl</a>&lt;<a href="org/apache/iceberg/ClientPoolImpl.html" title="type parameter in ClientPoolImpl">C</a>,&#8203;<a href="org/apache/iceberg/ClientPoolImpl.html" title="type parameter in ClientPoolImpl">E</a> extends java.lang.Exception&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i106" class="altColor">
+<tr id="i111" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/CloseableGroup.html" title="class in org.apache.iceberg.io">CloseableGroup</a></td>
-<th class="colLast" scope="row">&nbsp;</th>
+<th class="colLast" scope="row">
+<div class="block">This class acts as a helper for handling the closure of multiple resource.</div>
+</th>
 </tr>
-<tr id="i107" class="rowColor">
+<tr id="i112" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a>&lt;<a href="org/apache/iceberg/io/CloseableIterable.html" title="type parameter in CloseableIterable">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i108" class="altColor">
+<tr id="i113" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/CloseableIterable.ConcatCloseableIterable.html" title="class in org.apache.iceberg.io">CloseableIterable.ConcatCloseableIterable</a>&lt;<a href="org/apache/iceberg/io/CloseableIterable.ConcatCloseableIterable.html" title="type parameter in CloseableIterable.ConcatCloseableIterable">E</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i109" class="rowColor">
+<tr id="i114" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/CloseableIterator.html" title="interface in org.apache.iceberg.io">CloseableIterator</a>&lt;<a href="org/apache/iceberg/io/CloseableIterator.html" title="type parameter in CloseableIterator">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i110" class="altColor">
+<tr id="i115" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/ClosingIterator.html" title="class in org.apache.iceberg.io">ClosingIterator</a>&lt;<a href="org/apache/iceberg/io/ClosingIterator.html" title="type parameter in ClosingIterator">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">A convenience wrapper around <a href="org/apache/iceberg/io/CloseableIterator.html" title="interface in org.apache.iceberg.io"><code>CloseableIterator</code></a>, providing auto-close
  functionality when all of the elements in the iterator are consumed.</div>
 </th>
 </tr>
-<tr id="i111" class="rowColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/ClusterDistributionImpl.html" title="class in org.apache.spark.sql.connector.iceberg.distributions.impl">ClusterDistributionImpl</a></td>
-<th class="colLast" scope="row">&nbsp;</th>
+<tr id="i116" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/ClusteredDataWriter.html" title="class in org.apache.iceberg.io">ClusteredDataWriter</a>&lt;<a href="org/apache/iceberg/io/ClusteredDataWriter.html" title="type parameter in ClusteredDataWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A data writer capable of writing to multiple specs and partitions that requires the incoming records
+ to be properly clustered by partition spec and by partition within each spec.</div>
+</th>
 </tr>
-<tr id="i112" class="altColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/ClusteredDistribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions">ClusteredDistribution</a></td>
+<tr id="i117" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/ClusteredEqualityDeleteWriter.html" title="class in org.apache.iceberg.io">ClusteredEqualityDeleteWriter</a>&lt;<a href="org/apache/iceberg/io/ClusteredEqualityDeleteWriter.html" title="type parameter in ClusteredEqualityDeleteWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">
-<div class="block">A distribution where tuples that share the same values for clustering expressions are co-located
- in the same partition.</div>
+<div class="block">An equality delete writer capable of writing to multiple specs and partitions that requires
+ the incoming delete records to be properly clustered by partition spec and by partition within each spec.</div>
 </th>
 </tr>
-<tr id="i113" class="rowColor">
-<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/ColumnarBatch.html" title="class in org.apache.iceberg.arrow.vectorized">ColumnarBatch</a></td>
+<tr id="i118" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/ClusteredPositionDeleteWriter.html" title="class in org.apache.iceberg.io">ClusteredPositionDeleteWriter</a>&lt;<a href="org/apache/iceberg/io/ClusteredPositionDeleteWriter.html" title="type parameter in ClusteredPositionDeleteWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">
-<div class="block">This class is inspired by Spark's <code>ColumnarBatch</code>.</div>
+<div class="block">A position delete writer capable of writing to multiple specs and partitions that requires
+ the incoming delete records to be properly clustered by partition spec and by partition within each spec.</div>
 </th>
 </tr>
-<tr id="i114" class="altColor">
+<tr id="i119" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/ColumnarBatch.html" title="class in org.apache.iceberg.arrow.vectorized">ColumnarBatch</a></td>
+<th class="colLast" scope="row">
+<div class="block">This class is inspired by Spark's <code>ColumnarBatch</code>.</div>
+</th>
+</tr>
+<tr id="i120" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnarBatchReader</a></td>
 <th class="colLast" scope="row">
 <div class="block"><a href="org/apache/iceberg/parquet/VectorizedReader.html" title="interface in org.apache.iceberg.parquet"><code>VectorizedReader</code></a> that returns Spark's <code>ColumnarBatch</code> to support Spark's vectorized read path.</div>
 </th>
 </tr>
-<tr id="i115" class="rowColor">
+<tr id="i121" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ColumnIterator.html" title="class in org.apache.iceberg.parquet">ColumnIterator</a>&lt;<a href="org/apache/iceberg/parquet/ColumnIterator.html" title="type parameter in ColumnIterator">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i116" class="altColor">
+<tr id="i122" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/ColumnVector.html" title="class in org.apache.iceberg.arrow.vectorized">ColumnVector</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class is inspired by Spark's <code>ColumnVector</code>.</div>
 </th>
 </tr>
-<tr id="i117" class="rowColor">
+<tr id="i123" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/data/vectorized/ColumnVectorWithFilter.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnVectorWithFilter</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i124" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ColumnWriter.html" title="class in org.apache.iceberg.parquet">ColumnWriter</a>&lt;<a href="org/apache/iceberg/parquet/ColumnWriter.html" title="type parameter in ColumnWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i118" class="altColor">
+<tr id="i125" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/CombinedScanTask.html" title="interface in org.apache.iceberg">CombinedScanTask</a></td>
 <th class="colLast" scope="row">
 <div class="block">A scan task made of several ranges from files.</div>
 </th>
 </tr>
-<tr id="i119" class="rowColor">
+<tr id="i126" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/exceptions/CommitFailedException.html" title="class in org.apache.iceberg.exceptions">CommitFailedException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception raised when a commit fails because of out of date metadata.</div>
 </th>
 </tr>
-<tr id="i120" class="altColor">
+<tr id="i127" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/exceptions/CommitStateUnknownException.html" title="class in org.apache.iceberg.exceptions">CommitStateUnknownException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception for a failure to confirm either affirmatively or negatively that a commit was applied.</div>
 </th>
 </tr>
-<tr id="i121" class="rowColor">
+<tr id="i128" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Comparators.html" title="class in org.apache.iceberg.types">Comparators</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i122" class="altColor">
+<tr id="i129" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/hadoop/ConfigProperties.html" title="class in org.apache.iceberg.hadoop">ConfigProperties</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i123" class="rowColor">
+<tr id="i130" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/hadoop/Configurable.html" title="interface in org.apache.iceberg.hadoop">Configurable</a>&lt;<a href="org/apache/iceberg/hadoop/Configurable.html" title="type parameter in Configurable">C</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Interface used to avoid runtime dependencies on Hadoop Configurable</div>
+</th>
+</tr>
+<tr id="i131" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/mapred/Container.html" title="class in org.apache.iceberg.mr.mapred">Container</a>&lt;<a href="org/apache/iceberg/mr/mapred/Container.html" title="type parameter in Container">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">A simple container of objects that you can get and set.</div>
 </th>
 </tr>
-<tr id="i124" class="altColor">
+<tr id="i132" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a>&lt;<a href="org/apache/iceberg/ContentFile.html" title="type parameter in ContentFile">F</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Superinterface of <a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> and <a href="org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg"><code>DeleteFile</code></a> that exposes common methods.</div>
 </th>
 </tr>
-<tr id="i125" class="rowColor">
+<tr id="i133" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Conversions.html" title="class in org.apache.iceberg.types">Conversions</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i126" class="altColor">
-<td class="colFirst"><a href="org/apache/iceberg/actions/CreateAction.html" title="interface in org.apache.iceberg.actions">CreateAction</a></td>
-<th class="colLast" scope="row">Deprecated.
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions"><code>SnapshotTable</code></a> or <a href="org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions"><code>MigrateTable</code></a> instead.</div>
+<tr id="i134" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/ConvertEqualityDeleteFiles.html" title="interface in org.apache.iceberg.actions">ConvertEqualityDeleteFiles</a></td>
+<th class="colLast" scope="row">
+<div class="block">An action for converting the equality delete files to position delete files.</div>
 </th>
 </tr>
-<tr id="i127" class="rowColor">
+<tr id="i135" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/ConvertEqualityDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions">ConvertEqualityDeleteFiles.Result</a></td>
+<th class="colLast" scope="row">
+<div class="block">The action result that contains a summary of the execution.</div>
+</th>
+</tr>
+<tr id="i136" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/ConvertEqualityDeleteStrategy.html" title="interface in org.apache.iceberg.actions">ConvertEqualityDeleteStrategy</a></td>
+<th class="colLast" scope="row">
+<div class="block">A strategy for the action to convert equality delete to position deletes.</div>
+</th>
+</tr>
+<tr id="i137" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/events/CreateSnapshotEvent.html" title="class in org.apache.iceberg.events">CreateSnapshotEvent</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i128" class="altColor">
+<tr id="i138" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interface for data files listed in a table manifest.</div>
 </th>
 </tr>
-<tr id="i129" class="rowColor">
+<tr id="i139" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/DataFiles.html" title="class in org.apache.iceberg">DataFiles</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i130" class="altColor">
+<tr id="i140" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/DataFiles.Builder.html" title="class in org.apache.iceberg">DataFiles.Builder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i131" class="rowColor">
+<tr id="i141" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/DataFilesTable.html" title="class in org.apache.iceberg">DataFilesTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's data files as rows.</div>
 </th>
 </tr>
-<tr id="i132" class="altColor">
+<tr id="i142" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/DataFilesTable.FilesTableScan.html" title="class in org.apache.iceberg">DataFilesTable.FilesTableScan</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i133" class="rowColor">
+<tr id="i143" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/source/DataIterator.html" title="class in org.apache.iceberg.flink.source">DataIterator</a>&lt;<a href="org/apache/iceberg/flink/source/DataIterator.html" title="type parameter in DataIterator">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Flink data iterator that reads <a href="org/apache/iceberg/CombinedScanTask.html" title="interface in org.apache.iceberg"><code>CombinedScanTask</code></a> into a <a href="org/apache/iceberg/io/CloseableIterator.html" title="interface in org.apache.iceberg.io"><code>CloseableIterator</code></a></div>
+</th>
+</tr>
+<tr id="i144" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/DataOperations.html" title="class in org.apache.iceberg">DataOperations</a></td>
 <th class="colLast" scope="row">
 <div class="block">Data operations that produce snapshots.</div>
 </th>
 </tr>
-<tr id="i134" class="altColor">
+<tr id="i145" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/avro/DataReader.html" title="class in org.apache.iceberg.data.avro">DataReader</a>&lt;<a href="org/apache/iceberg/data/avro/DataReader.html" title="type parameter in DataReader">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i135" class="rowColor">
+<tr id="i146" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/DataTableScan.html" title="class in org.apache.iceberg">DataTableScan</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i136" class="altColor">
+<tr id="i147" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/DataTask.html" title="interface in org.apache.iceberg">DataTask</a></td>
 <th class="colLast" scope="row">
 <div class="block">A task that returns data as <a href="org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg"><code>rows</code></a> instead of where to read data.</div>
 </th>
 </tr>
-<tr id="i137" class="rowColor">
+<tr id="i148" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/avro/DataWriter.html" title="class in org.apache.iceberg.data.avro">DataWriter</a>&lt;<a href="org/apache/iceberg/data/avro/DataWriter.html" title="type parameter in DataWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i138" class="altColor">
+<tr id="i149" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/DataWriter.html" title="class in org.apache.iceberg.io">DataWriter</a>&lt;<a href="org/apache/iceberg/io/DataWriter.html" title="type parameter in DataWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i139" class="rowColor">
+<tr id="i150" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/DataWriteResult.html" title="class in org.apache.iceberg.io">DataWriteResult</a></td>
+<th class="colLast" scope="row">
+<div class="block">A result of writing data files.</div>
+</th>
+</tr>
+<tr id="i151" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/DateTimeUtil.html" title="class in org.apache.iceberg.util">DateTimeUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i140" class="altColor">
+<tr id="i152" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/DecimalUtil.html" title="class in org.apache.iceberg.util">DecimalUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i141" class="rowColor">
+<tr id="i153" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/avro/DecoderResolver.html" title="class in org.apache.iceberg.data.avro">DecoderResolver</a></td>
 <th class="colLast" scope="row">
 <div class="block">Resolver to resolve <code>Decoder</code> to a <code>ResolvingDecoder</code>.</div>
 </th>
 </tr>
-<tr id="i142" class="altColor">
+<tr id="i154" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/DelegatingInputStream.html" title="interface in org.apache.iceberg.io">DelegatingInputStream</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i143" class="rowColor">
+<tr id="i155" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/DelegatingOutputStream.html" title="interface in org.apache.iceberg.io">DelegatingOutputStream</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i144" class="altColor">
+<tr id="i156" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interface for delete files listed in a table delete manifest.</div>
 </th>
 </tr>
-<tr id="i145" class="rowColor">
+<tr id="i157" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for deleting files from a table.</div>
 </th>
 </tr>
-<tr id="i146" class="altColor">
+<tr id="i158" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/DeleteFilter.html" title="class in org.apache.iceberg.data">DeleteFilter</a>&lt;<a href="org/apache/iceberg/data/DeleteFilter.html" title="type parameter in DeleteFilter">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i147" class="rowColor">
+<tr id="i159" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a></td>
 <th class="colLast" scope="row">
 <div class="block">An action that deletes orphan files in a table.</div>
 </th>
 </tr>
-<tr id="i148" class="altColor">
+<tr id="i160" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/DeleteOrphanFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles.Result</a></td>
 <th class="colLast" scope="row">
 <div class="block">The action result that contains a summary of the execution.</div>
 </th>
 </tr>
-<tr id="i149" class="rowColor">
+<tr id="i161" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/DeleteReachableFiles.html" title="interface in org.apache.iceberg.actions">DeleteReachableFiles</a></td>
 <th class="colLast" scope="row">
 <div class="block">An action that deletes all files referenced by a table metadata file.</div>
 </th>
 </tr>
-<tr id="i150" class="altColor">
+<tr id="i162" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/DeleteReachableFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteReachableFiles.Result</a></td>
 <th class="colLast" scope="row">
 <div class="block">The action result that contains a summary of the execution.</div>
 </th>
 </tr>
-<tr id="i151" class="rowColor">
+<tr id="i163" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/deletes/Deletes.html" title="class in org.apache.iceberg.deletes">Deletes</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i152" class="altColor">
+<tr id="i164" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/DeleteSchemaUtil.html" title="class in org.apache.iceberg.io">DeleteSchemaUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i153" class="rowColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/Distribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions">Distribution</a></td>
+<tr id="i165" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/DeleteWriteResult.html" title="class in org.apache.iceberg.io">DeleteWriteResult</a></td>
 <th class="colLast" scope="row">
-<div class="block">An interface that defines how data is distributed across partitions.</div>
+<div class="block">A result of writing delete files.</div>
 </th>
 </tr>
-<tr id="i154" class="altColor">
-<td class="colFirst"><a href="org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a></td>
+<tr id="i166" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaBatchWrite</a></td>
 <th class="colLast" scope="row">
-<div class="block">Enum of supported write distribution mode, it defines the write behavior of batch or streaming job:</div>
+<div class="block">An interface that defines how to write a delta of rows during batch processing.</div>
 </th>
 </tr>
-<tr id="i155" class="rowColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/Distributions.html" title="class in org.apache.spark.sql.connector.iceberg.distributions">Distributions</a></td>
+<tr id="i167" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWrite</a></td>
 <th class="colLast" scope="row">
-<div class="block">Helper methods to create distributions to pass into Spark.</div>
+<div class="block">A logical representation of a data source write that handles a delta of rows.</div>
 </th>
 </tr>
-<tr id="i156" class="altColor">
+<tr id="i168" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriteBuilder</a></td>
+<th class="colLast" scope="row">
+<div class="block">An interface for building delta writes.</div>
+</th>
+</tr>
+<tr id="i169" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriter</a>&lt;<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A data writer responsible for writing a delta of rows.</div>
+</th>
+</tr>
+<tr id="i170" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriterFactory</a></td>
+<th class="colLast" scope="row">
+<div class="block">A factory for creating and initializing delta writers at the executor side.</div>
+</th>
+</tr>
+<tr id="i171" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a></td>
+<th class="colLast" scope="row">
+<div class="block">Enum of supported write distribution mode, it defines the write behavior of batch or streaming job:</div>
+</th>
+</tr>
+<tr id="i172" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/DoubleFieldMetrics.html" title="class in org.apache.iceberg">DoubleFieldMetrics</a></td>
 <th class="colLast" scope="row">
 <div class="block">Iceberg internally tracked field level metrics, used by Parquet and ORC writers only.</div>
 </th>
 </tr>
-<tr id="i157" class="rowColor">
+<tr id="i173" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/DoubleFieldMetrics.Builder.html" title="class in org.apache.iceberg">DoubleFieldMetrics.Builder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i158" class="altColor">
+<tr id="i174" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/exceptions/DuplicateWAPCommitException.html" title="class in org.apache.iceberg.exceptions">DuplicateWAPCommitException</a></td>
 <th class="colLast" scope="row">
 <div class="block">This exception occurs when the WAP workflow detects a duplicate wap commit.</div>
 </th>
 </tr>
-<tr id="i159" class="rowColor">
+<tr id="i175" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/aws/dynamodb/DynamoDbCatalog.html" title="class in org.apache.iceberg.aws.dynamodb">DynamoDbCatalog</a></td>
 <th class="colLast" scope="row">
 <div class="block">DynamoDB implementation of Iceberg catalog</div>
 </th>
 </tr>
-<tr id="i160" class="altColor">
+<tr id="i176" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/DynClasses.html" title="class in org.apache.iceberg.common">DynClasses</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i161" class="rowColor">
+<tr id="i177" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/DynClasses.Builder.html" title="class in org.apache.iceberg.common">DynClasses.Builder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i162" class="altColor">
+<tr id="i178" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/DynConstructors.html" title="class in org.apache.iceberg.common">DynConstructors</a></td>
 <th class="colLast" scope="row">
 <div class="block">Copied from parquet-common</div>
 </th>
 </tr>
-<tr id="i163" class="rowColor">
+<tr id="i179" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/DynConstructors.Builder.html" title="class in org.apache.iceberg.common">DynConstructors.Builder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i164" class="altColor">
+<tr id="i180" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/DynConstructors.Ctor.html" title="class in org.apache.iceberg.common">DynConstructors.Ctor</a>&lt;<a href="org/apache/iceberg/common/DynConstructors.Ctor.html" title="type parameter in DynConstructors.Ctor">C</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i165" class="rowColor">
+<tr id="i181" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/DynFields.html" title="class in org.apache.iceberg.common">DynFields</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i166" class="altColor">
+<tr id="i182" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/DynFields.BoundField.html" title="class in org.apache.iceberg.common">DynFields.BoundField</a>&lt;<a href="org/apache/iceberg/common/DynFields.BoundField.html" title="type parameter in DynFields.BoundField">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i167" class="rowColor">
+<tr id="i183" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/DynFields.Builder.html" title="class in org.apache.iceberg.common">DynFields.Builder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i168" class="altColor">
+<tr id="i184" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/DynFields.StaticField.html" title="class in org.apache.iceberg.common">DynFields.StaticField</a>&lt;<a href="org/apache/iceberg/common/DynFields.StaticField.html" title="type parameter in DynFields.StaticField">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i169" class="rowColor">
+<tr id="i185" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/DynFields.UnboundField.html" title="class in org.apache.iceberg.common">DynFields.UnboundField</a>&lt;<a href="org/apache/iceberg/common/DynFields.UnboundField.html" title="type parameter in DynFields.UnboundField">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Convenience wrapper class around <code>Field</code>.</div>
 </th>
 </tr>
-<tr id="i170" class="altColor">
+<tr id="i186" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/DynMethods.html" title="class in org.apache.iceberg.common">DynMethods</a></td>
 <th class="colLast" scope="row">
 <div class="block">Copied from parquet-common</div>
 </th>
 </tr>
-<tr id="i171" class="rowColor">
+<tr id="i187" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/DynMethods.BoundMethod.html" title="class in org.apache.iceberg.common">DynMethods.BoundMethod</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i172" class="altColor">
+<tr id="i188" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/DynMethods.Builder.html" title="class in org.apache.iceberg.common">DynMethods.Builder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i173" class="rowColor">
+<tr id="i189" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/DynMethods.StaticMethod.html" title="class in org.apache.iceberg.common">DynMethods.StaticMethod</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i174" class="altColor">
+<tr id="i190" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/DynMethods.UnboundMethod.html" title="class in org.apache.iceberg.common">DynMethods.UnboundMethod</a></td>
 <th class="colLast" scope="row">
 <div class="block">Convenience wrapper class around <code>Method</code>.</div>
 </th>
 </tr>
-<tr id="i175" class="rowColor">
+<tr id="i191" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/encryption/EncryptedFiles.html" title="class in org.apache.iceberg.encryption">EncryptedFiles</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i176" class="altColor">
+<tr id="i192" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/encryption/EncryptedInputFile.html" title="interface in org.apache.iceberg.encryption">EncryptedInputFile</a></td>
 <th class="colLast" scope="row">
 <div class="block">Thin wrapper around an <a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io"><code>InputFile</code></a> instance that is encrypted.</div>
 </th>
 </tr>
-<tr id="i177" class="rowColor">
+<tr id="i193" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/encryption/EncryptedOutputFile.html" title="interface in org.apache.iceberg.encryption">EncryptedOutputFile</a></td>
 <th class="colLast" scope="row">
 <div class="block">Thin wrapper around a <a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io"><code>OutputFile</code></a> that is encrypting bytes written to the underlying
@@ -966,248 +1057,269 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  <a href="org/apache/iceberg/encryption/EncryptionKeyMetadata.html" title="interface in org.apache.iceberg.encryption"><code>EncryptionKeyMetadata</code></a>.</div>
 </th>
 </tr>
-<tr id="i178" class="altColor">
+<tr id="i194" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/encryption/EncryptionKeyMetadata.html" title="interface in org.apache.iceberg.encryption">EncryptionKeyMetadata</a></td>
 <th class="colLast" scope="row">
 <div class="block">Light typedef over a ByteBuffer that indicates that the given bytes represent metadata about
  an encrypted data file's encryption key.</div>
 </th>
 </tr>
-<tr id="i179" class="rowColor">
+<tr id="i195" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/encryption/EncryptionKeyMetadatas.html" title="class in org.apache.iceberg.encryption">EncryptionKeyMetadatas</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i180" class="altColor">
+<tr id="i196" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/encryption/EncryptionManager.html" title="interface in org.apache.iceberg.encryption">EncryptionManager</a></td>
 <th class="colLast" scope="row">
 <div class="block">Module for encrypting and decrypting table data files.</div>
 </th>
 </tr>
-<tr id="i181" class="rowColor">
+<tr id="i197" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/source/EqualityDeleteRowReader.html" title="class in org.apache.iceberg.spark.source">EqualityDeleteRowReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i182" class="altColor">
+<tr id="i198" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html" title="class in org.apache.iceberg.deletes">EqualityDeleteWriter</a>&lt;<a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html" title="type parameter in EqualityDeleteWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i183" class="rowColor">
+<tr id="i199" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/EqualityDeltaWriter.html" title="interface in org.apache.iceberg.io">EqualityDeltaWriter</a>&lt;<a href="org/apache/iceberg/io/EqualityDeltaWriter.html" title="type parameter in EqualityDeltaWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A writer capable of writing data and equality deletes that may belong to different specs and partitions.</div>
+</th>
+</tr>
+<tr id="i200" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/Evaluator.html" title="class in org.apache.iceberg.expressions">Evaluator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Evaluates an <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a> for data described by a <a href="org/apache/iceberg/types/Types.StructType.html" title="class in org.apache.iceberg.types"><code>Types.StructType</code></a>.</div>
 </th>
 </tr>
-<tr id="i184" class="altColor">
+<tr id="i201" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/Exceptions.html" title="class in org.apache.iceberg.util">Exceptions</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i185" class="rowColor">
+<tr id="i202" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/ExceptionUtil.html" title="class in org.apache.iceberg.util">ExceptionUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i186" class="altColor">
+<tr id="i203" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/ExceptionUtil.Block.html" title="interface in org.apache.iceberg.util">ExceptionUtil.Block</a>&lt;<a href="org/apache/iceberg/util/ExceptionUtil.Block.html" title="type parameter in ExceptionUtil.Block">R</a>,&#8203;<a href="org/apache/iceberg/util/ExceptionUtil.Block.html" title="type parameter in ExceptionUtil.Block">E1</a> extends java.lang.Exception,&#8203;<a href="org/apache/iceberg/util/ExceptionUtil.Block.html" title="type para [...]
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i187" class="rowColor">
+<tr id="i204" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/ExceptionUtil.CatchBlock.html" title="interface in org.apache.iceberg.util">ExceptionUtil.CatchBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i188" class="altColor">
+<tr id="i205" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/ExceptionUtil.FinallyBlock.html" title="interface in org.apache.iceberg.util">ExceptionUtil.FinallyBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i189" class="rowColor">
+<tr id="i206" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/ExpireSnapshots.html" title="interface in org.apache.iceberg.actions">ExpireSnapshots</a></td>
 <th class="colLast" scope="row">
 <div class="block">An action that expires snapshots in a table.</div>
 </th>
 </tr>
-<tr id="i190" class="altColor">
+<tr id="i207" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/ExpireSnapshots.html" title="interface in org.apache.iceberg">ExpireSnapshots</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for removing old <a href="org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><code>snapshots</code></a> from a table.</div>
 </th>
 </tr>
-<tr id="i191" class="rowColor">
+<tr id="i208" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions">ExpireSnapshots.Result</a></td>
 <th class="colLast" scope="row">
 <div class="block">The action result that contains a summary of the execution.</div>
 </th>
 </tr>
-<tr id="i192" class="altColor">
-<td class="colFirst"><a href="org/apache/iceberg/actions/ExpireSnapshotsAction.html" title="class in org.apache.iceberg.actions">ExpireSnapshotsAction</a></td>
-<th class="colLast" scope="row">Deprecated.
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/spark/actions/BaseExpireSnapshotsSparkAction.html" title="class in org.apache.iceberg.spark.actions"><code>BaseExpireSnapshotsSparkAction</code></a> instead.</div>
-</th>
-</tr>
-<tr id="i193" class="rowColor">
-<td class="colFirst"><a href="org/apache/iceberg/actions/ExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">ExpireSnapshotsActionResult</a></td>
-<th class="colLast" scope="row">Deprecated.</th>
-</tr>
-<tr id="i194" class="altColor">
+<tr id="i209" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.html" title="class in org.apache.iceberg.spark.procedures">ExpireSnapshotsProcedure</a></td>
 <th class="colLast" scope="row">
 <div class="block">A procedure that expires snapshots in a table.</div>
 </th>
 </tr>
-<tr id="i195" class="rowColor">
+<tr id="i210" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents a boolean expression tree.</div>
 </th>
 </tr>
-<tr id="i196" class="altColor">
+<tr id="i211" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/Expression.Operation.html" title="enum in org.apache.iceberg.expressions">Expression.Operation</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i197" class="rowColor">
+<tr id="i212" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/Expressions.html" title="class in org.apache.iceberg.expressions">Expressions</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory methods for creating <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>expressions</code></a>.</div>
 </th>
 </tr>
-<tr id="i198" class="altColor">
+<tr id="i213" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/ExpressionVisitors.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utils for traversing <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>expressions</code></a>.</div>
 </th>
 </tr>
-<tr id="i199" class="rowColor">
+<tr id="i214" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundExpressionVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.BoundExpressionVisitor</a>&lt;<a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundExpressionVisitor.html" title="type parameter in ExpressionVisitors.BoundExpressionVisitor">R</a>&gt;</td>
-<th class="colLast" scope="row">Deprecated.
-<div class="deprecationComment">use <a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundVisitor.html" title="class in org.apache.iceberg.expressions"><code>ExpressionVisitors.BoundVisitor</code></a> instead</div>
-</th>
+<th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i200" class="altColor">
+<tr id="i215" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.BoundVisitor</a>&lt;<a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundVisitor.html" title="type parameter in ExpressionVisitors.BoundVisitor">R</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i201" class="rowColor">
+<tr id="i216" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/ExpressionVisitors.ExpressionVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.ExpressionVisitor</a>&lt;<a href="org/apache/iceberg/expressions/ExpressionVisitors.ExpressionVisitor.html" title="type parameter in ExpressionVisitors.ExpressionVisitor">R</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i202" class="altColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/catalog/ExtendedSupportsDelete.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">ExtendedSupportsDelete</a></td>
-<th class="colLast" scope="row">&nbsp;</th>
+<tr id="i217" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write">ExtendedLogicalWriteInfo</a></td>
+<th class="colLast" scope="row">
+<div class="block">A class that holds logical write information not covered by LogicalWriteInfo in Spark.</div>
+</th>
 </tr>
-<tr id="i203" class="rowColor">
+<tr id="i218" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/False.html" title="class in org.apache.iceberg.expressions">False</a></td>
 <th class="colLast" scope="row">
 <div class="block">An <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>expression</code></a> that is always false.</div>
 </th>
 </tr>
-<tr id="i204" class="altColor">
+<tr id="i219" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/FanoutDataWriter.html" title="class in org.apache.iceberg.io">FanoutDataWriter</a>&lt;<a href="org/apache/iceberg/io/FanoutDataWriter.html" title="type parameter in FanoutDataWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A data writer capable of writing to multiple specs and partitions that keeps data writers for each
+ seen spec/partition pair open until this writer is closed.</div>
+</th>
+</tr>
+<tr id="i220" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/FieldMetrics.html" title="class in org.apache.iceberg">FieldMetrics</a>&lt;<a href="org/apache/iceberg/FieldMetrics.html" title="type parameter in FieldMetrics">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Iceberg internally tracked field level metrics.</div>
 </th>
 </tr>
-<tr id="i205" class="rowColor">
+<tr id="i221" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/FileAppender.html" title="interface in org.apache.iceberg.io">FileAppender</a>&lt;<a href="org/apache/iceberg/io/FileAppender.html" title="type parameter in FileAppender">D</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i206" class="altColor">
+<tr id="i222" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/FileAppenderFactory.html" title="interface in org.apache.iceberg.io">FileAppenderFactory</a>&lt;<a href="org/apache/iceberg/io/FileAppenderFactory.html" title="type parameter in FileAppenderFactory">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Factory to create a new <a href="org/apache/iceberg/io/FileAppender.html" title="interface in org.apache.iceberg.io"><code>FileAppender</code></a> to write records.</div>
 </th>
 </tr>
-<tr id="i207" class="rowColor">
+<tr id="i223" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/FileContent.html" title="enum in org.apache.iceberg">FileContent</a></td>
 <th class="colLast" scope="row">
 <div class="block">Content type stored in a file, one of DATA, POSITION_DELETES, or EQUALITY_DELETES.</div>
 </th>
 </tr>
-<tr id="i208" class="altColor">
+<tr id="i224" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/FileFormat.html" title="enum in org.apache.iceberg">FileFormat</a></td>
 <th class="colLast" scope="row">
 <div class="block">Enum of supported file formats.</div>
 </th>
 </tr>
-<tr id="i209" class="rowColor">
+<tr id="i225" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a></td>
 <th class="colLast" scope="row">
 <div class="block">Pluggable module for reading, writing, and deleting files.</div>
 </th>
 </tr>
-<tr id="i210" class="altColor">
+<tr id="i226" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/FileMetadata.html" title="class in org.apache.iceberg">FileMetadata</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i211" class="rowColor">
+<tr id="i227" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/FileMetadata.Builder.html" title="class in org.apache.iceberg">FileMetadata.Builder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i212" class="altColor">
+<tr id="i228" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i213" class="rowColor">
+<tr id="i229" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/Files.html" title="class in org.apache.iceberg">Files</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i214" class="altColor">
+<tr id="i230" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a></td>
 <th class="colLast" scope="row">
 <div class="block">A scan task over a range of a single file.</div>
 </th>
 </tr>
-<tr id="i215" class="rowColor">
+<tr id="i231" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/source/FileScanTaskReader.html" title="interface in org.apache.iceberg.flink.source">FileScanTaskReader</a>&lt;<a href="org/apache/iceberg/flink/source/FileScanTaskReader.html" title="type parameter in FileScanTaskReader">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">Read a <a href="org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg"><code>FileScanTask</code></a> into a <a href="org/apache/iceberg/io/CloseableIterator.html" title="interface in org.apache.iceberg.io"><code>CloseableIterator</code></a></div>
+</th>
+</tr>
+<tr id="i232" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i216" class="altColor">
+<tr id="i233" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/FileWriter.html" title="interface in org.apache.iceberg.io">FileWriter</a>&lt;<a href="org/apache/iceberg/io/FileWriter.html" title="type parameter in FileWriter">T</a>,&#8203;<a href="org/apache/iceberg/io/FileWriter.html" title="type parameter in FileWriter">R</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A writer capable of writing files of a single type (i.e.</div>
+</th>
+</tr>
+<tr id="i234" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/FileWriterFactory.html" title="interface in org.apache.iceberg.io">FileWriterFactory</a>&lt;<a href="org/apache/iceberg/io/FileWriterFactory.html" title="type parameter in FileWriterFactory">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A factory for creating data and delete writers.</div>
+</th>
+</tr>
+<tr id="i235" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/Filter.html" title="class in org.apache.iceberg.util">Filter</a>&lt;<a href="org/apache/iceberg/util/Filter.html" title="type parameter in Filter">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">A Class for generic filters</div>
 </th>
 </tr>
-<tr id="i217" class="rowColor">
+<tr id="i236" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/FilterIterator.html" title="class in org.apache.iceberg.io">FilterIterator</a>&lt;<a href="org/apache/iceberg/io/FilterIterator.html" title="type parameter in FilterIterator">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">An Iterator that filters another Iterator.</div>
 </th>
 </tr>
-<tr id="i218" class="altColor">
+<tr id="i237" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/FindFiles.html" title="class in org.apache.iceberg">FindFiles</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i219" class="rowColor">
+<tr id="i238" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/FindFiles.Builder.html" title="class in org.apache.iceberg">FindFiles.Builder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i220" class="altColor">
+<tr id="i239" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/FixupTypes.html" title="class in org.apache.iceberg.types">FixupTypes</a></td>
 <th class="colLast" scope="row">
 <div class="block">This is used to fix primitive types to match a table schema.</div>
 </th>
 </tr>
-<tr id="i221" class="rowColor">
+<tr id="i240" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/sink/FlinkAppenderFactory.html" title="class in org.apache.iceberg.flink.sink">FlinkAppenderFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i222" class="altColor">
+<tr id="i241" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkAvroReader.html" title="class in org.apache.iceberg.flink.data">FlinkAvroReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i223" class="rowColor">
+<tr id="i242" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkAvroWriter.html" title="class in org.apache.iceberg.flink.data">FlinkAvroWriter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i224" class="altColor">
+<tr id="i243" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/FlinkCatalog.html" title="class in org.apache.iceberg.flink">FlinkCatalog</a></td>
 <th class="colLast" scope="row">
 <div class="block">A Flink Catalog implementation that wraps an Iceberg <a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><code>Catalog</code></a>.</div>
 </th>
 </tr>
-<tr id="i225" class="rowColor">
+<tr id="i244" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html" title="class in org.apache.iceberg.flink">FlinkCatalogFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">A Flink Catalog factory implementation that creates <a href="org/apache/iceberg/flink/FlinkCatalog.html" title="class in org.apache.iceberg.flink"><code>FlinkCatalog</code></a>.</div>
 </th>
 </tr>
-<tr id="i226" class="altColor">
+<tr id="i245" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/util/FlinkCompatibilityUtil.html" title="class in org.apache.iceberg.flink.util">FlinkCompatibilityUtil</a></td>
 <th class="colLast" scope="row">
 <div class="block">This is a small util class that try to hide calls to Flink
@@ -1215,379 +1327,411 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  those APIs during minor version release.</div>
 </th>
 </tr>
-<tr id="i227" class="rowColor">
+<tr id="i246" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/FlinkConfigOptions.html" title="class in org.apache.iceberg.flink">FlinkConfigOptions</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i228" class="altColor">
+<tr id="i247" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/FlinkDynamicTableFactory.html" title="class in org.apache.iceberg.flink">FlinkDynamicTableFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i229" class="rowColor">
+<tr id="i248" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/FlinkFilters.html" title="class in org.apache.iceberg.flink">FlinkFilters</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i230" class="altColor">
+<tr id="i249" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/source/FlinkInputFormat.html" title="class in org.apache.iceberg.flink.source">FlinkInputFormat</a></td>
 <th class="colLast" scope="row">
 <div class="block">Flink <code>InputFormat</code> for Iceberg.</div>
 </th>
 </tr>
-<tr id="i231" class="rowColor">
+<tr id="i250" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/source/FlinkInputSplit.html" title="class in org.apache.iceberg.flink.source">FlinkInputSplit</a></td>
 <th class="colLast" scope="row">
 <div class="block">TODO Implement <code>LocatableInputSplit</code>.</div>
 </th>
 </tr>
-<tr id="i232" class="altColor">
+<tr id="i251" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkOrcReader.html" title="class in org.apache.iceberg.flink.data">FlinkOrcReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i233" class="rowColor">
+<tr id="i252" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkOrcWriter.html" title="class in org.apache.iceberg.flink.data">FlinkOrcWriter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i234" class="altColor">
+<tr id="i253" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkParquetReaders.html" title="class in org.apache.iceberg.flink.data">FlinkParquetReaders</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i235" class="rowColor">
+<tr id="i254" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkParquetWriters.html" title="class in org.apache.iceberg.flink.data">FlinkParquetWriters</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i236" class="altColor">
+<tr id="i255" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/FlinkSchemaUtil.html" title="class in org.apache.iceberg.flink">FlinkSchemaUtil</a></td>
 <th class="colLast" scope="row">
 <div class="block">Converter between Flink types and Iceberg type.</div>
 </th>
 </tr>
-<tr id="i237" class="rowColor">
+<tr id="i256" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/sink/FlinkSink.html" title="class in org.apache.iceberg.flink.sink">FlinkSink</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i238" class="altColor">
+<tr id="i257" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html" title="class in org.apache.iceberg.flink.sink">FlinkSink.Builder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i239" class="rowColor">
+<tr id="i258" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/source/FlinkSource.html" title="class in org.apache.iceberg.flink.source">FlinkSource</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i240" class="altColor">
+<tr id="i259" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html" title="class in org.apache.iceberg.flink.source">FlinkSource.Builder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Source builder to build <code>DataStream</code>.</div>
 </th>
 </tr>
-<tr id="i241" class="rowColor">
+<tr id="i260" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/source/FlinkSplitPlanner.html" title="class in org.apache.iceberg.flink.source">FlinkSplitPlanner</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i261" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/FlinkTypeVisitor.html" title="class in org.apache.iceberg.flink">FlinkTypeVisitor</a>&lt;<a href="org/apache/iceberg/flink/FlinkTypeVisitor.html" title="type parameter in FlinkTypeVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i242" class="altColor">
+<tr id="i262" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkValueReaders.html" title="class in org.apache.iceberg.flink.data">FlinkValueReaders</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i243" class="rowColor">
+<tr id="i263" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/data/FlinkValueWriters.html" title="class in org.apache.iceberg.flink.data">FlinkValueWriters</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i244" class="altColor">
+<tr id="i264" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/FloatFieldMetrics.html" title="class in org.apache.iceberg">FloatFieldMetrics</a></td>
 <th class="colLast" scope="row">
 <div class="block">Iceberg internally tracked field level metrics, used by Parquet and ORC writers only.</div>
 </th>
 </tr>
-<tr id="i245" class="rowColor">
+<tr id="i265" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/FloatFieldMetrics.Builder.html" title="class in org.apache.iceberg">FloatFieldMetrics.Builder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i246" class="altColor">
+<tr id="i266" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/gcp/GCPProperties.html" title="class in org.apache.iceberg.gcp">GCPProperties</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i267" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/gcp/gcs/GCSFileIO.html" title="class in org.apache.iceberg.gcp.gcs">GCSFileIO</a></td>
+<th class="colLast" scope="row">
+<div class="block">FileIO Implementation backed by Google Cloud Storage (GCS)</div>
+</th>
+</tr>
+<tr id="i268" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/gcp/gcs/GCSInputFile.html" title="class in org.apache.iceberg.gcp.gcs">GCSInputFile</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i269" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/gcp/gcs/GCSOutputFile.html" title="class in org.apache.iceberg.gcp.gcs">GCSOutputFile</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i270" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/GenericAppenderFactory.html" title="class in org.apache.iceberg.data">GenericAppenderFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory to create a new <a href="org/apache/iceberg/io/FileAppender.html" title="interface in org.apache.iceberg.io"><code>FileAppender</code></a> to write <a href="org/apache/iceberg/data/Record.html" title="interface in org.apache.iceberg.data"><code>Record</code></a>s.</div>
 </th>
 </tr>
-<tr id="i247" class="rowColor">
+<tr id="i271" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.html" title="class in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">DecimalT</a>,&#8203;<a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVecto [...]
 <th class="colLast" scope="row">
 <div class="block">This class is creates typed <a href="org/apache/iceberg/arrow/vectorized/ArrowVectorAccessor.html" title="class in org.apache.iceberg.arrow.vectorized"><code>ArrowVectorAccessor</code></a> from <a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized"><code>VectorHolder</code></a>.</div>
 </th>
 </tr>
-<tr id="i248" class="altColor">
+<tr id="i272" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.ArrayFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.ArrayFactory</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.ArrayFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.ArrayFactory">ChildVectorT</a>,&#8203;<a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAcce [...]
 <th class="colLast" scope="row">
 <div class="block">Create an array value of type <code>ArrayT</code> from arrow vector value.</div>
 </th>
 </tr>
-<tr id="i249" class="rowColor">
+<tr id="i273" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.DecimalFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.DecimalFactory</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.DecimalFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.DecimalFactory">DecimalT</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Create a decimal value of type <code>DecimalT</code> from arrow vector value.</div>
 </th>
 </tr>
-<tr id="i250" class="altColor">
+<tr id="i274" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.StringFactory</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.StringFactory">Utf8StringT</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Create a UTF8 String value of type <code>Utf8StringT</code> from arrow vector value.</div>
 </th>
 </tr>
-<tr id="i251" class="rowColor">
+<tr id="i275" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StructChildFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.StructChildFactory</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StructChildFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.StructChildFactory">ChildVectorT</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Create a struct child vector of type <code>ChildVectorT</code> from arrow vector value.</div>
 </th>
 </tr>
-<tr id="i252" class="altColor">
+<tr id="i276" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/GenericDeleteFilter.html" title="class in org.apache.iceberg.data">GenericDeleteFilter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i253" class="rowColor">
+<tr id="i277" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/GenericManifestFile.html" title="class in org.apache.iceberg">GenericManifestFile</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i254" class="altColor">
+<tr id="i278" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/GenericManifestFile.CopyBuilder.html" title="class in org.apache.iceberg">GenericManifestFile.CopyBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i255" class="rowColor">
+<tr id="i279" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/orc/GenericOrcReader.html" title="class in org.apache.iceberg.data.orc">GenericOrcReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i256" class="altColor">
+<tr id="i280" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/orc/GenericOrcReaders.html" title="class in org.apache.iceberg.data.orc">GenericOrcReaders</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i257" class="rowColor">
+<tr id="i281" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/orc/GenericOrcWriter.html" title="class in org.apache.iceberg.data.orc">GenericOrcWriter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i258" class="altColor">
+<tr id="i282" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/orc/GenericOrcWriters.html" title="class in org.apache.iceberg.data.orc">GenericOrcWriters</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i259" class="rowColor">
+<tr id="i283" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/data/orc/GenericOrcWriters.StructWriter.html" title="class in org.apache.iceberg.data.orc">GenericOrcWriters.StructWriter</a>&lt;<a href="org/apache/iceberg/data/orc/GenericOrcWriters.StructWriter.html" title="type parameter in GenericOrcWriters.StructWriter">S</a>&gt;</td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i284" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/parquet/GenericParquetReaders.html" title="class in org.apache.iceberg.data.parquet">GenericParquetReaders</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i260" class="altColor">
+<tr id="i285" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/parquet/GenericParquetWriter.html" title="class in org.apache.iceberg.data.parquet">GenericParquetWriter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i261" class="rowColor">
+<tr id="i286" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/GenericPartitionFieldSummary.html" title="class in org.apache.iceberg">GenericPartitionFieldSummary</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i262" class="altColor">
+<tr id="i287" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/GenericRecord.html" title="class in org.apache.iceberg.data">GenericRecord</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i263" class="rowColor">
+<tr id="i288" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue">GlueCatalog</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i264" class="altColor">
+<tr id="i289" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/GuavaClasses.html" title="class in org.apache.iceberg">GuavaClasses</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i265" class="rowColor">
+<tr id="i290" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/hadoop/HadoopCatalog.html" title="class in org.apache.iceberg.hadoop">HadoopCatalog</a></td>
 <th class="colLast" scope="row">
 <div class="block">HadoopCatalog provides a way to use table names like db.table to work with path-based tables under a common
  location.</div>
 </th>
 </tr>
-<tr id="i266" class="altColor">
+<tr id="i291" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/hadoop/HadoopConfigurable.html" title="interface in org.apache.iceberg.hadoop">HadoopConfigurable</a></td>
 <th class="colLast" scope="row">
 <div class="block">An interface that extends the Hadoop <code>Configurable</code> interface to offer better serialization support for
  customizable Iceberg objects such as <a href="org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io"><code>FileIO</code></a>.</div>
 </th>
 </tr>
-<tr id="i267" class="rowColor">
+<tr id="i292" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/hadoop/HadoopFileIO.html" title="class in org.apache.iceberg.hadoop">HadoopFileIO</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i268" class="altColor">
+<tr id="i293" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/hadoop/HadoopInputFile.html" title="class in org.apache.iceberg.hadoop">HadoopInputFile</a></td>
 <th class="colLast" scope="row">
 <div class="block"><a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io"><code>InputFile</code></a> implementation using the Hadoop <code>FileSystem</code> API.</div>
 </th>
 </tr>
-<tr id="i269" class="rowColor">
+<tr id="i294" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/hadoop/HadoopOutputFile.html" title="class in org.apache.iceberg.hadoop">HadoopOutputFile</a></td>
 <th class="colLast" scope="row">
 <div class="block"><a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io"><code>OutputFile</code></a> implementation using the Hadoop <code>FileSystem</code> API.</div>
 </th>
 </tr>
-<tr id="i270" class="altColor">
+<tr id="i295" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/hadoop/HadoopTableOperations.html" title="class in org.apache.iceberg.hadoop">HadoopTableOperations</a></td>
 <th class="colLast" scope="row">
 <div class="block">TableOperations implementation for file systems that support atomic rename.</div>
 </th>
 </tr>
-<tr id="i271" class="rowColor">
+<tr id="i296" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/hadoop/HadoopTables.html" title="class in org.apache.iceberg.hadoop">HadoopTables</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of Iceberg tables that uses the Hadoop FileSystem
  to store metadata and manifests.</div>
 </th>
 </tr>
-<tr id="i272" class="altColor">
+<tr id="i297" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/HasTableOperations.html" title="interface in org.apache.iceberg">HasTableOperations</a></td>
 <th class="colLast" scope="row">
 <div class="block">Used to expose a table's TableOperations.</div>
 </th>
 </tr>
-<tr id="i273" class="rowColor">
+<tr id="i298" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/hadoop/HiddenPathFilter.html" title="class in org.apache.iceberg.hadoop">HiddenPathFilter</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>PathFilter</code> that filters out hidden paths.</div>
 </th>
 </tr>
-<tr id="i274" class="altColor">
+<tr id="i299" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/HistoryEntry.html" title="interface in org.apache.iceberg">HistoryEntry</a></td>
 <th class="colLast" scope="row">
 <div class="block">Table history entry.</div>
 </th>
 </tr>
-<tr id="i275" class="rowColor">
+<tr id="i300" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/HistoryTable.html" title="class in org.apache.iceberg">HistoryTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's history as rows.</div>
 </th>
 </tr>
-<tr id="i276" class="altColor">
+<tr id="i301" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i277" class="rowColor">
-<td class="colFirst"><a href="org/apache/iceberg/hive/HiveCatalogs.html" title="class in org.apache.iceberg.hive">HiveCatalogs</a></td>
-<th class="colLast" scope="row">&nbsp;</th>
-</tr>
-<tr id="i278" class="altColor">
+<tr id="i302" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/hive/HiveClientPool.html" title="class in org.apache.iceberg.hive">HiveClientPool</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i279" class="rowColor">
+<tr id="i303" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergFilterFactory.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergFilterFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i280" class="altColor">
+<tr id="i304" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergInputFormat.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergInputFormat</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i281" class="rowColor">
+<tr id="i305" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergMetaHook.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergMetaHook</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i282" class="altColor">
+<tr id="i306" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergOutputCommitter.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergOutputCommitter</a></td>
 <th class="colLast" scope="row">
 <div class="block">An Iceberg table committer for adding data files to the Iceberg tables.</div>
 </th>
 </tr>
-<tr id="i283" class="rowColor">
+<tr id="i307" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergOutputFormat.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergOutputFormat</a>&lt;<a href="org/apache/iceberg/mr/hive/HiveIcebergOutputFormat.html" title="type parameter in HiveIcebergOutputFormat">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i284" class="altColor">
+<tr id="i308" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergSerDe.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergSerDe</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i285" class="rowColor">
+<tr id="i309" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergSplit.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergSplit</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i286" class="altColor">
+<tr id="i310" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergStorageHandler</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i287" class="rowColor">
+<tr id="i311" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/hive/HiveSchemaUtil.html" title="class in org.apache.iceberg.hive">HiveSchemaUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i288" class="altColor">
+<tr id="i312" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/hive/HiveTableOperations.html" title="class in org.apache.iceberg.hive">HiveTableOperations</a></td>
 <th class="colLast" scope="row">
 <div class="block">TODO we should be able to extract some more commonalities to BaseMetastoreTableOperations to
  avoid code duplication between this class and Metacat Tables.</div>
 </th>
 </tr>
-<tr id="i289" class="rowColor">
+<tr id="i313" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/vectorized/IcebergArrowColumnVector.html" title="class in org.apache.iceberg.spark.data.vectorized">IcebergArrowColumnVector</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implementation of Spark's <code>ColumnVector</code> interface.</div>
 </th>
 </tr>
-<tr id="i290" class="altColor">
+<tr id="i314" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergBinaryObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergBinaryObjectInspector</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i291" class="rowColor">
+<tr id="i315" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergDateObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergDateObjectInspector</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i292" class="altColor">
+<tr id="i316" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergDecimalObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergDecimalObjectInspector</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i293" class="rowColor">
+<tr id="i317" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/avro/IcebergDecoder.html" title="class in org.apache.iceberg.data.avro">IcebergDecoder</a>&lt;<a href="org/apache/iceberg/data/avro/IcebergDecoder.html" title="type parameter in IcebergDecoder">D</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i294" class="altColor">
+<tr id="i318" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/avro/IcebergEncoder.html" title="class in org.apache.iceberg.data.avro">IcebergEncoder</a>&lt;<a href="org/apache/iceberg/data/avro/IcebergEncoder.html" title="type parameter in IcebergEncoder">D</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i295" class="rowColor">
+<tr id="i319" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergFixedObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergFixedObjectInspector</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i296" class="altColor">
+<tr id="i320" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/IcebergGenerics.html" title="class in org.apache.iceberg.data">IcebergGenerics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i297" class="rowColor">
+<tr id="i321" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/IcebergGenerics.ScanBuilder.html" title="class in org.apache.iceberg.data">IcebergGenerics.ScanBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i298" class="altColor">
+<tr id="i322" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/mapreduce/IcebergInputFormat.html" title="class in org.apache.iceberg.mr.mapreduce">IcebergInputFormat</a>&lt;<a href="org/apache/iceberg/mr/mapreduce/IcebergInputFormat.html" title="type parameter in IcebergInputFormat">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Generic Mrv2 InputFormat API for Iceberg.</div>
 </th>
 </tr>
-<tr id="i299" class="rowColor">
+<tr id="i323" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergObjectInspector</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i300" class="altColor">
+<tr id="i324" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/pig/IcebergPigInputFormat.html" title="class in org.apache.iceberg.pig">IcebergPigInputFormat</a>&lt;<a href="org/apache/iceberg/pig/IcebergPigInputFormat.html" title="type parameter in IcebergPigInputFormat">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i301" class="rowColor">
+<tr id="i325" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergRecordObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergRecordObjectInspector</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i302" class="altColor">
+<tr id="i326" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/source/IcebergSource.html" title="class in org.apache.iceberg.spark.source">IcebergSource</a></td>
 <th class="colLast" scope="row">
 <div class="block">The IcebergSource loads/writes tables with format "iceberg".</div>
 </th>
 </tr>
-<tr id="i303" class="rowColor">
+<tr id="i327" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/source/split/IcebergSourceSplit.html" title="class in org.apache.iceberg.flink.source.split">IcebergSourceSplit</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i328" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/source/split/IcebergSourceSplitSerializer.html" title="class in org.apache.iceberg.flink.source.split">IcebergSourceSplitSerializer</a></td>
+<th class="colLast" scope="row">
+<div class="block">TODO: use Java serialization for now.</div>
+</th>
+</tr>
+<tr id="i329" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/IcebergSpark.html" title="class in org.apache.iceberg.spark">IcebergSpark</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i304" class="altColor">
+<tr id="i330" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/mapreduce/IcebergSplit.html" title="class in org.apache.iceberg.mr.mapreduce">IcebergSplit</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i305" class="rowColor">
+<tr id="i331" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/mapreduce/IcebergSplitContainer.html" title="interface in org.apache.iceberg.mr.mapreduce">IcebergSplitContainer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i306" class="altColor">
+<tr id="i332" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsBaseListener.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsBaseListener</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class provides an empty implementation of <a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsListener.html" title="interface in org.apache.spark.sql.catalyst.parser.extensions"><code>IcebergSqlExtensionsListener</code></a>,
@@ -1595,7 +1739,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  of the available methods.</div>
 </th>
 </tr>
-<tr id="i307" class="rowColor">
+<tr id="i333" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsBaseVisitor.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsBaseVisitor</a>&lt;<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsBaseVisitor.html" title="type parameter in IcebergSqlExtensionsBaseVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">This class provides an empty implementation of <a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsVisitor.html" title="interface in org.apache.spark.sql.catalyst.parser.extensions"><code>IcebergSqlExtensionsVisitor</code></a>,
@@ -1603,1726 +1747,1878 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  of the available methods.</div>
 </th>
 </tr>
-<tr id="i308" class="altColor">
+<tr id="i334" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsLexer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i309" class="rowColor">
+<tr id="i335" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsListener.html" title="interface in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsListener</a></td>
 <th class="colLast" scope="row">
 <div class="block">This interface defines a complete listener for a parse tree produced by
  <a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html" title="class in org.apache.spark.sql.catalyst.parser.extensions"><code>IcebergSqlExtensionsParser</code></a>.</div>
 </th>
 </tr>
-<tr id="i310" class="altColor">
+<tr id="i336" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i311" class="rowColor">
+<tr id="i337" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.AddPartitionFieldContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.AddPartitionFieldContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i312" class="altColor">
+<tr id="i338" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ApplyTransformContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.ApplyTransformContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i313" class="rowColor">
+<tr id="i339" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.BigDecimalLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.BigDecimalLiteralContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i314" class="altColor">
+<tr id="i340" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.BigIntLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.BigIntLiteralContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i315" class="rowColor">
+<tr id="i341" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.BooleanLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.BooleanLiteralContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i316" class="altColor">
+<tr id="i342" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.BooleanValueContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.BooleanValueContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i317" class="rowColor">
+<tr id="i343" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.CallArgumentContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.CallArgumentContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i318" class="altColor">
+<tr id="i344" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.CallContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.CallContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i319" class="rowColor">
+<tr id="i345" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ConstantContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.ConstantContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i320" class="altColor">
+<tr id="i346" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.DecimalLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.DecimalLiteralContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i321" class="rowColor">
+<tr id="i347" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.DoubleLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.DoubleLiteralContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i322" class="altColor">
+<tr id="i348" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.DropIdentifierFieldsContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.DropIdentifierFieldsContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i323" class="rowColor">
+<tr id="i349" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.DropPartitionFieldContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.DropPartitionFieldContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i324" class="altColor">
+<tr id="i350" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ExponentLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.ExponentLiteralContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i325" class="rowColor">
+<tr id="i351" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ExpressionContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.ExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i326" class="altColor">
+<tr id="i352" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.FieldListContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.FieldListContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i327" class="rowColor">
+<tr id="i353" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.FloatLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.FloatLiteralContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i328" class="altColor">
+<tr id="i354" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.IdentifierContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.IdentifierContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i329" class="rowColor">
+<tr id="i355" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.IdentityTransformContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.IdentityTransformContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i330" class="altColor">
+<tr id="i356" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.IntegerLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.IntegerLiteralContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i331" class="rowColor">
+<tr id="i357" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.MultipartIdentifierContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.MultipartIdentifierContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i332" class="altColor">
+<tr id="i358" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.NamedArgumentContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.NamedArgumentContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i333" class="rowColor">
+<tr id="i359" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.NonReservedContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.NonReservedContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i334" class="altColor">
+<tr id="i360" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.NumberContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.NumberContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i335" class="rowColor">
+<tr id="i361" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.NumericLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.NumericLiteralContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i336" class="altColor">
+<tr id="i362" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.OrderContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.OrderContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i337" class="rowColor">
+<tr id="i363" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.OrderFieldContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.OrderFieldContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i338" class="altColor">
+<tr id="i364" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.PositionalArgumentContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.PositionalArgumentContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i339" class="rowColor">
+<tr id="i365" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.QuotedIdentifierAlternativeContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.QuotedIdentifierAlternativeContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i340" class="altColor">
+<tr id="i366" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.QuotedIdentifierContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.QuotedIdentifierContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i341" class="rowColor">
+<tr id="i367" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ReplacePartitionFieldContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.ReplacePartitionFieldContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i342" class="altColor">
+<tr id="i368" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SetIdentifierFieldsContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.SetIdentifierFieldsContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i343" class="rowColor">
+<tr id="i369" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SetWriteDistributionAndOrderingContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.SetWriteDistributionAndOrderingContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i344" class="altColor">
+<tr id="i370" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SingleStatementContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.SingleStatementContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i345" class="rowColor">
+<tr id="i371" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SmallIntLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.SmallIntLiteralContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i346" class="altColor">
+<tr id="i372" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.StatementContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.StatementContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i347" class="rowColor">
+<tr id="i373" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.StringLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.StringLiteralContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i348" class="altColor">
+<tr id="i374" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.StringMapContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.StringMapContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i349" class="rowColor">
+<tr id="i375" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.TinyIntLiteralContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.TinyIntLiteralContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i350" class="altColor">
+<tr id="i376" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.TransformArgumentContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.TransformArgumentContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i351" class="rowColor">
+<tr id="i377" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.TransformContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.TransformContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i352" class="altColor">
+<tr id="i378" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.TypeConstructorContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.TypeConstructorContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i353" class="rowColor">
+<tr id="i379" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.UnquotedIdentifierContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.UnquotedIdentifierContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i354" class="altColor">
+<tr id="i380" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.WriteDistributionSpecContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.WriteDistributionSpecContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i355" class="rowColor">
+<tr id="i381" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.WriteOrderingSpecContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.WriteOrderingSpecContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i356" class="altColor">
+<tr id="i382" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.WriteSpecContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.WriteSpecContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i357" class="rowColor">
+<tr id="i383" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsVisitor.html" title="interface in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsVisitor</a>&lt;<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsVisitor.html" title="type parameter in IcebergSqlExtensionsVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">This interface defines a complete generic visitor for a parse tree produced
  by <a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html" title="class in org.apache.spark.sql.catalyst.parser.extensions"><code>IcebergSqlExtensionsParser</code></a>.</div>
 </th>
 </tr>
-<tr id="i358" class="altColor">
+<tr id="i384" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/pig/IcebergStorage.html" title="class in org.apache.iceberg.pig">IcebergStorage</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i359" class="rowColor">
+<tr id="i385" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/IcebergTableSink.html" title="class in org.apache.iceberg.flink">IcebergTableSink</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i360" class="altColor">
+<tr id="i386" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/IcebergTableSource.html" title="class in org.apache.iceberg.flink">IcebergTableSource</a></td>
 <th class="colLast" scope="row">
 <div class="block">Flink Iceberg table source.</div>
 </th>
 </tr>
-<tr id="i361" class="rowColor">
+<tr id="i387" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergTimeObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergTimeObjectInspector</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i362" class="altColor">
+<tr id="i388" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergTimestampObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergTimestampObjectInspector</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i363" class="rowColor">
+<tr id="i389" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergTimestampWithZoneObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergTimestampWithZoneObjectInspector</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i364" class="altColor">
+<tr id="i390" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergUUIDObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergUUIDObjectInspector</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i365" class="rowColor">
+<tr id="i391" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/IdentityPartitionConverters.html" title="class in org.apache.iceberg.data">IdentityPartitionConverters</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i366" class="altColor">
+<tr id="i392" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/InclusiveMetricsEvaluator.html" title="class in org.apache.iceberg.expressions">InclusiveMetricsEvaluator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Evaluates an <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a> on a <a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> to test whether rows in the file may match.</div>
 </th>
 </tr>
-<tr id="i367" class="rowColor">
+<tr id="i393" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/events/IncrementalScanEvent.html" title="class in org.apache.iceberg.events">IncrementalScanEvent</a></td>
 <th class="colLast" scope="row">
 <div class="block">Event sent to listeners when an incremental table scan is planned.</div>
 </th>
 </tr>
-<tr id="i368" class="altColor">
+<tr id="i394" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/IndexByName.html" title="class in org.apache.iceberg.types">IndexByName</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i369" class="rowColor">
+<tr id="i395" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/IndexParents.html" title="class in org.apache.iceberg.types">IndexParents</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i370" class="altColor">
+<tr id="i396" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a></td>
 <th class="colLast" scope="row">
 <div class="block">An interface used to read input files using <a href="org/apache/iceberg/io/SeekableInputStream.html" title="class in org.apache.iceberg.io"><code>SeekableInputStream</code></a> instances.</div>
 </th>
 </tr>
-<tr id="i371" class="rowColor">
+<tr id="i397" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/encryption/InputFilesDecryptor.html" title="class in org.apache.iceberg.encryption">InputFilesDecryptor</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i398" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/InputFormatConfig.html" title="class in org.apache.iceberg.mr">InputFormatConfig</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i372" class="altColor">
+<tr id="i399" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/InputFormatConfig.ConfigBuilder.html" title="class in org.apache.iceberg.mr">InputFormatConfig.ConfigBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i373" class="rowColor">
+<tr id="i400" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/InputFormatConfig.InMemoryDataModel.html" title="enum in org.apache.iceberg.mr">InputFormatConfig.InMemoryDataModel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i374" class="altColor">
+<tr id="i401" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/InternalRecordWrapper.html" title="class in org.apache.iceberg.data">InternalRecordWrapper</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i375" class="rowColor">
+<tr id="i402" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/IsolationLevel.html" title="enum in org.apache.iceberg">IsolationLevel</a></td>
 <th class="colLast" scope="row">
 <div class="block">An isolation level in a table.</div>
 </th>
 </tr>
-<tr id="i376" class="altColor">
+<tr id="i403" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/JavaHash.html" title="interface in org.apache.iceberg.types">JavaHash</a>&lt;<a href="org/apache/iceberg/types/JavaHash.html" title="type parameter in JavaHash">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i377" class="rowColor">
+<tr id="i404" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/JavaHashes.html" title="class in org.apache.iceberg.types">JavaHashes</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i378" class="altColor">
+<tr id="i405" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i379" class="rowColor">
+<tr id="i406" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/JobGroupInfo.html" title="class in org.apache.iceberg.spark">JobGroupInfo</a></td>
 <th class="colLast" scope="row">
 <div class="block">Captures information about the current job
  which is used for displaying on the UI</div>
 </th>
 </tr>
-<tr id="i380" class="altColor">
+<tr id="i407" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/JobGroupUtils.html" title="class in org.apache.iceberg.spark">JobGroupUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i381" class="rowColor">
+<tr id="i408" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/JsonUtil.html" title="class in org.apache.iceberg.util">JsonUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i382" class="altColor">
+<tr id="i409" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/events/Listener.html" title="interface in org.apache.iceberg.events">Listener</a>&lt;<a href="org/apache/iceberg/events/Listener.html" title="type parameter in Listener">E</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">A listener interface that can receive notifications.</div>
 </th>
 </tr>
-<tr id="i383" class="rowColor">
+<tr id="i410" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/events/Listeners.html" title="class in org.apache.iceberg.events">Listeners</a></td>
 <th class="colLast" scope="row">
 <div class="block">Static registration and notification for listeners.</div>
 </th>
 </tr>
-<tr id="i384" class="altColor">
+<tr id="i411" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/Literal.html" title="interface in org.apache.iceberg.expressions">Literal</a>&lt;<a href="org/apache/iceberg/expressions/Literal.html" title="type parameter in Literal">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Represents a literal fixed value in an expression predicate</div>
 </th>
 </tr>
-<tr id="i385" class="rowColor">
+<tr id="i412" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/LocationProvider.html" title="interface in org.apache.iceberg.io">LocationProvider</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interface for providing data file locations to write tasks.</div>
 </th>
 </tr>
-<tr id="i386" class="altColor">
+<tr id="i413" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/LocationProviders.html" title="class in org.apache.iceberg">LocationProviders</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i387" class="rowColor">
+<tr id="i414" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/LockManager.html" title="interface in org.apache.iceberg">LockManager</a></td>
+<th class="colLast" scope="row">
+<div class="block">An interface for locking, used to ensure commit isolation.</div>
+</th>
+</tr>
+<tr id="i415" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/LockManagers.html" title="class in org.apache.iceberg.util">LockManagers</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i416" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/util/LockManagers.BaseLockManager.html" title="class in org.apache.iceberg.util">LockManagers.BaseLockManager</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i417" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/LogicalMap.html" title="class in org.apache.iceberg.avro">LogicalMap</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i388" class="altColor">
+<tr id="i418" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for managing snapshots.</div>
 </th>
 </tr>
-<tr id="i389" class="rowColor">
+<tr id="i419" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/ManifestContent.html" title="enum in org.apache.iceberg">ManifestContent</a></td>
 <th class="colLast" scope="row">
 <div class="block">Content type stored in a manifest file, either DATA or DELETES.</div>
 </th>
 </tr>
-<tr id="i390" class="altColor">
+<tr id="i420" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/ManifestEntriesTable.html" title="class in org.apache.iceberg">ManifestEntriesTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's manifest entries as rows, for both delete and data files.</div>
 </th>
 </tr>
-<tr id="i391" class="rowColor">
+<tr id="i421" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/ManifestEvaluator.html" title="class in org.apache.iceberg.expressions">ManifestEvaluator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Evaluates an <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a> on a <a href="org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg"><code>ManifestFile</code></a> to test whether the file contains
  matching partitions.</div>
 </th>
 </tr>
-<tr id="i392" class="altColor">
+<tr id="i422" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents a manifest file that can be scanned to find data files in a table.</div>
 </th>
 </tr>
-<tr id="i393" class="rowColor">
+<tr id="i423" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/ManifestFile.PartitionFieldSummary.html" title="interface in org.apache.iceberg">ManifestFile.PartitionFieldSummary</a></td>
 <th class="colLast" scope="row">
 <div class="block">Summarizes the values of one partition field stored in a manifest file.</div>
 </th>
 </tr>
-<tr id="i394" class="altColor">
-<td class="colFirst"><a href="org/apache/iceberg/actions/ManifestFileBean.html" title="class in org.apache.iceberg.actions">ManifestFileBean</a></td>
+<tr id="i424" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/actions/ManifestFileBean.html" title="class in org.apache.iceberg.spark.actions">ManifestFileBean</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i395" class="rowColor">
+<tr id="i425" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/ManifestFiles.html" title="class in org.apache.iceberg">ManifestFiles</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i396" class="altColor">
+<tr id="i426" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/ManifestFileUtil.html" title="class in org.apache.iceberg.util">ManifestFileUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i397" class="rowColor">
+<tr id="i427" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a>&lt;<a href="org/apache/iceberg/ManifestReader.html" title="type parameter in ManifestReader">F</a> extends <a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a>&lt;<a href="org/apache/iceberg/ManifestReader.html" title="type parameter in ManifestReader">F</a>&gt;&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Base reader for data and delete manifest files.</div>
 </th>
 </tr>
-<tr id="i398" class="altColor">
+<tr id="i428" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/ManifestReader.FileType.html" title="enum in org.apache.iceberg">ManifestReader.FileType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i399" class="rowColor">
+<tr id="i429" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/ManifestsTable.html" title="class in org.apache.iceberg">ManifestsTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's manifest files as rows.</div>
 </th>
 </tr>
-<tr id="i400" class="altColor">
+<tr id="i430" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a>&lt;<a href="org/apache/iceberg/ManifestWriter.html" title="type parameter in ManifestWriter">F</a> extends <a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a>&lt;<a href="org/apache/iceberg/ManifestWriter.html" title="type parameter in ManifestWriter">F</a>&gt;&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Writer for manifest files.</div>
 </th>
 </tr>
-<tr id="i401" class="rowColor">
+<tr id="i431" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mapping/MappedField.html" title="class in org.apache.iceberg.mapping">MappedField</a></td>
 <th class="colLast" scope="row">
 <div class="block">An immutable mapping between a field ID and a set of names.</div>
 </th>
 </tr>
-<tr id="i402" class="altColor">
+<tr id="i432" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mapping/MappedFields.html" title="class in org.apache.iceberg.mapping">MappedFields</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i403" class="rowColor">
+<tr id="i433" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mapping/MappingUtil.html" title="class in org.apache.iceberg.mapping">MappingUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i404" class="altColor">
+<tr id="i434" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/mapred/MapredIcebergInputFormat.html" title="class in org.apache.iceberg.mr.mapred">MapredIcebergInputFormat</a>&lt;<a href="org/apache/iceberg/mr/mapred/MapredIcebergInputFormat.html" title="type parameter in MapredIcebergInputFormat">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Generic MR v1 InputFormat API for Iceberg.</div>
 </th>
 </tr>
-<tr id="i405" class="rowColor">
+<tr id="i435" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/mapred/MapredIcebergInputFormat.CompatibilityTaskAttemptContextImpl.html" title="class in org.apache.iceberg.mr.mapred">MapredIcebergInputFormat.CompatibilityTaskAttemptContextImpl</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i406" class="altColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/write/MergeBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write">MergeBuilder</a></td>
-<th class="colLast" scope="row">
-<div class="block">An interface for building a scan and a write for a row-level operation.</div>
-</th>
-</tr>
-<tr id="i407" class="rowColor">
+<tr id="i436" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i408" class="altColor">
+<tr id="i437" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i409" class="rowColor">
+<tr id="i438" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/MetadataTableUtils.html" title="class in org.apache.iceberg">MetadataTableUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i410" class="altColor">
+<tr id="i439" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataUpdate.html" title="interface in org.apache.iceberg">MetadataUpdate</a></td>
+<th class="colLast" scope="row">
+<div class="block">Represents a change to table metadata.</div>
+</th>
+</tr>
+<tr id="i440" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataUpdate.AddPartitionSpec.html" title="class in org.apache.iceberg">MetadataUpdate.AddPartitionSpec</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i441" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataUpdate.AddSchema.html" title="class in org.apache.iceberg">MetadataUpdate.AddSchema</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i442" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataUpdate.AddSnapshot.html" title="class in org.apache.iceberg">MetadataUpdate.AddSnapshot</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i443" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataUpdate.AddSortOrder.html" title="class in org.apache.iceberg">MetadataUpdate.AddSortOrder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i444" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataUpdate.AssignUUID.html" title="class in org.apache.iceberg">MetadataUpdate.AssignUUID</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i445" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataUpdate.RemoveProperties.html" title="class in org.apache.iceberg">MetadataUpdate.RemoveProperties</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i446" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataUpdate.RemoveSnapshot.html" title="class in org.apache.iceberg">MetadataUpdate.RemoveSnapshot</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i447" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataUpdate.SetCurrentSchema.html" title="class in org.apache.iceberg">MetadataUpdate.SetCurrentSchema</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i448" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataUpdate.SetCurrentSnapshot.html" title="class in org.apache.iceberg">MetadataUpdate.SetCurrentSnapshot</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i449" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataUpdate.SetDefaultPartitionSpec.html" title="class in org.apache.iceberg">MetadataUpdate.SetDefaultPartitionSpec</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i450" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataUpdate.SetDefaultSortOrder.html" title="class in org.apache.iceberg">MetadataUpdate.SetDefaultSortOrder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i451" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataUpdate.SetLocation.html" title="class in org.apache.iceberg">MetadataUpdate.SetLocation</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i452" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataUpdate.SetProperties.html" title="class in org.apache.iceberg">MetadataUpdate.SetProperties</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i453" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/MetadataUpdate.UpgradeFormatVersion.html" title="class in org.apache.iceberg">MetadataUpdate.UpgradeFormatVersion</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i454" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/hive/MetastoreUtil.html" title="class in org.apache.iceberg.hive">MetastoreUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i411" class="rowColor">
+<tr id="i455" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/Metrics.html" title="class in org.apache.iceberg">Metrics</a></td>
 <th class="colLast" scope="row">
 <div class="block">Iceberg file format metrics.</div>
 </th>
 </tr>
-<tr id="i412" class="altColor">
+<tr id="i456" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/MetricsAwareDatumWriter.html" title="interface in org.apache.iceberg.avro">MetricsAwareDatumWriter</a>&lt;<a href="org/apache/iceberg/avro/MetricsAwareDatumWriter.html" title="type parameter in MetricsAwareDatumWriter">D</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Wrapper writer around <code>DatumWriter</code> with metrics support.</div>
 </th>
 </tr>
-<tr id="i413" class="rowColor">
+<tr id="i457" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/MetricsConfig.html" title="class in org.apache.iceberg">MetricsConfig</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i414" class="altColor">
+<tr id="i458" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/MetricsModes.html" title="class in org.apache.iceberg">MetricsModes</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class defines different metrics modes, which allow users to control the collection of
  value_counts, null_value_counts, nan_value_counts, lower_bounds, upper_bounds for different columns in metadata.</div>
 </th>
 </tr>
-<tr id="i415" class="rowColor">
+<tr id="i459" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/MetricsModes.Counts.html" title="class in org.apache.iceberg">MetricsModes.Counts</a></td>
 <th class="colLast" scope="row">
 <div class="block">Under this mode, only value_counts, null_value_counts, nan_value_counts are persisted.</div>
 </th>
 </tr>
-<tr id="i416" class="altColor">
+<tr id="i460" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/MetricsModes.Full.html" title="class in org.apache.iceberg">MetricsModes.Full</a></td>
 <th class="colLast" scope="row">
 <div class="block">Under this mode, value_counts, null_value_counts, nan_value_counts
  and full lower_bounds, upper_bounds are persisted.</div>
 </th>
 </tr>
-<tr id="i417" class="rowColor">
+<tr id="i461" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/MetricsModes.MetricsMode.html" title="interface in org.apache.iceberg">MetricsModes.MetricsMode</a></td>
-<th class="colLast" scope="row">&nbsp;</th>
+<th class="colLast" scope="row">
+<div class="block">A metrics calculation mode.</div>
+</th>
 </tr>
-<tr id="i418" class="altColor">
+<tr id="i462" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/MetricsModes.None.html" title="class in org.apache.iceberg">MetricsModes.None</a></td>
 <th class="colLast" scope="row">
 <div class="block">Under this mode, value_counts, null_value_counts, nan_value_counts, lower_bounds, upper_bounds are not persisted.</div>
 </th>
 </tr>
-<tr id="i419" class="rowColor">
+<tr id="i463" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/MetricsModes.Truncate.html" title="class in org.apache.iceberg">MetricsModes.Truncate</a></td>
 <th class="colLast" scope="row">
 <div class="block">Under this mode, value_counts, null_value_counts, nan_value_counts
  and truncated lower_bounds, upper_bounds are persisted.</div>
 </th>
 </tr>
-<tr id="i420" class="altColor">
+<tr id="i464" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/MetricsUtil.html" title="class in org.apache.iceberg">MetricsUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i421" class="rowColor">
+<tr id="i465" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/MicroBatches.html" title="class in org.apache.iceberg">MicroBatches</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i422" class="altColor">
+<tr id="i466" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/MicroBatches.MicroBatch.html" title="class in org.apache.iceberg">MicroBatches.MicroBatch</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i423" class="rowColor">
+<tr id="i467" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/MicroBatches.MicroBatchBuilder.html" title="class in org.apache.iceberg">MicroBatches.MicroBatchBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i424" class="altColor">
+<tr id="i468" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions">MigrateTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">An action that migrates an existing table to Iceberg.</div>
 </th>
 </tr>
-<tr id="i425" class="rowColor">
+<tr id="i469" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions">MigrateTable.Result</a></td>
 <th class="colLast" scope="row">
 <div class="block">The action result that contains a summary of the execution.</div>
 </th>
 </tr>
-<tr id="i426" class="altColor">
+<tr id="i470" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/NamedReference.html" title="class in org.apache.iceberg.expressions">NamedReference</a>&lt;<a href="org/apache/iceberg/expressions/NamedReference.html" title="type parameter in NamedReference">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i427" class="rowColor">
+<tr id="i471" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/mapping/NameMapping.html" title="class in org.apache.iceberg.mapping">NameMapping</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents a mapping from external schema names to Iceberg type IDs.</div>
 </th>
 </tr>
-<tr id="i428" class="altColor">
+<tr id="i472" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mapping/NameMappingParser.html" title="class in org.apache.iceberg.mapping">NameMappingParser</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parses external name mappings from a JSON representation.</div>
 </th>
 </tr>
-<tr id="i429" class="rowColor">
+<tr id="i473" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a></td>
 <th class="colLast" scope="row">
 <div class="block">A namespace in a <a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><code>Catalog</code></a>.</div>
 </th>
 </tr>
-<tr id="i430" class="altColor">
+<tr id="i474" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/exceptions/NamespaceNotEmptyException.html" title="class in org.apache.iceberg.exceptions">NamespaceNotEmptyException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception raised when attempting to drop a namespace that is not empty.</div>
 </th>
 </tr>
-<tr id="i431" class="rowColor">
+<tr id="i475" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/NaNUtil.html" title="class in org.apache.iceberg.util">NaNUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i432" class="altColor">
+<tr id="i476" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a></td>
 <th class="colLast" scope="row">
 <div class="block">Nessie implementation of Iceberg Catalog.</div>
 </th>
 </tr>
-<tr id="i433" class="rowColor">
+<tr id="i477" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/nessie/NessieTableOperations.html" title="class in org.apache.iceberg.nessie">NessieTableOperations</a></td>
 <th class="colLast" scope="row">
 <div class="block">Nessie implementation of Iceberg TableOperations.</div>
 </th>
 </tr>
-<tr id="i434" class="altColor">
+<tr id="i478" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/nessie/NessieUtil.html" title="class in org.apache.iceberg.nessie">NessieUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i435" class="rowColor">
+<tr id="i479" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/exceptions/NoSuchIcebergTableException.html" title="class in org.apache.iceberg.exceptions">NoSuchIcebergTableException</a></td>
 <th class="colLast" scope="row">
 <div class="block">NoSuchTableException thrown when a table is found but it is not an Iceberg table.</div>
 </th>
 </tr>
-<tr id="i436" class="altColor">
+<tr id="i480" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/exceptions/NoSuchNamespaceException.html" title="class in org.apache.iceberg.exceptions">NoSuchNamespaceException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception raised when attempting to load a namespace that does not exist.</div>
 </th>
 </tr>
-<tr id="i437" class="rowColor">
+<tr id="i481" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/catalyst/analysis/NoSuchProcedureException.html" title="class in org.apache.spark.sql.catalyst.analysis">NoSuchProcedureException</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i438" class="altColor">
+<tr id="i482" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/exceptions/NoSuchTableException.html" title="class in org.apache.iceberg.exceptions">NoSuchTableException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception raised when attempting to load a table that does not exist.</div>
 </th>
 </tr>
-<tr id="i439" class="rowColor">
+<tr id="i483" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/Not.html" title="class in org.apache.iceberg.expressions">Not</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i440" class="altColor">
+<tr id="i484" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/exceptions/NotFoundException.html" title="class in org.apache.iceberg.exceptions">NotFoundException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception raised when attempting to read a file that does not exist.</div>
 </th>
 </tr>
-<tr id="i441" class="rowColor">
+<tr id="i485" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Instances of this class simply track whether a value at an index is null.</div>
 </th>
 </tr>
-<tr id="i442" class="altColor">
+<tr id="i486" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/NullOrder.html" title="enum in org.apache.iceberg">NullOrder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i443" class="rowColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/expressions/NullOrdering.html" title="enum in org.apache.spark.sql.connector.iceberg.expressions">NullOrdering</a></td>
-<th class="colLast" scope="row">
-<div class="block">A null order used in sorting expressions.</div>
-</th>
-</tr>
-<tr id="i444" class="altColor">
+<tr id="i487" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/Or.html" title="class in org.apache.iceberg.expressions">Or</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i445" class="rowColor">
+<tr id="i488" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/ORC.html" title="class in org.apache.iceberg.orc">ORC</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i446" class="altColor">
+<tr id="i489" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/ORC.DataWriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.DataWriteBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i447" class="rowColor">
+<tr id="i490" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/orc/ORC.DeleteWriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.DeleteWriteBuilder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i491" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/ORC.ReadBuilder.html" title="class in org.apache.iceberg.orc">ORC.ReadBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i448" class="altColor">
+<tr id="i492" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/ORC.WriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.WriteBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i449" class="rowColor">
+<tr id="i493" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/OrcBatchReader.html" title="interface in org.apache.iceberg.orc">OrcBatchReader</a>&lt;<a href="org/apache/iceberg/orc/OrcBatchReader.html" title="type parameter in OrcBatchReader">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Used for implementing ORC batch readers.</div>
 </th>
 </tr>
-<tr id="i450" class="altColor">
+<tr id="i494" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/OrcMetrics.html" title="class in org.apache.iceberg.orc">OrcMetrics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i451" class="rowColor">
+<tr id="i495" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/OrcRowReader.html" title="interface in org.apache.iceberg.orc">OrcRowReader</a>&lt;<a href="org/apache/iceberg/orc/OrcRowReader.html" title="type parameter in OrcRowReader">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Used for implementing ORC row readers.</div>
 </th>
 </tr>
-<tr id="i452" class="altColor">
+<tr id="i496" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/OrcRowWriter.html" title="interface in org.apache.iceberg.orc">OrcRowWriter</a>&lt;<a href="org/apache/iceberg/orc/OrcRowWriter.html" title="type parameter in OrcRowWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Write data value of a schema.</div>
 </th>
 </tr>
-<tr id="i453" class="rowColor">
+<tr id="i497" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/ORCSchemaUtil.html" title="class in org.apache.iceberg.orc">ORCSchemaUtil</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utilities for mapping Iceberg to ORC schemas.</div>
 </th>
 </tr>
-<tr id="i454" class="altColor">
+<tr id="i498" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/ORCSchemaUtil.BinaryType.html" title="enum in org.apache.iceberg.orc">ORCSchemaUtil.BinaryType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i455" class="rowColor">
+<tr id="i499" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/ORCSchemaUtil.LongType.html" title="enum in org.apache.iceberg.orc">ORCSchemaUtil.LongType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i456" class="altColor">
+<tr id="i500" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/OrcSchemaVisitor.html" title="class in org.apache.iceberg.orc">OrcSchemaVisitor</a>&lt;<a href="org/apache/iceberg/orc/OrcSchemaVisitor.html" title="type parameter in OrcSchemaVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Generic visitor of an ORC Schema.</div>
 </th>
 </tr>
-<tr id="i457" class="rowColor">
+<tr id="i501" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/OrcSchemaWithTypeVisitor.html" title="class in org.apache.iceberg.orc">OrcSchemaWithTypeVisitor</a>&lt;<a href="org/apache/iceberg/orc/OrcSchemaWithTypeVisitor.html" title="type parameter in OrcSchemaWithTypeVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i458" class="altColor">
+<tr id="i502" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/OrcValueReader.html" title="interface in org.apache.iceberg.orc">OrcValueReader</a>&lt;<a href="org/apache/iceberg/orc/OrcValueReader.html" title="type parameter in OrcValueReader">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i459" class="rowColor">
+<tr id="i503" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/OrcValueReaders.html" title="class in org.apache.iceberg.orc">OrcValueReaders</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i460" class="altColor">
+<tr id="i504" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/OrcValueReaders.StructReader.html" title="class in org.apache.iceberg.orc">OrcValueReaders.StructReader</a>&lt;<a href="org/apache/iceberg/orc/OrcValueReaders.StructReader.html" title="type parameter in OrcValueReaders.StructReader">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i461" class="rowColor">
+<tr id="i505" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/OrcValueWriter.html" title="interface in org.apache.iceberg.orc">OrcValueWriter</a>&lt;<a href="org/apache/iceberg/orc/OrcValueWriter.html" title="type parameter in OrcValueWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i462" class="altColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/OrderedDistribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions">OrderedDistribution</a></td>
+<tr id="i506" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/aliyun/oss/OSSFileIO.html" title="class in org.apache.iceberg.aliyun.oss">OSSFileIO</a></td>
 <th class="colLast" scope="row">
-<div class="block">A distribution where tuples have been ordered across partitions according
- to ordering expressions, but not necessarily within a given partition.</div>
+<div class="block">FileIO implementation backed by OSS.</div>
 </th>
 </tr>
-<tr id="i463" class="rowColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/OrderedDistributionImpl.html" title="class in org.apache.spark.sql.connector.iceberg.distributions.impl">OrderedDistributionImpl</a></td>
+<tr id="i507" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/aliyun/oss/OSSInputFile.html" title="class in org.apache.iceberg.aliyun.oss">OSSInputFile</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i464" class="altColor">
+<tr id="i508" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/aliyun/oss/OSSInputStream.html" title="class in org.apache.iceberg.aliyun.oss">OSSInputStream</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i509" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/aliyun/oss/OSSOutputStream.html" title="class in org.apache.iceberg.aliyun.oss">OSSOutputStream</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i510" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/aliyun/oss/OSSURI.html" title="class in org.apache.iceberg.aliyun.oss">OSSURI</a></td>
+<th class="colLast" scope="row">
+<div class="block">This class represents a fully qualified location in OSS for input/output
+ operations expressed as as URI.</div>
+</th>
+</tr>
+<tr id="i511" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></td>
 <th class="colLast" scope="row">
 <div class="block">An interface used to create output files using <a href="org/apache/iceberg/io/PositionOutputStream.html" title="class in org.apache.iceberg.io"><code>PositionOutputStream</code></a> instances.</div>
 </th>
 </tr>
-<tr id="i465" class="rowColor">
+<tr id="i512" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/OutputFileFactory.html" title="class in org.apache.iceberg.io">OutputFileFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory responsible for generating unique but recognizable data file names.</div>
 </th>
 </tr>
-<tr id="i466" class="altColor">
+<tr id="i513" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/OutputFileFactory.Builder.html" title="class in org.apache.iceberg.io">OutputFileFactory.Builder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i467" class="rowColor">
+<tr id="i514" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for overwriting files in a table.</div>
 </th>
 </tr>
-<tr id="i468" class="altColor">
+<tr id="i515" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/Pair.html" title="class in org.apache.iceberg.util">Pair</a>&lt;<a href="org/apache/iceberg/util/Pair.html" title="type parameter in Pair">X</a>,&#8203;<a href="org/apache/iceberg/util/Pair.html" title="type parameter in Pair">Y</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i469" class="rowColor">
+<tr id="i516" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/ParallelIterable.html" title="class in org.apache.iceberg.util">ParallelIterable</a>&lt;<a href="org/apache/iceberg/util/ParallelIterable.html" title="type parameter in ParallelIterable">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i470" class="altColor">
+<tr id="i517" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/Parquet.html" title="class in org.apache.iceberg.parquet">Parquet</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i471" class="rowColor">
+<tr id="i518" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/Parquet.DataWriteBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.DataWriteBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i472" class="altColor">
+<tr id="i519" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/Parquet.DeleteWriteBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.DeleteWriteBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i473" class="rowColor">
+<tr id="i520" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/Parquet.ReadBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.ReadBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i474" class="altColor">
+<tr id="i521" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/Parquet.WriteBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.WriteBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i475" class="rowColor">
+<tr id="i522" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetAvroReader.html" title="class in org.apache.iceberg.parquet">ParquetAvroReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i476" class="altColor">
+<tr id="i523" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetAvroValueReaders.html" title="class in org.apache.iceberg.parquet">ParquetAvroValueReaders</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i477" class="rowColor">
+<tr id="i524" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetAvroValueReaders.TimeMillisReader.html" title="class in org.apache.iceberg.parquet">ParquetAvroValueReaders.TimeMillisReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i478" class="altColor">
+<tr id="i525" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetAvroValueReaders.TimestampMillisReader.html" title="class in org.apache.iceberg.parquet">ParquetAvroValueReaders.TimestampMillisReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i479" class="rowColor">
+<tr id="i526" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetAvroWriter.html" title="class in org.apache.iceberg.parquet">ParquetAvroWriter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i480" class="altColor">
+<tr id="i527" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetDictionaryRowGroupFilter.html" title="class in org.apache.iceberg.parquet">ParquetDictionaryRowGroupFilter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i481" class="rowColor">
+<tr id="i528" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetIterable.html" title="class in org.apache.iceberg.parquet">ParquetIterable</a>&lt;<a href="org/apache/iceberg/parquet/ParquetIterable.html" title="type parameter in ParquetIterable">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i482" class="altColor">
+<tr id="i529" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetMetricsRowGroupFilter.html" title="class in org.apache.iceberg.parquet">ParquetMetricsRowGroupFilter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i483" class="rowColor">
+<tr id="i530" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetReader.html" title="class in org.apache.iceberg.parquet">ParquetReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetReader.html" title="type parameter in ParquetReader">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i484" class="altColor">
+<tr id="i531" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetSchemaUtil.html" title="class in org.apache.iceberg.parquet">ParquetSchemaUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i485" class="rowColor">
+<tr id="i532" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetSchemaUtil.HasIds.html" title="class in org.apache.iceberg.parquet">ParquetSchemaUtil.HasIds</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i486" class="altColor">
+<tr id="i533" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetTypeVisitor.html" title="class in org.apache.iceberg.parquet">ParquetTypeVisitor</a>&lt;<a href="org/apache/iceberg/parquet/ParquetTypeVisitor.html" title="type parameter in ParquetTypeVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i487" class="rowColor">
+<tr id="i534" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetUtil.html" title="class in org.apache.iceberg.parquet">ParquetUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i488" class="altColor">
+<tr id="i535" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReader.html" title="interface in org.apache.iceberg.parquet">ParquetValueReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReader.html" title="type parameter in ParquetValueReader">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i489" class="rowColor">
+<tr id="i536" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i490" class="altColor">
+<tr id="i537" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.BinaryAsDecimalReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.BinaryAsDecimalReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i491" class="rowColor">
+<tr id="i538" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.ByteArrayReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.ByteArrayReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i492" class="altColor">
+<tr id="i539" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.BytesReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.BytesReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i493" class="rowColor">
+<tr id="i540" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.FloatAsDoubleReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.FloatAsDoubleReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i494" class="altColor">
+<tr id="i541" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.IntAsLongReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.IntAsLongReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i495" class="rowColor">
+<tr id="i542" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.IntegerAsDecimalReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.IntegerAsDecimalReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i496" class="altColor">
+<tr id="i543" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.ListReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.ListReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.ListReader.html" title="type parameter in ParquetValueReaders.ListReader">E</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i497" class="rowColor">
+<tr id="i544" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.LongAsDecimalReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.LongAsDecimalReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i498" class="altColor">
+<tr id="i545" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.MapReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.MapReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.MapReader.html" title="type parameter in ParquetValueReaders.MapReader">K</a>,&#8203;<a href="org/apache/iceberg/parquet/ParquetValueReaders.MapReader.html" title="type parameter in ParquetValueReaders.MapReader">V</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i499" class="rowColor">
+<tr id="i546" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.PrimitiveReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.PrimitiveReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.PrimitiveReader.html" title="type parameter in ParquetValueReaders.PrimitiveReader">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i500" class="altColor">
+<tr id="i547" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedKeyValueReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.RepeatedKeyValueReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedKeyValueReader.html" title="type parameter in ParquetValueReaders.RepeatedKeyValueReader">M</a>,&#8203;<a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedKeyValueReader.html" title="type parameter in ParquetValueRea [...]
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i501" class="rowColor">
+<tr id="i548" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.RepeatedReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedReader.html" title="type parameter in ParquetValueReaders.RepeatedReader">T</a>,&#8203;<a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedReader.html" title="type parameter in ParquetValueReaders.RepeatedReader">I</a>,&#8203;<a hre [...]
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i502" class="altColor">
+<tr id="i549" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.ReusableEntry.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.ReusableEntry</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.ReusableEntry.html" title="type parameter in ParquetValueReaders.ReusableEntry">K</a>,&#8203;<a href="org/apache/iceberg/parquet/ParquetValueReaders.ReusableEntry.html" title="type parameter in ParquetValueReaders.ReusableEntry">V</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i503" class="rowColor">
+<tr id="i550" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.StringReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.StringReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i504" class="altColor">
+<tr id="i551" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.StructReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.StructReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.StructReader.html" title="type parameter in ParquetValueReaders.StructReader">T</a>,&#8203;<a href="org/apache/iceberg/parquet/ParquetValueReaders.StructReader.html" title="type parameter in ParquetValueReaders.StructReader">I</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i505" class="rowColor">
+<tr id="i552" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueReaders.UnboxedReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.UnboxedReader</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueReaders.UnboxedReader.html" title="type parameter in ParquetValueReaders.UnboxedReader">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i506" class="altColor">
+<tr id="i553" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueWriter.html" title="interface in org.apache.iceberg.parquet">ParquetValueWriter</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueWriter.html" title="type parameter in ParquetValueWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i507" class="rowColor">
+<tr id="i554" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueWriters.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i508" class="altColor">
+<tr id="i555" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueWriters.PositionDeleteStructWriter.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters.PositionDeleteStructWriter</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueWriters.PositionDeleteStructWriter.html" title="type parameter in ParquetValueWriters.PositionDeleteStructWriter">R</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i509" class="rowColor">
+<tr id="i556" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueWriters.PrimitiveWriter.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters.PrimitiveWriter</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueWriters.PrimitiveWriter.html" title="type parameter in ParquetValueWriters.PrimitiveWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i510" class="altColor">
+<tr id="i557" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueWriters.RepeatedKeyValueWriter.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters.RepeatedKeyValueWriter</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueWriters.RepeatedKeyValueWriter.html" title="type parameter in ParquetValueWriters.RepeatedKeyValueWriter">M</a>,&#8203;<a href="org/apache/iceberg/parquet/ParquetValueWriters.RepeatedKeyValueWriter.html" title="type parameter in ParquetValueWri [...]
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i511" class="rowColor">
+<tr id="i558" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueWriters.RepeatedWriter.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters.RepeatedWriter</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueWriters.RepeatedWriter.html" title="type parameter in ParquetValueWriters.RepeatedWriter">L</a>,&#8203;<a href="org/apache/iceberg/parquet/ParquetValueWriters.RepeatedWriter.html" title="type parameter in ParquetValueWriters.RepeatedWriter">E</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i512" class="altColor">
+<tr id="i559" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetValueWriters.StructWriter.html" title="class in org.apache.iceberg.parquet">ParquetValueWriters.StructWriter</a>&lt;<a href="org/apache/iceberg/parquet/ParquetValueWriters.StructWriter.html" title="type parameter in ParquetValueWriters.StructWriter">S</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i513" class="rowColor">
+<tr id="i560" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/data/ParquetWithFlinkSchemaVisitor.html" title="class in org.apache.iceberg.flink.data">ParquetWithFlinkSchemaVisitor</a>&lt;<a href="org/apache/iceberg/flink/data/ParquetWithFlinkSchemaVisitor.html" title="type parameter in ParquetWithFlinkSchemaVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i514" class="altColor">
+<tr id="i561" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/ParquetWithSparkSchemaVisitor.html" title="class in org.apache.iceberg.spark.data">ParquetWithSparkSchemaVisitor</a>&lt;<a href="org/apache/iceberg/spark/data/ParquetWithSparkSchemaVisitor.html" title="type parameter in ParquetWithSparkSchemaVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Visitor for traversing a Parquet type with a companion Spark type.</div>
 </th>
 </tr>
-<tr id="i515" class="rowColor">
+<tr id="i562" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ParquetWriteAdapter.html" title="class in org.apache.iceberg.parquet">ParquetWriteAdapter</a>&lt;<a href="org/apache/iceberg/parquet/ParquetWriteAdapter.html" title="type parameter in ParquetWriteAdapter">D</a>&gt;</td>
 <th class="colLast" scope="row">Deprecated.
 <div class="deprecationComment">use <code>ParquetWriter</code></div>
 </th>
 </tr>
-<tr id="i516" class="altColor">
+<tr id="i563" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/PartitionedFanoutWriter.html" title="class in org.apache.iceberg.io">PartitionedFanoutWriter</a>&lt;<a href="org/apache/iceberg/io/PartitionedFanoutWriter.html" title="type parameter in PartitionedFanoutWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i517" class="rowColor">
+<tr id="i564" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/PartitionedWriter.html" title="class in org.apache.iceberg.io">PartitionedWriter</a>&lt;<a href="org/apache/iceberg/io/PartitionedWriter.html" title="type parameter in PartitionedWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i518" class="altColor">
+<tr id="i565" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/PartitionField.html" title="class in org.apache.iceberg">PartitionField</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents a single field in a <a href="org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg"><code>PartitionSpec</code></a>.</div>
 </th>
 </tr>
-<tr id="i519" class="rowColor">
+<tr id="i566" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/Partitioning.html" title="class in org.apache.iceberg">Partitioning</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i520" class="altColor">
+<tr id="i567" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/PartitioningWriter.html" title="interface in org.apache.iceberg.io">PartitioningWriter</a>&lt;<a href="org/apache/iceberg/io/PartitioningWriter.html" title="type parameter in PartitioningWriter">T</a>,&#8203;<a href="org/apache/iceberg/io/PartitioningWriter.html" title="type parameter in PartitioningWriter">R</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A writer capable of writing files of a single type (i.e.</div>
+</th>
+</tr>
+<tr id="i568" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/PartitionKey.html" title="class in org.apache.iceberg">PartitionKey</a></td>
 <th class="colLast" scope="row">
 <div class="block">A struct of partition values.</div>
 </th>
 </tr>
-<tr id="i521" class="rowColor">
+<tr id="i569" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i522" class="altColor">
+<tr id="i570" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents how to produce partition data for a table.</div>
 </th>
 </tr>
-<tr id="i523" class="rowColor">
+<tr id="i571" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/PartitionSpec.Builder.html" title="class in org.apache.iceberg">PartitionSpec.Builder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Used to create valid <a href="org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg"><code>partition specs</code></a>.</div>
 </th>
 </tr>
-<tr id="i524" class="altColor">
+<tr id="i572" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/PartitionSpecParser.html" title="class in org.apache.iceberg">PartitionSpecParser</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i525" class="rowColor">
+<tr id="i573" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/transforms/PartitionSpecVisitor.html" title="interface in org.apache.iceberg.transforms">PartitionSpecVisitor</a>&lt;<a href="org/apache/iceberg/transforms/PartitionSpecVisitor.html" title="type parameter in PartitionSpecVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i526" class="altColor">
+<tr id="i574" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/PartitionsTable.html" title="class in org.apache.iceberg">PartitionsTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's partitions as rows.</div>
 </th>
 </tr>
-<tr id="i527" class="rowColor">
+<tr id="i575" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/PartitionUtil.html" title="class in org.apache.iceberg.util">PartitionUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i528" class="altColor">
+<tr id="i576" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/PathIdentifier.html" title="class in org.apache.iceberg.spark">PathIdentifier</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i529" class="rowColor">
+<tr id="i577" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a>&lt;<a href="org/apache/iceberg/PendingUpdate.html" title="type parameter in PendingUpdate">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">API for table metadata changes.</div>
 </th>
 </tr>
-<tr id="i530" class="altColor">
+<tr id="i578" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/pig/PigParquetReader.html" title="class in org.apache.iceberg.pig">PigParquetReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i531" class="rowColor">
+<tr id="i579" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/encryption/PlaintextEncryptionManager.html" title="class in org.apache.iceberg.encryption">PlaintextEncryptionManager</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i532" class="altColor">
+<tr id="i580" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/deletes/PositionDelete.html" title="class in org.apache.iceberg.deletes">PositionDelete</a>&lt;<a href="org/apache/iceberg/deletes/PositionDelete.html" title="type parameter in PositionDelete">R</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i533" class="rowColor">
+<tr id="i581" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/deletes/PositionDeleteIndex.html" title="interface in org.apache.iceberg.deletes">PositionDeleteIndex</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i582" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/deletes/PositionDeleteWriter.html" title="class in org.apache.iceberg.deletes">PositionDeleteWriter</a>&lt;<a href="org/apache/iceberg/deletes/PositionDeleteWriter.html" title="type parameter in PositionDeleteWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i534" class="altColor">
+<tr id="i583" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/PositionDeltaWriter.html" title="interface in org.apache.iceberg.io">PositionDeltaWriter</a>&lt;<a href="org/apache/iceberg/io/PositionDeltaWriter.html" title="type parameter in PositionDeltaWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A writer capable of writing data and position deletes that may belong to different specs and partitions.</div>
+</th>
+</tr>
+<tr id="i584" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/PositionOutputStream.html" title="class in org.apache.iceberg.io">PositionOutputStream</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i535" class="rowColor">
+<tr id="i585" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/Predicate.html" title="class in org.apache.iceberg.expressions">Predicate</a>&lt;<a href="org/apache/iceberg/expressions/Predicate.html" title="type parameter in Predicate">T</a>,&#8203;<a href="org/apache/iceberg/expressions/Predicate.html" title="type parameter in Predicate">C</a> extends <a href="org/apache/iceberg/expressions/Term.html" title="interface in org.apache.iceberg.expressions">Term</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i536" class="altColor">
+<tr id="i586" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/catalog/Procedure.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">Procedure</a></td>
 <th class="colLast" scope="row">
 <div class="block">An interface representing a stored procedure available for execution.</div>
 </th>
 </tr>
-<tr id="i537" class="rowColor">
+<tr id="i587" class="rowColor">
 <td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/catalog/ProcedureCatalog.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">ProcedureCatalog</a></td>
 <th class="colLast" scope="row">
 <div class="block">A catalog API for working with stored procedures.</div>
 </th>
 </tr>
-<tr id="i538" class="altColor">
+<tr id="i588" class="altColor">
 <td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/catalog/ProcedureParameter.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">ProcedureParameter</a></td>
 <th class="colLast" scope="row">
 <div class="block">An input parameter of a <a href="org/apache/spark/sql/connector/iceberg/catalog/Procedure.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog"><code>stored procedure</code></a>.</div>
 </th>
 </tr>
-<tr id="i539" class="rowColor">
+<tr id="i589" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/ProjectionDatumReader.html" title="class in org.apache.iceberg.avro">ProjectionDatumReader</a>&lt;<a href="org/apache/iceberg/avro/ProjectionDatumReader.html" title="type parameter in ProjectionDatumReader">D</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i540" class="altColor">
+<tr id="i590" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/Projections.html" title="class in org.apache.iceberg.expressions">Projections</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utils to project expressions on rows to expressions on partitions.</div>
 </th>
 </tr>
-<tr id="i541" class="rowColor">
+<tr id="i591" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/Projections.ProjectionEvaluator.html" title="class in org.apache.iceberg.expressions">Projections.ProjectionEvaluator</a></td>
 <th class="colLast" scope="row">
 <div class="block">A class that projects expressions for a table's data rows into expressions on the table's
  partition values, for a table's <a href="org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg"><code>partition spec</code></a>.</div>
 </th>
 </tr>
-<tr id="i542" class="altColor">
+<tr id="i592" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/PropertyUtil.html" title="class in org.apache.iceberg.util">PropertyUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i543" class="rowColor">
+<tr id="i593" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/PruneColumnsWithoutReordering.html" title="class in org.apache.iceberg.spark">PruneColumnsWithoutReordering</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i544" class="altColor">
+<tr id="i594" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/PruneColumnsWithReordering.html" title="class in org.apache.iceberg.spark">PruneColumnsWithReordering</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i545" class="rowColor">
+<tr id="i595" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/ReachableFileUtil.html" title="class in org.apache.iceberg">ReachableFileUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i546" class="altColor">
+<tr id="i596" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/Record.html" title="interface in org.apache.iceberg.data">Record</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i547" class="rowColor">
+<tr id="i597" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/Reference.html" title="interface in org.apache.iceberg.expressions">Reference</a>&lt;<a href="org/apache/iceberg/expressions/Reference.html" title="type parameter in Reference">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Represents a variable reference in an <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>expression</code></a>.</div>
 </th>
 </tr>
-<tr id="i548" class="altColor">
+<tr id="i598" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/RemoveIds.html" title="class in org.apache.iceberg.avro">RemoveIds</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i549" class="rowColor">
+<tr id="i599" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/RemoveIds.html" title="class in org.apache.iceberg.parquet">RemoveIds</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i550" class="altColor">
-<td class="colFirst"><a href="org/apache/iceberg/actions/RemoveOrphanFilesAction.html" title="class in org.apache.iceberg.actions">RemoveOrphanFilesAction</a></td>
-<th class="colLast" scope="row">Deprecated.
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions"><code>DeleteOrphanFiles</code></a> instead.</div>
-</th>
-</tr>
-<tr id="i551" class="rowColor">
+<tr id="i600" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RemoveOrphanFilesProcedure</a></td>
 <th class="colLast" scope="row">
 <div class="block">A procedure that removes orphan files in a table.</div>
 </th>
 </tr>
-<tr id="i552" class="altColor">
+<tr id="i601" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/ReplacePartitions.html" title="interface in org.apache.iceberg">ReplacePartitions</a></td>
 <th class="colLast" scope="row">
 <div class="block">Not recommended: API for overwriting files in a table by partition.</div>
 </th>
 </tr>
-<tr id="i553" class="rowColor">
+<tr id="i602" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/ReplaceSortOrder.html" title="interface in org.apache.iceberg">ReplaceSortOrder</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for replacing table sort order with a newly created order.</div>
 </th>
 </tr>
-<tr id="i554" class="altColor">
+<tr id="i603" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/ResidualEvaluator.html" title="class in org.apache.iceberg.expressions">ResidualEvaluator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Finds the residuals for an <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a> the partitions in the given <a href="org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg"><code>PartitionSpec</code></a>.</div>
 </th>
 </tr>
-<tr id="i555" class="rowColor">
+<tr id="i604" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/ResolvingFileIO.html" title="class in org.apache.iceberg.io">ResolvingFileIO</a></td>
+<th class="colLast" scope="row">
+<div class="block">FileIO implementation that uses location scheme to choose the correct FileIO implementation.</div>
+</th>
+</tr>
+<tr id="i605" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></td>
 <th class="colLast" scope="row">
 <div class="block">An action for rewriting data files according to a rewrite strategy.</div>
 </th>
 </tr>
-<tr id="i556" class="altColor">
+<tr id="i606" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a></td>
 <th class="colLast" scope="row">
 <div class="block">A description of a file group, when it was processed, and within which partition.</div>
 </th>
 </tr>
-<tr id="i557" class="rowColor">
+<tr id="i607" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a></td>
 <th class="colLast" scope="row">
 <div class="block">For a particular file group, the number of files which are newly created and the number of files
   which were formerly part of the table but have been rewritten.</div>
 </th>
 </tr>
-<tr id="i558" class="altColor">
+<tr id="i608" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></td>
 <th class="colLast" scope="row">
 <div class="block">A map of file group information to the results of rewriting that file group.</div>
 </th>
 </tr>
-<tr id="i559" class="rowColor">
-<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">RewriteDataFilesAction</a></td>
-<th class="colLast" scope="row">Deprecated.
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/RewriteDataFilesAction.html" title="class in org.apache.iceberg.actions"><code>RewriteDataFilesAction</code></a> instead.</div>
-</th>
-</tr>
-<tr id="i560" class="altColor">
+<tr id="i609" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/actions/RewriteDataFilesAction.html" title="class in org.apache.iceberg.flink.actions">RewriteDataFilesAction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i561" class="rowColor">
+<tr id="i610" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/RewriteDataFilesActionResult.html" title="class in org.apache.iceberg.actions">RewriteDataFilesActionResult</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i562" class="altColor">
+<tr id="i611" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.html" title="class in org.apache.iceberg.actions">RewriteDataFilesCommitManager</a></td>
 <th class="colLast" scope="row">
 <div class="block">Functionality used by RewriteDataFile Actions from different platforms to handle commits.</div>
 </th>
 </tr>
-<tr id="i563" class="rowColor">
+<tr id="i612" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a></td>
 <th class="colLast" scope="row">
 <div class="block">Container class representing a set of files to be rewritten by a RewriteAction and the new files which have been
  written by the action.</div>
 </th>
 </tr>
-<tr id="i564" class="altColor">
+<tr id="i613" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for replacing files in a table.</div>
 </th>
 </tr>
-<tr id="i565" class="rowColor">
+<tr id="i614" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/RewriteManifests.html" title="interface in org.apache.iceberg.actions">RewriteManifests</a></td>
 <th class="colLast" scope="row">
 <div class="block">An action that rewrites manifests.</div>
 </th>
 </tr>
-<tr id="i566" class="altColor">
+<tr id="i615" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for rewriting manifests for a table.</div>
 </th>
 </tr>
-<tr id="i567" class="rowColor">
+<tr id="i616" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions">RewriteManifests.Result</a></td>
 <th class="colLast" scope="row">
 <div class="block">The action result that contains a summary of the execution.</div>
 </th>
 </tr>
-<tr id="i568" class="altColor">
-<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteManifestsAction.html" title="class in org.apache.iceberg.actions">RewriteManifestsAction</a></td>
-<th class="colLast" scope="row">Deprecated.
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/RewriteManifests.html" title="interface in org.apache.iceberg.actions"><code>RewriteManifests</code></a> instead.</div>
+<tr id="i617" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a></td>
+<th class="colLast" scope="row">
+<div class="block">An action for rewriting position delete files.</div>
 </th>
 </tr>
-<tr id="i569" class="rowColor">
-<td class="colFirst"><a href="org/apache/iceberg/actions/RewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">RewriteManifestsActionResult</a></td>
-<th class="colLast" scope="row">Deprecated.</th>
+<tr id="i618" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.Result</a></td>
+<th class="colLast" scope="row">
+<div class="block">The action result that contains a summary of the execution.</div>
+</th>
 </tr>
-<tr id="i570" class="altColor">
+<tr id="i619" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteStrategy</a></td>
+<th class="colLast" scope="row">
+<div class="block">A strategy for an action to rewrite position delete files.</div>
+</th>
+</tr>
+<tr id="i620" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i571" class="rowColor">
+<tr id="i621" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/Rollback.html" title="interface in org.apache.iceberg">Rollback</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for rolling table data back to the state at an older table <a href="org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><code>snapshot</code></a>.</div>
 </th>
 </tr>
-<tr id="i572" class="altColor">
+<tr id="i622" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/RollbackStagedTable.html" title="class in org.apache.iceberg.spark">RollbackStagedTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">An implementation of StagedTable that mimics the behavior of Spark's non-atomic CTAS and RTAS.</div>
 </th>
 </tr>
-<tr id="i573" class="rowColor">
+<tr id="i623" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/RollingDataWriter.html" title="class in org.apache.iceberg.io">RollingDataWriter</a>&lt;<a href="org/apache/iceberg/io/RollingDataWriter.html" title="type parameter in RollingDataWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A rolling data writer that splits incoming data into multiple files within one spec/partition
+ based on the target file size.</div>
+</th>
+</tr>
+<tr id="i624" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/RollingEqualityDeleteWriter.html" title="class in org.apache.iceberg.io">RollingEqualityDeleteWriter</a>&lt;<a href="org/apache/iceberg/io/RollingEqualityDeleteWriter.html" title="type parameter in RollingEqualityDeleteWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A rolling equality delete writer that splits incoming deletes into multiple files within one spec/partition
+ based on the target file size.</div>
+</th>
+</tr>
+<tr id="i625" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/io/RollingPositionDeleteWriter.html" title="class in org.apache.iceberg.io">RollingPositionDeleteWriter</a>&lt;<a href="org/apache/iceberg/io/RollingPositionDeleteWriter.html" title="type parameter in RollingPositionDeleteWriter">T</a>&gt;</td>
+<th class="colLast" scope="row">
+<div class="block">A rolling position delete writer that splits incoming deletes into multiple files within one spec/partition
+ based on the target file size.</div>
+</th>
+</tr>
+<tr id="i626" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/source/RowDataFileScanTaskReader.html" title="class in org.apache.iceberg.flink.source">RowDataFileScanTaskReader</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i627" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/flink/data/RowDataProjection.html" title="class in org.apache.iceberg.flink.data">RowDataProjection</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i628" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/source/RowDataRewriter.html" title="class in org.apache.iceberg.flink.source">RowDataRewriter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i574" class="altColor">
+<tr id="i629" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/source/RowDataRewriter.html" title="class in org.apache.iceberg.spark.source">RowDataRewriter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i575" class="rowColor">
+<tr id="i630" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/source/RowDataRewriter.RewriteMap.html" title="class in org.apache.iceberg.flink.source">RowDataRewriter.RewriteMap</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i576" class="altColor">
+<tr id="i631" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/sink/RowDataTaskWriterFactory.html" title="class in org.apache.iceberg.flink.sink">RowDataTaskWriterFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i577" class="rowColor">
+<tr id="i632" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/data/RowDataUtil.html" title="class in org.apache.iceberg.flink.data">RowDataUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i578" class="altColor">
+<tr id="i633" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/RowDataWrapper.html" title="class in org.apache.iceberg.flink">RowDataWrapper</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i579" class="rowColor">
+<tr id="i634" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/RowDelta.html" title="interface in org.apache.iceberg">RowDelta</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for encoding row-level changes to a table.</div>
 </th>
 </tr>
-<tr id="i580" class="altColor">
+<tr id="i635" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperation.html" title="interface in org.apache.spark.sql.connector.iceberg.write">RowLevelOperation</a></td>
+<th class="colLast" scope="row">
+<div class="block">A logical representation of a data source DELETE, UPDATE, or MERGE operation that requires
+ rewriting data.</div>
+</th>
+</tr>
+<tr id="i636" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperation.Command.html" title="enum in org.apache.spark.sql.connector.iceberg.write">RowLevelOperation.Command</a></td>
+<th class="colLast" scope="row">
+<div class="block">The SQL operation being performed.</div>
+</th>
+</tr>
+<tr id="i637" class="rowColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperationBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write">RowLevelOperationBuilder</a></td>
+<th class="colLast" scope="row">
+<div class="block">An interface for building a row-level operation.</div>
+</th>
+</tr>
+<tr id="i638" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperationInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write">RowLevelOperationInfo</a></td>
+<th class="colLast" scope="row">
+<div class="block">An interface with logical information for a row-level operation such as DELETE or MERGE.</div>
+</th>
+</tr>
+<tr id="i639" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/RowLevelOperationMode.html" title="enum in org.apache.iceberg">RowLevelOperationMode</a></td>
+<th class="colLast" scope="row">
+<div class="block">Iceberg supports two ways to modify records in a table: copy-on-write and merge-on-read.</div>
+</th>
+</tr>
+<tr id="i640" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/vectorized/RowPositionColumnVector.html" title="class in org.apache.iceberg.spark.data.vectorized">RowPositionColumnVector</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i581" class="rowColor">
+<tr id="i641" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/exceptions/RuntimeIOException.html" title="class in org.apache.iceberg.exceptions">RuntimeIOException</a></td>
 <th class="colLast" scope="row">Deprecated.
 <div class="deprecationComment">Use java.io.UncheckedIOException directly instead.</div>
 </th>
 </tr>
-<tr id="i582" class="altColor">
+<tr id="i642" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/hive/RuntimeMetaException.html" title="class in org.apache.iceberg.hive">RuntimeMetaException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception used to wrap <code>MetaException</code> as a <code>RuntimeException</code> and add context.</div>
 </th>
 </tr>
-<tr id="i583" class="rowColor">
+<tr id="i643" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3">S3FileIO</a></td>
 <th class="colLast" scope="row">
 <div class="block">FileIO implementation backed by S3.</div>
 </th>
 </tr>
-<tr id="i584" class="altColor">
+<tr id="i644" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i585" class="rowColor">
+<tr id="i645" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3">S3OutputFile</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i586" class="altColor">
+<tr id="i646" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/aws/s3/S3RequestUtil.html" title="class in org.apache.iceberg.aws.s3">S3RequestUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i587" class="rowColor">
+<tr id="i647" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/events/ScanEvent.html" title="class in org.apache.iceberg.events">ScanEvent</a></td>
 <th class="colLast" scope="row">
 <div class="block">Event sent to listeners when a table scan is planned.</div>
 </th>
 </tr>
-<tr id="i588" class="altColor">
+<tr id="i648" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/ScanSummary.html" title="class in org.apache.iceberg">ScanSummary</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i589" class="rowColor">
+<tr id="i649" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/ScanSummary.Builder.html" title="class in org.apache.iceberg">ScanSummary.Builder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i590" class="altColor">
+<tr id="i650" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/ScanSummary.PartitionMetrics.html" title="class in org.apache.iceberg">ScanSummary.PartitionMetrics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i591" class="rowColor">
+<tr id="i651" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a></td>
 <th class="colLast" scope="row">
 <div class="block">A scan task.</div>
 </th>
 </tr>
-<tr id="i592" class="altColor">
+<tr id="i652" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></td>
 <th class="colLast" scope="row">
 <div class="block">The schema of a data table.</div>
 </th>
 </tr>
-<tr id="i593" class="rowColor">
+<tr id="i653" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/SchemaParser.html" title="class in org.apache.iceberg">SchemaParser</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i594" class="altColor">
+<tr id="i654" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/pig/SchemaUtil.html" title="class in org.apache.iceberg.pig">SchemaUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i595" class="rowColor">
+<tr id="i655" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/schema/SchemaWithPartnerVisitor.html" title="class in org.apache.iceberg.schema">SchemaWithPartnerVisitor</a>&lt;<a href="org/apache/iceberg/schema/SchemaWithPartnerVisitor.html" title="type parameter in SchemaWithPartnerVisitor">P</a>,&#8203;<a href="org/apache/iceberg/schema/SchemaWithPartnerVisitor.html" title="type parameter in SchemaWithPartnerVisitor">R</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i596" class="altColor">
+<tr id="i656" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/schema/SchemaWithPartnerVisitor.PartnerAccessors.html" title="interface in org.apache.iceberg.schema">SchemaWithPartnerVisitor.PartnerAccessors</a>&lt;<a href="org/apache/iceberg/schema/SchemaWithPartnerVisitor.PartnerAccessors.html" title="type parameter in SchemaWithPartnerVisitor.PartnerAccessors">P</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i597" class="rowColor">
+<tr id="i657" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/SeekableInputStream.html" title="class in org.apache.iceberg.io">SeekableInputStream</a></td>
 <th class="colLast" scope="row">
 <div class="block"><code>SeekableInputStream</code> is an interface with the methods needed to read data from a file or
  Hadoop data stream.</div>
 </th>
 </tr>
-<tr id="i598" class="altColor">
+<tr id="i658" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/hadoop/SerializableConfiguration.html" title="class in org.apache.iceberg.hadoop">SerializableConfiguration</a></td>
 <th class="colLast" scope="row">
 <div class="block">Wraps a <code>Configuration</code> object in a <code>Serializable</code> layer.</div>
 </th>
 </tr>
-<tr id="i599" class="rowColor">
+<tr id="i659" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/SerializableMap.html" title="class in org.apache.iceberg.util">SerializableMap</a>&lt;<a href="org/apache/iceberg/util/SerializableMap.html" title="type parameter in SerializableMap">K</a>,&#8203;<a href="org/apache/iceberg/util/SerializableMap.html" title="type parameter in SerializableMap">V</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i600" class="altColor">
+<tr id="i660" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/SerializableSupplier.html" title="interface in org.apache.iceberg.util">SerializableSupplier</a>&lt;<a href="org/apache/iceberg/util/SerializableSupplier.html" title="type parameter in SerializableSupplier">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i601" class="rowColor">
+<tr id="i661" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/SerializableTable.html" title="class in org.apache.iceberg">SerializableTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">A read-only serializable table that can be sent to other nodes in a cluster.</div>
 </th>
 </tr>
-<tr id="i602" class="altColor">
+<tr id="i662" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/SerializationUtil.html" title="class in org.apache.iceberg.util">SerializationUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i603" class="rowColor">
+<tr id="i663" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/SetLocation.html" title="class in org.apache.iceberg">SetLocation</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i604" class="altColor">
+<tr id="i664" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></td>
 <th class="colLast" scope="row">
 <div class="block">A snapshot of the data in a table at a point in time.</div>
 </th>
 </tr>
-<tr id="i605" class="rowColor">
-<td class="colFirst"><a href="org/apache/iceberg/actions/SnapshotAction.html" title="interface in org.apache.iceberg.actions">SnapshotAction</a></td>
-<th class="colLast" scope="row">Deprecated.
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions"><code>SnapshotTable</code></a> instead.</div>
-</th>
-</tr>
-<tr id="i606" class="altColor">
+<tr id="i665" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/SnapshotManager.html" title="class in org.apache.iceberg">SnapshotManager</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i607" class="rowColor">
+<tr id="i666" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/SnapshotParser.html" title="class in org.apache.iceberg">SnapshotParser</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i608" class="altColor">
+<tr id="i667" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/SnapshotsTable.html" title="class in org.apache.iceberg">SnapshotsTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's known snapshots as rows.</div>
 </th>
 </tr>
-<tr id="i609" class="rowColor">
+<tr id="i668" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/SnapshotSummary.html" title="class in org.apache.iceberg">SnapshotSummary</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i610" class="altColor">
+<tr id="i669" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/SnapshotSummary.Builder.html" title="class in org.apache.iceberg">SnapshotSummary.Builder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i611" class="rowColor">
+<tr id="i670" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions">SnapshotTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">An action that creates an independent snapshot of an existing table.</div>
 </th>
 </tr>
-<tr id="i612" class="altColor">
+<tr id="i671" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/SnapshotTable.Result.html" title="interface in org.apache.iceberg.actions">SnapshotTable.Result</a></td>
 <th class="colLast" scope="row">
 <div class="block">The action result that contains a summary of the execution.</div>
 </th>
 </tr>
-<tr id="i613" class="rowColor">
+<tr id="i672" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/SnapshotUpdate.html" title="interface in org.apache.iceberg.actions">SnapshotUpdate</a>&lt;<a href="org/apache/iceberg/actions/SnapshotUpdate.html" title="type parameter in SnapshotUpdate">ThisT</a>,&#8203;<a href="org/apache/iceberg/actions/SnapshotUpdate.html" title="type parameter in SnapshotUpdate">R</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">An action that produces snapshots.</div>
 </th>
 </tr>
-<tr id="i614" class="altColor">
+<tr id="i673" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a>&lt;<a href="org/apache/iceberg/SnapshotUpdate.html" title="type parameter in SnapshotUpdate">ThisT</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">API for table changes that produce snapshots.</div>
 </th>
 </tr>
-<tr id="i615" class="rowColor">
+<tr id="i674" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/SnapshotUpdateAction.html" title="interface in org.apache.iceberg.actions">SnapshotUpdateAction</a>&lt;<a href="org/apache/iceberg/actions/SnapshotUpdateAction.html" title="type parameter in SnapshotUpdateAction">ThisT</a>,&#8203;<a href="org/apache/iceberg/actions/SnapshotUpdateAction.html" title="type parameter in SnapshotUpdateAction">R</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i616" class="altColor">
+<tr id="i675" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/SnapshotUtil.html" title="class in org.apache.iceberg.util">SnapshotUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i617" class="rowColor">
+<tr id="i676" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/SortDirection.html" title="enum in org.apache.iceberg">SortDirection</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i618" class="altColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/expressions/SortDirection.html" title="enum in org.apache.spark.sql.connector.iceberg.expressions">SortDirection</a></td>
-<th class="colLast" scope="row">
-<div class="block">A sort direction used in sorting expressions.</div>
-</th>
-</tr>
-<tr id="i619" class="rowColor">
+<tr id="i677" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/SortedMerge.html" title="class in org.apache.iceberg.util">SortedMerge</a>&lt;<a href="org/apache/iceberg/util/SortedMerge.html" title="type parameter in SortedMerge">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">An Iterable that merges the items from other Iterables in order.</div>
 </th>
 </tr>
-<tr id="i620" class="altColor">
+<tr id="i678" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/SortField.html" title="class in org.apache.iceberg">SortField</a></td>
 <th class="colLast" scope="row">
 <div class="block">A field in a <a href="org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg"><code>SortOrder</code></a>.</div>
 </th>
 </tr>
-<tr id="i621" class="rowColor">
+<tr id="i679" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a></td>
 <th class="colLast" scope="row">
 <div class="block">A sort order that defines how data and delete files should be ordered in a table.</div>
 </th>
 </tr>
-<tr id="i622" class="altColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/expressions/SortOrder.html" title="interface in org.apache.spark.sql.connector.iceberg.expressions">SortOrder</a></td>
-<th class="colLast" scope="row">
-<div class="block">Represents a sort order in the public expression API.</div>
-</th>
-</tr>
-<tr id="i623" class="rowColor">
+<tr id="i680" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/SortOrder.Builder.html" title="class in org.apache.iceberg">SortOrder.Builder</a></td>
 <th class="colLast" scope="row">
 <div class="block">A builder used to create valid <a href="org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg"><code>sort orders</code></a>.</div>
 </th>
 </tr>
-<tr id="i624" class="altColor">
+<tr id="i681" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/SortOrderBuilder.html" title="interface in org.apache.iceberg">SortOrderBuilder</a>&lt;<a href="org/apache/iceberg/SortOrderBuilder.html" title="type parameter in SortOrderBuilder">R</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Methods for building a sort order.</div>
 </th>
 </tr>
-<tr id="i625" class="rowColor">
+<tr id="i682" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/SortOrderParser.html" title="class in org.apache.iceberg">SortOrderParser</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i626" class="altColor">
+<tr id="i683" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/SortOrderUtil.html" title="class in org.apache.iceberg.util">SortOrderUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i627" class="rowColor">
+<tr id="i684" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/transforms/SortOrderVisitor.html" title="interface in org.apache.iceberg.transforms">SortOrderVisitor</a>&lt;<a href="org/apache/iceberg/transforms/SortOrderVisitor.html" title="type parameter in SortOrderVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i628" class="altColor">
+<tr id="i685" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></td>
 <th class="colLast" scope="row">
 <div class="block">A rewrite strategy for data files which aims to reorder data with data files to optimally lay them out
  in relation to a column.</div>
 </th>
 </tr>
-<tr id="i629" class="rowColor">
+<tr id="i686" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/actions/Spark3BinPackStrategy.html" title="class in org.apache.iceberg.spark.actions">Spark3BinPackStrategy</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i630" class="altColor">
-<td class="colFirst"><a href="org/apache/iceberg/actions/Spark3MigrateAction.html" title="class in org.apache.iceberg.actions">Spark3MigrateAction</a></td>
-<th class="colLast" scope="row">Deprecated.
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions"><code>MigrateTable</code></a> instead.</div>
-</th>
-</tr>
-<tr id="i631" class="rowColor">
-<td class="colFirst"><a href="org/apache/iceberg/actions/Spark3SnapshotAction.html" title="class in org.apache.iceberg.actions">Spark3SnapshotAction</a></td>
-<th class="colLast" scope="row">Deprecated.
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions"><code>SnapshotTable</code></a> instead.</div>
-</th>
+<tr id="i687" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/actions/Spark3SortStrategy.html" title="class in org.apache.iceberg.spark.actions">Spark3SortStrategy</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i632" class="altColor">
+<tr id="i688" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i633" class="rowColor">
+<tr id="i689" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/Spark3Util.CatalogAndIdentifier.html" title="class in org.apache.iceberg.spark">Spark3Util.CatalogAndIdentifier</a></td>
 <th class="colLast" scope="row">
 <div class="block">This mimics a class inside of Spark which is private inside of LookupCatalog.</div>
 </th>
 </tr>
-<tr id="i634" class="altColor">
+<tr id="i690" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/Spark3Util.DescribeSchemaVisitor.html" title="class in org.apache.iceberg.spark">Spark3Util.DescribeSchemaVisitor</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i635" class="rowColor">
-<td class="colFirst"><a href="org/apache/iceberg/spark/Spark3VersionUtil.html" title="class in org.apache.iceberg.spark">Spark3VersionUtil</a></td>
-<th class="colLast" scope="row">&nbsp;</th>
-</tr>
-<tr id="i636" class="altColor">
-<td class="colFirst"><a href="org/apache/iceberg/actions/SparkActions.html" title="class in org.apache.iceberg.actions">SparkActions</a></td>
-<th class="colLast" scope="row">Deprecated.</th>
-</tr>
-<tr id="i637" class="rowColor">
+<tr id="i691" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/actions/SparkActions.html" title="class in org.apache.iceberg.spark.actions">SparkActions</a></td>
 <th class="colLast" scope="row">
 <div class="block">An implementation of <a href="org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions"><code>ActionsProvider</code></a> for Spark.</div>
 </th>
 </tr>
-<tr id="i638" class="altColor">
+<tr id="i692" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkAvroReader.html" title="class in org.apache.iceberg.spark.data">SparkAvroReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i639" class="rowColor">
+<tr id="i693" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkAvroWriter.html" title="class in org.apache.iceberg.spark.data">SparkAvroWriter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i640" class="altColor">
+<tr id="i694" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark">SparkCatalog</a></td>
 <th class="colLast" scope="row">
 <div class="block">A Spark TableCatalog implementation that wraps an Iceberg <a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><code>Catalog</code></a>.</div>
 </th>
 </tr>
-<tr id="i641" class="rowColor">
+<tr id="i695" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark">SparkDataFile</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i642" class="altColor">
+<tr id="i696" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark">SparkDistributionAndOrderingUtil</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i697" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark">SparkExceptionUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i643" class="rowColor">
+<tr id="i698" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark">SparkFilters</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i644" class="altColor">
+<tr id="i699" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/source/SparkMetadataColumn.html" title="class in org.apache.iceberg.spark.source">SparkMetadataColumn</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i700" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/source/SparkMicroBatchStream.html" title="class in org.apache.iceberg.spark.source">SparkMicroBatchStream</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i645" class="rowColor">
+<tr id="i701" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkOrcReader.html" title="class in org.apache.iceberg.spark.data">SparkOrcReader</a></td>
 <th class="colLast" scope="row">
 <div class="block">Converts the OrcIterator, which returns ORC's VectorizedRowBatch to a
  set of Spark's UnsafeRows.</div>
 </th>
 </tr>
-<tr id="i646" class="altColor">
+<tr id="i702" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkOrcValueReaders.html" title="class in org.apache.iceberg.spark.data">SparkOrcValueReaders</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i647" class="rowColor">
+<tr id="i703" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkOrcWriter.html" title="class in org.apache.iceberg.spark.data">SparkOrcWriter</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class acts as an adaptor from an OrcFileAppender to a
  FileAppender&lt;InternalRow&gt;.</div>
 </th>
 </tr>
-<tr id="i648" class="altColor">
+<tr id="i704" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkParquetReaders.html" title="class in org.apache.iceberg.spark.data">SparkParquetReaders</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i649" class="rowColor">
+<tr id="i705" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkParquetWriters.html" title="class in org.apache.iceberg.spark.data">SparkParquetWriters</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i650" class="altColor">
+<tr id="i706" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/source/SparkPartitionedFanoutWriter.html" title="class in org.apache.iceberg.spark.source">SparkPartitionedFanoutWriter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i651" class="rowColor">
+<tr id="i707" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/source/SparkPartitionedWriter.html" title="class in org.apache.iceberg.spark.source">SparkPartitionedWriter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i652" class="altColor">
+<tr id="i708" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/procedures/SparkProcedures.html" title="class in org.apache.iceberg.spark.procedures">SparkProcedures</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i653" class="rowColor">
+<tr id="i709" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/procedures/SparkProcedures.ProcedureBuilder.html" title="interface in org.apache.iceberg.spark.procedures">SparkProcedures.ProcedureBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i654" class="altColor">
+<tr id="i710" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark">SparkReadConf</a></td>
+<th class="colLast" scope="row">
+<div class="block">A class for common Iceberg configs for Spark reads.</div>
+</th>
+</tr>
+<tr id="i711" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark">SparkReadOptions</a></td>
 <th class="colLast" scope="row">
 <div class="block">Spark DF read options</div>
 </th>
 </tr>
-<tr id="i655" class="rowColor">
-<td class="colFirst"><a href="org/apache/iceberg/spark/source/SparkRewriteBuilder.html" title="class in org.apache.iceberg.spark.source">SparkRewriteBuilder</a></td>
-<th class="colLast" scope="row">&nbsp;</th>
-</tr>
-<tr id="i656" class="altColor">
+<tr id="i712" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source">SparkScanBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i657" class="rowColor">
+<tr id="i713" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/SparkSchemaUtil.html" title="class in org.apache.iceberg.spark">SparkSchemaUtil</a></td>
 <th class="colLast" scope="row">
 <div class="block">Helper methods for working with Spark/Hive metadata.</div>
 </th>
 </tr>
-<tr id="i658" class="altColor">
+<tr id="i714" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a>&lt;<a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="type parameter in SparkSessionCatalog">T</a> extends org.apache.spark.sql.connector.catalog.TableCatalog &amp; org.apache.spark.sql.connector.catalog.SupportsNamespaces&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">A Spark catalog that can also load non-Iceberg tables.</div>
 </th>
 </tr>
-<tr id="i659" class="rowColor">
+<tr id="i715" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i716" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/SparkStructLike.html" title="class in org.apache.iceberg.spark">SparkStructLike</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i660" class="altColor">
+<tr id="i717" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i661" class="rowColor">
+<tr id="i718" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/SparkTableUtil.html" title="class in org.apache.iceberg.spark">SparkTableUtil</a></td>
 <th class="colLast" scope="row">
 <div class="block">Java version of the original SparkTableUtil.scala
  https://github.com/apache/iceberg/blob/apache-iceberg-0.8.0-incubating/spark/src/main/scala/org/apache/iceberg/spark/SparkTableUtil.scala</div>
 </th>
 </tr>
-<tr id="i662" class="altColor">
+<tr id="i719" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class representing a table partition.</div>
 </th>
 </tr>
-<tr id="i663" class="rowColor">
+<tr id="i720" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/SparkUtil.html" title="class in org.apache.iceberg.spark">SparkUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i664" class="altColor">
+<tr id="i721" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/SparkValueConverter.html" title="class in org.apache.iceberg.spark">SparkValueConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">A utility class that converts Spark values to Iceberg's internal representation.</div>
 </th>
 </tr>
-<tr id="i665" class="rowColor">
+<tr id="i722" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkValueReaders.html" title="class in org.apache.iceberg.spark.data">SparkValueReaders</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i666" class="altColor">
+<tr id="i723" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/SparkValueWriters.html" title="class in org.apache.iceberg.spark.data">SparkValueWriters</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i667" class="rowColor">
+<tr id="i724" class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></td>
+<th class="colLast" scope="row">
+<div class="block">A class for common Iceberg configs for Spark writes.</div>
+</th>
+</tr>
+<tr id="i725" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></td>
 <th class="colLast" scope="row">
 <div class="block">Spark DF write options</div>
 </th>
 </tr>
-<tr id="i668" class="altColor">
+<tr id="i726" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/source/StagedSparkTable.html" title="class in org.apache.iceberg.spark.source">StagedSparkTable</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i669" class="rowColor">
+<tr id="i727" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/StaticTableOperations.html" title="class in org.apache.iceberg">StaticTableOperations</a></td>
 <th class="colLast" scope="row">
 <div class="block">TableOperations implementation that provides access to metadata for a Table at some point in time, using a
  table metadata location.</div>
 </th>
 </tr>
-<tr id="i670" class="altColor">
+<tr id="i728" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/source/StreamingMonitorFunction.html" title="class in org.apache.iceberg.flink.source">StreamingMonitorFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">This is the single (non-parallel) monitoring task which takes a <a href="org/apache/iceberg/flink/source/FlinkInputFormat.html" title="class in org.apache.iceberg.flink.source"><code>FlinkInputFormat</code></a>,
@@ -3335,597 +3631,581 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  </div>
 </th>
 </tr>
-<tr id="i671" class="rowColor">
+<tr id="i729" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/source/StreamingReaderOperator.html" title="class in org.apache.iceberg.flink.source">StreamingReaderOperator</a></td>
 <th class="colLast" scope="row">
 <div class="block">The operator that reads the <a href="org/apache/iceberg/flink/source/FlinkInputSplit.html" title="class in org.apache.iceberg.flink.source"><code>splits</code></a> received from the preceding <a href="org/apache/iceberg/flink/source/StreamingMonitorFunction.html" title="class in org.apache.iceberg.flink.source"><code>StreamingMonitorFunction</code></a>.</div>
 </th>
 </tr>
-<tr id="i672" class="altColor">
+<tr id="i730" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/StrictMetricsEvaluator.html" title="class in org.apache.iceberg.expressions">StrictMetricsEvaluator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Evaluates an <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a> on a <a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> to test whether all rows in the file match.</div>
 </th>
 </tr>
-<tr id="i673" class="rowColor">
+<tr id="i731" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interface for accessing data by position in a schema.</div>
 </th>
 </tr>
-<tr id="i674" class="altColor">
+<tr id="i732" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/StructLikeMap.html" title="class in org.apache.iceberg.util">StructLikeMap</a>&lt;<a href="org/apache/iceberg/util/StructLikeMap.html" title="type parameter in StructLikeMap">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i675" class="rowColor">
+<tr id="i733" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/StructLikeSet.html" title="class in org.apache.iceberg.util">StructLikeSet</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i676" class="altColor">
+<tr id="i734" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/StructLikeWrapper.html" title="class in org.apache.iceberg.util">StructLikeWrapper</a></td>
 <th class="colLast" scope="row">
 <div class="block">Wrapper to adapt StructLike for use in maps and sets by implementing equals and hashCode.</div>
 </th>
 </tr>
-<tr id="i677" class="rowColor">
+<tr id="i735" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/StructProjection.html" title="class in org.apache.iceberg.util">StructProjection</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i678" class="altColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/read/SupportsFileFilter.html" title="interface in org.apache.spark.sql.connector.iceberg.read">SupportsFileFilter</a></td>
+<tr id="i736" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html" title="interface in org.apache.spark.sql.connector.iceberg.write">SupportsDelta</a></td>
 <th class="colLast" scope="row">
-<div class="block">A mix-in interface for Scan.</div>
+<div class="block">A mix-in interface for RowLevelOperation.</div>
 </th>
 </tr>
-<tr id="i679" class="rowColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/catalog/SupportsMerge.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">SupportsMerge</a></td>
+<tr id="i737" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a></td>
 <th class="colLast" scope="row">
-<div class="block">A mix-in interface for Table to indicate that it supports row-level operations.</div>
+<div class="block">Catalog methods for working with namespaces.</div>
 </th>
 </tr>
-<tr id="i680" class="altColor">
-<td class="colFirst"><a href="org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a></td>
+<tr id="i738" class="altColor">
+<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/catalog/SupportsRowLevelOperations.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">SupportsRowLevelOperations</a></td>
 <th class="colLast" scope="row">
-<div class="block">Catalog methods for working with namespaces.</div>
+<div class="block">A mix-in interface for row-level operations support.</div>
 </th>
 </tr>
-<tr id="i681" class="rowColor">
+<tr id="i739" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/SupportsRowPosition.html" title="interface in org.apache.iceberg.avro">SupportsRowPosition</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interface for readers that accept a callback to determine the starting row position of an Avro split.</div>
 </th>
 </tr>
-<tr id="i682" class="altColor">
+<tr id="i740" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/SystemProperties.html" title="class in org.apache.iceberg">SystemProperties</a></td>
 <th class="colLast" scope="row">
 <div class="block">Configuration properties that are controlled by Java system properties.</div>
 </th>
 </tr>
-<tr id="i683" class="rowColor">
+<tr id="i741" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents a table.</div>
 </th>
 </tr>
-<tr id="i684" class="altColor">
+<tr id="i742" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a></td>
 <th class="colLast" scope="row">
 <div class="block">Identifies a table in iceberg catalog.</div>
 </th>
 </tr>
-<tr id="i685" class="rowColor">
+<tr id="i743" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a></td>
 <th class="colLast" scope="row">
 <div class="block">Serializable loader to load an Iceberg <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a>.</div>
 </th>
 </tr>
-<tr id="i686" class="altColor">
+<tr id="i744" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html" title="class in org.apache.iceberg.flink">TableLoader.CatalogTableLoader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i687" class="rowColor">
+<tr id="i745" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html" title="class in org.apache.iceberg.flink">TableLoader.HadoopTableLoader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i688" class="altColor">
+<tr id="i746" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></td>
 <th class="colLast" scope="row">
 <div class="block">Metadata for a table.</div>
 </th>
 </tr>
-<tr id="i689" class="rowColor">
+<tr id="i747" class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/TableMetadata.Builder.html" title="class in org.apache.iceberg">TableMetadata.Builder</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i748" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/TableMetadata.MetadataLogEntry.html" title="class in org.apache.iceberg">TableMetadata.MetadataLogEntry</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i690" class="altColor">
+<tr id="i749" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/TableMetadata.SnapshotLogEntry.html" title="class in org.apache.iceberg">TableMetadata.SnapshotLogEntry</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i691" class="rowColor">
+<tr id="i750" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/TableMetadataParser.html" title="class in org.apache.iceberg">TableMetadataParser</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i692" class="altColor">
+<tr id="i751" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/TableMetadataParser.Codec.html" title="enum in org.apache.iceberg">TableMetadataParser.Codec</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i693" class="rowColor">
+<tr id="i752" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/TableMigrationUtil.html" title="class in org.apache.iceberg.data">TableMigrationUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i694" class="altColor">
+<tr id="i753" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></td>
 <th class="colLast" scope="row">
 <div class="block">SPI interface to abstract table metadata access and updates.</div>
 </th>
 </tr>
-<tr id="i695" class="rowColor">
+<tr id="i754" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i696" class="altColor">
-<td class="colFirst"><a href="org/apache/iceberg/nessie/TableReference.html" title="class in org.apache.iceberg.nessie">TableReference</a></td>
-<th class="colLast" scope="row">&nbsp;</th>
-</tr>
-<tr id="i697" class="rowColor">
+<tr id="i755" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/Tables.html" title="interface in org.apache.iceberg">Tables</a></td>
 <th class="colLast" scope="row">
 <div class="block">Generic interface for creating and loading a table implementation.</div>
 </th>
 </tr>
-<tr id="i698" class="altColor">
+<tr id="i756" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg">TableScan</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for configuring a table scan.</div>
 </th>
 </tr>
-<tr id="i699" class="rowColor">
+<tr id="i757" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/TableScanUtil.html" title="class in org.apache.iceberg.util">TableScanUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i700" class="altColor">
+<tr id="i758" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/Tasks.html" title="class in org.apache.iceberg.util">Tasks</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i701" class="rowColor">
+<tr id="i759" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/Tasks.Builder.html" title="class in org.apache.iceberg.util">Tasks.Builder</a>&lt;<a href="org/apache/iceberg/util/Tasks.Builder.html" title="type parameter in Tasks.Builder">I</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i702" class="altColor">
+<tr id="i760" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/Tasks.FailureTask.html" title="interface in org.apache.iceberg.util">Tasks.FailureTask</a>&lt;<a href="org/apache/iceberg/util/Tasks.FailureTask.html" title="type parameter in Tasks.FailureTask">I</a>,&#8203;<a href="org/apache/iceberg/util/Tasks.FailureTask.html" title="type parameter in Tasks.FailureTask">E</a> extends java.lang.Exception&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i703" class="rowColor">
+<tr id="i761" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/Tasks.Task.html" title="interface in org.apache.iceberg.util">Tasks.Task</a>&lt;<a href="org/apache/iceberg/util/Tasks.Task.html" title="type parameter in Tasks.Task">I</a>,&#8203;<a href="org/apache/iceberg/util/Tasks.Task.html" title="type parameter in Tasks.Task">E</a> extends java.lang.Exception&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i704" class="altColor">
+<tr id="i762" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/Tasks.UnrecoverableException.html" title="class in org.apache.iceberg.util">Tasks.UnrecoverableException</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i705" class="rowColor">
+<tr id="i763" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/TaskWriter.html" title="interface in org.apache.iceberg.io">TaskWriter</a>&lt;<a href="org/apache/iceberg/io/TaskWriter.html" title="type parameter in TaskWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">The writer interface could accept records and provide the generated data files.</div>
 </th>
 </tr>
-<tr id="i706" class="altColor">
+<tr id="i764" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/sink/TaskWriterFactory.html" title="interface in org.apache.iceberg.flink.sink">TaskWriterFactory</a>&lt;<a href="org/apache/iceberg/flink/sink/TaskWriterFactory.html" title="type parameter in TaskWriterFactory">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Factory to create <a href="org/apache/iceberg/io/TaskWriter.html" title="interface in org.apache.iceberg.io"><code>TaskWriter</code></a></div>
 </th>
 </tr>
-<tr id="i707" class="rowColor">
+<tr id="i765" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/Term.html" title="interface in org.apache.iceberg.expressions">Term</a></td>
 <th class="colLast" scope="row">
 <div class="block">An expression that evaluates to a value.</div>
 </th>
 </tr>
-<tr id="i708" class="altColor">
+<tr id="i766" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/TezUtil.html" title="class in org.apache.iceberg.mr.hive">TezUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i709" class="rowColor">
+<tr id="i767" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/ThreadPools.html" title="class in org.apache.iceberg.util">ThreadPools</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i710" class="altColor">
+<tr id="i768" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/Transaction.html" title="interface in org.apache.iceberg">Transaction</a></td>
 <th class="colLast" scope="row">
 <div class="block">A transaction for performing multiple updates to a table.</div>
 </th>
 </tr>
-<tr id="i711" class="rowColor">
+<tr id="i769" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/Transactions.html" title="class in org.apache.iceberg">Transactions</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i712" class="altColor">
+<tr id="i770" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/transforms/Transform.html" title="interface in org.apache.iceberg.transforms">Transform</a>&lt;<a href="org/apache/iceberg/transforms/Transform.html" title="type parameter in Transform">S</a>,&#8203;<a href="org/apache/iceberg/transforms/Transform.html" title="type parameter in Transform">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">A transform function used for partitioning.</div>
 </th>
 </tr>
-<tr id="i713" class="rowColor">
+<tr id="i771" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/transforms/Transforms.html" title="class in org.apache.iceberg.transforms">Transforms</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory methods for transforms.</div>
 </th>
 </tr>
-<tr id="i714" class="altColor">
+<tr id="i772" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/TripleWriter.html" title="interface in org.apache.iceberg.parquet">TripleWriter</a>&lt;<a href="org/apache/iceberg/parquet/TripleWriter.html" title="type parameter in TripleWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i715" class="rowColor">
+<tr id="i773" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/True.html" title="class in org.apache.iceberg.expressions">True</a></td>
 <th class="colLast" scope="row">
 <div class="block">An <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>expression</code></a> that is always true.</div>
 </th>
 </tr>
-<tr id="i716" class="altColor">
+<tr id="i774" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i717" class="rowColor">
+<tr id="i775" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Type.NestedType.html" title="class in org.apache.iceberg.types">Type.NestedType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i718" class="altColor">
+<tr id="i776" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Type.PrimitiveType.html" title="class in org.apache.iceberg.types">Type.PrimitiveType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i719" class="rowColor">
+<tr id="i777" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Type.TypeID.html" title="enum in org.apache.iceberg.types">Type.TypeID</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i720" class="altColor">
+<tr id="i778" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.html" title="class in org.apache.iceberg.types">Types</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i721" class="rowColor">
+<tr id="i779" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.BinaryType.html" title="class in org.apache.iceberg.types">Types.BinaryType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i722" class="altColor">
+<tr id="i780" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.BooleanType.html" title="class in org.apache.iceberg.types">Types.BooleanType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i723" class="rowColor">
+<tr id="i781" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.DateType.html" title="class in org.apache.iceberg.types">Types.DateType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i724" class="altColor">
+<tr id="i782" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.DecimalType.html" title="class in org.apache.iceberg.types">Types.DecimalType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i725" class="rowColor">
+<tr id="i783" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.DoubleType.html" title="class in org.apache.iceberg.types">Types.DoubleType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i726" class="altColor">
+<tr id="i784" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.FixedType.html" title="class in org.apache.iceberg.types">Types.FixedType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i727" class="rowColor">
+<tr id="i785" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.FloatType.html" title="class in org.apache.iceberg.types">Types.FloatType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i728" class="altColor">
+<tr id="i786" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.IntegerType.html" title="class in org.apache.iceberg.types">Types.IntegerType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i729" class="rowColor">
+<tr id="i787" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.ListType.html" title="class in org.apache.iceberg.types">Types.ListType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i730" class="altColor">
+<tr id="i788" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.LongType.html" title="class in org.apache.iceberg.types">Types.LongType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i731" class="rowColor">
+<tr id="i789" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.MapType.html" title="class in org.apache.iceberg.types">Types.MapType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i732" class="altColor">
+<tr id="i790" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.NestedField.html" title="class in org.apache.iceberg.types">Types.NestedField</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i733" class="rowColor">
+<tr id="i791" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.StringType.html" title="class in org.apache.iceberg.types">Types.StringType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i734" class="altColor">
+<tr id="i792" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.StructType.html" title="class in org.apache.iceberg.types">Types.StructType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i735" class="rowColor">
+<tr id="i793" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.TimestampType.html" title="class in org.apache.iceberg.types">Types.TimestampType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i736" class="altColor">
+<tr id="i794" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.TimeType.html" title="class in org.apache.iceberg.types">Types.TimeType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i737" class="rowColor">
+<tr id="i795" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/Types.UUIDType.html" title="class in org.apache.iceberg.types">Types.UUIDType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i738" class="altColor">
+<tr id="i796" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/TypeToMessageType.html" title="class in org.apache.iceberg.parquet">TypeToMessageType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i739" class="rowColor">
+<tr id="i797" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/TypeUtil.html" title="class in org.apache.iceberg.types">TypeUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i740" class="altColor">
+<tr id="i798" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/TypeUtil.CustomOrderSchemaVisitor.html" title="class in org.apache.iceberg.types">TypeUtil.CustomOrderSchemaVisitor</a>&lt;<a href="org/apache/iceberg/types/TypeUtil.CustomOrderSchemaVisitor.html" title="type parameter in TypeUtil.CustomOrderSchemaVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i741" class="rowColor">
+<tr id="i799" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/TypeUtil.NextID.html" title="interface in org.apache.iceberg.types">TypeUtil.NextID</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interface for passing a function that assigns column IDs.</div>
 </th>
 </tr>
-<tr id="i742" class="altColor">
+<tr id="i800" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/types/TypeUtil.SchemaVisitor.html" title="class in org.apache.iceberg.types">TypeUtil.SchemaVisitor</a>&lt;<a href="org/apache/iceberg/types/TypeUtil.SchemaVisitor.html" title="type parameter in TypeUtil.SchemaVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i743" class="rowColor">
+<tr id="i801" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/TypeWithSchemaVisitor.html" title="class in org.apache.iceberg.parquet">TypeWithSchemaVisitor</a>&lt;<a href="org/apache/iceberg/parquet/TypeWithSchemaVisitor.html" title="type parameter in TypeWithSchemaVisitor">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Visitor for traversing a Parquet type with a companion Iceberg type.</div>
 </th>
 </tr>
-<tr id="i744" class="altColor">
+<tr id="i802" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/Unbound.html" title="interface in org.apache.iceberg.expressions">Unbound</a>&lt;<a href="org/apache/iceberg/expressions/Unbound.html" title="type parameter in Unbound">T</a>,&#8203;<a href="org/apache/iceberg/expressions/Unbound.html" title="type parameter in Unbound">B</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Represents an unbound expression node.</div>
 </th>
 </tr>
-<tr id="i745" class="rowColor">
+<tr id="i803" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/UnboundPredicate.html" title="class in org.apache.iceberg.expressions">UnboundPredicate</a>&lt;<a href="org/apache/iceberg/expressions/UnboundPredicate.html" title="type parameter in UnboundPredicate">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i746" class="altColor">
+<tr id="i804" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/UnboundTerm.html" title="interface in org.apache.iceberg.expressions">UnboundTerm</a>&lt;<a href="org/apache/iceberg/expressions/UnboundTerm.html" title="type parameter in UnboundTerm">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Represents an unbound term.</div>
 </th>
 </tr>
-<tr id="i747" class="rowColor">
+<tr id="i805" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/UnboundTransform.html" title="class in org.apache.iceberg.expressions">UnboundTransform</a>&lt;<a href="org/apache/iceberg/expressions/UnboundTransform.html" title="type parameter in UnboundTransform">S</a>,&#8203;<a href="org/apache/iceberg/expressions/UnboundTransform.html" title="type parameter in UnboundTransform">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i748" class="altColor">
+<tr id="i806" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/jdbc/UncheckedInterruptedException.html" title="class in org.apache.iceberg.jdbc">UncheckedInterruptedException</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i749" class="rowColor">
+<tr id="i807" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/jdbc/UncheckedSQLException.html" title="class in org.apache.iceberg.jdbc">UncheckedSQLException</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i750" class="altColor">
+<tr id="i808" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/UnicodeUtil.html" title="class in org.apache.iceberg.util">UnicodeUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i751" class="rowColor">
+<tr id="i809" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/schema/UnionByNameVisitor.html" title="class in org.apache.iceberg.schema">UnionByNameVisitor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Visitor class that accumulates the set of changes needed to evolve an existing schema into the union of the
  existing and a new schema.</div>
 </th>
 </tr>
-<tr id="i752" class="altColor">
+<tr id="i810" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/transforms/UnknownTransform.html" title="class in org.apache.iceberg.transforms">UnknownTransform</a>&lt;<a href="org/apache/iceberg/transforms/UnknownTransform.html" title="type parameter in UnknownTransform">S</a>,&#8203;<a href="org/apache/iceberg/transforms/UnknownTransform.html" title="type parameter in UnknownTransform">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i753" class="rowColor">
+<tr id="i811" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/UnpartitionedWriter.html" title="class in org.apache.iceberg.io">UnpartitionedWriter</a>&lt;<a href="org/apache/iceberg/io/UnpartitionedWriter.html" title="type parameter in UnpartitionedWriter">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i754" class="altColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/UnspecifiedDistribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions">UnspecifiedDistribution</a></td>
-<th class="colLast" scope="row">
-<div class="block">A distribution where no promises are made about co-location of data.</div>
-</th>
-</tr>
-<tr id="i755" class="rowColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/UnspecifiedDistributionImpl.html" title="class in org.apache.spark.sql.connector.iceberg.distributions.impl">UnspecifiedDistributionImpl</a></td>
-<th class="colLast" scope="row">&nbsp;</th>
-</tr>
-<tr id="i756" class="altColor">
+<tr id="i812" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/UpdateLocation.html" title="interface in org.apache.iceberg">UpdateLocation</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for setting a table's base location.</div>
 </th>
 </tr>
-<tr id="i757" class="rowColor">
+<tr id="i813" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/UpdatePartitionSpec.html" title="interface in org.apache.iceberg">UpdatePartitionSpec</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for partition spec evolution.</div>
 </th>
 </tr>
-<tr id="i758" class="altColor">
+<tr id="i814" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/UpdateProperties.html" title="interface in org.apache.iceberg">UpdateProperties</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for updating table properties.</div>
 </th>
 </tr>
-<tr id="i759" class="rowColor">
+<tr id="i815" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/UpdateSchema.html" title="interface in org.apache.iceberg">UpdateSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">API for schema evolution.</div>
 </th>
 </tr>
-<tr id="i760" class="altColor">
+<tr id="i816" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/hadoop/Util.html" title="class in org.apache.iceberg.hadoop">Util</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i761" class="rowColor">
+<tr id="i817" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/UUIDConversion.html" title="class in org.apache.iceberg.avro">UUIDConversion</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i762" class="altColor">
+<tr id="i818" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/UUIDUtil.html" title="class in org.apache.iceberg.util">UUIDUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i763" class="rowColor">
+<tr id="i819" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/exceptions/ValidationException.html" title="class in org.apache.iceberg.exceptions">ValidationException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception raised when validation checks fail.</div>
 </th>
 </tr>
-<tr id="i764" class="altColor">
+<tr id="i820" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/ValueReader.html" title="interface in org.apache.iceberg.avro">ValueReader</a>&lt;<a href="org/apache/iceberg/avro/ValueReader.html" title="type parameter in ValueReader">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i765" class="rowColor">
+<tr id="i821" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/ValueReaders.html" title="class in org.apache.iceberg.avro">ValueReaders</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i766" class="altColor">
+<tr id="i822" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/ValueReaders.StructReader.html" title="class in org.apache.iceberg.avro">ValueReaders.StructReader</a>&lt;<a href="org/apache/iceberg/avro/ValueReaders.StructReader.html" title="type parameter in ValueReaders.StructReader">S</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i767" class="rowColor">
+<tr id="i823" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/ValuesAsBytesReader.html" title="class in org.apache.iceberg.parquet">ValuesAsBytesReader</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implements a <code>ValuesReader</code> specifically to read given number of bytes from the underlying <code>ByteBufferInputStream</code>.</div>
 </th>
 </tr>
-<tr id="i768" class="altColor">
+<tr id="i824" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/ValueWriter.html" title="interface in org.apache.iceberg.avro">ValueWriter</a>&lt;<a href="org/apache/iceberg/avro/ValueWriter.html" title="type parameter in ValueWriter">D</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i769" class="rowColor">
+<tr id="i825" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/ValueWriters.html" title="class in org.apache.iceberg.avro">ValueWriters</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i770" class="altColor">
+<tr id="i826" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/avro/ValueWriters.StructWriter.html" title="class in org.apache.iceberg.avro">ValueWriters.StructWriter</a>&lt;<a href="org/apache/iceberg/avro/ValueWriters.StructWriter.html" title="type parameter in ValueWriters.StructWriter">S</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i771" class="rowColor">
+<tr id="i827" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Container class for holding the Arrow vector storing a batch of values along with other state needed for reading
  values out of it.</div>
 </th>
 </tr>
-<tr id="i772" class="altColor">
+<tr id="i828" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder.ConstantVectorHolder</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html" title="type parameter in VectorHolder.ConstantVectorHolder">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">A Vector Holder which does not actually produce values, consumers of this class should
  use the constantValue to populate their ColumnVector implementation.</div>
 </th>
 </tr>
-<tr id="i773" class="rowColor">
+<tr id="i829" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.PositionVectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder.PositionVectorHolder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i774" class="altColor">
+<tr id="i830" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedArrowReader</a></td>
 <th class="colLast" scope="row">
 <div class="block"><a href="org/apache/iceberg/parquet/VectorizedReader.html" title="interface in org.apache.iceberg.parquet"><code>VectorReader(s)</code></a> that read in a batch of values into Arrow vectors.</div>
 </th>
 </tr>
-<tr id="i775" class="rowColor">
+<tr id="i831" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.ConstantVectorReader.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedArrowReader.ConstantVectorReader</a>&lt;<a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.ConstantVectorReader.html" title="type parameter in VectorizedArrowReader.ConstantVectorReader">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">A Dummy Vector Reader which doesn't actually read files, instead it returns a dummy
  VectorHolder which indicates the constant value which should be used for this column.</div>
 </th>
 </tr>
-<tr id="i776" class="altColor">
+<tr id="i832" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Vectorized version of the ColumnIterator that reads column values in data pages of a column in a row group in a
  batched fashion.</div>
 </th>
 </tr>
-<tr id="i777" class="rowColor">
+<tr id="i833" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedDictionaryEncodedParquetValuesReader</a></td>
 <th class="colLast" scope="row">
 <div class="block">This decoder reads Parquet dictionary encoded data in a vectorized fashion.</div>
 </th>
 </tr>
-<tr id="i778" class="altColor">
+<tr id="i834" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedPageIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedPageIterator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i779" class="rowColor">
+<tr id="i835" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedParquetDefinitionLevelReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedParquetDefinitionLevelReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i780" class="altColor">
+<tr id="i836" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/VectorizedParquetReader.html" title="class in org.apache.iceberg.parquet">VectorizedParquetReader</a>&lt;<a href="org/apache/iceberg/parquet/VectorizedParquetReader.html" title="type parameter in VectorizedParquetReader">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i781" class="rowColor">
+<tr id="i837" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/parquet/VectorizedReader.html" title="interface in org.apache.iceberg.parquet">VectorizedReader</a>&lt;<a href="org/apache/iceberg/parquet/VectorizedReader.html" title="type parameter in VectorizedReader">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Interface for vectorized Iceberg readers.</div>
 </th>
 </tr>
-<tr id="i782" class="altColor">
+<tr id="i838" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/VectorizedReaderBuilder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedReaderBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i783" class="rowColor">
+<tr id="i839" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/orc/VectorizedRowBatchIterator.html" title="class in org.apache.iceberg.orc">VectorizedRowBatchIterator</a></td>
 <th class="colLast" scope="row">
 <div class="block">An adaptor so that the ORC RecordReader can be used as an Iterator.</div>
 </th>
 </tr>
-<tr id="i784" class="altColor">
+<tr id="i840" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkOrcReaders.html" title="class in org.apache.iceberg.spark.data.vectorized">VectorizedSparkOrcReaders</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i785" class="rowColor">
+<tr id="i841" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html" title="class in org.apache.iceberg.spark.data.vectorized">VectorizedSparkParquetReaders</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i786" class="altColor">
+<tr id="i842" class="altColor">
 <td class="colFirst"><a href="org/apache/hadoop/hive/ql/exec/vector/VectorizedSupport.html" title="class in org.apache.hadoop.hive.ql.exec.vector">VectorizedSupport</a></td>
 <th class="colLast" scope="row">
 <div class="block">Copied here from Hive for compatibility</div>
 </th>
 </tr>
-<tr id="i787" class="rowColor">
+<tr id="i843" class="rowColor">
 <td class="colFirst"><a href="org/apache/hadoop/hive/ql/exec/vector/VectorizedSupport.Support.html" title="enum in org.apache.hadoop.hive.ql.exec.vector">VectorizedSupport.Support</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i788" class="altColor">
+<tr id="i844" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/arrow/vectorized/VectorizedTableScanIterable.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedTableScanIterable</a></td>
 <th class="colLast" scope="row">
 <div class="block">A vectorized implementation of the Iceberg reader that iterates over the table scan.</div>
 </th>
 </tr>
-<tr id="i789" class="rowColor">
+<tr id="i845" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/util/WapUtil.html" title="class in org.apache.iceberg.util">WapUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i790" class="altColor">
+<tr id="i846" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/WriteObjectInspector.html" title="interface in org.apache.iceberg.mr.hive.serde.objectinspector">WriteObjectInspector</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interface for converting the Hive primitive objects for the objects which could be added to an Iceberg Record.</div>
 </th>
 </tr>
-<tr id="i791" class="rowColor">
+<tr id="i847" class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/WriteResult.html" title="class in org.apache.iceberg.io">WriteResult</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i792" class="altColor">
+<tr id="i848" class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/WriteResult.Builder.html" title="class in org.apache.iceberg.io">WriteResult.Builder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i793" class="rowColor">
-<td class="colFirst"><a href="org/apache/iceberg/io/WriterFactory.html" title="interface in org.apache.iceberg.io">WriterFactory</a>&lt;<a href="org/apache/iceberg/io/WriterFactory.html" title="type parameter in WriterFactory">T</a>&gt;</td>
-<th class="colLast" scope="row">
-<div class="block">A factory for creating data and delete writers.</div>
-</th>
-</tr>
 </table>
 </li>
 </ul>
diff --git a/javadoc/allclasses.html b/javadoc/allclasses.html
index 4fecf88..689ad9f 100644
--- a/javadoc/allclasses.html
+++ b/javadoc/allclasses.html
@@ -2,10 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.12) on Mon Nov 08 18:33:49 PST 2021 -->
+<!-- Generated by javadoc -->
 <title>All Classes</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2021-11-08">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
@@ -25,15 +24,18 @@
 <li><a href="org/apache/iceberg/Accessor.html" title="interface in org.apache.iceberg"><span class="interfaceName">Accessor</span></a></li>
 <li><a href="org/apache/iceberg/Accessors.html" title="class in org.apache.iceberg">Accessors</a></li>
 <li><a href="org/apache/iceberg/actions/Action.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">Action</span></a></li>
-<li><a href="org/apache/iceberg/actions/Actions.html" title="class in org.apache.iceberg.actions">Actions</a></li>
 <li><a href="org/apache/iceberg/flink/actions/Actions.html" title="class in org.apache.iceberg.flink.actions">Actions</a></li>
 <li><a href="org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">ActionsProvider</span></a></li>
+<li><a href="org/apache/iceberg/aliyun/AliyunClientFactories.html" title="class in org.apache.iceberg.aliyun">AliyunClientFactories</a></li>
+<li><a href="org/apache/iceberg/aliyun/AliyunClientFactory.html" title="interface in org.apache.iceberg.aliyun"><span class="interfaceName">AliyunClientFactory</span></a></li>
+<li><a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun">AliyunProperties</a></li>
 <li><a href="org/apache/iceberg/AllDataFilesTable.html" title="class in org.apache.iceberg">AllDataFilesTable</a></li>
 <li><a href="org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html" title="class in org.apache.iceberg">AllDataFilesTable.AllDataFilesTableScan</a></li>
 <li><a href="org/apache/iceberg/AllEntriesTable.html" title="class in org.apache.iceberg">AllEntriesTable</a></li>
 <li><a href="org/apache/iceberg/AllManifestsTable.html" title="class in org.apache.iceberg">AllManifestsTable</a></li>
 <li><a href="org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html" title="class in org.apache.iceberg">AllManifestsTable.AllManifestsTableScan</a></li>
 <li><a href="org/apache/iceberg/exceptions/AlreadyExistsException.html" title="class in org.apache.iceberg.exceptions">AlreadyExistsException</a></li>
+<li><a href="org/apache/iceberg/spark/procedures/AncestorsOfProcedure.html" title="class in org.apache.iceberg.spark.procedures">AncestorsOfProcedure</a></li>
 <li><a href="org/apache/iceberg/expressions/And.html" title="class in org.apache.iceberg.expressions">And</a></li>
 <li><a href="org/apache/iceberg/AppendFiles.html" title="interface in org.apache.iceberg"><span class="interfaceName">AppendFiles</span></a></li>
 <li><a href="org/apache/iceberg/util/ArrayUtil.html" title="class in org.apache.iceberg.util">ArrayUtil</a></li>
@@ -60,6 +62,7 @@
 <li><a href="org/apache/iceberg/aws/AwsClientFactories.html" title="class in org.apache.iceberg.aws">AwsClientFactories</a></li>
 <li><a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><span class="interfaceName">AwsClientFactory</span></a></li>
 <li><a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></li>
+<li><a href="org/apache/iceberg/arrow/vectorized/BaseBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized">BaseBatchReader</a></li>
 <li><a href="org/apache/iceberg/parquet/BaseColumnIterator.html" title="class in org.apache.iceberg.parquet">BaseColumnIterator</a></li>
 <li><a href="org/apache/iceberg/BaseCombinedScanTask.html" title="class in org.apache.iceberg">BaseCombinedScanTask</a></li>
 <li><a href="org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteOrphanFilesActionResult</a></li>
@@ -69,6 +72,7 @@
 <li><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></li>
 <li><a href="org/apache/iceberg/spark/actions/BaseExpireSnapshotsSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseExpireSnapshotsSparkAction</a></li>
 <li><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></li>
+<li><a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data">BaseFileWriterFactory</a></li>
 <li><a href="org/apache/iceberg/BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a></li>
 <li><a href="org/apache/iceberg/BaseMetastoreTableOperations.html" title="class in org.apache.iceberg">BaseMetastoreTableOperations</a></li>
 <li><a href="org/apache/iceberg/BaseMetastoreTableOperations.CommitStatus.html" title="enum in org.apache.iceberg">BaseMetastoreTableOperations.CommitStatus</a></li>
@@ -79,6 +83,7 @@
 <li><a href="org/apache/iceberg/parquet/BasePageIterator.IntIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator.IntIterator</a></li>
 <li><a href="org/apache/iceberg/data/parquet/BaseParquetReaders.html" title="class in org.apache.iceberg.data.parquet">BaseParquetReaders</a></li>
 <li><a href="org/apache/iceberg/data/parquet/BaseParquetWriter.html" title="class in org.apache.iceberg.data.parquet">BaseParquetWriter</a></li>
+<li><a href="org/apache/iceberg/io/BasePositionDeltaWriter.html" title="class in org.apache.iceberg.io">BasePositionDeltaWriter</a></li>
 <li><a href="org/apache/iceberg/BaseReplacePartitions.html" title="class in org.apache.iceberg">BaseReplacePartitions</a></li>
 <li><a href="org/apache/iceberg/BaseReplaceSortOrder.html" title="class in org.apache.iceberg">BaseReplaceSortOrder</a></li>
 <li><a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a></li>
@@ -93,7 +98,6 @@
 <li><a href="org/apache/iceberg/BaseTable.html" title="class in org.apache.iceberg">BaseTable</a></li>
 <li><a href="org/apache/iceberg/io/BaseTaskWriter.html" title="class in org.apache.iceberg.io">BaseTaskWriter</a></li>
 <li><a href="org/apache/iceberg/arrow/vectorized/parquet/BaseVectorizedParquetValuesReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">BaseVectorizedParquetValuesReader</a></li>
-<li><a href="org/apache/iceberg/data/BaseWriterFactory.html" title="class in org.apache.iceberg.data">BaseWriterFactory</a></li>
 <li><a href="org/apache/iceberg/util/BinaryUtil.html" title="class in org.apache.iceberg.util">BinaryUtil</a></li>
 <li><a href="org/apache/iceberg/expressions/Binder.html" title="class in org.apache.iceberg.expressions">Binder</a></li>
 <li><a href="org/apache/iceberg/util/BinPacking.html" title="class in org.apache.iceberg.util">BinPacking</a></li>
@@ -132,34 +136,41 @@
 <li><a href="org/apache/iceberg/io/CloseableIterable.ConcatCloseableIterable.html" title="class in org.apache.iceberg.io">CloseableIterable.ConcatCloseableIterable</a></li>
 <li><a href="org/apache/iceberg/io/CloseableIterator.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">CloseableIterator</span></a></li>
 <li><a href="org/apache/iceberg/io/ClosingIterator.html" title="class in org.apache.iceberg.io">ClosingIterator</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/ClusterDistributionImpl.html" title="class in org.apache.spark.sql.connector.iceberg.distributions.impl">ClusterDistributionImpl</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/distributions/ClusteredDistribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions"><span class="interfaceName">ClusteredDistribution</span></a></li>
+<li><a href="org/apache/iceberg/io/ClusteredDataWriter.html" title="class in org.apache.iceberg.io">ClusteredDataWriter</a></li>
+<li><a href="org/apache/iceberg/io/ClusteredEqualityDeleteWriter.html" title="class in org.apache.iceberg.io">ClusteredEqualityDeleteWriter</a></li>
+<li><a href="org/apache/iceberg/io/ClusteredPositionDeleteWriter.html" title="class in org.apache.iceberg.io">ClusteredPositionDeleteWriter</a></li>
 <li><a href="org/apache/iceberg/arrow/vectorized/ColumnarBatch.html" title="class in org.apache.iceberg.arrow.vectorized">ColumnarBatch</a></li>
 <li><a href="org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnarBatchReader</a></li>
 <li><a href="org/apache/iceberg/parquet/ColumnIterator.html" title="class in org.apache.iceberg.parquet">ColumnIterator</a></li>
 <li><a href="org/apache/iceberg/arrow/vectorized/ColumnVector.html" title="class in org.apache.iceberg.arrow.vectorized">ColumnVector</a></li>
+<li><a href="org/apache/iceberg/spark/data/vectorized/ColumnVectorWithFilter.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnVectorWithFilter</a></li>
 <li><a href="org/apache/iceberg/parquet/ColumnWriter.html" title="class in org.apache.iceberg.parquet">ColumnWriter</a></li>
 <li><a href="org/apache/iceberg/CombinedScanTask.html" title="interface in org.apache.iceberg"><span class="interfaceName">CombinedScanTask</span></a></li>
 <li><a href="org/apache/iceberg/exceptions/CommitFailedException.html" title="class in org.apache.iceberg.exceptions">CommitFailedException</a></li>
 <li><a href="org/apache/iceberg/exceptions/CommitStateUnknownException.html" title="class in org.apache.iceberg.exceptions">CommitStateUnknownException</a></li>
 <li><a href="org/apache/iceberg/types/Comparators.html" title="class in org.apache.iceberg.types">Comparators</a></li>
 <li><a href="org/apache/iceberg/hadoop/ConfigProperties.html" title="class in org.apache.iceberg.hadoop">ConfigProperties</a></li>
+<li><a href="org/apache/iceberg/hadoop/Configurable.html" title="interface in org.apache.iceberg.hadoop"><span class="interfaceName">Configurable</span></a></li>
 <li><a href="org/apache/iceberg/mr/mapred/Container.html" title="class in org.apache.iceberg.mr.mapred">Container</a></li>
 <li><a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg"><span class="interfaceName">ContentFile</span></a></li>
 <li><a href="org/apache/iceberg/types/Conversions.html" title="class in org.apache.iceberg.types">Conversions</a></li>
-<li><a href="org/apache/iceberg/actions/CreateAction.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">CreateAction</span></a></li>
+<li><a href="org/apache/iceberg/actions/ConvertEqualityDeleteFiles.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">ConvertEqualityDeleteFiles</span></a></li>
+<li><a href="org/apache/iceberg/actions/ConvertEqualityDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">ConvertEqualityDeleteFiles.Result</span></a></li>
+<li><a href="org/apache/iceberg/actions/ConvertEqualityDeleteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">ConvertEqualityDeleteStrategy</span></a></li>
 <li><a href="org/apache/iceberg/events/CreateSnapshotEvent.html" title="class in org.apache.iceberg.events">CreateSnapshotEvent</a></li>
 <li><a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><span class="interfaceName">DataFile</span></a></li>
 <li><a href="org/apache/iceberg/DataFiles.html" title="class in org.apache.iceberg">DataFiles</a></li>
 <li><a href="org/apache/iceberg/DataFiles.Builder.html" title="class in org.apache.iceberg">DataFiles.Builder</a></li>
 <li><a href="org/apache/iceberg/DataFilesTable.html" title="class in org.apache.iceberg">DataFilesTable</a></li>
 <li><a href="org/apache/iceberg/DataFilesTable.FilesTableScan.html" title="class in org.apache.iceberg">DataFilesTable.FilesTableScan</a></li>
+<li><a href="org/apache/iceberg/flink/source/DataIterator.html" title="class in org.apache.iceberg.flink.source">DataIterator</a></li>
 <li><a href="org/apache/iceberg/DataOperations.html" title="class in org.apache.iceberg">DataOperations</a></li>
 <li><a href="org/apache/iceberg/data/avro/DataReader.html" title="class in org.apache.iceberg.data.avro">DataReader</a></li>
 <li><a href="org/apache/iceberg/DataTableScan.html" title="class in org.apache.iceberg">DataTableScan</a></li>
 <li><a href="org/apache/iceberg/DataTask.html" title="interface in org.apache.iceberg"><span class="interfaceName">DataTask</span></a></li>
 <li><a href="org/apache/iceberg/data/avro/DataWriter.html" title="class in org.apache.iceberg.data.avro">DataWriter</a></li>
 <li><a href="org/apache/iceberg/io/DataWriter.html" title="class in org.apache.iceberg.io">DataWriter</a></li>
+<li><a href="org/apache/iceberg/io/DataWriteResult.html" title="class in org.apache.iceberg.io">DataWriteResult</a></li>
 <li><a href="org/apache/iceberg/util/DateTimeUtil.html" title="class in org.apache.iceberg.util">DateTimeUtil</a></li>
 <li><a href="org/apache/iceberg/util/DecimalUtil.html" title="class in org.apache.iceberg.util">DecimalUtil</a></li>
 <li><a href="org/apache/iceberg/data/avro/DecoderResolver.html" title="class in org.apache.iceberg.data.avro">DecoderResolver</a></li>
@@ -174,9 +185,13 @@
 <li><a href="org/apache/iceberg/actions/DeleteReachableFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">DeleteReachableFiles.Result</span></a></li>
 <li><a href="org/apache/iceberg/deletes/Deletes.html" title="class in org.apache.iceberg.deletes">Deletes</a></li>
 <li><a href="org/apache/iceberg/io/DeleteSchemaUtil.html" title="class in org.apache.iceberg.io">DeleteSchemaUtil</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/distributions/Distribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions"><span class="interfaceName">Distribution</span></a></li>
+<li><a href="org/apache/iceberg/io/DeleteWriteResult.html" title="class in org.apache.iceberg.io">DeleteWriteResult</a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">DeltaBatchWrite</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">DeltaWrite</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">DeltaWriteBuilder</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">DeltaWriter</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">DeltaWriterFactory</span></a></li>
 <li><a href="org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/distributions/Distributions.html" title="class in org.apache.spark.sql.connector.iceberg.distributions">Distributions</a></li>
 <li><a href="org/apache/iceberg/DoubleFieldMetrics.html" title="class in org.apache.iceberg">DoubleFieldMetrics</a></li>
 <li><a href="org/apache/iceberg/DoubleFieldMetrics.Builder.html" title="class in org.apache.iceberg">DoubleFieldMetrics.Builder</a></li>
 <li><a href="org/apache/iceberg/exceptions/DuplicateWAPCommitException.html" title="class in org.apache.iceberg.exceptions">DuplicateWAPCommitException</a></li>
@@ -204,6 +219,7 @@
 <li><a href="org/apache/iceberg/encryption/EncryptionManager.html" title="interface in org.apache.iceberg.encryption"><span class="interfaceName">EncryptionManager</span></a></li>
 <li><a href="org/apache/iceberg/spark/source/EqualityDeleteRowReader.html" title="class in org.apache.iceberg.spark.source">EqualityDeleteRowReader</a></li>
 <li><a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html" title="class in org.apache.iceberg.deletes">EqualityDeleteWriter</a></li>
+<li><a href="org/apache/iceberg/io/EqualityDeltaWriter.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">EqualityDeltaWriter</span></a></li>
 <li><a href="org/apache/iceberg/expressions/Evaluator.html" title="class in org.apache.iceberg.expressions">Evaluator</a></li>
 <li><a href="org/apache/iceberg/util/Exceptions.html" title="class in org.apache.iceberg.util">Exceptions</a></li>
 <li><a href="org/apache/iceberg/util/ExceptionUtil.html" title="class in org.apache.iceberg.util">ExceptionUtil</a></li>
@@ -213,8 +229,6 @@
 <li><a href="org/apache/iceberg/actions/ExpireSnapshots.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">ExpireSnapshots</span></a></li>
 <li><a href="org/apache/iceberg/ExpireSnapshots.html" title="interface in org.apache.iceberg"><span class="interfaceName">ExpireSnapshots</span></a></li>
 <li><a href="org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">ExpireSnapshots.Result</span></a></li>
-<li><a href="org/apache/iceberg/actions/ExpireSnapshotsAction.html" title="class in org.apache.iceberg.actions">ExpireSnapshotsAction</a></li>
-<li><a href="org/apache/iceberg/actions/ExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">ExpireSnapshotsActionResult</a></li>
 <li><a href="org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.html" title="class in org.apache.iceberg.spark.procedures">ExpireSnapshotsProcedure</a></li>
 <li><a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><span class="interfaceName">Expression</span></a></li>
 <li><a href="org/apache/iceberg/expressions/Expression.Operation.html" title="enum in org.apache.iceberg.expressions">Expression.Operation</a></li>
@@ -223,8 +237,9 @@
 <li><a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundExpressionVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.BoundExpressionVisitor</a></li>
 <li><a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.BoundVisitor</a></li>
 <li><a href="org/apache/iceberg/expressions/ExpressionVisitors.ExpressionVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.ExpressionVisitor</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/catalog/ExtendedSupportsDelete.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog"><span class="interfaceName">ExtendedSupportsDelete</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">ExtendedLogicalWriteInfo</span></a></li>
 <li><a href="org/apache/iceberg/expressions/False.html" title="class in org.apache.iceberg.expressions">False</a></li>
+<li><a href="org/apache/iceberg/io/FanoutDataWriter.html" title="class in org.apache.iceberg.io">FanoutDataWriter</a></li>
 <li><a href="org/apache/iceberg/FieldMetrics.html" title="class in org.apache.iceberg">FieldMetrics</a></li>
 <li><a href="org/apache/iceberg/io/FileAppender.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">FileAppender</span></a></li>
 <li><a href="org/apache/iceberg/io/FileAppenderFactory.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">FileAppenderFactory</span></a></li>
@@ -236,7 +251,10 @@
 <li><a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a></li>
 <li><a href="org/apache/iceberg/Files.html" title="class in org.apache.iceberg">Files</a></li>
 <li><a href="org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg"><span class="interfaceName">FileScanTask</span></a></li>
+<li><a href="org/apache/iceberg/flink/source/FileScanTaskReader.html" title="interface in org.apache.iceberg.flink.source"><span class="interfaceName">FileScanTaskReader</span></a></li>
 <li><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a></li>
+<li><a href="org/apache/iceberg/io/FileWriter.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">FileWriter</span></a></li>
+<li><a href="org/apache/iceberg/io/FileWriterFactory.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">FileWriterFactory</span></a></li>
 <li><a href="org/apache/iceberg/util/Filter.html" title="class in org.apache.iceberg.util">Filter</a></li>
 <li><a href="org/apache/iceberg/io/FilterIterator.html" title="class in org.apache.iceberg.io">FilterIterator</a></li>
 <li><a href="org/apache/iceberg/FindFiles.html" title="class in org.apache.iceberg">FindFiles</a></li>
@@ -262,11 +280,16 @@
 <li><a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html" title="class in org.apache.iceberg.flink.sink">FlinkSink.Builder</a></li>
 <li><a href="org/apache/iceberg/flink/source/FlinkSource.html" title="class in org.apache.iceberg.flink.source">FlinkSource</a></li>
 <li><a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html" title="class in org.apache.iceberg.flink.source">FlinkSource.Builder</a></li>
+<li><a href="org/apache/iceberg/flink/source/FlinkSplitPlanner.html" title="class in org.apache.iceberg.flink.source">FlinkSplitPlanner</a></li>
 <li><a href="org/apache/iceberg/flink/FlinkTypeVisitor.html" title="class in org.apache.iceberg.flink">FlinkTypeVisitor</a></li>
 <li><a href="org/apache/iceberg/flink/data/FlinkValueReaders.html" title="class in org.apache.iceberg.flink.data">FlinkValueReaders</a></li>
 <li><a href="org/apache/iceberg/flink/data/FlinkValueWriters.html" title="class in org.apache.iceberg.flink.data">FlinkValueWriters</a></li>
 <li><a href="org/apache/iceberg/FloatFieldMetrics.html" title="class in org.apache.iceberg">FloatFieldMetrics</a></li>
 <li><a href="org/apache/iceberg/FloatFieldMetrics.Builder.html" title="class in org.apache.iceberg">FloatFieldMetrics.Builder</a></li>
+<li><a href="org/apache/iceberg/gcp/GCPProperties.html" title="class in org.apache.iceberg.gcp">GCPProperties</a></li>
+<li><a href="org/apache/iceberg/gcp/gcs/GCSFileIO.html" title="class in org.apache.iceberg.gcp.gcs">GCSFileIO</a></li>
+<li><a href="org/apache/iceberg/gcp/gcs/GCSInputFile.html" title="class in org.apache.iceberg.gcp.gcs">GCSInputFile</a></li>
+<li><a href="org/apache/iceberg/gcp/gcs/GCSOutputFile.html" title="class in org.apache.iceberg.gcp.gcs">GCSOutputFile</a></li>
 <li><a href="org/apache/iceberg/data/GenericAppenderFactory.html" title="class in org.apache.iceberg.data">GenericAppenderFactory</a></li>
 <li><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.html" title="class in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory</a></li>
 <li><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.ArrayFactory.html" title="interface in org.apache.iceberg.arrow.vectorized"><span class="interfaceName">GenericArrowVectorAccessorFactory.ArrayFactory</span></a></li>
@@ -280,6 +303,7 @@
 <li><a href="org/apache/iceberg/data/orc/GenericOrcReaders.html" title="class in org.apache.iceberg.data.orc">GenericOrcReaders</a></li>
 <li><a href="org/apache/iceberg/data/orc/GenericOrcWriter.html" title="class in org.apache.iceberg.data.orc">GenericOrcWriter</a></li>
 <li><a href="org/apache/iceberg/data/orc/GenericOrcWriters.html" title="class in org.apache.iceberg.data.orc">GenericOrcWriters</a></li>
+<li><a href="org/apache/iceberg/data/orc/GenericOrcWriters.StructWriter.html" title="class in org.apache.iceberg.data.orc">GenericOrcWriters.StructWriter</a></li>
 <li><a href="org/apache/iceberg/data/parquet/GenericParquetReaders.html" title="class in org.apache.iceberg.data.parquet">GenericParquetReaders</a></li>
 <li><a href="org/apache/iceberg/data/parquet/GenericParquetWriter.html" title="class in org.apache.iceberg.data.parquet">GenericParquetWriter</a></li>
 <li><a href="org/apache/iceberg/GenericPartitionFieldSummary.html" title="class in org.apache.iceberg">GenericPartitionFieldSummary</a></li>
@@ -298,7 +322,6 @@
 <li><a href="org/apache/iceberg/HistoryEntry.html" title="interface in org.apache.iceberg"><span class="interfaceName">HistoryEntry</span></a></li>
 <li><a href="org/apache/iceberg/HistoryTable.html" title="class in org.apache.iceberg">HistoryTable</a></li>
 <li><a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></li>
-<li><a href="org/apache/iceberg/hive/HiveCatalogs.html" title="class in org.apache.iceberg.hive">HiveCatalogs</a></li>
 <li><a href="org/apache/iceberg/hive/HiveClientPool.html" title="class in org.apache.iceberg.hive">HiveClientPool</a></li>
 <li><a href="org/apache/iceberg/mr/hive/HiveIcebergFilterFactory.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergFilterFactory</a></li>
 <li><a href="org/apache/iceberg/mr/hive/HiveIcebergInputFormat.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergInputFormat</a></li>
@@ -324,6 +347,8 @@
 <li><a href="org/apache/iceberg/pig/IcebergPigInputFormat.html" title="class in org.apache.iceberg.pig">IcebergPigInputFormat</a></li>
 <li><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergRecordObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergRecordObjectInspector</a></li>
 <li><a href="org/apache/iceberg/spark/source/IcebergSource.html" title="class in org.apache.iceberg.spark.source">IcebergSource</a></li>
+<li><a href="org/apache/iceberg/flink/source/split/IcebergSourceSplit.html" title="class in org.apache.iceberg.flink.source.split">IcebergSourceSplit</a></li>
+<li><a href="org/apache/iceberg/flink/source/split/IcebergSourceSplitSerializer.html" title="class in org.apache.iceberg.flink.source.split">IcebergSourceSplitSerializer</a></li>
 <li><a href="org/apache/iceberg/spark/IcebergSpark.html" title="class in org.apache.iceberg.spark">IcebergSpark</a></li>
 <li><a href="org/apache/iceberg/mr/mapreduce/IcebergSplit.html" title="class in org.apache.iceberg.mr.mapreduce">IcebergSplit</a></li>
 <li><a href="org/apache/iceberg/mr/mapreduce/IcebergSplitContainer.html" title="interface in org.apache.iceberg.mr.mapreduce"><span class="interfaceName">IcebergSplitContainer</span></a></li>
@@ -392,6 +417,7 @@
 <li><a href="org/apache/iceberg/types/IndexByName.html" title="class in org.apache.iceberg.types">IndexByName</a></li>
 <li><a href="org/apache/iceberg/types/IndexParents.html" title="class in org.apache.iceberg.types">IndexParents</a></li>
 <li><a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">InputFile</span></a></li>
+<li><a href="org/apache/iceberg/encryption/InputFilesDecryptor.html" title="class in org.apache.iceberg.encryption">InputFilesDecryptor</a></li>
 <li><a href="org/apache/iceberg/mr/InputFormatConfig.html" title="class in org.apache.iceberg.mr">InputFormatConfig</a></li>
 <li><a href="org/apache/iceberg/mr/InputFormatConfig.ConfigBuilder.html" title="class in org.apache.iceberg.mr">InputFormatConfig.ConfigBuilder</a></li>
 <li><a href="org/apache/iceberg/mr/InputFormatConfig.InMemoryDataModel.html" title="enum in org.apache.iceberg.mr">InputFormatConfig.InMemoryDataModel</a></li>
@@ -408,6 +434,9 @@
 <li><a href="org/apache/iceberg/expressions/Literal.html" title="interface in org.apache.iceberg.expressions"><span class="interfaceName">Literal</span></a></li>
 <li><a href="org/apache/iceberg/io/LocationProvider.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">LocationProvider</span></a></li>
 <li><a href="org/apache/iceberg/LocationProviders.html" title="class in org.apache.iceberg">LocationProviders</a></li>
+<li><a href="org/apache/iceberg/LockManager.html" title="interface in org.apache.iceberg"><span class="interfaceName">LockManager</span></a></li>
+<li><a href="org/apache/iceberg/util/LockManagers.html" title="class in org.apache.iceberg.util">LockManagers</a></li>
+<li><a href="org/apache/iceberg/util/LockManagers.BaseLockManager.html" title="class in org.apache.iceberg.util">LockManagers.BaseLockManager</a></li>
 <li><a href="org/apache/iceberg/avro/LogicalMap.html" title="class in org.apache.iceberg.avro">LogicalMap</a></li>
 <li><a href="org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg"><span class="interfaceName">ManageSnapshots</span></a></li>
 <li><a href="org/apache/iceberg/ManifestContent.html" title="enum in org.apache.iceberg">ManifestContent</a></li>
@@ -415,7 +444,7 @@
 <li><a href="org/apache/iceberg/expressions/ManifestEvaluator.html" title="class in org.apache.iceberg.expressions">ManifestEvaluator</a></li>
 <li><a href="org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg"><span class="interfaceName">ManifestFile</span></a></li>
 <li><a href="org/apache/iceberg/ManifestFile.PartitionFieldSummary.html" title="interface in org.apache.iceberg"><span class="interfaceName">ManifestFile.PartitionFieldSummary</span></a></li>
-<li><a href="org/apache/iceberg/actions/ManifestFileBean.html" title="class in org.apache.iceberg.actions">ManifestFileBean</a></li>
+<li><a href="org/apache/iceberg/spark/actions/ManifestFileBean.html" title="class in org.apache.iceberg.spark.actions">ManifestFileBean</a></li>
 <li><a href="org/apache/iceberg/ManifestFiles.html" title="class in org.apache.iceberg">ManifestFiles</a></li>
 <li><a href="org/apache/iceberg/util/ManifestFileUtil.html" title="class in org.apache.iceberg.util">ManifestFileUtil</a></li>
 <li><a href="org/apache/iceberg/ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a></li>
@@ -427,10 +456,24 @@
 <li><a href="org/apache/iceberg/mapping/MappingUtil.html" title="class in org.apache.iceberg.mapping">MappingUtil</a></li>
 <li><a href="org/apache/iceberg/mr/mapred/MapredIcebergInputFormat.html" title="class in org.apache.iceberg.mr.mapred">MapredIcebergInputFormat</a></li>
 <li><a href="org/apache/iceberg/mr/mapred/MapredIcebergInputFormat.CompatibilityTaskAttemptContextImpl.html" title="class in org.apache.iceberg.mr.mapred">MapredIcebergInputFormat.CompatibilityTaskAttemptContextImpl</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/MergeBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">MergeBuilder</span></a></li>
 <li><a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></li>
 <li><a href="org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a></li>
 <li><a href="org/apache/iceberg/MetadataTableUtils.html" title="class in org.apache.iceberg">MetadataTableUtils</a></li>
+<li><a href="org/apache/iceberg/MetadataUpdate.html" title="interface in org.apache.iceberg"><span class="interfaceName">MetadataUpdate</span></a></li>
+<li><a href="org/apache/iceberg/MetadataUpdate.AddPartitionSpec.html" title="class in org.apache.iceberg">MetadataUpdate.AddPartitionSpec</a></li>
+<li><a href="org/apache/iceberg/MetadataUpdate.AddSchema.html" title="class in org.apache.iceberg">MetadataUpdate.AddSchema</a></li>
+<li><a href="org/apache/iceberg/MetadataUpdate.AddSnapshot.html" title="class in org.apache.iceberg">MetadataUpdate.AddSnapshot</a></li>
+<li><a href="org/apache/iceberg/MetadataUpdate.AddSortOrder.html" title="class in org.apache.iceberg">MetadataUpdate.AddSortOrder</a></li>
+<li><a href="org/apache/iceberg/MetadataUpdate.AssignUUID.html" title="class in org.apache.iceberg">MetadataUpdate.AssignUUID</a></li>
+<li><a href="org/apache/iceberg/MetadataUpdate.RemoveProperties.html" title="class in org.apache.iceberg">MetadataUpdate.RemoveProperties</a></li>
+<li><a href="org/apache/iceberg/MetadataUpdate.RemoveSnapshot.html" title="class in org.apache.iceberg">MetadataUpdate.RemoveSnapshot</a></li>
+<li><a href="org/apache/iceberg/MetadataUpdate.SetCurrentSchema.html" title="class in org.apache.iceberg">MetadataUpdate.SetCurrentSchema</a></li>
+<li><a href="org/apache/iceberg/MetadataUpdate.SetCurrentSnapshot.html" title="class in org.apache.iceberg">MetadataUpdate.SetCurrentSnapshot</a></li>
+<li><a href="org/apache/iceberg/MetadataUpdate.SetDefaultPartitionSpec.html" title="class in org.apache.iceberg">MetadataUpdate.SetDefaultPartitionSpec</a></li>
+<li><a href="org/apache/iceberg/MetadataUpdate.SetDefaultSortOrder.html" title="class in org.apache.iceberg">MetadataUpdate.SetDefaultSortOrder</a></li>
+<li><a href="org/apache/iceberg/MetadataUpdate.SetLocation.html" title="class in org.apache.iceberg">MetadataUpdate.SetLocation</a></li>
+<li><a href="org/apache/iceberg/MetadataUpdate.SetProperties.html" title="class in org.apache.iceberg">MetadataUpdate.SetProperties</a></li>
+<li><a href="org/apache/iceberg/MetadataUpdate.UpgradeFormatVersion.html" title="class in org.apache.iceberg">MetadataUpdate.UpgradeFormatVersion</a></li>
 <li><a href="org/apache/iceberg/hive/MetastoreUtil.html" title="class in org.apache.iceberg.hive">MetastoreUtil</a></li>
 <li><a href="org/apache/iceberg/Metrics.html" title="class in org.apache.iceberg">Metrics</a></li>
 <li><a href="org/apache/iceberg/avro/MetricsAwareDatumWriter.html" title="interface in org.apache.iceberg.avro"><span class="interfaceName">MetricsAwareDatumWriter</span></a></li>
@@ -464,10 +507,10 @@
 <li><a href="org/apache/iceberg/exceptions/NotFoundException.html" title="class in org.apache.iceberg.exceptions">NotFoundException</a></li>
 <li><a href="org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a></li>
 <li><a href="org/apache/iceberg/NullOrder.html" title="enum in org.apache.iceberg">NullOrder</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/expressions/NullOrdering.html" title="enum in org.apache.spark.sql.connector.iceberg.expressions">NullOrdering</a></li>
 <li><a href="org/apache/iceberg/expressions/Or.html" title="class in org.apache.iceberg.expressions">Or</a></li>
 <li><a href="org/apache/iceberg/orc/ORC.html" title="class in org.apache.iceberg.orc">ORC</a></li>
 <li><a href="org/apache/iceberg/orc/ORC.DataWriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.DataWriteBuilder</a></li>
+<li><a href="org/apache/iceberg/orc/ORC.DeleteWriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.DeleteWriteBuilder</a></li>
 <li><a href="org/apache/iceberg/orc/ORC.ReadBuilder.html" title="class in org.apache.iceberg.orc">ORC.ReadBuilder</a></li>
 <li><a href="org/apache/iceberg/orc/ORC.WriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.WriteBuilder</a></li>
 <li><a href="org/apache/iceberg/orc/OrcBatchReader.html" title="interface in org.apache.iceberg.orc"><span class="interfaceName">OrcBatchReader</span></a></li>
@@ -483,8 +526,11 @@
 <li><a href="org/apache/iceberg/orc/OrcValueReaders.html" title="class in org.apache.iceberg.orc">OrcValueReaders</a></li>
 <li><a href="org/apache/iceberg/orc/OrcValueReaders.StructReader.html" title="class in org.apache.iceberg.orc">OrcValueReaders.StructReader</a></li>
 <li><a href="org/apache/iceberg/orc/OrcValueWriter.html" title="interface in org.apache.iceberg.orc"><span class="interfaceName">OrcValueWriter</span></a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/distributions/OrderedDistribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions"><span class="interfaceName">OrderedDistribution</span></a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/OrderedDistributionImpl.html" title="class in org.apache.spark.sql.connector.iceberg.distributions.impl">OrderedDistributionImpl</a></li>
+<li><a href="org/apache/iceberg/aliyun/oss/OSSFileIO.html" title="class in org.apache.iceberg.aliyun.oss">OSSFileIO</a></li>
+<li><a href="org/apache/iceberg/aliyun/oss/OSSInputFile.html" title="class in org.apache.iceberg.aliyun.oss">OSSInputFile</a></li>
+<li><a href="org/apache/iceberg/aliyun/oss/OSSInputStream.html" title="class in org.apache.iceberg.aliyun.oss">OSSInputStream</a></li>
+<li><a href="org/apache/iceberg/aliyun/oss/OSSOutputStream.html" title="class in org.apache.iceberg.aliyun.oss">OSSOutputStream</a></li>
+<li><a href="org/apache/iceberg/aliyun/oss/OSSURI.html" title="class in org.apache.iceberg.aliyun.oss">OSSURI</a></li>
 <li><a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">OutputFile</span></a></li>
 <li><a href="org/apache/iceberg/io/OutputFileFactory.html" title="class in org.apache.iceberg.io">OutputFileFactory</a></li>
 <li><a href="org/apache/iceberg/io/OutputFileFactory.Builder.html" title="class in org.apache.iceberg.io">OutputFileFactory.Builder</a></li>
@@ -541,6 +587,7 @@
 <li><a href="org/apache/iceberg/io/PartitionedWriter.html" title="class in org.apache.iceberg.io">PartitionedWriter</a></li>
 <li><a href="org/apache/iceberg/PartitionField.html" title="class in org.apache.iceberg">PartitionField</a></li>
 <li><a href="org/apache/iceberg/Partitioning.html" title="class in org.apache.iceberg">Partitioning</a></li>
+<li><a href="org/apache/iceberg/io/PartitioningWriter.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">PartitioningWriter</span></a></li>
 <li><a href="org/apache/iceberg/PartitionKey.html" title="class in org.apache.iceberg">PartitionKey</a></li>
 <li><a href="org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a></li>
 <li><a href="org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a></li>
@@ -554,7 +601,9 @@
 <li><a href="org/apache/iceberg/pig/PigParquetReader.html" title="class in org.apache.iceberg.pig">PigParquetReader</a></li>
 <li><a href="org/apache/iceberg/encryption/PlaintextEncryptionManager.html" title="class in org.apache.iceberg.encryption">PlaintextEncryptionManager</a></li>
 <li><a href="org/apache/iceberg/deletes/PositionDelete.html" title="class in org.apache.iceberg.deletes">PositionDelete</a></li>
+<li><a href="org/apache/iceberg/deletes/PositionDeleteIndex.html" title="interface in org.apache.iceberg.deletes"><span class="interfaceName">PositionDeleteIndex</span></a></li>
 <li><a href="org/apache/iceberg/deletes/PositionDeleteWriter.html" title="class in org.apache.iceberg.deletes">PositionDeleteWriter</a></li>
+<li><a href="org/apache/iceberg/io/PositionDeltaWriter.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">PositionDeltaWriter</span></a></li>
 <li><a href="org/apache/iceberg/io/PositionOutputStream.html" title="class in org.apache.iceberg.io">PositionOutputStream</a></li>
 <li><a href="org/apache/iceberg/expressions/Predicate.html" title="class in org.apache.iceberg.expressions">Predicate</a></li>
 <li><a href="org/apache/spark/sql/connector/iceberg/catalog/Procedure.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog"><span class="interfaceName">Procedure</span></a></li>
@@ -571,16 +620,15 @@
 <li><a href="org/apache/iceberg/expressions/Reference.html" title="interface in org.apache.iceberg.expressions"><span class="interfaceName">Reference</span></a></li>
 <li><a href="org/apache/iceberg/avro/RemoveIds.html" title="class in org.apache.iceberg.avro">RemoveIds</a></li>
 <li><a href="org/apache/iceberg/parquet/RemoveIds.html" title="class in org.apache.iceberg.parquet">RemoveIds</a></li>
-<li><a href="org/apache/iceberg/actions/RemoveOrphanFilesAction.html" title="class in org.apache.iceberg.actions">RemoveOrphanFilesAction</a></li>
 <li><a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RemoveOrphanFilesProcedure</a></li>
 <li><a href="org/apache/iceberg/ReplacePartitions.html" title="interface in org.apache.iceberg"><span class="interfaceName">ReplacePartitions</span></a></li>
 <li><a href="org/apache/iceberg/ReplaceSortOrder.html" title="interface in org.apache.iceberg"><span class="interfaceName">ReplaceSortOrder</span></a></li>
 <li><a href="org/apache/iceberg/expressions/ResidualEvaluator.html" title="class in org.apache.iceberg.expressions">ResidualEvaluator</a></li>
+<li><a href="org/apache/iceberg/io/ResolvingFileIO.html" title="class in org.apache.iceberg.io">ResolvingFileIO</a></li>
 <li><a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteDataFiles</span></a></li>
 <li><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteDataFiles.FileGroupInfo</span></a></li>
 <li><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteDataFiles.FileGroupRewriteResult</span></a></li>
 <li><a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteDataFiles.Result</span></a></li>
-<li><a href="org/apache/iceberg/actions/RewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">RewriteDataFilesAction</a></li>
 <li><a href="org/apache/iceberg/flink/actions/RewriteDataFilesAction.html" title="class in org.apache.iceberg.flink.actions">RewriteDataFilesAction</a></li>
 <li><a href="org/apache/iceberg/actions/RewriteDataFilesActionResult.html" title="class in org.apache.iceberg.actions">RewriteDataFilesActionResult</a></li>
 <li><a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.html" title="class in org.apache.iceberg.actions">RewriteDataFilesCommitManager</a></li>
@@ -589,11 +637,17 @@
 <li><a href="org/apache/iceberg/actions/RewriteManifests.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteManifests</span></a></li>
 <li><a href="org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg"><span class="interfaceName">RewriteManifests</span></a></li>
 <li><a href="org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteManifests.Result</span></a></li>
-<li><a href="org/apache/iceberg/actions/RewriteManifestsAction.html" title="class in org.apache.iceberg.actions">RewriteManifestsAction</a></li>
-<li><a href="org/apache/iceberg/actions/RewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">RewriteManifestsActionResult</a></li>
+<li><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewritePositionDeleteFiles</span></a></li>
+<li><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewritePositionDeleteFiles.Result</span></a></li>
+<li><a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewritePositionDeleteStrategy</span></a></li>
 <li><a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteStrategy</span></a></li>
 <li><a href="org/apache/iceberg/Rollback.html" title="interface in org.apache.iceberg"><span class="interfaceName">Rollback</span></a></li>
 <li><a href="org/apache/iceberg/spark/RollbackStagedTable.html" title="class in org.apache.iceberg.spark">RollbackStagedTable</a></li>
+<li><a href="org/apache/iceberg/io/RollingDataWriter.html" title="class in org.apache.iceberg.io">RollingDataWriter</a></li>
+<li><a href="org/apache/iceberg/io/RollingEqualityDeleteWriter.html" title="class in org.apache.iceberg.io">RollingEqualityDeleteWriter</a></li>
+<li><a href="org/apache/iceberg/io/RollingPositionDeleteWriter.html" title="class in org.apache.iceberg.io">RollingPositionDeleteWriter</a></li>
+<li><a href="org/apache/iceberg/flink/source/RowDataFileScanTaskReader.html" title="class in org.apache.iceberg.flink.source">RowDataFileScanTaskReader</a></li>
+<li><a href="org/apache/iceberg/flink/data/RowDataProjection.html" title="class in org.apache.iceberg.flink.data">RowDataProjection</a></li>
 <li><a href="org/apache/iceberg/flink/source/RowDataRewriter.html" title="class in org.apache.iceberg.flink.source">RowDataRewriter</a></li>
 <li><a href="org/apache/iceberg/spark/source/RowDataRewriter.html" title="class in org.apache.iceberg.spark.source">RowDataRewriter</a></li>
 <li><a href="org/apache/iceberg/flink/source/RowDataRewriter.RewriteMap.html" title="class in org.apache.iceberg.flink.source">RowDataRewriter.RewriteMap</a></li>
@@ -601,6 +655,11 @@
 <li><a href="org/apache/iceberg/flink/data/RowDataUtil.html" title="class in org.apache.iceberg.flink.data">RowDataUtil</a></li>
 <li><a href="org/apache/iceberg/flink/RowDataWrapper.html" title="class in org.apache.iceberg.flink">RowDataWrapper</a></li>
 <li><a href="org/apache/iceberg/RowDelta.html" title="interface in org.apache.iceberg"><span class="interfaceName">RowDelta</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperation.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">RowLevelOperation</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperation.Command.html" title="enum in org.apache.spark.sql.connector.iceberg.write">RowLevelOperation.Command</a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperationBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">RowLevelOperationBuilder</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperationInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">RowLevelOperationInfo</span></a></li>
+<li><a href="org/apache/iceberg/RowLevelOperationMode.html" title="enum in org.apache.iceberg">RowLevelOperationMode</a></li>
 <li><a href="org/apache/iceberg/spark/data/vectorized/RowPositionColumnVector.html" title="class in org.apache.iceberg.spark.data.vectorized">RowPositionColumnVector</a></li>
 <li><a href="org/apache/iceberg/exceptions/RuntimeIOException.html" title="class in org.apache.iceberg.exceptions">RuntimeIOException</a></li>
 <li><a href="org/apache/iceberg/hive/RuntimeMetaException.html" title="class in org.apache.iceberg.hive">RuntimeMetaException</a></li>
@@ -626,7 +685,6 @@
 <li><a href="org/apache/iceberg/util/SerializationUtil.html" title="class in org.apache.iceberg.util">SerializationUtil</a></li>
 <li><a href="org/apache/iceberg/SetLocation.html" title="class in org.apache.iceberg">SetLocation</a></li>
 <li><a href="org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><span class="interfaceName">Snapshot</span></a></li>
-<li><a href="org/apache/iceberg/actions/SnapshotAction.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">SnapshotAction</span></a></li>
 <li><a href="org/apache/iceberg/SnapshotManager.html" title="class in org.apache.iceberg">SnapshotManager</a></li>
 <li><a href="org/apache/iceberg/SnapshotParser.html" title="class in org.apache.iceberg">SnapshotParser</a></li>
 <li><a href="org/apache/iceberg/SnapshotsTable.html" title="class in org.apache.iceberg">SnapshotsTable</a></li>
@@ -639,11 +697,9 @@
 <li><a href="org/apache/iceberg/actions/SnapshotUpdateAction.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">SnapshotUpdateAction</span></a></li>
 <li><a href="org/apache/iceberg/util/SnapshotUtil.html" title="class in org.apache.iceberg.util">SnapshotUtil</a></li>
 <li><a href="org/apache/iceberg/SortDirection.html" title="enum in org.apache.iceberg">SortDirection</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/expressions/SortDirection.html" title="enum in org.apache.spark.sql.connector.iceberg.expressions">SortDirection</a></li>
 <li><a href="org/apache/iceberg/util/SortedMerge.html" title="class in org.apache.iceberg.util">SortedMerge</a></li>
 <li><a href="org/apache/iceberg/SortField.html" title="class in org.apache.iceberg">SortField</a></li>
 <li><a href="org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/expressions/SortOrder.html" title="interface in org.apache.spark.sql.connector.iceberg.expressions"><span class="interfaceName">SortOrder</span></a></li>
 <li><a href="org/apache/iceberg/SortOrder.Builder.html" title="class in org.apache.iceberg">SortOrder.Builder</a></li>
 <li><a href="org/apache/iceberg/SortOrderBuilder.html" title="interface in org.apache.iceberg"><span class="interfaceName">SortOrderBuilder</span></a></li>
 <li><a href="org/apache/iceberg/SortOrderParser.html" title="class in org.apache.iceberg">SortOrderParser</a></li>
@@ -651,20 +707,19 @@
 <li><a href="org/apache/iceberg/transforms/SortOrderVisitor.html" title="interface in org.apache.iceberg.transforms"><span class="interfaceName">SortOrderVisitor</span></a></li>
 <li><a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></li>
 <li><a href="org/apache/iceberg/spark/actions/Spark3BinPackStrategy.html" title="class in org.apache.iceberg.spark.actions">Spark3BinPackStrategy</a></li>
-<li><a href="org/apache/iceberg/actions/Spark3MigrateAction.html" title="class in org.apache.iceberg.actions">Spark3MigrateAction</a></li>
-<li><a href="org/apache/iceberg/actions/Spark3SnapshotAction.html" title="class in org.apache.iceberg.actions">Spark3SnapshotAction</a></li>
+<li><a href="org/apache/iceberg/spark/actions/Spark3SortStrategy.html" title="class in org.apache.iceberg.spark.actions">Spark3SortStrategy</a></li>
 <li><a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></li>
 <li><a href="org/apache/iceberg/spark/Spark3Util.CatalogAndIdentifier.html" title="class in org.apache.iceberg.spark">Spark3Util.CatalogAndIdentifier</a></li>
 <li><a href="org/apache/iceberg/spark/Spark3Util.DescribeSchemaVisitor.html" title="class in org.apache.iceberg.spark">Spark3Util.DescribeSchemaVisitor</a></li>
-<li><a href="org/apache/iceberg/spark/Spark3VersionUtil.html" title="class in org.apache.iceberg.spark">Spark3VersionUtil</a></li>
-<li><a href="org/apache/iceberg/actions/SparkActions.html" title="class in org.apache.iceberg.actions">SparkActions</a></li>
 <li><a href="org/apache/iceberg/spark/actions/SparkActions.html" title="class in org.apache.iceberg.spark.actions">SparkActions</a></li>
 <li><a href="org/apache/iceberg/spark/data/SparkAvroReader.html" title="class in org.apache.iceberg.spark.data">SparkAvroReader</a></li>
 <li><a href="org/apache/iceberg/spark/data/SparkAvroWriter.html" title="class in org.apache.iceberg.spark.data">SparkAvroWriter</a></li>
 <li><a href="org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark">SparkCatalog</a></li>
 <li><a href="org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark">SparkDataFile</a></li>
+<li><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark">SparkDistributionAndOrderingUtil</a></li>
 <li><a href="org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark">SparkExceptionUtil</a></li>
 <li><a href="org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark">SparkFilters</a></li>
+<li><a href="org/apache/iceberg/spark/source/SparkMetadataColumn.html" title="class in org.apache.iceberg.spark.source">SparkMetadataColumn</a></li>
 <li><a href="org/apache/iceberg/spark/source/SparkMicroBatchStream.html" title="class in org.apache.iceberg.spark.source">SparkMicroBatchStream</a></li>
 <li><a href="org/apache/iceberg/spark/data/SparkOrcReader.html" title="class in org.apache.iceberg.spark.data">SparkOrcReader</a></li>
 <li><a href="org/apache/iceberg/spark/data/SparkOrcValueReaders.html" title="class in org.apache.iceberg.spark.data">SparkOrcValueReaders</a></li>
@@ -675,11 +730,12 @@
 <li><a href="org/apache/iceberg/spark/source/SparkPartitionedWriter.html" title="class in org.apache.iceberg.spark.source">SparkPartitionedWriter</a></li>
 <li><a href="org/apache/iceberg/spark/procedures/SparkProcedures.html" title="class in org.apache.iceberg.spark.procedures">SparkProcedures</a></li>
 <li><a href="org/apache/iceberg/spark/procedures/SparkProcedures.ProcedureBuilder.html" title="interface in org.apache.iceberg.spark.procedures"><span class="interfaceName">SparkProcedures.ProcedureBuilder</span></a></li>
+<li><a href="org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark">SparkReadConf</a></li>
 <li><a href="org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark">SparkReadOptions</a></li>
-<li><a href="org/apache/iceberg/spark/source/SparkRewriteBuilder.html" title="class in org.apache.iceberg.spark.source">SparkRewriteBuilder</a></li>
 <li><a href="org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source">SparkScanBuilder</a></li>
 <li><a href="org/apache/iceberg/spark/SparkSchemaUtil.html" title="class in org.apache.iceberg.spark">SparkSchemaUtil</a></li>
 <li><a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a></li>
+<li><a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></li>
 <li><a href="org/apache/iceberg/spark/SparkStructLike.html" title="class in org.apache.iceberg.spark">SparkStructLike</a></li>
 <li><a href="org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></li>
 <li><a href="org/apache/iceberg/spark/SparkTableUtil.html" title="class in org.apache.iceberg.spark">SparkTableUtil</a></li>
@@ -688,6 +744,7 @@
 <li><a href="org/apache/iceberg/spark/SparkValueConverter.html" title="class in org.apache.iceberg.spark">SparkValueConverter</a></li>
 <li><a href="org/apache/iceberg/spark/data/SparkValueReaders.html" title="class in org.apache.iceberg.spark.data">SparkValueReaders</a></li>
 <li><a href="org/apache/iceberg/spark/data/SparkValueWriters.html" title="class in org.apache.iceberg.spark.data">SparkValueWriters</a></li>
+<li><a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></li>
 <li><a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></li>
 <li><a href="org/apache/iceberg/spark/source/StagedSparkTable.html" title="class in org.apache.iceberg.spark.source">StagedSparkTable</a></li>
 <li><a href="org/apache/iceberg/StaticTableOperations.html" title="class in org.apache.iceberg">StaticTableOperations</a></li>
@@ -699,9 +756,9 @@
 <li><a href="org/apache/iceberg/util/StructLikeSet.html" title="class in org.apache.iceberg.util">StructLikeSet</a></li>
 <li><a href="org/apache/iceberg/util/StructLikeWrapper.html" title="class in org.apache.iceberg.util">StructLikeWrapper</a></li>
 <li><a href="org/apache/iceberg/util/StructProjection.html" title="class in org.apache.iceberg.util">StructProjection</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/read/SupportsFileFilter.html" title="interface in org.apache.spark.sql.connector.iceberg.read"><span class="interfaceName">SupportsFileFilter</span></a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/catalog/SupportsMerge.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog"><span class="interfaceName">SupportsMerge</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">SupportsDelta</span></a></li>
 <li><a href="org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog"><span class="interfaceName">SupportsNamespaces</span></a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/catalog/SupportsRowLevelOperations.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog"><span class="interfaceName">SupportsRowLevelOperations</span></a></li>
 <li><a href="org/apache/iceberg/avro/SupportsRowPosition.html" title="interface in org.apache.iceberg.avro"><span class="interfaceName">SupportsRowPosition</span></a></li>
 <li><a href="org/apache/iceberg/SystemProperties.html" title="class in org.apache.iceberg">SystemProperties</a></li>
 <li><a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><span class="interfaceName">Table</span></a></li>
@@ -710,6 +767,7 @@
 <li><a href="org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html" title="class in org.apache.iceberg.flink">TableLoader.CatalogTableLoader</a></li>
 <li><a href="org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html" title="class in org.apache.iceberg.flink">TableLoader.HadoopTableLoader</a></li>
 <li><a href="org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></li>
+<li><a href="org/apache/iceberg/TableMetadata.Builder.html" title="class in org.apache.iceberg">TableMetadata.Builder</a></li>
 <li><a href="org/apache/iceberg/TableMetadata.MetadataLogEntry.html" title="class in org.apache.iceberg">TableMetadata.MetadataLogEntry</a></li>
 <li><a href="org/apache/iceberg/TableMetadata.SnapshotLogEntry.html" title="class in org.apache.iceberg">TableMetadata.SnapshotLogEntry</a></li>
 <li><a href="org/apache/iceberg/TableMetadataParser.html" title="class in org.apache.iceberg">TableMetadataParser</a></li>
@@ -717,7 +775,6 @@
 <li><a href="org/apache/iceberg/data/TableMigrationUtil.html" title="class in org.apache.iceberg.data">TableMigrationUtil</a></li>
 <li><a href="org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg"><span class="interfaceName">TableOperations</span></a></li>
 <li><a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></li>
-<li><a href="org/apache/iceberg/nessie/TableReference.html" title="class in org.apache.iceberg.nessie">TableReference</a></li>
 <li><a href="org/apache/iceberg/Tables.html" title="interface in org.apache.iceberg"><span class="interfaceName">Tables</span></a></li>
 <li><a href="org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg"><span class="interfaceName">TableScan</span></a></li>
 <li><a href="org/apache/iceberg/util/TableScanUtil.html" title="class in org.apache.iceberg.util">TableScanUtil</a></li>
@@ -775,8 +832,6 @@
 <li><a href="org/apache/iceberg/schema/UnionByNameVisitor.html" title="class in org.apache.iceberg.schema">UnionByNameVisitor</a></li>
 <li><a href="org/apache/iceberg/transforms/UnknownTransform.html" title="class in org.apache.iceberg.transforms">UnknownTransform</a></li>
 <li><a href="org/apache/iceberg/io/UnpartitionedWriter.html" title="class in org.apache.iceberg.io">UnpartitionedWriter</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/distributions/UnspecifiedDistribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions"><span class="interfaceName">UnspecifiedDistribution</span></a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/UnspecifiedDistributionImpl.html" title="class in org.apache.spark.sql.connector.iceberg.distributions.impl">UnspecifiedDistributionImpl</a></li>
 <li><a href="org/apache/iceberg/UpdateLocation.html" title="interface in org.apache.iceberg"><span class="interfaceName">UpdateLocation</span></a></li>
 <li><a href="org/apache/iceberg/UpdatePartitionSpec.html" title="interface in org.apache.iceberg"><span class="interfaceName">UpdatePartitionSpec</span></a></li>
 <li><a href="org/apache/iceberg/UpdateProperties.html" title="interface in org.apache.iceberg"><span class="interfaceName">UpdateProperties</span></a></li>
@@ -814,7 +869,6 @@
 <li><a href="org/apache/iceberg/mr/hive/serde/objectinspector/WriteObjectInspector.html" title="interface in org.apache.iceberg.mr.hive.serde.objectinspector"><span class="interfaceName">WriteObjectInspector</span></a></li>
 <li><a href="org/apache/iceberg/io/WriteResult.html" title="class in org.apache.iceberg.io">WriteResult</a></li>
 <li><a href="org/apache/iceberg/io/WriteResult.Builder.html" title="class in org.apache.iceberg.io">WriteResult.Builder</a></li>
-<li><a href="org/apache/iceberg/io/WriterFactory.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">WriterFactory</span></a></li>
 </ul>
 </main>
 </body>
diff --git a/javadoc/allpackages-index.html b/javadoc/allpackages-index.html
index 744fda2..135f71c 100644
--- a/javadoc/allpackages-index.html
+++ b/javadoc/allpackages-index.html
@@ -2,10 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.12) on Mon Nov 08 18:33:49 PST 2021 -->
+<!-- Generated by javadoc -->
 <title>All Packages</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2021-11-08">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
@@ -118,6 +117,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/aliyun/package-summary.html">org.apache.iceberg.aliyun</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/aliyun/oss/package-summary.html">org.apache.iceberg.aliyun.oss</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <th class="colFirst" scope="row"><a href="org/apache/iceberg/arrow/package-summary.html">org.apache.iceberg.arrow</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -214,134 +221,130 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/flink/util/package-summary.html">org.apache.iceberg.flink.util</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/flink/source/split/package-summary.html">org.apache.iceberg.flink.source.split</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/hadoop/package-summary.html">org.apache.iceberg.hadoop</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/flink/util/package-summary.html">org.apache.iceberg.flink.util</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/hive/package-summary.html">org.apache.iceberg.hive</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/gcp/package-summary.html">org.apache.iceberg.gcp</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/gcp/gcs/package-summary.html">org.apache.iceberg.gcp.gcs</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/jdbc/package-summary.html">org.apache.iceberg.jdbc</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/hadoop/package-summary.html">org.apache.iceberg.hadoop</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/mapping/package-summary.html">org.apache.iceberg.mapping</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/hive/package-summary.html">org.apache.iceberg.hive</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/mr/package-summary.html">org.apache.iceberg.mr</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/mr/hive/package-summary.html">org.apache.iceberg.mr.hive</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/jdbc/package-summary.html">org.apache.iceberg.jdbc</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/package-summary.html">org.apache.iceberg.mr.hive.serde.objectinspector</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/mapping/package-summary.html">org.apache.iceberg.mapping</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/mr/mapred/package-summary.html">org.apache.iceberg.mr.mapred</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/mr/package-summary.html">org.apache.iceberg.mr</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/mr/mapreduce/package-summary.html">org.apache.iceberg.mr.mapreduce</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/mr/hive/package-summary.html">org.apache.iceberg.mr.hive</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/nessie/package-summary.html">org.apache.iceberg.nessie</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/package-summary.html">org.apache.iceberg.mr.hive.serde.objectinspector</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/orc/package-summary.html">org.apache.iceberg.orc</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/mr/mapred/package-summary.html">org.apache.iceberg.mr.mapred</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/parquet/package-summary.html">org.apache.iceberg.parquet</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/mr/mapreduce/package-summary.html">org.apache.iceberg.mr.mapreduce</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/pig/package-summary.html">org.apache.iceberg.pig</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/nessie/package-summary.html">org.apache.iceberg.nessie</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/schema/package-summary.html">org.apache.iceberg.schema</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/orc/package-summary.html">org.apache.iceberg.orc</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/parquet/package-summary.html">org.apache.iceberg.parquet</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/actions/package-summary.html">org.apache.iceberg.spark.actions</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/pig/package-summary.html">org.apache.iceberg.pig</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/data/package-summary.html">org.apache.iceberg.spark.data</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/schema/package-summary.html">org.apache.iceberg.schema</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/data/vectorized/package-summary.html">org.apache.iceberg.spark.data.vectorized</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/procedures/package-summary.html">org.apache.iceberg.spark.procedures</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/actions/package-summary.html">org.apache.iceberg.spark.actions</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/source/package-summary.html">org.apache.iceberg.spark.source</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/data/package-summary.html">org.apache.iceberg.spark.data</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/transforms/package-summary.html">org.apache.iceberg.transforms</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/data/vectorized/package-summary.html">org.apache.iceberg.spark.data.vectorized</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/types/package-summary.html">org.apache.iceberg.types</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/procedures/package-summary.html">org.apache.iceberg.spark.procedures</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/iceberg/util/package-summary.html">org.apache.iceberg.util</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/spark/source/package-summary.html">org.apache.iceberg.spark.source</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/spark/sql/catalyst/analysis/package-summary.html">org.apache.spark.sql.catalyst.analysis</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/transforms/package-summary.html">org.apache.iceberg.transforms</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/spark/sql/catalyst/parser/extensions/package-summary.html">org.apache.spark.sql.catalyst.parser.extensions</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/types/package-summary.html">org.apache.iceberg.types</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/spark/sql/connector/iceberg/catalog/package-summary.html">org.apache.spark.sql.connector.iceberg.catalog</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/iceberg/util/package-summary.html">org.apache.iceberg.util</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/spark/sql/connector/iceberg/distributions/package-summary.html">org.apache.spark.sql.connector.iceberg.distributions</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/spark/sql/catalyst/analysis/package-summary.html">org.apache.spark.sql.catalyst.analysis</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/package-summary.html">org.apache.spark.sql.connector.iceberg.distributions.impl</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/spark/sql/catalyst/parser/extensions/package-summary.html">org.apache.spark.sql.catalyst.parser.extensions</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/spark/sql/connector/iceberg/expressions/package-summary.html">org.apache.spark.sql.connector.iceberg.expressions</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/spark/sql/connector/iceberg/catalog/package-summary.html">org.apache.spark.sql.connector.iceberg.catalog</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="org/apache/spark/sql/connector/iceberg/read/package-summary.html">org.apache.spark.sql.connector.iceberg.read</a></th>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <th class="colFirst" scope="row"><a href="org/apache/spark/sql/connector/iceberg/write/package-summary.html">org.apache.spark.sql.connector.iceberg.write</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/javadoc/constant-values.html b/javadoc/constant-values.html
index 13a6ac5..5fdeb37 100644
--- a/javadoc/constant-values.html
+++ b/javadoc/constant-values.html
@@ -2,10 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.12) on Mon Nov 08 18:33:49 PST 2021 -->
+<!-- Generated by javadoc -->
 <title>Constant Field Values</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2021-11-08">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
@@ -221,6 +220,34 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast"><code>"app-id"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.CACHE_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#CACHE_ENABLED">CACHE_ENABLED</a></code></th>
+<td class="colLast"><code>"cache-enabled"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.CACHE_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#CACHE_ENABLED_DEFAULT">CACHE_ENABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>true</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.CACHE_EXPIRATION_INTERVAL_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#CACHE_EXPIRATION_INTERVAL_MS">CACHE_EXPIRATION_INTERVAL_MS</a></code></th>
+<td class="colLast"><code>"cache.expiration-interval-ms"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.CACHE_EXPIRATION_INTERVAL_MS_OFF">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/CatalogProperties.html#CACHE_EXPIRATION_INTERVAL_MS_OFF">CACHE_EXPIRATION_INTERVAL_MS_OFF</a></code></th>
+<td class="colLast"><code>-1L</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.CatalogProperties.CATALOG_IMPL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
@@ -561,6 +588,27 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/MetadataColumns.html#DELETE_FILE_ROW_FIELD_NAME">DELETE_FILE_ROW_FIELD_NAME</a></code></th>
 <td class="colLast"><code>"row"</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.MetadataColumns.PARTITION_COLUMN_DOC">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/MetadataColumns.html#PARTITION_COLUMN_DOC">PARTITION_COLUMN_DOC</a></code></th>
+<td class="colLast"><code>"Partition to which a row belongs to"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.MetadataColumns.PARTITION_COLUMN_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/MetadataColumns.html#PARTITION_COLUMN_ID">PARTITION_COLUMN_ID</a></code></th>
+<td class="colLast"><code>2147483642</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.MetadataColumns.PARTITION_COLUMN_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/MetadataColumns.html#PARTITION_COLUMN_NAME">PARTITION_COLUMN_NAME</a></code></th>
+<td class="colLast"><code>"_partition"</code></td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -1014,75 +1062,89 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast"><code>"write.delete.format.default"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_DISTRIBUTION_MODE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_DISTRIBUTION_MODE">DELETE_DISTRIBUTION_MODE</a></code></th>
+<td class="colLast"><code>"write.delete.distribution-mode"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_ISOLATION_LEVEL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_ISOLATION_LEVEL">DELETE_ISOLATION_LEVEL</a></code></th>
 <td class="colLast"><code>"write.delete.isolation-level"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_ISOLATION_LEVEL_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_ISOLATION_LEVEL_DEFAULT">DELETE_ISOLATION_LEVEL_DEFAULT</a></code></th>
 <td class="colLast"><code>"serializable"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_MODE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_MODE">DELETE_MODE</a></code></th>
 <td class="colLast"><code>"write.delete.mode"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_MODE_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_MODE_DEFAULT">DELETE_MODE_DEFAULT</a></code></th>
 <td class="colLast"><code>"copy-on-write"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_PARQUET_COMPRESSION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_PARQUET_COMPRESSION">DELETE_PARQUET_COMPRESSION</a></code></th>
 <td class="colLast"><code>"write.delete.parquet.compression-codec"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_PARQUET_COMPRESSION_LEVEL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_PARQUET_COMPRESSION_LEVEL">DELETE_PARQUET_COMPRESSION_LEVEL</a></code></th>
 <td class="colLast"><code>"write.delete.parquet.compression-level"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_PARQUET_DICT_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_PARQUET_DICT_SIZE_BYTES">DELETE_PARQUET_DICT_SIZE_BYTES</a></code></th>
 <td class="colLast"><code>"write.delete.parquet.dict-size-bytes"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_PARQUET_PAGE_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_PARQUET_PAGE_SIZE_BYTES">DELETE_PARQUET_PAGE_SIZE_BYTES</a></code></th>
 <td class="colLast"><code>"write.delete.parquet.page-size-bytes"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_PARQUET_ROW_GROUP_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_PARQUET_ROW_GROUP_SIZE_BYTES">DELETE_PARQUET_ROW_GROUP_SIZE_BYTES</a></code></th>
 <td class="colLast"><code>"write.delete.parquet.row-group-size-bytes"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_TARGET_FILE_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_TARGET_FILE_SIZE_BYTES">DELETE_TARGET_FILE_SIZE_BYTES</a></code></th>
 <td class="colLast"><code>"write.delete.target-file-size-bytes"</code></td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.DELETE_TARGET_FILE_SIZE_BYTES_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#DELETE_TARGET_FILE_SIZE_BYTES_DEFAULT">DELETE_TARGET_FILE_SIZE_BYTES_DEFAULT</a></code></th>
+<td class="colLast"><code>67108864L</code></td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.ENGINE_HIVE_ENABLED">
 <!--   -->
@@ -1203,306 +1265,334 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast"><code>true</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.MERGE_DISTRIBUTION_MODE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MERGE_DISTRIBUTION_MODE">MERGE_DISTRIBUTION_MODE</a></code></th>
+<td class="colLast"><code>"write.merge.distribution-mode"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.MERGE_ISOLATION_LEVEL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MERGE_ISOLATION_LEVEL">MERGE_ISOLATION_LEVEL</a></code></th>
 <td class="colLast"><code>"write.merge.isolation-level"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.MERGE_ISOLATION_LEVEL_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MERGE_ISOLATION_LEVEL_DEFAULT">MERGE_ISOLATION_LEVEL_DEFAULT</a></code></th>
 <td class="colLast"><code>"serializable"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.MERGE_MODE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MERGE_MODE">MERGE_MODE</a></code></th>
 <td class="colLast"><code>"write.merge.mode"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.MERGE_MODE_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MERGE_MODE_DEFAULT">MERGE_MODE_DEFAULT</a></code></th>
 <td class="colLast"><code>"copy-on-write"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_COMPRESSION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_COMPRESSION">METADATA_COMPRESSION</a></code></th>
 <td class="colLast"><code>"write.metadata.compression-codec"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_COMPRESSION_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_COMPRESSION_DEFAULT">METADATA_COMPRESSION_DEFAULT</a></code></th>
 <td class="colLast"><code>"none"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_DELETE_AFTER_COMMIT_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_DELETE_AFTER_COMMIT_ENABLED">METADATA_DELETE_AFTER_COMMIT_ENABLED</a></code></th>
 <td class="colLast"><code>"write.metadata.delete-after-commit.enabled"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_DELETE_AFTER_COMMIT_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_DELETE_AFTER_COMMIT_ENABLED_DEFAULT">METADATA_DELETE_AFTER_COMMIT_ENABLED_DEFAULT</a></code></th>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_PREVIOUS_VERSIONS_MAX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_PREVIOUS_VERSIONS_MAX">METADATA_PREVIOUS_VERSIONS_MAX</a></code></th>
 <td class="colLast"><code>"write.metadata.previous-versions-max"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_PREVIOUS_VERSIONS_MAX_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_PREVIOUS_VERSIONS_MAX_DEFAULT">METADATA_PREVIOUS_VERSIONS_MAX_DEFAULT</a></code></th>
 <td class="colLast"><code>100</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_SPLIT_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_SPLIT_SIZE">METADATA_SPLIT_SIZE</a></code></th>
 <td class="colLast"><code>"read.split.metadata-target-size"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.METADATA_SPLIT_SIZE_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METADATA_SPLIT_SIZE_DEFAULT">METADATA_SPLIT_SIZE_DEFAULT</a></code></th>
 <td class="colLast"><code>33554432L</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.METRICS_MODE_COLUMN_CONF_PREFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#METRICS_MODE_COLUMN_CONF_PREFIX">METRICS_MODE_COLUMN_CONF_PREFIX</a></code></th>
 <td class="colLast"><code>"write.metadata.metrics.column."</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.MIN_SNAPSHOTS_TO_KEEP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MIN_SNAPSHOTS_TO_KEEP">MIN_SNAPSHOTS_TO_KEEP</a></code></th>
 <td class="colLast"><code>"history.expire.min-snapshots-to-keep"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.MIN_SNAPSHOTS_TO_KEEP_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#MIN_SNAPSHOTS_TO_KEEP_DEFAULT">MIN_SNAPSHOTS_TO_KEEP_DEFAULT</a></code></th>
 <td class="colLast"><code>1</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.OBJECT_STORE_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#OBJECT_STORE_ENABLED">OBJECT_STORE_ENABLED</a></code></th>
 <td class="colLast"><code>"write.object-storage.enabled"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.OBJECT_STORE_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#OBJECT_STORE_ENABLED_DEFAULT">OBJECT_STORE_ENABLED_DEFAULT</a></code></th>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.OBJECT_STORE_PATH">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#OBJECT_STORE_PATH">OBJECT_STORE_PATH</a></code></th>
 <td class="colLast"><code>"write.object-storage.path"</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.ORC_BATCH_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#ORC_BATCH_SIZE">ORC_BATCH_SIZE</a></code></th>
+<td class="colLast"><code>"read.orc.vectorization.batch-size"</code></td>
+</tr>
 <tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.ORC_BATCH_SIZE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#ORC_BATCH_SIZE_DEFAULT">ORC_BATCH_SIZE_DEFAULT</a></code></th>
+<td class="colLast"><code>5000</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.ORC_VECTORIZATION_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#ORC_VECTORIZATION_ENABLED">ORC_VECTORIZATION_ENABLED</a></code></th>
 <td class="colLast"><code>"read.orc.vectorization.enabled"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.ORC_VECTORIZATION_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#ORC_VECTORIZATION_ENABLED_DEFAULT">ORC_VECTORIZATION_ENABLED_DEFAULT</a></code></th>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_BATCH_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_BATCH_SIZE">PARQUET_BATCH_SIZE</a></code></th>
 <td class="colLast"><code>"read.parquet.vectorization.batch-size"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_BATCH_SIZE_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_BATCH_SIZE_DEFAULT">PARQUET_BATCH_SIZE_DEFAULT</a></code></th>
 <td class="colLast"><code>5000</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_COMPRESSION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_COMPRESSION">PARQUET_COMPRESSION</a></code></th>
 <td class="colLast"><code>"write.parquet.compression-codec"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_COMPRESSION_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_COMPRESSION_DEFAULT">PARQUET_COMPRESSION_DEFAULT</a></code></th>
 <td class="colLast"><code>"gzip"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_COMPRESSION_LEVEL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_COMPRESSION_LEVEL">PARQUET_COMPRESSION_LEVEL</a></code></th>
 <td class="colLast"><code>"write.parquet.compression-level"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_DICT_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_DICT_SIZE_BYTES">PARQUET_DICT_SIZE_BYTES</a></code></th>
 <td class="colLast"><code>"write.parquet.dict-size-bytes"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_DICT_SIZE_BYTES_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_DICT_SIZE_BYTES_DEFAULT">PARQUET_DICT_SIZE_BYTES_DEFAULT</a></code></th>
 <td class="colLast"><code>"2097152"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_PAGE_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_PAGE_SIZE_BYTES">PARQUET_PAGE_SIZE_BYTES</a></code></th>
 <td class="colLast"><code>"write.parquet.page-size-bytes"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_PAGE_SIZE_BYTES_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_PAGE_SIZE_BYTES_DEFAULT">PARQUET_PAGE_SIZE_BYTES_DEFAULT</a></code></th>
 <td class="colLast"><code>"1048576"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_ROW_GROUP_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_SIZE_BYTES">PARQUET_ROW_GROUP_SIZE_BYTES</a></code></th>
 <td class="colLast"><code>"write.parquet.row-group-size-bytes"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_ROW_GROUP_SIZE_BYTES_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_SIZE_BYTES_DEFAULT">PARQUET_ROW_GROUP_SIZE_BYTES_DEFAULT</a></code></th>
 <td class="colLast"><code>"134217728"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_VECTORIZATION_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_VECTORIZATION_ENABLED">PARQUET_VECTORIZATION_ENABLED</a></code></th>
 <td class="colLast"><code>"read.parquet.vectorization.enabled"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.PARQUET_VECTORIZATION_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_VECTORIZATION_ENABLED_DEFAULT">PARQUET_VECTORIZATION_ENABLED_DEFAULT</a></code></th>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.SNAPSHOT_ID_INHERITANCE_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SNAPSHOT_ID_INHERITANCE_ENABLED">SNAPSHOT_ID_INHERITANCE_ENABLED</a></code></th>
 <td class="colLast"><code>"compatibility.snapshot-id-inheritance.enabled"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.SNAPSHOT_ID_INHERITANCE_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SNAPSHOT_ID_INHERITANCE_ENABLED_DEFAULT">SNAPSHOT_ID_INHERITANCE_ENABLED_DEFAULT</a></code></th>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPARK_WRITE_PARTITIONED_FANOUT_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPARK_WRITE_PARTITIONED_FANOUT_ENABLED">SPARK_WRITE_PARTITIONED_FANOUT_ENABLED</a></code></th>
 <td class="colLast"><code>"write.spark.fanout.enabled"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPARK_WRITE_PARTITIONED_FANOUT_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPARK_WRITE_PARTITIONED_FANOUT_ENABLED_DEFAULT">SPARK_WRITE_PARTITIONED_FANOUT_ENABLED_DEFAULT</a></code></th>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPLIT_LOOKBACK">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_LOOKBACK">SPLIT_LOOKBACK</a></code></th>
 <td class="colLast"><code>"read.split.planning-lookback"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPLIT_LOOKBACK_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_LOOKBACK_DEFAULT">SPLIT_LOOKBACK_DEFAULT</a></code></th>
 <td class="colLast"><code>10</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPLIT_OPEN_FILE_COST">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_OPEN_FILE_COST">SPLIT_OPEN_FILE_COST</a></code></th>
 <td class="colLast"><code>"read.split.open-file-cost"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPLIT_OPEN_FILE_COST_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_OPEN_FILE_COST_DEFAULT">SPLIT_OPEN_FILE_COST_DEFAULT</a></code></th>
 <td class="colLast"><code>4194304L</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPLIT_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_SIZE">SPLIT_SIZE</a></code></th>
 <td class="colLast"><code>"read.split.target-size"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.SPLIT_SIZE_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_SIZE_DEFAULT">SPLIT_SIZE_DEFAULT</a></code></th>
 <td class="colLast"><code>134217728L</code></td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.UPDATE_DISTRIBUTION_MODE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#UPDATE_DISTRIBUTION_MODE">UPDATE_DISTRIBUTION_MODE</a></code></th>
+<td class="colLast"><code>"write.update.distribution-mode"</code></td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.UPDATE_ISOLATION_LEVEL">
 <!--   -->
@@ -1532,19 +1622,47 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast"><code>"copy-on-write"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.UPSERT_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#UPSERT_ENABLED">UPSERT_ENABLED</a></code></th>
+<td class="colLast"><code>"write.upsert.enabled"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.UPSERT_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#UPSERT_ENABLED_DEFAULT">UPSERT_ENABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.UUID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#UUID">UUID</a></code></th>
+<td class="colLast"><code>"uuid"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_AUDIT_PUBLISH_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_AUDIT_PUBLISH_ENABLED">WRITE_AUDIT_PUBLISH_ENABLED</a></code></th>
 <td class="colLast"><code>"write.wap.enabled"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_AUDIT_PUBLISH_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_AUDIT_PUBLISH_ENABLED_DEFAULT">WRITE_AUDIT_PUBLISH_ENABLED_DEFAULT</a></code></th>
 <td class="colLast"><code>"false"</code></td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_DATA_LOCATION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_DATA_LOCATION">WRITE_DATA_LOCATION</a></code></th>
+<td class="colLast"><code>"write.data.path"</code></td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_DISTRIBUTION_MODE">
 <!--   -->
@@ -1581,48 +1699,55 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast"><code>"range"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_FOLDER_STORAGE_LOCATION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_FOLDER_STORAGE_LOCATION">WRITE_FOLDER_STORAGE_LOCATION</a></code></th>
+<td class="colLast"><code>"write.folder-storage.path"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_LOCATION_PROVIDER_IMPL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_LOCATION_PROVIDER_IMPL">WRITE_LOCATION_PROVIDER_IMPL</a></code></th>
 <td class="colLast"><code>"write.location-provider.impl"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_METADATA_LOCATION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_METADATA_LOCATION">WRITE_METADATA_LOCATION</a></code></th>
 <td class="colLast"><code>"write.metadata.path"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_NEW_DATA_LOCATION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_NEW_DATA_LOCATION">WRITE_NEW_DATA_LOCATION</a></code></th>
 <td class="colLast"><code>"write.folder-storage.path"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_PARTITION_SUMMARY_LIMIT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_PARTITION_SUMMARY_LIMIT">WRITE_PARTITION_SUMMARY_LIMIT</a></code></th>
 <td class="colLast"><code>"write.summary.partition-limit"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_PARTITION_SUMMARY_LIMIT_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_PARTITION_SUMMARY_LIMIT_DEFAULT">WRITE_PARTITION_SUMMARY_LIMIT_DEFAULT</a></code></th>
 <td class="colLast"><code>0</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_TARGET_FILE_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/TableProperties.html#WRITE_TARGET_FILE_SIZE_BYTES">WRITE_TARGET_FILE_SIZE_BYTES</a></code></th>
 <td class="colLast"><code>"write.target-file-size-bytes"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.TableProperties.WRITE_TARGET_FILE_SIZE_BYTES_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
@@ -1644,6 +1769,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.BinPackStrategy.DELETE_FILE_THRESHOLD">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/BinPackStrategy.html#DELETE_FILE_THRESHOLD">DELETE_FILE_THRESHOLD</a></code></th>
+<td class="colLast"><code>"delete-file-threshold"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.BinPackStrategy.DELETE_FILE_THRESHOLD_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/BinPackStrategy.html#DELETE_FILE_THRESHOLD_DEFAULT">DELETE_FILE_THRESHOLD_DEFAULT</a></code></th>
+<td class="colLast"><code>2147483647</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.actions.BinPackStrategy.MAX_FILE_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
@@ -1760,6 +1899,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/RewriteDataFiles.html#TARGET_FILE_SIZE_BYTES">TARGET_FILE_SIZE_BYTES</a></code></th>
 <td class="colLast"><code>"target-file-size-bytes"</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.RewriteDataFiles.USE_STARTING_SEQUENCE_NUMBER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/RewriteDataFiles.html#USE_STARTING_SEQUENCE_NUMBER">USE_STARTING_SEQUENCE_NUMBER</a></code></th>
+<td class="colLast"><code>"use-starting-sequence-number"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.actions.RewriteDataFiles.USE_STARTING_SEQUENCE_NUMBER_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/actions/RewriteDataFiles.html#USE_STARTING_SEQUENCE_NUMBER_DEFAULT">USE_STARTING_SEQUENCE_NUMBER_DEFAULT</a></code></th>
+<td class="colLast"><code>true</code></td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -1793,6 +1946,55 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul class="blockList">
 <li class="blockList">
 <table class="constantsSummary">
+<caption><span>org.apache.iceberg.aliyun.<a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun">AliyunProperties</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aliyun.AliyunProperties.CLIENT_ACCESS_KEY_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aliyun/AliyunProperties.html#CLIENT_ACCESS_KEY_ID">CLIENT_ACCESS_KEY_ID</a></code></th>
+<td class="colLast"><code>"client.access-key-id"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aliyun.AliyunProperties.CLIENT_ACCESS_KEY_SECRET">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aliyun/AliyunProperties.html#CLIENT_ACCESS_KEY_SECRET">CLIENT_ACCESS_KEY_SECRET</a></code></th>
+<td class="colLast"><code>"client.access-key-secret"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aliyun.AliyunProperties.CLIENT_FACTORY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aliyun/AliyunProperties.html#CLIENT_FACTORY">CLIENT_FACTORY</a></code></th>
+<td class="colLast"><code>"client.factory-impl"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aliyun.AliyunProperties.OSS_ENDPOINT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aliyun/AliyunProperties.html#OSS_ENDPOINT">OSS_ENDPOINT</a></code></th>
+<td class="colLast"><code>"oss.endpoint"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aliyun.AliyunProperties.OSS_STAGING_DIRECTORY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aliyun/AliyunProperties.html#OSS_STAGING_DIRECTORY">OSS_STAGING_DIRECTORY</a></code></th>
+<td class="colLast"><code>"oss.staging-dir"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
 <caption><span>org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedArrowReader</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -1913,54 +2115,82 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast"><code>3600</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.CLIENT_ENABLE_ETAG_CHECK_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_ENABLE_ETAG_CHECK_DEFAULT">CLIENT_ENABLE_ETAG_CHECK_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.CLIENT_FACTORY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_FACTORY">CLIENT_FACTORY</a></code></th>
 <td class="colLast"><code>"client.factory"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.DYNAMODB_TABLE_NAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#DYNAMODB_TABLE_NAME">DYNAMODB_TABLE_NAME</a></code></th>
 <td class="colLast"><code>"dynamodb.table-name"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.DYNAMODB_TABLE_NAME_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#DYNAMODB_TABLE_NAME_DEFAULT">DYNAMODB_TABLE_NAME_DEFAULT</a></code></th>
 <td class="colLast"><code>"iceberg"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.GLUE_CATALOG_ID">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#GLUE_CATALOG_ID">GLUE_CATALOG_ID</a></code></th>
 <td class="colLast"><code>"glue.id"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.GLUE_CATALOG_SKIP_ARCHIVE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#GLUE_CATALOG_SKIP_ARCHIVE">GLUE_CATALOG_SKIP_ARCHIVE</a></code></th>
 <td class="colLast"><code>"glue.skip-archive"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.GLUE_CATALOG_SKIP_ARCHIVE_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#GLUE_CATALOG_SKIP_ARCHIVE_DEFAULT">GLUE_CATALOG_SKIP_ARCHIVE_DEFAULT</a></code></th>
 <td class="colLast"><code>false</code></td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3_CHECKSUM_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3_CHECKSUM_ENABLED">S3_CHECKSUM_ENABLED</a></code></th>
+<td class="colLast"><code>"s3.checksum-enabled"</code></td>
+</tr>
 <tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_ACCESS_KEY_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_ACCESS_KEY_ID">S3FILEIO_ACCESS_KEY_ID</a></code></th>
+<td class="colLast"><code>"s3.access-key-id"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_ACL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_ACL">S3FILEIO_ACL</a></code></th>
 <td class="colLast"><code>"s3.acl"</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_ENDPOINT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_ENDPOINT">S3FILEIO_ENDPOINT</a></code></th>
+<td class="colLast"><code>"s3.endpoint"</code></td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_SIZE">
 <!--   -->
@@ -2004,6 +2234,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast"><code>"s3.multipart.num-threads"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_SECRET_ACCESS_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SECRET_ACCESS_KEY">S3FILEIO_SECRET_ACCESS_KEY</a></code></th>
+<td class="colLast"><code>"s3.secret-access-key"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_SESSION_TOKEN">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SESSION_TOKEN">S3FILEIO_SESSION_TOKEN</a></code></th>
+<td class="colLast"><code>"s3.session-token"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.aws.AwsProperties.S3FILEIO_SSE_KEY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
@@ -2095,33 +2339,124 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast"><code>"default-database"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.flink.FlinkCatalogFactory.DEFAULT_DATABASE_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#DEFAULT_DATABASE_NAME">DEFAULT_DATABASE_NAME</a></code></th>
+<td class="colLast"><code>"default"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.flink.FlinkCatalogFactory.HIVE_CONF_DIR">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#HIVE_CONF_DIR">HIVE_CONF_DIR</a></code></th>
 <td class="colLast"><code>"hive-conf-dir"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.flink.FlinkCatalogFactory.ICEBERG_CATALOG_TYPE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#ICEBERG_CATALOG_TYPE">ICEBERG_CATALOG_TYPE</a></code></th>
 <td class="colLast"><code>"catalog-type"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.flink.FlinkCatalogFactory.ICEBERG_CATALOG_TYPE_HADOOP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#ICEBERG_CATALOG_TYPE_HADOOP">ICEBERG_CATALOG_TYPE_HADOOP</a></code></th>
 <td class="colLast"><code>"hadoop"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.flink.FlinkCatalogFactory.ICEBERG_CATALOG_TYPE_HIVE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#ICEBERG_CATALOG_TYPE_HIVE">ICEBERG_CATALOG_TYPE_HIVE</a></code></th>
 <td class="colLast"><code>"hive"</code></td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.flink.FlinkCatalogFactory.PROPERTY_VERSION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#PROPERTY_VERSION">PROPERTY_VERSION</a></code></th>
+<td class="colLast"><code>"property-version"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.flink.FlinkCatalogFactory.TYPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#TYPE">TYPE</a></code></th>
+<td class="colLast"><code>"type"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.gcp.<a href="org/apache/iceberg/gcp/GCPProperties.html" title="class in org.apache.iceberg.gcp">GCPProperties</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.gcp.GCPProperties.GCS_CHANNEL_READ_CHUNK_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/gcp/GCPProperties.html#GCS_CHANNEL_READ_CHUNK_SIZE">GCS_CHANNEL_READ_CHUNK_SIZE</a></code></th>
+<td class="colLast"><code>"gcs.channel.read.chunk-size-bytes"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.gcp.GCPProperties.GCS_CHANNEL_WRITE_CHUNK_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/gcp/GCPProperties.html#GCS_CHANNEL_WRITE_CHUNK_SIZE">GCS_CHANNEL_WRITE_CHUNK_SIZE</a></code></th>
+<td class="colLast"><code>"gcs.channel.write.chunk-size-bytes"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.gcp.GCPProperties.GCS_CLIENT_LIB_TOKEN">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/gcp/GCPProperties.html#GCS_CLIENT_LIB_TOKEN">GCS_CLIENT_LIB_TOKEN</a></code></th>
+<td class="colLast"><code>"gcs.client-lib-token"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.gcp.GCPProperties.GCS_DECRYPTION_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/gcp/GCPProperties.html#GCS_DECRYPTION_KEY">GCS_DECRYPTION_KEY</a></code></th>
+<td class="colLast"><code>"gcs.decryption-key"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.gcp.GCPProperties.GCS_ENCRYPTION_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/gcp/GCPProperties.html#GCS_ENCRYPTION_KEY">GCS_ENCRYPTION_KEY</a></code></th>
+<td class="colLast"><code>"gcs.encryption-key"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.gcp.GCPProperties.GCS_PROJECT_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/gcp/GCPProperties.html#GCS_PROJECT_ID">GCS_PROJECT_ID</a></code></th>
+<td class="colLast"><code>"gcs.project-id"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.gcp.GCPProperties.GCS_SERVICE_HOST">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/gcp/GCPProperties.html#GCS_SERVICE_HOST">GCS_SERVICE_HOST</a></code></th>
+<td class="colLast"><code>"gcs.service.host"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.gcp.GCPProperties.GCS_USER_PROJECT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/gcp/GCPProperties.html#GCS_USER_PROJECT">GCS_USER_PROJECT</a></code></th>
+<td class="colLast"><code>"gcs.user-project"</code></td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -2143,6 +2478,32 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/hadoop/ConfigProperties.html#ENGINE_HIVE_ENABLED">ENGINE_HIVE_ENABLED</a></code></th>
 <td class="colLast"><code>"iceberg.engine.hive.enabled"</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.hadoop.ConfigProperties.KEEP_HIVE_STATS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/hadoop/ConfigProperties.html#KEEP_HIVE_STATS">KEEP_HIVE_STATS</a></code></th>
+<td class="colLast"><code>"iceberg.hive.keep.stats"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopTables.html" title="class in org.apache.iceberg.hadoop">HadoopTables</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.hadoop.HadoopTables.LOCK_PROPERTY_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/hadoop/HadoopTables.html#LOCK_PROPERTY_PREFIX">LOCK_PROPERTY_PREFIX</a></code></th>
+<td class="colLast"><code>"iceberg.tables.hadoop."</code></td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -2169,6 +2530,34 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul class="blockList">
 <li class="blockList">
 <table class="constantsSummary">
+<caption><span>org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.hive.HiveCatalog.LIST_ALL_TABLES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/hive/HiveCatalog.html#LIST_ALL_TABLES">LIST_ALL_TABLES</a></code></th>
+<td class="colLast"><code>"list-all-tables"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.hive.HiveCatalog.LIST_ALL_TABLES_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/hive/HiveCatalog.html#LIST_ALL_TABLES_DEFAULT">LIST_ALL_TABLES_DEFAULT</a></code></th>
+<td class="colLast"><code>"false"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
 <caption><span>org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -2315,6 +2704,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast"><code>10</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.CONFIG_SERIALIZATION_DISABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#CONFIG_SERIALIZATION_DISABLED">CONFIG_SERIALIZATION_DISABLED</a></code></th>
+<td class="colLast"><code>"iceberg.mr.config.serialization.disabled"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.CONFIG_SERIALIZATION_DISABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/mr/InputFormatConfig.html#CONFIG_SERIALIZATION_DISABLED_DEFAULT">CONFIG_SERIALIZATION_DISABLED_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.mr.InputFormatConfig.EXTERNAL_TABLE_PURGE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
@@ -2503,6 +2906,34 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul class="blockList">
 <li class="blockList">
 <table class="constantsSummary">
+<caption><span>org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieUtil.html" title="class in org.apache.iceberg.nessie">NessieUtil</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.nessie.NessieUtil.CONFIG_CLIENT_BUILDER_IMPL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/nessie/NessieUtil.html#CONFIG_CLIENT_BUILDER_IMPL">CONFIG_CLIENT_BUILDER_IMPL</a></code></th>
+<td class="colLast"><code>"nessie.client-builder-impl"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.nessie.NessieUtil.NESSIE_CONFIG_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/nessie/NessieUtil.html#NESSIE_CONFIG_PREFIX">NESSIE_CONFIG_PREFIX</a></code></th>
+<td class="colLast"><code>"nessie."</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
 <caption><span>org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/ORCSchemaUtil.html" title="class in org.apache.iceberg.orc">ORCSchemaUtil</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -2595,47 +3026,89 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast"><code>"as-of-timestamp"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.END_SNAPSHOT_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#END_SNAPSHOT_ID">END_SNAPSHOT_ID</a></code></th>
+<td class="colLast"><code>"end-snapshot-id"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.FILE_OPEN_COST">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#FILE_OPEN_COST">FILE_OPEN_COST</a></code></th>
 <td class="colLast"><code>"file-open-cost"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.FILE_SCAN_TASK_SET_ID">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#FILE_SCAN_TASK_SET_ID">FILE_SCAN_TASK_SET_ID</a></code></th>
 <td class="colLast"><code>"file-scan-task-set-id"</code></td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></code></th>
+<td class="colLast"><code>"handle-timestamp-without-timezone"</code></td>
+</tr>
 <tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.LOCALITY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#LOCALITY">LOCALITY</a></code></th>
+<td class="colLast"><code>"locality"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.LOOKBACK">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#LOOKBACK">LOOKBACK</a></code></th>
 <td class="colLast"><code>"lookback"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.SNAPSHOT_ID">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#SNAPSHOT_ID">SNAPSHOT_ID</a></code></th>
 <td class="colLast"><code>"snapshot-id"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.SPLIT_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#SPLIT_SIZE">SPLIT_SIZE</a></code></th>
 <td class="colLast"><code>"split-size"</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.START_SNAPSHOT_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#START_SNAPSHOT_ID">START_SNAPSHOT_ID</a></code></th>
+<td class="colLast"><code>"start-snapshot-id"</code></td>
+</tr>
 <tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.STREAM_FROM_TIMESTAMP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#STREAM_FROM_TIMESTAMP">STREAM_FROM_TIMESTAMP</a></code></th>
+<td class="colLast"><code>"stream-from-timestamp"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.STREAMING_SKIP_DELETE_SNAPSHOTS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_SKIP_DELETE_SNAPSHOTS">STREAMING_SKIP_DELETE_SNAPSHOTS</a></code></th>
 <td class="colLast"><code>"streaming-skip-delete-snapshots"</code></td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.STREAMING_SKIP_DELETE_SNAPSHOTS_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_SKIP_DELETE_SNAPSHOTS_DEFAULT">STREAMING_SKIP_DELETE_SNAPSHOTS_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.spark.SparkReadOptions.VECTORIZATION_BATCH_SIZE">
 <!--   -->
@@ -2655,7 +3128,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </li>
 <li class="blockList">
 <table class="constantsSummary">
-<caption><span>org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkUtil.html" title="class in org.apache.iceberg.spark">SparkUtil</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colSecond" scope="col">Constant Field</th>
@@ -2663,19 +3136,68 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a id="org.apache.iceberg.spark.SparkUtil.HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkSQLProperties.CHECK_NULLABILITY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkSQLProperties.html#CHECK_NULLABILITY">CHECK_NULLABILITY</a></code></th>
+<td class="colLast"><code>"spark.sql.iceberg.check-nullability"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkSQLProperties.CHECK_NULLABILITY_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkSQLProperties.html#CHECK_NULLABILITY_DEFAULT">CHECK_NULLABILITY_DEFAULT</a></code></th>
+<td class="colLast"><code>true</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkSQLProperties.CHECK_ORDERING">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
-<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkUtil.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></code></th>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkSQLProperties.html#CHECK_ORDERING">CHECK_ORDERING</a></code></th>
+<td class="colLast"><code>"spark.sql.iceberg.check-ordering"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkSQLProperties.CHECK_ORDERING_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkSQLProperties.html#CHECK_ORDERING_DEFAULT">CHECK_ORDERING_DEFAULT</a></code></th>
+<td class="colLast"><code>true</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkSQLProperties.HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkSQLProperties.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></code></th>
 <td class="colLast"><code>"spark.sql.iceberg.handle-timestamp-without-timezone"</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a id="org.apache.iceberg.spark.SparkUtil.USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkSQLProperties.HANDLE_TIMESTAMP_WITHOUT_TIMEZONE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkSQLProperties.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE_DEFAULT">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkSQLProperties.USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
-<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkUtil.html#USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES">USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES</a></code></th>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkSQLProperties.html#USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES">USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES</a></code></th>
 <td class="colLast"><code>"spark.sql.iceberg.use-timestamp-without-timezone-in-new-tables"</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkSQLProperties.USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkSQLProperties.html#USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES_DEFAULT">USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES_DEFAULT</a></code></th>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkSQLProperties.VECTORIZATION_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkSQLProperties.html#VECTORIZATION_ENABLED">VECTORIZATION_ENABLED</a></code></th>
+<td class="colLast"><code>"spark.sql.iceberg.vectorization.enabled"</code></td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -2703,6 +3225,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast"><code>"check-ordering"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.DELETE_FORMAT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#DELETE_FORMAT">DELETE_FORMAT</a></code></th>
+<td class="colLast"><code>"delete-format"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.DISTRIBUTION_MODE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#DISTRIBUTION_MODE">DISTRIBUTION_MODE</a></code></th>
+<td class="colLast"><code>"distribution-mode"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.FANOUT_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
@@ -2710,6 +3246,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast"><code>"fanout-enabled"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></code></th>
+<td class="colLast"><code>"handle-timestamp-without-timezone"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.OVERWRITE_MODE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#OVERWRITE_MODE">OVERWRITE_MODE</a></code></th>
+<td class="colLast"><code>"overwrite-mode"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.REWRITTEN_FILE_SCAN_TASK_SET_ID">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
@@ -2724,13 +3274,34 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast"><code>"snapshot-property"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.TARGET_DELETE_FILE_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#TARGET_DELETE_FILE_SIZE_BYTES">TARGET_DELETE_FILE_SIZE_BYTES</a></code></th>
+<td class="colLast"><code>"target-delete-file-size-bytes"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.TARGET_FILE_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#TARGET_FILE_SIZE_BYTES">TARGET_FILE_SIZE_BYTES</a></code></th>
 <td class="colLast"><code>"target-file-size-bytes"</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.USE_TABLE_DISTRIBUTION_AND_ORDERING">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#USE_TABLE_DISTRIBUTION_AND_ORDERING">USE_TABLE_DISTRIBUTION_AND_ORDERING</a></code></th>
+<td class="colLast"><code>"use-table-distribution-and-ordering"</code></td>
+</tr>
 <tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.USE_TABLE_DISTRIBUTION_AND_ORDERING_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#USE_TABLE_DISTRIBUTION_AND_ORDERING_DEFAULT">USE_TABLE_DISTRIBUTION_AND_ORDERING_DEFAULT</a></code></th>
+<td class="colLast"><code>true</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.iceberg.spark.SparkWriteOptions.WRITE_FORMAT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
@@ -2794,6 +3365,25 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tbody>
 </table>
 </li>
+<li class="blockList">
+<table class="constantsSummary">
+<caption><span>org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/Spark3SortStrategy.html" title="class in org.apache.iceberg.spark.actions">Spark3SortStrategy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.iceberg.spark.actions.Spark3SortStrategy.COMPRESSION_FACTOR">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/iceberg/spark/actions/Spark3SortStrategy.html#COMPRESSION_FACTOR">COMPRESSION_FACTOR</a></code></th>
+<td class="colLast"><code>"compression-factor"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 <ul class="blockList">
 <li class="blockList">
diff --git a/javadoc/deprecated-list.html b/javadoc/deprecated-list.html
index 3ae737d..923335c 100644
--- a/javadoc/deprecated-list.html
+++ b/javadoc/deprecated-list.html
@@ -2,10 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.12) on Mon Nov 08 18:33:49 PST 2021 -->
+<!-- Generated by javadoc -->
 <title>Deprecated List</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2021-11-08">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
@@ -96,43 +95,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <h1 title="Deprecated API" class="title">Deprecated API</h1>
 <h2 title="Contents">Contents</h2>
 <ul>
-<li><a href="#interface">Interfaces</a></li>
 <li><a href="#class">Classes</a></li>
 <li><a href="#exception">Exceptions</a></li>
 <li><a href="#field">Fields</a></li>
 <li><a href="#method">Methods</a></li>
-<li><a href="#constructor">Constructors</a></li>
 </ul>
 </div>
-<div class="contentContainer"><a id="interface">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<table class="deprecatedSummary">
-<caption><span>Interfaces</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Interface</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/CreateAction.html" title="interface in org.apache.iceberg.actions">org.apache.iceberg.actions.CreateAction</a></th>
-<td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions"><code>SnapshotTable</code></a> or <a href="org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions"><code>MigrateTable</code></a> instead.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/SnapshotAction.html" title="interface in org.apache.iceberg.actions">org.apache.iceberg.actions.SnapshotAction</a></th>
-<td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions"><code>SnapshotTable</code></a> instead.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<a id="class">
+<div class="contentContainer"><a id="class">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -145,66 +114,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tr>
 <tbody>
 <tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/Actions.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.Actions</a></th>
-<td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use an implementation of <a href="org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions"><code>ActionsProvider</code></a> instead.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/ExpireSnapshotsAction.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.ExpireSnapshotsAction</a></th>
-<td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/spark/actions/BaseExpireSnapshotsSparkAction.html" title="class in org.apache.iceberg.spark.actions"><code>BaseExpireSnapshotsSparkAction</code></a> instead.</div>
-</td>
-</tr>
-<tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/ExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.ExpireSnapshotsActionResult</a></th>
-<td class="colLast"></td>
-</tr>
-<tr class="rowColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/RemoveOrphanFilesAction.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.RemoveOrphanFilesAction</a></th>
-<td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions"><code>DeleteOrphanFiles</code></a> instead.</div>
-</td>
-</tr>
-<tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/RewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.RewriteDataFilesAction</a></th>
-<td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/RewriteDataFilesAction.html" title="class in org.apache.iceberg.actions"><code>RewriteDataFilesAction</code></a> instead.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/RewriteManifestsAction.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.RewriteManifestsAction</a></th>
-<td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/RewriteManifests.html" title="interface in org.apache.iceberg.actions"><code>RewriteManifests</code></a> instead.</div>
-</td>
-</tr>
-<tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/RewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.RewriteManifestsActionResult</a></th>
-<td class="colLast"></td>
-</tr>
-<tr class="rowColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/Spark3MigrateAction.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.Spark3MigrateAction</a></th>
-<td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions"><code>MigrateTable</code></a> instead.</div>
-</td>
-</tr>
-<tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/Spark3SnapshotAction.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.Spark3SnapshotAction</a></th>
-<td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions"><code>SnapshotTable</code></a> instead.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/SparkActions.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.SparkActions</a></th>
-<td class="colLast"></td>
-</tr>
-<tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundExpressionVisitor.html" title="class in org.apache.iceberg.expressions">org.apache.iceberg.expressions.ExpressionVisitors.BoundExpressionVisitor</a></th>
-<td class="colLast">
-<div class="deprecationComment">use <a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundVisitor.html" title="class in org.apache.iceberg.expressions"><code>ExpressionVisitors.BoundVisitor</code></a> instead</div>
-</td>
-</tr>
-<tr class="rowColor">
 <th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/parquet/ParquetWriteAdapter.html" title="class in org.apache.iceberg.parquet">org.apache.iceberg.parquet.ParquetWriteAdapter</a></th>
 <td class="colLast">
 <div class="deprecationComment">use <code>ParquetWriter</code></div>
@@ -274,6 +183,42 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </td>
 </tr>
 <tr class="rowColor">
+<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/TableProperties.html#MERGE_CARDINALITY_CHECK_ENABLED">org.apache.iceberg.TableProperties.MERGE_CARDINALITY_CHECK_ENABLED</a></th>
+<td class="colLast">
+<div class="deprecationComment">will be removed in 0.14.0, the cardinality check is always performed starting from 0.13.0.</div>
+</td>
+</tr>
+<tr class="altColor">
+<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/TableProperties.html#MERGE_CARDINALITY_CHECK_ENABLED_DEFAULT">org.apache.iceberg.TableProperties.MERGE_CARDINALITY_CHECK_ENABLED_DEFAULT</a></th>
+<td class="colLast">
+<div class="deprecationComment">will be removed in 0.14.0, the cardinality check is always performed starting from 0.13.0.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/TableProperties.html#OBJECT_STORE_PATH">org.apache.iceberg.TableProperties.OBJECT_STORE_PATH</a></th>
+<td class="colLast">
+<div class="deprecationComment">Use <a href="org/apache/iceberg/TableProperties.html#WRITE_DATA_LOCATION"><code>TableProperties.WRITE_DATA_LOCATION</code></a> instead.</div>
+</td>
+</tr>
+<tr class="altColor">
+<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/TableProperties.html#WRITE_DISTRIBUTION_MODE_DEFAULT">org.apache.iceberg.TableProperties.WRITE_DISTRIBUTION_MODE_DEFAULT</a></th>
+<td class="colLast">
+<div class="deprecationComment">will be removed in 0.14.0, use specific modes instead</div>
+</td>
+</tr>
+<tr class="rowColor">
+<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/TableProperties.html#WRITE_FOLDER_STORAGE_LOCATION">org.apache.iceberg.TableProperties.WRITE_FOLDER_STORAGE_LOCATION</a></th>
+<td class="colLast">
+<div class="deprecationComment">Use <a href="org/apache/iceberg/TableProperties.html#WRITE_DATA_LOCATION"><code>TableProperties.WRITE_DATA_LOCATION</code></a> instead.</div>
+</td>
+</tr>
+<tr class="altColor">
+<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/TableProperties.html#WRITE_NEW_DATA_LOCATION">org.apache.iceberg.TableProperties.WRITE_NEW_DATA_LOCATION</a></th>
+<td class="colLast">
+<div class="deprecationComment">will be removed in 0.14.0, use <a href="org/apache/iceberg/TableProperties.html#WRITE_DATA_LOCATION"><code>TableProperties.WRITE_DATA_LOCATION</code></a> instead</div>
+</td>
+</tr>
+<tr class="rowColor">
 <th class="colDeprecatedItemName" scope="row"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#tokenNames">org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.tokenNames</a></th>
 <td class="colLast">
 <div class="deprecationComment">Use <a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#VOCABULARY"><code>IcebergSqlExtensionsLexer.VOCABULARY</code></a> instead.</div>
@@ -302,64 +247,46 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tr>
 <tbody>
 <tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/Actions.html#expireSnapshots()">org.apache.iceberg.actions.Actions.expireSnapshots()</a></th>
+<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html#delete(T)">org.apache.iceberg.deletes.EqualityDeleteWriter.delete&#8203;(T)</a></th>
 <td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/ExpireSnapshots.html" title="interface in org.apache.iceberg.actions"><code>ExpireSnapshots</code></a> instead.</div>
+<div class="deprecationComment">since 0.13.0, will be removed in 0.14.0; use <a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html#write(T)"><code>EqualityDeleteWriter.write(Object)</code></a> instead.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/Actions.html#forTable(org.apache.spark.sql.SparkSession,org.apache.iceberg.Table)">org.apache.iceberg.actions.Actions.forTable&#8203;(SparkSession, Table)</a></th>
+<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html#deleteAll(java.lang.Iterable)">org.apache.iceberg.deletes.EqualityDeleteWriter.deleteAll&#8203;(Iterable&lt;T&gt;)</a></th>
 <td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use an implementation of <a href="org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions"><code>ActionsProvider</code></a> instead.</div>
+<div class="deprecationComment">since 0.13.0, will be removed in 0.14.0; use <a href="org/apache/iceberg/io/FileWriter.html#write(java.lang.Iterable)"><code>FileWriter.write(Iterable)</code></a> instead.</div>
 </td>
 </tr>
 <tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/Actions.html#migrate(java.lang.String)">org.apache.iceberg.actions.Actions.migrate&#8203;(String)</a></th>
+<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/deletes/PositionDeleteWriter.html#delete(java.lang.CharSequence,long)">org.apache.iceberg.deletes.PositionDeleteWriter.delete&#8203;(CharSequence, long)</a></th>
 <td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions"><code>MigrateTable</code></a> instead.</div>
+<div class="deprecationComment">since 0.13.0, will be removed in 0.14.0; use <a href="org/apache/iceberg/deletes/PositionDeleteWriter.html#write(org.apache.iceberg.deletes.PositionDelete)"><code>PositionDeleteWriter.write(PositionDelete)</code></a> instead.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/Actions.html#removeOrphanFiles()">org.apache.iceberg.actions.Actions.removeOrphanFiles()</a></th>
+<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html#build()">org.apache.iceberg.flink.sink.FlinkSink.Builder.build()</a></th>
 <td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions"><code>DeleteOrphanFiles</code></a> instead.</div>
+<div class="deprecationComment">this will be removed in 0.14.0; use <a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html#append()"><code>FlinkSink.Builder.append()</code></a> because its returned <code>DataStreamSink</code>
+ has a more correct data type.</div>
 </td>
 </tr>
 <tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/Actions.html#rewriteDataFiles()">org.apache.iceberg.actions.Actions.rewriteDataFiles()</a></th>
+<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/io/DataWriter.html#add(T)">org.apache.iceberg.io.DataWriter.add&#8203;(T)</a></th>
 <td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions"><code>RewriteDataFiles</code></a> instead.</div>
+<div class="deprecationComment">since 0.13.0, will be removed in 0.14.0; use <a href="org/apache/iceberg/io/DataWriter.html#write(T)"><code>DataWriter.write(Object)</code></a> instead.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/Actions.html#rewriteManifests()">org.apache.iceberg.actions.Actions.rewriteManifests()</a></th>
+<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/MetricsConfig.html#fromProperties(java.util.Map)">org.apache.iceberg.MetricsConfig.fromProperties&#8203;(Map&lt;String, String&gt;)</a></th>
 <td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/RewriteManifests.html" title="interface in org.apache.iceberg.actions"><code>RewriteManifests</code></a> instead.</div>
+<div class="deprecationComment">use <a href="org/apache/iceberg/MetricsConfig.html#forTable(org.apache.iceberg.Table)"><code>MetricsConfig.forTable(Table)</code></a></div>
 </td>
 </tr>
 <tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/Actions.html#snapshot(org.apache.spark.sql.SparkSession,java.lang.String,java.lang.String)">org.apache.iceberg.actions.Actions.snapshot&#8203;(SparkSession, String, String)</a></th>
+<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/orc/ORC.WriteBuilder.html#config(java.lang.String,java.lang.String)">org.apache.iceberg.orc.ORC.WriteBuilder.config&#8203;(String, String)</a></th>
 <td class="colLast">
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions"><code>SnapshotTable</code></a> instead.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/SparkActions.html#migrate(java.lang.String)">org.apache.iceberg.actions.SparkActions.migrate&#8203;(String)</a></th>
-<td class="colLast"></td>
-</tr>
-<tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/SparkActions.html#snapshot(java.lang.String,java.lang.String)">org.apache.iceberg.actions.SparkActions.snapshot&#8203;(String, String)</a></th>
-<td class="colLast"></td>
-</tr>
-<tr class="rowColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/BaseOverwriteFiles.html#validateNoConflictingAppends(java.lang.Long,org.apache.iceberg.expressions.Expression)">org.apache.iceberg.BaseOverwriteFiles.validateNoConflictingAppends&#8203;(Long, Expression)</a></th>
-<td class="colLast"></td>
-</tr>
-<tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/hive/HiveCatalogs.html#loadCatalog(org.apache.hadoop.conf.Configuration)">org.apache.iceberg.hive.HiveCatalogs.loadCatalog&#8203;(Configuration)</a></th>
-<td class="colLast">
-<div class="deprecationComment">please use the no-arg constructor, setConf and initialize to construct the catalog. Will be removed in
- v0.12.0</div>
+<div class="deprecationComment">Please use #set(String, String) instead</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -402,18 +329,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </td>
 </tr>
 <tr class="rowColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/TableMetadataParser.html#read(org.apache.iceberg.TableOperations,org.apache.iceberg.io.InputFile)">org.apache.iceberg.TableMetadataParser.read&#8203;(TableOperations, InputFile)</a></th>
-<td class="colLast">
-<div class="deprecationComment">will be removed in 0.9.0; use read(FileIO, InputFile) instead.</div>
-</td>
-</tr>
-<tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/transforms/PartitionSpecVisitor.html#visit(org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,org.apache.iceberg.transforms.PartitionSpecVisitor)">org.apache.iceberg.transforms.PartitionSpecVisitor.visit&#8203;(Schema, PartitionSpec, PartitionSpecVisitor&lt;R&gt;)</a></th>
-<td class="colLast">
-<div class="deprecationComment">this will be removed in 0.11.0; use <a href="org/apache/iceberg/transforms/PartitionSpecVisitor.html#visit(org.apache.iceberg.PartitionSpec,org.apache.iceberg.transforms.PartitionSpecVisitor)"><code>PartitionSpecVisitor.visit(PartitionSpec, PartitionSpecVisitor)</code></a> instead.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <th class="colDeprecatedItemName" scope="row"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#getTokenNames()">org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.getTokenNames()</a></th>
 <td class="colLast"></td>
 </tr>
@@ -425,46 +340,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </table>
 </li>
 </ul>
-<a id="constructor">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<table class="deprecatedSummary">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Constructor</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/hadoop/HadoopCatalog.html#%3Cinit%3E(org.apache.hadoop.conf.Configuration,java.lang.String)">org.apache.iceberg.hadoop.HadoopCatalog&#8203;(Configuration, String)</a></th>
-<td class="colLast">
-<div class="deprecationComment">please use the no-arg constructor, setConf and initialize to construct the catalog. Will be removed in
- v0.13.0</div>
-</td>
-</tr>
-<tr class="rowColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/hive/HiveCatalog.html#%3Cinit%3E(org.apache.hadoop.conf.Configuration)">org.apache.iceberg.hive.HiveCatalog&#8203;(Configuration)</a></th>
-<td class="colLast">
-<div class="deprecationComment">please use the no-arg constructor, setConf and initialize to construct the catalog. Will be removed in
- v0.13.0</div>
-</td>
-</tr>
-<tr class="altColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/io/OutputFileFactory.html#%3Cinit%3E(org.apache.iceberg.Table,org.apache.iceberg.FileFormat,int,long)">org.apache.iceberg.io.OutputFileFactory&#8203;(Table, FileFormat, int, long)</a></th>
-<td class="colLast"></td>
-</tr>
-<tr class="rowColor">
-<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/Metrics.html#%3Cinit%3E(java.lang.Long,java.util.Map,java.util.Map,java.util.Map)">org.apache.iceberg.Metrics&#8203;(Long, Map&lt;Integer, Long&gt;, Map&lt;Integer, Long&gt;, Map&lt;Integer, Long&gt;)</a></th>
-<td class="colLast">
-<div class="deprecationComment">will be removed in 0.12.0; use <a href="org/apache/iceberg/Metrics.html#%3Cinit%3E(java.lang.Long,java.util.Map,java.util.Map,java.util.Map,java.util.Map)"><code>Metrics(Long, Map, Map, Map, Map)</code></a> instead.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
 </div>
 </main>
 <footer role="contentinfo">
diff --git a/javadoc/element-list b/javadoc/element-list
new file mode 100644
index 0000000..9aa3e59
--- /dev/null
+++ b/javadoc/element-list
@@ -0,0 +1,61 @@
+org.apache.hadoop.hive.ql.exec.vector
+org.apache.iceberg
+org.apache.iceberg.actions
+org.apache.iceberg.aliyun
+org.apache.iceberg.aliyun.oss
+org.apache.iceberg.arrow
+org.apache.iceberg.arrow.vectorized
+org.apache.iceberg.arrow.vectorized.parquet
+org.apache.iceberg.avro
+org.apache.iceberg.aws
+org.apache.iceberg.aws.dynamodb
+org.apache.iceberg.aws.glue
+org.apache.iceberg.aws.s3
+org.apache.iceberg.catalog
+org.apache.iceberg.common
+org.apache.iceberg.data
+org.apache.iceberg.data.avro
+org.apache.iceberg.data.orc
+org.apache.iceberg.data.parquet
+org.apache.iceberg.deletes
+org.apache.iceberg.encryption
+org.apache.iceberg.events
+org.apache.iceberg.exceptions
+org.apache.iceberg.expressions
+org.apache.iceberg.flink
+org.apache.iceberg.flink.actions
+org.apache.iceberg.flink.data
+org.apache.iceberg.flink.sink
+org.apache.iceberg.flink.source
+org.apache.iceberg.flink.source.split
+org.apache.iceberg.flink.util
+org.apache.iceberg.gcp
+org.apache.iceberg.gcp.gcs
+org.apache.iceberg.hadoop
+org.apache.iceberg.hive
+org.apache.iceberg.io
+org.apache.iceberg.jdbc
+org.apache.iceberg.mapping
+org.apache.iceberg.mr
+org.apache.iceberg.mr.hive
+org.apache.iceberg.mr.hive.serde.objectinspector
+org.apache.iceberg.mr.mapred
+org.apache.iceberg.mr.mapreduce
+org.apache.iceberg.nessie
+org.apache.iceberg.orc
+org.apache.iceberg.parquet
+org.apache.iceberg.pig
+org.apache.iceberg.schema
+org.apache.iceberg.spark
+org.apache.iceberg.spark.actions
+org.apache.iceberg.spark.data
+org.apache.iceberg.spark.data.vectorized
+org.apache.iceberg.spark.procedures
+org.apache.iceberg.spark.source
+org.apache.iceberg.transforms
+org.apache.iceberg.types
+org.apache.iceberg.util
+org.apache.spark.sql.catalyst.analysis
+org.apache.spark.sql.catalyst.parser.extensions
+org.apache.spark.sql.connector.iceberg.catalog
+org.apache.spark.sql.connector.iceberg.write
diff --git a/javadoc/help-doc.html b/javadoc/help-doc.html
index 5d4e30a..aac0af9 100644
--- a/javadoc/help-doc.html
+++ b/javadoc/help-doc.html
@@ -2,10 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.12) on Mon Nov 08 18:33:49 PST 2021 -->
+<!-- Generated by javadoc -->
 <title>API Help</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2021-11-08">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
diff --git a/javadoc/index-all.html b/javadoc/index-all.html
index de26ce2..a03e8e1 100644
--- a/javadoc/index-all.html
+++ b/javadoc/index-all.html
@@ -2,10 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.12) on Mon Nov 08 18:33:49 PST 2021 -->
+<!-- Generated by javadoc -->
 <title>Index</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2021-11-08">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
@@ -208,8 +207,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HiddenPathFilter.html#accept(org.apache.hadoop.fs.Path)">accept(Path)</a></span> - Method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HiddenPathFilter.html" title="class in org.apache.iceberg.hadoop">HiddenPathFilter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/AliyunProperties.html#accessKeyId()">accessKeyId()</a></span> - Method in class org.apache.iceberg.aliyun.<a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun">AliyunProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/AliyunProperties.html#accessKeySecret()">accessKeySecret()</a></span> - Method in class org.apache.iceberg.aliyun.<a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun">AliyunProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/BoundReference.html#accessor()">accessor()</a></span> - Method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/BoundReference.html" title="class in org.apache.iceberg.expressions">BoundReference</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/vectorized/IcebergArrowColumnVector.html#accessor()">accessor()</a></span> - Method in class org.apache.iceberg.spark.data.vectorized.<a href="org/apache/iceberg/spark/data/vectorized/IcebergArrowColumnVector.html" title="class in org.apache.iceberg.spark.data.vectorized">IcebergArrowColumnVector</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/Accessor.html" title="interface in org.apache.iceberg"><span class="typeNameLink">Accessor</span></a>&lt;<a href="org/apache/iceberg/Accessor.html" title="type parameter in Accessor">T</a>&gt; - Interface in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/Schema.html#accessorForField(int)">accessorForField(int)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></dt>
@@ -220,22 +225,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Position2Accessor and Position3Accessor here is an optimization.</div>
 </dd>
-<dt><a href="org/apache/iceberg/actions/Action.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Action</span></a>&lt;<a href="org/apache/iceberg/actions/Action.html" title="type parameter in Action">ThisT</a>,&#8203;<a href="org/apache/iceberg/actions/Action.html" title="type parameter in Action">R</a>&gt; - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/LockManager.html#acquire(java.lang.String,java.lang.String)">acquire(String, String)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/LockManager.html" title="interface in org.apache.iceberg">LockManager</a></dt>
 <dd>
-<div class="block">An action performed on a table.</div>
+<div class="block">Try to acquire a lock</div>
 </dd>
-<dt><a href="org/apache/iceberg/actions/Actions.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Actions</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/LockManagers.BaseLockManager.html#acquireIntervalMs()">acquireIntervalMs()</a></span> - Method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/LockManagers.BaseLockManager.html" title="class in org.apache.iceberg.util">LockManagers.BaseLockManager</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/LockManagers.BaseLockManager.html#acquireTimeoutMs()">acquireTimeoutMs()</a></span> - Method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/LockManagers.BaseLockManager.html" title="class in org.apache.iceberg.util">LockManagers.BaseLockManager</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/actions/Action.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Action</span></a>&lt;<a href="org/apache/iceberg/actions/Action.html" title="type parameter in Action">ThisT</a>,&#8203;<a href="org/apache/iceberg/actions/Action.html" title="type parameter in Action">R</a>&gt; - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
 <dd>
-<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use an implementation of <a href="org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions"><code>ActionsProvider</code></a> instead.</div>
-</div>
+<div class="block">An action performed on a table.</div>
 </dd>
 <dt><a href="org/apache/iceberg/flink/actions/Actions.html" title="class in org.apache.iceberg.flink.actions"><span class="typeNameLink">Actions</span></a> - Class in <a href="org/apache/iceberg/flink/actions/package-summary.html">org.apache.iceberg.flink.actions</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/Actions.html#%3Cinit%3E(org.apache.spark.sql.SparkSession,org.apache.iceberg.Table)">Actions(SparkSession, Table)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/Actions.html" title="class in org.apache.iceberg.actions">Actions</a></dt>
-<dd>
-<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
-&nbsp;</dd>
 <dt><a href="org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">ActionsProvider</span></a> - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
 <dd>
 <div class="block">An API that should be implemented by query engine integrations for providing actions.</div>
@@ -252,6 +255,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Add an added entry for a file.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/ManifestWriter.html#add(F,long)">add(F, long)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a></dt>
+<dd>
+<div class="block">Add an added entry for a file with a specific sequence number.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/CharSequenceSet.html#add(java.lang.CharSequence)">add(CharSequence)</a></span> - Method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/CharSequenceSet.html" title="class in org.apache.iceberg.util">CharSequenceSet</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/WriteResult.Builder.html#add(org.apache.iceberg.io.WriteResult)">add(WriteResult)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/WriteResult.Builder.html" title="class in org.apache.iceberg.io">WriteResult.Builder</a></dt>
@@ -261,7 +268,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/PartitionSet.html#add(org.apache.iceberg.util.Pair)">add(Pair&lt;Integer, StructLike&gt;)</a></span> - Method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/DataWriter.html#add(T)">add(T)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/DataWriter.html" title="class in org.apache.iceberg.io">DataWriter</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
+<div class="deprecationComment">since 0.13.0, will be removed in 0.14.0; use <a href="org/apache/iceberg/io/DataWriter.html#write(T)"><code>DataWriter.write(Object)</code></a> instead.</div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/ArrayUtil.html#add(T%5B%5D,T)">add(T[], T)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/ArrayUtil.html" title="class in org.apache.iceberg.util">ArrayUtil</a></dt>
 <dd>
 <div class="block">Copies the given array and adds the given element at the end of the new array.</div>
@@ -287,7 +298,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/FileAppender.html#addAll(java.util.Iterator)">addAll(Iterator&lt;D&gt;)</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileAppender.html" title="interface in org.apache.iceberg.io">FileAppender</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/CloseableGroup.html#addCloseable(java.io.Closeable)">addCloseable(Closeable)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/CloseableGroup.html" title="class in org.apache.iceberg.io">CloseableGroup</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Register a closeable to be managed by this class.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/CloseableGroup.html#addCloseable(java.lang.AutoCloseable)">addCloseable(AutoCloseable)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/CloseableGroup.html" title="class in org.apache.iceberg.io">CloseableGroup</a></dt>
+<dd>
+<div class="block">Register an autocloseables to be managed by this class.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/UpdateSchema.html#addColumn(java.lang.String,java.lang.String,org.apache.iceberg.types.Type)">addColumn(String, String, Type)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/UpdateSchema.html" title="interface in org.apache.iceberg">UpdateSchema</a></dt>
 <dd>
 <div class="block">Add a new column to a nested struct.</div>
@@ -340,6 +357,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html#addedDataFilesCount()">addedDataFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html#addedDeleteFilesCount()">addedDeleteFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.Result</a></dt>
+<dd>
+<div class="block">Returns the count of the added delete files.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SnapshotSummary.Builder.html#addedFile(org.apache.iceberg.PartitionSpec,org.apache.iceberg.DataFile)">addedFile(PartitionSpec, DataFile)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/SnapshotSummary.Builder.html" title="class in org.apache.iceberg">SnapshotSummary.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SnapshotSummary.Builder.html#addedFile(org.apache.iceberg.PartitionSpec,org.apache.iceberg.DeleteFile)">addedFile(PartitionSpec, DeleteFile)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/SnapshotSummary.Builder.html" title="class in org.apache.iceberg">SnapshotSummary.Builder</a></dt>
@@ -350,14 +371,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Return all files added to the table in this snapshot.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/ManifestFileBean.html#addedFilesCount()">addedFilesCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ManifestFileBean.html" title="class in org.apache.iceberg.actions">ManifestFileBean</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/GenericManifestFile.html#addedFilesCount()">addedFilesCount()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/GenericManifestFile.html" title="class in org.apache.iceberg">GenericManifestFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ManifestFile.html#addedFilesCount()">addedFilesCount()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a></dt>
 <dd>
 <div class="block">Returns the number of data files with status ADDED in the manifest file.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/ManifestFileBean.html#addedFilesCount()">addedFilesCount()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/ManifestFileBean.html" title="class in org.apache.iceberg.spark.actions">ManifestFileBean</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SnapshotSummary.Builder.html#addedManifest(org.apache.iceberg.ManifestFile)">addedManifest(ManifestFile)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/SnapshotSummary.Builder.html" title="class in org.apache.iceberg">SnapshotSummary.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html#addedManifests()">addedManifests()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">BaseRewriteManifestsActionResult</a></dt>
@@ -366,18 +387,18 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Returns added manifests.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteManifestsActionResult.html#addedManifests()">addedManifests()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">RewriteManifestsActionResult</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/ConvertEqualityDeleteFiles.Result.html#addedPositionDeleteFilesCount()">addedPositionDeleteFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ConvertEqualityDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions">ConvertEqualityDeleteFiles.Result</a></dt>
 <dd>
-<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
-&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/ManifestFileBean.html#addedRowsCount()">addedRowsCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ManifestFileBean.html" title="class in org.apache.iceberg.actions">ManifestFileBean</a></dt>
-<dd>&nbsp;</dd>
+<div class="block">Returns the count of the added position delete files.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/GenericManifestFile.html#addedRowsCount()">addedRowsCount()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/GenericManifestFile.html" title="class in org.apache.iceberg">GenericManifestFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ManifestFile.html#addedRowsCount()">addedRowsCount()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a></dt>
 <dd>
 <div class="block">Returns the total number of rows in all data files with status ADDED in the manifest file.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/ManifestFileBean.html#addedRowsCount()">addedRowsCount()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/ManifestFileBean.html" title="class in org.apache.iceberg.spark.actions">ManifestFileBean</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedReader.html#addElement(I,E)">addElement(I, E)</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/ParquetValueReaders.RepeatedReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.RepeatedReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/ParquetValueReaders.ListReader.html#addElement(java.util.List,E)">addElement(List&lt;E&gt;, E)</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/ParquetValueReaders.ListReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.ListReader</a></dt>
@@ -424,6 +445,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.AddPartitionFieldContext.html#%3Cinit%3E(org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.StatementContext)">AddPartitionFieldContext(IcebergSqlExtensionsParser.StatementContext)</a></span> - Constructor for class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.Add [...]
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.Builder.html#addPartitionSpec(org.apache.iceberg.PartitionSpec)">addPartitionSpec(PartitionSpec)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.Builder.html" title="class in org.apache.iceberg">TableMetadata.Builder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataUpdate.AddPartitionSpec.html#%3Cinit%3E(org.apache.iceberg.PartitionSpec)">AddPartitionSpec(PartitionSpec)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/MetadataUpdate.AddPartitionSpec.html" title="class in org.apache.iceberg">MetadataUpdate.AddPartitionSpec</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/WriteResult.Builder.html#addReferencedDataFiles(java.lang.CharSequence...)">addReferencedDataFiles(CharSequence...)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/WriteResult.Builder.html" title="class in org.apache.iceberg.io">WriteResult.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/WriteResult.Builder.html#addReferencedDataFiles(java.lang.Iterable)">addReferencedDataFiles(Iterable&lt;CharSequence&gt;)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/WriteResult.Builder.html" title="class in org.apache.iceberg.io">WriteResult.Builder</a></dt>
@@ -444,6 +469,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Add a new required top-level column.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/ClusteredDataWriter.html#addResult(org.apache.iceberg.io.DataWriteResult)">addResult(DataWriteResult)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/ClusteredDataWriter.html" title="class in org.apache.iceberg.io">ClusteredDataWriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/FanoutDataWriter.html#addResult(org.apache.iceberg.io.DataWriteResult)">addResult(DataWriteResult)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/FanoutDataWriter.html" title="class in org.apache.iceberg.io">FanoutDataWriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/RollingDataWriter.html#addResult(org.apache.iceberg.io.DataWriteResult)">addResult(DataWriteResult)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/RollingDataWriter.html" title="class in org.apache.iceberg.io">RollingDataWriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/ClusteredEqualityDeleteWriter.html#addResult(org.apache.iceberg.io.DeleteWriteResult)">addResult(DeleteWriteResult)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/ClusteredEqualityDeleteWriter.html" title="class in org.apache.iceberg.io">ClusteredEqualityDeleteWriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/ClusteredPositionDeleteWriter.html#addResult(org.apache.iceberg.io.DeleteWriteResult)">addResult(DeleteWriteResult)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/ClusteredPositionDeleteWriter.html" title="class in org.apache.iceberg.io">ClusteredPositionDeleteWriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/RollingEqualityDeleteWriter.html#addResult(org.apache.iceberg.io.DeleteWriteResult)">addResult(DeleteWriteResult)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/RollingEqualityDeleteWriter.html" title="class in org.apache.iceberg.io">RollingEqualityDeleteWriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/RollingPositionDeleteWriter.html#addResult(org.apache.iceberg.io.DeleteWriteResult)">addResult(DeleteWriteResult)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/RollingPositionDeleteWriter.html" title="class in org.apache.iceberg.io">RollingPositionDeleteWriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/RowDelta.html#addRows(org.apache.iceberg.DataFile)">addRows(DataFile)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/RowDelta.html" title="interface in org.apache.iceberg">RowDelta</a></dt>
 <dd>
 <div class="block">Add a <a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> to the table.</div>
@@ -452,6 +491,18 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Adds an <a href="org/apache/iceberg/Schema.html" title="class in org.apache.iceberg"><code>Iceberg schema</code></a> that can be used to decode buffers.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.Builder.html#addSchema(org.apache.iceberg.Schema,int)">addSchema(Schema, int)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.Builder.html" title="class in org.apache.iceberg">TableMetadata.Builder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataUpdate.AddSchema.html#%3Cinit%3E(org.apache.iceberg.Schema,int)">AddSchema(Schema, int)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/MetadataUpdate.AddSchema.html" title="class in org.apache.iceberg">MetadataUpdate.AddSchema</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.Builder.html#addSnapshot(org.apache.iceberg.Snapshot)">addSnapshot(Snapshot)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.Builder.html" title="class in org.apache.iceberg">TableMetadata.Builder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataUpdate.AddSnapshot.html#%3Cinit%3E(org.apache.iceberg.Snapshot)">AddSnapshot(Snapshot)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/MetadataUpdate.AddSnapshot.html" title="class in org.apache.iceberg">MetadataUpdate.AddSnapshot</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.Builder.html#addSortOrder(org.apache.iceberg.SortOrder)">addSortOrder(SortOrder)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.Builder.html" title="class in org.apache.iceberg">TableMetadata.Builder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataUpdate.AddSortOrder.html#%3Cinit%3E(org.apache.iceberg.SortOrder)">AddSortOrder(SortOrder)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/MetadataUpdate.AddSortOrder.html" title="class in org.apache.iceberg">MetadataUpdate.AddSortOrder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.html#addStagedSnapshot(org.apache.iceberg.Snapshot)">addStagedSnapshot(Snapshot)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/DoubleFieldMetrics.Builder.html#addValue(double)">addValue(double)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/DoubleFieldMetrics.Builder.html" title="class in org.apache.iceberg">DoubleFieldMetrics.Builder</a></dt>
@@ -514,10 +565,38 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/ParquetTypeVisitor.html#afterValueField(org.apache.parquet.schema.Type)">afterValueField(Type)</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/ParquetTypeVisitor.html" title="class in org.apache.iceberg.parquet">ParquetTypeVisitor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/ClusteredDataWriter.html#aggregatedResult()">aggregatedResult()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/ClusteredDataWriter.html" title="class in org.apache.iceberg.io">ClusteredDataWriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/ClusteredEqualityDeleteWriter.html#aggregatedResult()">aggregatedResult()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/ClusteredEqualityDeleteWriter.html" title="class in org.apache.iceberg.io">ClusteredEqualityDeleteWriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/ClusteredPositionDeleteWriter.html#aggregatedResult()">aggregatedResult()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/ClusteredPositionDeleteWriter.html" title="class in org.apache.iceberg.io">ClusteredPositionDeleteWriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/FanoutDataWriter.html#aggregatedResult()">aggregatedResult()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/FanoutDataWriter.html" title="class in org.apache.iceberg.io">FanoutDataWriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/RollingDataWriter.html#aggregatedResult()">aggregatedResult()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/RollingDataWriter.html" title="class in org.apache.iceberg.io">RollingDataWriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/RollingEqualityDeleteWriter.html#aggregatedResult()">aggregatedResult()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/RollingEqualityDeleteWriter.html" title="class in org.apache.iceberg.io">RollingEqualityDeleteWriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/RollingPositionDeleteWriter.html#aggregatedResult()">aggregatedResult()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/RollingPositionDeleteWriter.html" title="class in org.apache.iceberg.io">RollingPositionDeleteWriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/Schema.html#aliasToId(java.lang.String)">aliasToId(String)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></dt>
 <dd>
 <div class="block">Returns the column id for the given column alias.</div>
 </dd>
+<dt><a href="org/apache/iceberg/aliyun/AliyunClientFactories.html" title="class in org.apache.iceberg.aliyun"><span class="typeNameLink">AliyunClientFactories</span></a> - Class in <a href="org/apache/iceberg/aliyun/package-summary.html">org.apache.iceberg.aliyun</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/aliyun/AliyunClientFactory.html" title="interface in org.apache.iceberg.aliyun"><span class="typeNameLink">AliyunClientFactory</span></a> - Interface in <a href="org/apache/iceberg/aliyun/package-summary.html">org.apache.iceberg.aliyun</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/AliyunClientFactory.html#aliyunProperties()">aliyunProperties()</a></span> - Method in interface org.apache.iceberg.aliyun.<a href="org/apache/iceberg/aliyun/AliyunClientFactory.html" title="interface in org.apache.iceberg.aliyun">AliyunClientFactory</a></dt>
+<dd>
+<div class="block">Returns an initialized <a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun"><code>AliyunProperties</code></a></div>
+</dd>
+<dt><a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun"><span class="typeNameLink">AliyunProperties</span></a> - Class in <a href="org/apache/iceberg/aliyun/package-summary.html">org.apache.iceberg.aliyun</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/AliyunProperties.html#%3Cinit%3E()">AliyunProperties()</a></span> - Constructor for class org.apache.iceberg.aliyun.<a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun">AliyunProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/AliyunProperties.html#%3Cinit%3E(java.util.Map)">AliyunProperties(Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.iceberg.aliyun.<a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun">AliyunProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataTableType.html#ALL_DATA_FILES">ALL_DATA_FILES</a></span> - org.apache.iceberg.<a href="org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataTableType.html#ALL_ENTRIES">ALL_ENTRIES</a></span> - org.apache.iceberg.<a href="org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a></dt>
@@ -618,10 +697,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SnapshotUtil.html#ancestorIds(org.apache.iceberg.Snapshot,java.util.function.Function)">ancestorIds(Snapshot, Function&lt;Long, Snapshot&gt;)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SnapshotUtil.html" title="class in org.apache.iceberg.util">SnapshotUtil</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SnapshotUtil.html#ancestorOf(org.apache.iceberg.Table,long,long)">ancestorOf(Table, long, long)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SnapshotUtil.html" title="class in org.apache.iceberg.util">SnapshotUtil</a></dt>
-<dd>
-<div class="block">Returns whether ancestorSnapshotId is an ancestor of snapshotId.</div>
-</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SnapshotUtil.html#ancestorIdsBetween(long,java.lang.Long,java.util.function.Function)">ancestorIdsBetween(long, Long, Function&lt;Long, Snapshot&gt;)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SnapshotUtil.html" title="class in org.apache.iceberg.util">SnapshotUtil</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SnapshotUtil.html#ancestorsBetween(long,java.lang.Long,java.util.function.Function)">ancestorsBetween(long, Long, Function&lt;Long, Snapshot&gt;)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SnapshotUtil.html" title="class in org.apache.iceberg.util">SnapshotUtil</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SnapshotUtil.html#ancestorsOf(long,java.util.function.Function)">ancestorsOf(long, Function&lt;Long, Snapshot&gt;)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SnapshotUtil.html" title="class in org.apache.iceberg.util">SnapshotUtil</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/spark/procedures/AncestorsOfProcedure.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">AncestorsOfProcedure</span></a> - Class in <a href="org/apache/iceberg/spark/procedures/package-summary.html">org.apache.iceberg.spark.procedures</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/Expressions.html#and(org.apache.iceberg.expressions.Expression,org.apache.iceberg.expressions.Expression)">and(Expression, Expression)</a></span> - Static method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Expressions.html" title="class in org.apache.iceberg.expressions">Expressions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/Expressions.html#and(org.apache.iceberg.expressions.Expression,org.apache.iceberg.expressions.Expression,org.apache.iceberg.expressions.Expression...)">and(Expression, Expression, Expression...)</a></span> - Static method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Expressions.html" title="class in org.apache.iceberg.expressions">Expressions</a></dt>
@@ -636,6 +719,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#APP_ID">APP_ID</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html#append()">append()</a></span> - Method in class org.apache.iceberg.flink.sink.<a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html" title="class in org.apache.iceberg.flink.sink">FlinkSink.Builder</a></dt>
+<dd>
+<div class="block">Append the iceberg sink operators to write records to iceberg table.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/DataOperations.html#APPEND">APPEND</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/DataOperations.html" title="class in org.apache.iceberg">DataOperations</a></dt>
 <dd>
 <div class="block">New data is appended to the table and no data is removed or deleted.</div>
@@ -816,8 +903,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.OrderFieldContext.html#ASC()">ASC()</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.OrderFieldContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.OrderFieldContext</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/expressions/SortDirection.html#ASCENDING">ASCENDING</a></span> - org.apache.spark.sql.connector.iceberg.expressions.<a href="org/apache/spark/sql/connector/iceberg/expressions/SortDirection.html" title="enum in org.apache.spark.sql.connector.iceberg.expressions">SortDirection</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CombinedScanTask.html#asCombinedScanTask()">asCombinedScanTask()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/CombinedScanTask.html" title="interface in org.apache.iceberg">CombinedScanTask</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ScanTask.html#asCombinedScanTask()">asCombinedScanTask()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a></dt>
@@ -871,6 +956,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <div class="block">Create a new <a href="org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will use the most recent
  snapshot as of the given time in milliseconds.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkReadConf.html#asOfTimestamp()">asOfTimestamp()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark">SparkReadConf</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html#asOfTimestamp(java.lang.Long)">asOfTimestamp(Long)</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html" title="class in org.apache.iceberg.flink.source">FlinkSource.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/types/Types.NestedField.html#asOptional()">asOptional()</a></span> - Method in class org.apache.iceberg.types.<a href="org/apache/iceberg/types/Types.NestedField.html" title="class in org.apache.iceberg.types">Types.NestedField</a></dt>
@@ -883,10 +970,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteFileGroup.html#asResult()">asResult()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/MergeBuilder.html#asScanBuilder()">asScanBuilder()</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/MergeBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write">MergeBuilder</a></dt>
-<dd>
-<div class="block">Creates a scan builder for a row-level operation.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/BoundPredicate.html#asSetPredicate()">asSetPredicate()</a></span> - Method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/BoundPredicate.html" title="class in org.apache.iceberg.expressions">BoundPredicate</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/BoundSetPredicate.html#asSetPredicate()">asSetPredicate()</a></span> - Method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/BoundSetPredicate.html" title="class in org.apache.iceberg.expressions">BoundSetPredicate</a></dt>
@@ -911,6 +994,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Assigns strictly increasing fresh ids for all fields in a schema, starting from 1.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.Builder.html#assignUUID()">assignUUID()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.Builder.html" title="class in org.apache.iceberg">TableMetadata.Builder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataUpdate.AssignUUID.html#%3Cinit%3E(java.lang.String)">AssignUUID(String)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/MetadataUpdate.AssignUUID.html" title="class in org.apache.iceberg">MetadataUpdate.AssignUUID</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/common/DynFields.UnboundField.html#asStatic()">asStatic()</a></span> - Method in class org.apache.iceberg.common.<a href="org/apache/iceberg/common/DynFields.UnboundField.html" title="class in org.apache.iceberg.common">DynFields.UnboundField</a></dt>
 <dd>
 <div class="block">Returns this field as a StaticField.</div>
@@ -947,10 +1034,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/BoundUnaryPredicate.html#asUnaryPredicate()">asUnaryPredicate()</a></span> - Method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/BoundUnaryPredicate.html" title="class in org.apache.iceberg.expressions">BoundUnaryPredicate</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/MergeBuilder.html#asWriteBuilder()">asWriteBuilder()</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/MergeBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write">MergeBuilder</a></dt>
-<dd>
-<div class="block">Creates a write builder for a row-level operation.</div>
-</dd>
 <dt><a href="org/apache/iceberg/avro/Avro.html" title="class in org.apache.iceberg.avro"><span class="typeNameLink">Avro</span></a> - Class in <a href="org/apache/iceberg/avro/package-summary.html">org.apache.iceberg.avro</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/FileFormat.html#AVRO">AVRO</a></span> - org.apache.iceberg.<a href="org/apache/iceberg/FileFormat.html" title="enum in org.apache.iceberg">FileFormat</a></dt>
@@ -1023,6 +1106,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#BASE_NAMESPACE">BASE_NAMESPACE</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalogFactory.html" title="class in org.apache.iceberg.flink">FlinkCatalogFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/arrow/vectorized/BaseBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized"><span class="typeNameLink">BaseBatchReader</span></a>&lt;<a href="org/apache/iceberg/arrow/vectorized/BaseBatchReader.html" title="type parameter in BaseBatchReader">T</a>&gt; - Class in <a href="org/apache/iceberg/arrow/vectorized/package-summary.html">org.apache.iceberg.arrow.vectorized</a></dt>
+<dd>
+<div class="block">A base BatchReader class that contains common functionality</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/BaseBatchReader.html#%3Cinit%3E(java.util.List)">BaseBatchReader(List&lt;VectorizedReader&lt;?&gt;&gt;)</a></span> - Constructor for class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/BaseBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized">BaseBatchReader</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/parquet/BaseColumnIterator.html" title="class in org.apache.iceberg.parquet"><span class="typeNameLink">BaseColumnIterator</span></a> - Class in <a href="org/apache/iceberg/parquet/package-summary.html">org.apache.iceberg.parquet</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/BaseColumnIterator.html#%3Cinit%3E(org.apache.parquet.column.ColumnDescriptor)">BaseColumnIterator(ColumnDescriptor)</a></span> - Constructor for class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/BaseColumnIterator.html" title="class in org.apache.iceberg.parquet">BaseColumnIterator</a></dt>
@@ -1072,6 +1161,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#%3Cinit%3E(org.apache.iceberg.actions.RewriteDataFiles.FileGroupInfo,int,int)">BaseFileGroupRewriteResult(RewriteDataFiles.FileGroupInfo, int, int)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data"><span class="typeNameLink">BaseFileWriterFactory</span></a>&lt;<a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="type parameter in BaseFileWriterFactory">T</a>&gt; - Class in <a href="org/apache/iceberg/data/package-summary.html">org.apache.iceberg.data</a></dt>
+<dd>
+<div class="block">A base writer factory to be extended by query engine integrations.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseFileWriterFactory.html#%3Cinit%3E(org.apache.iceberg.Table,org.apache.iceberg.FileFormat,org.apache.iceberg.Schema,org.apache.iceberg.SortOrder,org.apache.iceberg.FileFormat,int%5B%5D,org.apache.iceberg.Schema,org.apache.iceberg.SortOrder,org.apache.iceberg.Schema)">BaseFileWriterFactory(Table, FileFormat, Schema, SortOrder, FileFormat, int[], Schema, SortOrder, Schema)</a></span> - Constructor for class org.apache.ice [...]
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/LockManagers.BaseLockManager.html#%3Cinit%3E()">BaseLockManager()</a></span> - Constructor for class org.apache.iceberg.util.<a href="org/apache/iceberg/util/LockManagers.BaseLockManager.html" title="class in org.apache.iceberg.util">LockManagers.BaseLockManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/BaseMetastoreCatalog.html" title="class in org.apache.iceberg"><span class="typeNameLink">BaseMetastoreCatalog</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseMetastoreCatalog.html#%3Cinit%3E()">BaseMetastoreCatalog()</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a></dt>
@@ -1115,6 +1212,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/parquet/BaseParquetWriter.html#%3Cinit%3E()">BaseParquetWriter()</a></span> - Constructor for class org.apache.iceberg.data.parquet.<a href="org/apache/iceberg/data/parquet/BaseParquetWriter.html" title="class in org.apache.iceberg.data.parquet">BaseParquetWriter</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/io/BasePositionDeltaWriter.html" title="class in org.apache.iceberg.io"><span class="typeNameLink">BasePositionDeltaWriter</span></a>&lt;<a href="org/apache/iceberg/io/BasePositionDeltaWriter.html" title="type parameter in BasePositionDeltaWriter">T</a>&gt; - Class in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/BasePositionDeltaWriter.html#%3Cinit%3E(org.apache.iceberg.io.PartitioningWriter,org.apache.iceberg.io.PartitioningWriter)">BasePositionDeltaWriter(PartitioningWriter&lt;T, DataWriteResult&gt;, PartitioningWriter&lt;PositionDelete&lt;T&gt;, DeleteWriteResult&gt;)</a></span> - Constructor for class org.apache.iceberg.io.<a href="org/apache/iceberg/io/BasePositionDeltaWriter.html" title="class in org.apache.iceberg.io">BasePos [...]
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/BaseReplacePartitions.html" title="class in org.apache.iceberg"><span class="typeNameLink">BaseReplacePartitions</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/BaseReplaceSortOrder.html" title="class in org.apache.iceberg"><span class="typeNameLink">BaseReplaceSortOrder</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
@@ -1186,16 +1287,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/BaseVectorizedParquetValuesReader.html#%3Cinit%3E(int,int,boolean,boolean)">BaseVectorizedParquetValuesReader(int, int, boolean, boolean)</a></span> - Constructor for class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/BaseVectorizedParquetValuesReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">BaseVectorizedParquetValuesReader</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/iceberg/data/BaseWriterFactory.html" title="class in org.apache.iceberg.data"><span class="typeNameLink">BaseWriterFactory</span></a>&lt;<a href="org/apache/iceberg/data/BaseWriterFactory.html" title="type parameter in BaseWriterFactory">T</a>&gt; - Class in <a href="org/apache/iceberg/data/package-summary.html">org.apache.iceberg.data</a></dt>
-<dd>
-<div class="block">A base writer factory to be extended by query engine integrations.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseWriterFactory.html#%3Cinit%3E(org.apache.iceberg.Table,org.apache.iceberg.FileFormat,org.apache.iceberg.Schema,org.apache.iceberg.SortOrder,org.apache.iceberg.FileFormat,int%5B%5D,org.apache.iceberg.Schema,org.apache.iceberg.SortOrder,org.apache.iceberg.Schema)">BaseWriterFactory(Table, FileFormat, Schema, SortOrder, FileFormat, int[], Schema, SortOrder, Schema)</a></span> - Constructor for class org.apache.iceberg.dat [...]
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html#%3Cinit%3E()">BatchReader()</a></span> - Constructor for class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.BatchReader</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/Spark3Util.html#batchSize(java.util.Map,org.apache.spark.sql.util.CaseInsensitiveStringMap)">batchSize(Map&lt;String, String&gt;, CaseInsensitiveStringMap)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ScanSummary.Builder.html#before(long)">before(long)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/ScanSummary.Builder.html" title="class in org.apache.iceberg">ScanSummary.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ScanSummary.Builder.html#before(java.lang.String)">before(String)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/ScanSummary.Builder.html" title="class in org.apache.iceberg">ScanSummary.Builder</a></dt>
@@ -1359,9 +1452,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <div class="block">Represents a bound value expression.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundExpressionVisitor.html#%3Cinit%3E()">BoundExpressionVisitor()</a></span> - Constructor for class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundExpressionVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.BoundExpressionVisitor</a></dt>
-<dd>
-<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
-&nbsp;</dd>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/expressions/BoundLiteralPredicate.html" title="class in org.apache.iceberg.expressions"><span class="typeNameLink">BoundLiteralPredicate</span></a>&lt;<a href="org/apache/iceberg/expressions/BoundLiteralPredicate.html" title="type parameter in BoundLiteralPredicate">T</a>&gt; - Class in <a href="org/apache/iceberg/expressions/package-summary.html">org.apache.iceberg.expressions</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/expressions/BoundPredicate.html" title="class in org.apache.iceberg.expressions"><span class="typeNameLink">BoundPredicate</span></a>&lt;<a href="org/apache/iceberg/expressions/BoundPredicate.html" title="type parameter in BoundPredicate">T</a>&gt; - Class in <a href="org/apache/iceberg/expressions/package-summary.html">org.apache.iceberg.expressions</a></dt>
@@ -1390,6 +1481,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#BRACKETED_COMMENT">BRACKETED_COMMENT</a></span> - Static variable in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/oss/OSSURI.html#bucket()">bucket()</a></span> - Method in class org.apache.iceberg.aliyun.oss.<a href="org/apache/iceberg/aliyun/oss/OSSURI.html" title="class in org.apache.iceberg.aliyun.oss">OSSURI</a></dt>
+<dd>
+<div class="block">Return OSS bucket name.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/transforms/PartitionSpecVisitor.html#bucket(int,java.lang.String,int,int)">bucket(int, String, int, int)</a></span> - Method in interface org.apache.iceberg.transforms.<a href="org/apache/iceberg/transforms/PartitionSpecVisitor.html" title="interface in org.apache.iceberg.transforms">PartitionSpecVisitor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/Expressions.html#bucket(java.lang.String,int)">bucket(String, int)</a></span> - Static method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Expressions.html" title="class in org.apache.iceberg.expressions">Expressions</a></dt>
@@ -1442,7 +1537,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/FileMetadata.Builder.html#build()">build()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/FileMetadata.Builder.html" title="class in org.apache.iceberg">FileMetadata.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html#build()">build()</a></span> - Method in class org.apache.iceberg.flink.sink.<a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html" title="class in org.apache.iceberg.flink.sink">FlinkSink.Builder</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
+<div class="deprecationComment">this will be removed in 0.14.0; use <a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html#append()"><code>FlinkSink.Builder.append()</code></a> because its returned <code>DataStreamSink</code>
+ has a more correct data type.</div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html#build()">build()</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html" title="class in org.apache.iceberg.flink.source">FlinkSource.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/FloatFieldMetrics.Builder.html#build()">build()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/FloatFieldMetrics.Builder.html" title="class in org.apache.iceberg">FloatFieldMetrics.Builder</a></dt>
@@ -1479,6 +1579,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkScanBuilder.html#build()">build()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source">SparkScanBuilder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.Builder.html#build()">build()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.Builder.html" title="class in org.apache.iceberg">TableMetadata.Builder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html#build()">build()</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriteBuilder</a></dt>
+<dd>
+<div class="block">Returns a logical delta write.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperationBuilder.html#build()">build()</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperationBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write">RowLevelOperationBuilder</a></dt>
+<dd>
+<div class="block">Returns a row-level operation that controls how Spark rewrites data for DELETE, UPDATE, MERGE commands.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/common/DynFields.Builder.html#build(java.lang.Object)">build(Object)</a></span> - Method in class org.apache.iceberg.common.<a href="org/apache/iceberg/common/DynFields.Builder.html" title="class in org.apache.iceberg.common">DynFields.Builder</a></dt>
 <dd>
 <div class="block">Returns the first valid implementation as a BoundMethod or throws a
@@ -1518,8 +1628,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <div class="block">Returns the first valid implementation as a BoundMethod or throws a
  NoSuchMethodException if there is none.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildCopyOnWriteDistribution(org.apache.iceberg.Table,org.apache.spark.sql.connector.iceberg.write.RowLevelOperation.Command,org.apache.iceberg.DistributionMode)">buildCopyOnWriteDistribution(Table, RowLevelOperation.Command, DistributionMode)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="cl [...]
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildCopyOnWriteOrdering(org.apache.iceberg.Table,org.apache.spark.sql.connector.iceberg.write.RowLevelOperation.Command,org.apache.spark.sql.connector.distributions.Distribution)">buildCopyOnWriteOrdering(Table, RowLevelOperation.Command, Distribution)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" [...]
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkScanBuilder.html#buildCopyOnWriteScan()">buildCopyOnWriteScan()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source">SparkScanBuilder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/Avro.DeleteWriteBuilder.html#buildEqualityWriter()">buildEqualityWriter()</a></span> - Method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/Avro.DeleteWriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.DeleteWriteBuilder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/orc/ORC.DeleteWriteBuilder.html#buildEqualityWriter()">buildEqualityWriter()</a></span> - Method in class org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/ORC.DeleteWriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.DeleteWriteBuilder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/Parquet.DeleteWriteBuilder.html#buildEqualityWriter()">buildEqualityWriter()</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/Parquet.DeleteWriteBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.DeleteWriteBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/common/DynClasses.html#builder()">builder()</a></span> - Static method in class org.apache.iceberg.common.<a href="org/apache/iceberg/common/DynClasses.html" title="class in org.apache.iceberg.common">DynClasses</a></dt>
@@ -1532,6 +1650,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SnapshotSummary.html#builder()">builder()</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/SnapshotSummary.html" title="class in org.apache.iceberg">SnapshotSummary</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/AncestorsOfProcedure.html#builder()">builder()</a></span> - Static method in class org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/AncestorsOfProcedure.html" title="class in org.apache.iceberg.spark.procedures">AncestorsOfProcedure</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.html#builder()">builder()</a></span> - Static method in class org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.html" title="class in org.apache.iceberg.spark.procedures">ExpireSnapshotsProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html#builder()">builder()</a></span> - Static method in class org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RemoveOrphanFilesProcedure</a></dt>
@@ -1586,11 +1706,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/OutputFileFactory.html#builderFor(org.apache.iceberg.Table,int,long)">builderFor(Table, int, long)</a></span> - Static method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/OutputFileFactory.html" title="class in org.apache.iceberg.io">OutputFileFactory</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkRewriteBuilder.html#buildForBatch()">buildForBatch()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkRewriteBuilder.html" title="class in org.apache.iceberg.spark.source">SparkRewriteBuilder</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html#buildFormat()">buildFormat()</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html" title="class in org.apache.iceberg.flink.source">FlinkSource.Builder</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogUtil.html#buildIcebergCatalog(java.lang.String,java.util.Map,org.apache.hadoop.conf.Configuration)">buildIcebergCatalog(String, Map&lt;String, String&gt;, Configuration)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogUtil.html" title="class in org.apache.iceberg">CatalogUtil</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.html#buildFrom(org.apache.iceberg.TableMetadata)">buildFrom(TableMetadata)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogUtil.html#buildIcebergCatalog(java.lang.String,java.util.Map,java.lang.Object)">buildIcebergCatalog(String, Map&lt;String, String&gt;, Object)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogUtil.html" title="class in org.apache.iceberg">CatalogUtil</a></dt>
 <dd>
 <div class="block">Build an Iceberg <a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><code>Catalog</code></a> based on a map of catalog properties and optional Hadoop configuration.</div>
 </dd>
@@ -1610,7 +1730,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/ParquetValueReaders.MapReader.html#buildMap(java.util.Map)">buildMap(Map&lt;K, V&gt;)</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/ParquetValueReaders.MapReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.MapReader</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkScanBuilder.html#buildMergeScan()">buildMergeScan()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source">SparkScanBuilder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkScanBuilder.html#buildMergeOnReadScan()">buildMergeOnReadScan()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source">SparkScanBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/orc/ORCSchemaUtil.html#buildOrcProjection(org.apache.iceberg.Schema,org.apache.orc.TypeDescription)">buildOrcProjection(Schema, TypeDescription)</a></span> - Static method in class org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/ORCSchemaUtil.html" title="class in org.apache.iceberg.orc">ORCSchemaUtil</a></dt>
 <dd>
@@ -1619,8 +1739,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/BaseDeleteReachableFilesSparkAction.html#buildOtherMetadataFileDF(org.apache.iceberg.Table)">buildOtherMetadataFileDF(Table)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/BaseDeleteReachableFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseDeleteReachableFilesSparkAction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildPositionDeltaDistribution(org.apache.iceberg.Table,org.apache.spark.sql.connector.iceberg.write.RowLevelOperation.Command,org.apache.iceberg.DistributionMode)">buildPositionDeltaDistribution(Table, RowLevelOperation.Command, DistributionMode)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title [...]
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildPositionDeltaOrdering(org.apache.iceberg.Table,org.apache.spark.sql.connector.iceberg.write.RowLevelOperation.Command,org.apache.spark.sql.connector.distributions.Distribution)">buildPositionDeltaOrdering(Table, RowLevelOperation.Command, Distribution)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.h [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/Avro.DeleteWriteBuilder.html#buildPositionWriter()">buildPositionWriter()</a></span> - Method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/Avro.DeleteWriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.DeleteWriteBuilder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/orc/ORC.DeleteWriteBuilder.html#buildPositionWriter()">buildPositionWriter()</a></span> - Method in class org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/ORC.DeleteWriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.DeleteWriteBuilder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/Parquet.DeleteWriteBuilder.html#buildPositionWriter()">buildPositionWriter()</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/Parquet.DeleteWriteBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.DeleteWriteBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/orc/GenericOrcReader.html#buildReader(org.apache.iceberg.Schema,org.apache.orc.TypeDescription)">buildReader(Schema, TypeDescription)</a></span> - Static method in class org.apache.iceberg.data.orc.<a href="org/apache/iceberg/data/orc/GenericOrcReader.html" title="class in org.apache.iceberg.data.orc">GenericOrcReader</a></dt>
@@ -1641,6 +1767,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader(org.apache.iceberg.Schema,org.apache.parquet.schema.MessageType,boolean,java.util.Map)">buildReader(Schema, MessageType, boolean, Map&lt;Integer, ?&gt;)</a></span> - Static method in class org.apache.iceberg.spark.data.vectorized.<a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html" title="class in org.apache.iceberg.spark.data. [...]
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader(org.apache.iceberg.Schema,org.apache.parquet.schema.MessageType,boolean,java.util.Map,org.apache.iceberg.data.DeleteFilter)">buildReader(Schema, MessageType, boolean, Map&lt;Integer, ?&gt;, DeleteFilter&lt;InternalRow&gt;)</a></span> - Static method in class org.apache.iceberg.spark.data.vectorized.<a href="org/apache/iceberg/spark/data/vectorized/VectorizedSp [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/parquet/GenericParquetReaders.html#buildReader(org.apache.iceberg.Schema,org.apache.parquet.schema.MessageType,java.util.Map)">buildReader(Schema, MessageType, Map&lt;Integer, ?&gt;)</a></span> - Static method in class org.apache.iceberg.data.parquet.<a href="org/apache/iceberg/data/parquet/GenericParquetReaders.html" title="class in org.apache.iceberg.data.parquet">GenericParquetReaders</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/data/FlinkParquetReaders.html#buildReader(org.apache.iceberg.Schema,org.apache.parquet.schema.MessageType,java.util.Map)">buildReader(Schema, MessageType, Map&lt;Integer, ?&gt;)</a></span> - Static method in class org.apache.iceberg.flink.data.<a href="org/apache/iceberg/flink/data/FlinkParquetReaders.html" title="class in org.apache.iceberg.flink.data">FlinkParquetReaders</a></dt>
@@ -1651,12 +1779,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.html#buildReplacement(org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,org.apache.iceberg.SortOrder,java.lang.String,java.util.Map)">buildReplacement(Schema, PartitionSpec, SortOrder, String, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/Spark3Util.html#buildRequiredDistribution(org.apache.iceberg.Table)">buildRequiredDistribution(Table)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildRequiredDistribution(org.apache.iceberg.Table,org.apache.iceberg.DistributionMode)">buildRequiredDistribution(Table, DistributionMode)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark">SparkDistributionAndOrderingUtil</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildRequiredOrdering(org.apache.iceberg.Table,org.apache.spark.sql.connector.distributions.Distribution)">buildRequiredOrdering(Table, Distribution)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark">SparkDistributionAndOrderingUtil</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/Spark3Util.html#buildRequiredOrdering(org.apache.spark.sql.connector.iceberg.distributions.Distribution,org.apache.iceberg.Table)">buildRequiredOrdering(Distribution, Table)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SortOrderUtil.html#buildSortOrder(org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,org.apache.iceberg.SortOrder)">buildSortOrder(Schema, PartitionSpec, SortOrder)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SortOrderUtil.html" title="class in org.apache.iceberg.util">SortOrderUtil</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SortOrderUtil.html#buildSortOrder(org.apache.iceberg.Table)">buildSortOrder(Table)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SortOrderUtil.html" title="class in org.apache.iceberg.util">SortOrderUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SortOrderUtil.html#buildSortOrder(org.apache.iceberg.Table,org.apache.iceberg.SortOrder)">buildSortOrder(Table, SortOrder)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SortOrderUtil.html" title="class in org.apache.iceberg.util">SortOrderUtil</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSessionCatalog.html#buildSparkCatalog(java.lang.String,org.apache.spark.sql.util.CaseInsensitiveStringMap)">buildSparkCatalog(String, CaseInsensitiveStringMap)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a></dt>
 <dd>
 <div class="block">Build a <a href="org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark"><code>SparkCatalog</code></a> to be used for Iceberg operations.</div>
@@ -1691,7 +1823,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/catalog/Catalog.html#buildTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema)">buildTable(TableIdentifier, Schema)</a></span> - Method in interface org.apache.iceberg.catalog.<a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></dt>
 <dd>
-<div class="block">Instantiate a builder to either create a table or start a create/replace transaction.</div>
+<div class="block">/**
+ Instantiate a builder to either create a table or start a create/replace transaction.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopCatalog.html#buildTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema)">buildTable(TableIdentifier, Schema)</a></span> - Method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopCatalog.html" title="class in org.apache.iceberg.hadoop">HadoopCatalog</a></dt>
 <dd>&nbsp;</dd>
@@ -1757,11 +1890,31 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </a>
 <h2 class="title">C</h2>
 <dl>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#CACHE_ENABLED">CACHE_ENABLED</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
+<dd>
+<div class="block">Controls whether the catalog will cache table entries upon load.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#CACHE_ENABLED">CACHE_ENABLED</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalogFactory.html" title="class in org.apache.iceberg.flink">FlinkCatalogFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#CACHE_ENABLED_DEFAULT">CACHE_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#CACHE_EXPIRATION_INTERVAL_MS">CACHE_EXPIRATION_INTERVAL_MS</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
+<dd>
+<div class="block">Controls the duration for which entries in the catalog are cached.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#CACHE_EXPIRATION_INTERVAL_MS_DEFAULT">CACHE_EXPIRATION_INTERVAL_MS_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#CACHE_EXPIRATION_INTERVAL_MS_OFF">CACHE_EXPIRATION_INTERVAL_MS_OFF</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/hive/CachedClientPool.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">CachedClientPool</span></a> - Class in <a href="org/apache/iceberg/hive/package-summary.html">org.apache.iceberg.hive</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/CachingCatalog.html" title="class in org.apache.iceberg"><span class="typeNameLink">CachingCatalog</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
+<dd>
+<div class="block">Class that wraps an Iceberg Catalog to cache tables.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/CachingCatalog.html#%3Cinit%3E(org.apache.iceberg.catalog.Catalog,boolean,long,com.github.benmanes.caffeine.cache.Ticker)">CachingCatalog(Catalog, boolean, long, Ticker)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/CachingCatalog.html" title="class in org.apache.iceberg">CachingCatalog</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/AncestorsOfProcedure.html#call(org.apache.spark.sql.catalyst.InternalRow)">call(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/AncestorsOfProcedure.html" title="class in org.apache.iceberg.spark.procedures">AncestorsOfProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.html#call(org.apache.spark.sql.catalyst.InternalRow)">call(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.html" title="class in org.apache.iceberg.spark.procedures">ExpireSnapshotsProcedure</a></dt>
 <dd>&nbsp;</dd>
@@ -1801,14 +1954,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkTable.html#canDeleteWhere(org.apache.spark.sql.sources.Filter%5B%5D)">canDeleteWhere(Filter[])</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/catalog/ExtendedSupportsDelete.html#canDeleteWhere(org.apache.spark.sql.sources.Filter%5B%5D)">canDeleteWhere(Filter[])</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.catalog.<a href="org/apache/spark/sql/connector/iceberg/catalog/ExtendedSupportsDelete.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">ExtendedSupportsDelete</a></dt>
-<dd>
-<div class="block">Checks if it is possible to delete data from a data source table that matches filter expressions.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkUtil.html#canHandleTimestampWithoutZone(java.util.Map,org.apache.spark.sql.RuntimeConfig)">canHandleTimestampWithoutZone(Map&lt;String, String&gt;, RuntimeConfig)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkUtil.html" title="class in org.apache.iceberg.spark">SparkUtil</a></dt>
-<dd>
-<div class="block">Allow reading/writing timestamp without time zone as timestamp with time zone.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/transforms/Transform.html#canTransform(org.apache.iceberg.types.Type)">canTransform(Type)</a></span> - Method in interface org.apache.iceberg.transforms.<a href="org/apache/iceberg/transforms/Transform.html" title="interface in org.apache.iceberg.transforms">Transform</a></dt>
 <dd>
 <div class="block">Checks whether this function can be applied to the given <a href="org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types"><code>Type</code></a>.</div>
@@ -1845,12 +1990,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#caseSensitive()">caseSensitive()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkReadConf.html#caseSensitive()">caseSensitive()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark">SparkReadConf</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#caseSensitive(boolean)">caseSensitive(boolean)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a></dt>
 <dd>
 <div class="block">Is it case sensitive</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseOverwriteFiles.html#caseSensitive(boolean)">caseSensitive(boolean)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseOverwriteFiles.html" title="class in org.apache.iceberg">BaseOverwriteFiles</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/DeleteFiles.html#caseSensitive(boolean)">caseSensitive(boolean)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a></dt>
+<dd>
+<div class="block">Enables or disables case sensitive expression binding for methods that accept expressions.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/FindFiles.Builder.html#caseSensitive(boolean)">caseSensitive(boolean)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/FindFiles.Builder.html" title="class in org.apache.iceberg">FindFiles.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html#caseSensitive(boolean)">caseSensitive(boolean)</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html" title="class in org.apache.iceberg.flink.source">FlinkSource.Builder</a></dt>
@@ -1887,6 +2036,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Set whether column resolution in the source schema should be case sensitive.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/ExceptionUtil.html#castAndThrow(java.lang.Throwable,java.lang.Class)">castAndThrow(Throwable, Class&lt;E&gt;)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/ExceptionUtil.html" title="class in org.apache.iceberg.util">ExceptionUtil</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalog.html#catalog()">catalog()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalog.html" title="class in org.apache.iceberg.flink">FlinkCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/Spark3Util.CatalogAndIdentifier.html#catalog()">catalog()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/Spark3Util.CatalogAndIdentifier.html" title="class in org.apache.iceberg.spark">Spark3Util.CatalogAndIdentifier</a></dt>
@@ -1974,8 +2125,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SnapshotSummary.html#CHANGED_PARTITION_PREFIX">CHANGED_PARTITION_PREFIX</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/SnapshotSummary.html" title="class in org.apache.iceberg">SnapshotSummary</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.html#changes()">changes()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#channelNames">channelNames</a></span> - Static variable in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsLexer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/gcp/GCPProperties.html#channelReadChunkSize()">channelReadChunkSize()</a></span> - Method in class org.apache.iceberg.gcp.<a href="org/apache/iceberg/gcp/GCPProperties.html" title="class in org.apache.iceberg.gcp">GCPProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/gcp/GCPProperties.html#channelWriteChunkSize()">channelWriteChunkSize()</a></span> - Method in class org.apache.iceberg.gcp.<a href="org/apache/iceberg/gcp/GCPProperties.html" title="class in org.apache.iceberg.gcp">GCPProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/CharSequenceWrapper.html#charAt(int)">charAt(int)</a></span> - Method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/CharSequenceWrapper.html" title="class in org.apache.iceberg.util">CharSequenceWrapper</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/types/Comparators.html#charSequences()">charSequences()</a></span> - Static method in class org.apache.iceberg.types.<a href="org/apache/iceberg/types/Comparators.html" title="class in org.apache.iceberg.types">Comparators</a></dt>
@@ -1990,10 +2147,26 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/exceptions/ValidationException.html#check(boolean,java.lang.String,java.lang.Object...)">check(boolean, String, Object...)</a></span> - Static method in exception org.apache.iceberg.exceptions.<a href="org/apache/iceberg/exceptions/ValidationException.html" title="class in org.apache.iceberg.exceptions">ValidationException</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSQLProperties.html#CHECK_NULLABILITY">CHECK_NULLABILITY</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteOptions.html#CHECK_NULLABILITY">CHECK_NULLABILITY</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSQLProperties.html#CHECK_NULLABILITY_DEFAULT">CHECK_NULLABILITY_DEFAULT</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSQLProperties.html#CHECK_ORDERING">CHECK_ORDERING</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteOptions.html#CHECK_ORDERING">CHECK_ORDERING</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSQLProperties.html#CHECK_ORDERING_DEFAULT">CHECK_ORDERING_DEFAULT</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html#checkAndSetIoConfig(org.apache.hadoop.conf.Configuration,org.apache.iceberg.Table)">checkAndSetIoConfig(Configuration, Table)</a></span> - Static method in class org.apache.iceberg.mr.hive.<a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergStorageHandler</a></dt>
+<dd>
+<div class="block">If enabled, it populates the FileIO's hadoop configuration with the input config object.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html#checkAndSkipIoConfigSerialization(org.apache.hadoop.conf.Configuration,org.apache.iceberg.Table)">checkAndSkipIoConfigSerialization(Configuration, Table)</a></span> - Static method in class org.apache.iceberg.mr.hive.<a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergStorageHandler</a></dt>
+<dd>
+<div class="block">If enabled, it ensures that the FileIO's hadoop configuration will not be serialized.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseMetastoreTableOperations.html#checkCommitStatus(java.lang.String,org.apache.iceberg.TableMetadata)">checkCommitStatus(String, TableMetadata)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseMetastoreTableOperations.html" title="class in org.apache.iceberg">BaseMetastoreTableOperations</a></dt>
 <dd>
 <div class="block">Attempt to load the table and see if any current or past metadata location matches the one we were attempting
@@ -2003,6 +2176,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/types/CheckCompatibility.html" title="class in org.apache.iceberg.types"><span class="typeNameLink">CheckCompatibility</span></a> - Class in <a href="org/apache/iceberg/types/package-summary.html">org.apache.iceberg.types</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#checkNullability()">checkNullability()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#checkOrdering()">checkOrdering()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/hive/HiveIcebergOutputFormat.html#checkOutputSpecs(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.mapred.JobConf)">checkOutputSpecs(FileSystem, JobConf)</a></span> - Method in class org.apache.iceberg.mr.hive.<a href="org/apache/iceberg/mr/hive/HiveIcebergOutputFormat.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergOutputFormat</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/BaseMigrateTableSparkAction.html#checkSourceCatalog(org.apache.spark.sql.connector.catalog.CatalogPlugin)">checkSourceCatalog(CatalogPlugin)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/BaseMigrateTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">BaseMigrateTableSparkAction</a></dt>
@@ -2055,6 +2232,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/FileRewriteCoordinator.html#clearRewrite(org.apache.iceberg.Table,java.lang.String)">clearRewrite(Table, String)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/AliyunProperties.html#CLIENT_ACCESS_KEY_ID">CLIENT_ACCESS_KEY_ID</a></span> - Static variable in class org.apache.iceberg.aliyun.<a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun">AliyunProperties</a></dt>
+<dd>
+<div class="block">Aliyun uses an AccessKey pair, which includes an AccessKey ID and an AccessKey secret to implement symmetric
+ encryption and verify the identity of a requester.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/AliyunProperties.html#CLIENT_ACCESS_KEY_SECRET">CLIENT_ACCESS_KEY_SECRET</a></span> - Static variable in class org.apache.iceberg.aliyun.<a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun">AliyunProperties</a></dt>
+<dd>
+<div class="block">Aliyun uses an AccessKey pair, which includes an AccessKey ID and an AccessKey secret to implement symmetric
+ encryption and verify the identity of a requester.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_ASSUME_ROLE_ARN">CLIENT_ASSUME_ROLE_ARN</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
 <div class="block">Used by <a href="org/apache/iceberg/aws/AssumeRoleAwsClientFactory.html" title="class in org.apache.iceberg.aws"><code>AssumeRoleAwsClientFactory</code></a>.</div>
@@ -2073,6 +2260,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_ASSUME_ROLE_TIMEOUT_SEC_DEFAULT">CLIENT_ASSUME_ROLE_TIMEOUT_SEC_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_ENABLE_ETAG_CHECK_DEFAULT">CLIENT_ENABLE_ETAG_CHECK_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/AliyunProperties.html#CLIENT_FACTORY">CLIENT_FACTORY</a></span> - Static variable in class org.apache.iceberg.aliyun.<a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun">AliyunProperties</a></dt>
+<dd>
+<div class="block">The implementation class of <a href="org/apache/iceberg/aliyun/AliyunClientFactory.html" title="interface in org.apache.iceberg.aliyun"><code>AliyunClientFactory</code></a> to customize Aliyun client configurations.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_FACTORY">CLIENT_FACTORY</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
 <div class="block">The implementation class of <a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><code>AwsClientFactory</code></a> to customize AWS client configurations.</div>
@@ -2085,13 +2278,15 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_SIZE_DEFAULT">CLIENT_POOL_SIZE_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/gcp/GCPProperties.html#clientLibToken()">clientLibToken()</a></span> - Method in class org.apache.iceberg.gcp.<a href="org/apache/iceberg/gcp/GCPProperties.html" title="class in org.apache.iceberg.gcp">GCPProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/ClientPool.html" title="interface in org.apache.iceberg"><span class="typeNameLink">ClientPool</span></a>&lt;<a href="org/apache/iceberg/ClientPool.html" title="type parameter in ClientPool">C</a>,&#8203;<a href="org/apache/iceberg/ClientPool.html" title="type parameter in ClientPool">E</a> extends java.lang.Exception&gt; - Interface in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/ClientPool.Action.html" title="interface in org.apache.iceberg"><span class="typeNameLink">ClientPool.Action</span></a>&lt;<a href="org/apache/iceberg/ClientPool.Action.html" title="type parameter in ClientPool.Action">R</a>,&#8203;<a href="org/apache/iceberg/ClientPool.Action.html" title="type parameter in ClientPool.Action">C</a>,&#8203;<a href="org/apache/iceberg/ClientPool.Action.html" title="type parameter in ClientPool.Action">E</a> extends java.lang [...]
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/ClientPoolImpl.html" title="class in org.apache.iceberg"><span class="typeNameLink">ClientPoolImpl</span></a>&lt;<a href="org/apache/iceberg/ClientPoolImpl.html" title="type parameter in ClientPoolImpl">C</a>,&#8203;<a href="org/apache/iceberg/ClientPoolImpl.html" title="type parameter in ClientPoolImpl">E</a> extends java.lang.Exception&gt; - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/ClientPoolImpl.html#%3Cinit%3E(int,java.lang.Class)">ClientPoolImpl(int, Class&lt;? extends E&gt;)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/ClientPoolImpl.html" title="class in org.apache.iceberg">ClientPoolImpl</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/ClientPoolImpl.html#%3Cinit%3E(int,java.lang.Class,boolean)">ClientPoolImpl(int, Class&lt;? extends E&gt;, boolean)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/ClientPoolImpl.html" title="class in org.apache.iceberg">ClientPoolImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/data/RowDataUtil.html#clone(org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.types.logical.RowType,org.apache.flink.api.common.typeutils.TypeSerializer%5B%5D)">clone(RowData, RowData, RowType, TypeSerializer[])</a></span> - Static method in class org.apache.iceberg.flink.data.<a href="org/apache/iceberg/flink/data/RowDataUtil.html" title="class in org.apache.iceberg.flink.data [...]
 <dd>
@@ -2099,10 +2294,18 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#close()">close()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions">RewriteDataFilesCommitManager.CommitService</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/oss/OSSFileIO.html#close()">close()</a></span> - Method in class org.apache.iceberg.aliyun.oss.<a href="org/apache/iceberg/aliyun/oss/OSSFileIO.html" title="class in org.apache.iceberg.aliyun.oss">OSSFileIO</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/oss/OSSInputStream.html#close()">close()</a></span> - Method in class org.apache.iceberg.aliyun.oss.<a href="org/apache/iceberg/aliyun/oss/OSSInputStream.html" title="class in org.apache.iceberg.aliyun.oss">OSSInputStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/oss/OSSOutputStream.html#close()">close()</a></span> - Method in class org.apache.iceberg.aliyun.oss.<a href="org/apache/iceberg/aliyun/oss/OSSOutputStream.html" title="class in org.apache.iceberg.aliyun.oss">OSSOutputStream</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/ArrowReader.html#close()">close()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/ArrowReader.html" title="class in org.apache.iceberg.arrow.vectorized">ArrowReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/ArrowVectorAccessor.html#close()">close()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/ArrowVectorAccessor.html" title="class in org.apache.iceberg.arrow.vectorized">ArrowVectorAccessor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/BaseBatchReader.html#close()">close()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/BaseBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized">BaseBatchReader</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/ColumnarBatch.html#close()">close()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/ColumnarBatch.html" title="class in org.apache.iceberg.arrow.vectorized">ColumnarBatch</a></dt>
 <dd>
 <div class="block">Called to close all the columns in this batch.</div>
@@ -2117,6 +2320,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/glue/GlueCatalog.html#close()">close()</a></span> - Method in class org.apache.iceberg.aws.glue.<a href="org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue">GlueCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIO.html#close()">close()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3">S3FileIO</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ClientPoolImpl.html#close()">close()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/ClientPoolImpl.html" title="class in org.apache.iceberg">ClientPoolImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html#close()">close()</a></span> - Method in class org.apache.iceberg.deletes.<a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html" title="class in org.apache.iceberg.deletes">EqualityDeleteWriter</a></dt>
@@ -2125,6 +2330,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalog.html#close()">close()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalog.html" title="class in org.apache.iceberg.flink">FlinkCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/DataIterator.html#close()">close()</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/DataIterator.html" title="class in org.apache.iceberg.flink.source">DataIterator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/FlinkInputFormat.html#close()">close()</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/FlinkInputFormat.html" title="class in org.apache.iceberg.flink.source">FlinkInputFormat</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/StreamingMonitorFunction.html#close()">close()</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/StreamingMonitorFunction.html" title="class in org.apache.iceberg.flink.source">StreamingMonitorFunction</a></dt>
@@ -2135,20 +2342,32 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html#close()">close()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html" title="class in org.apache.iceberg.flink">TableLoader.HadoopTableLoader</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/gcp/gcs/GCSFileIO.html#close()">close()</a></span> - Method in class org.apache.iceberg.gcp.gcs.<a href="org/apache/iceberg/gcp/gcs/GCSFileIO.html" title="class in org.apache.iceberg.gcp.gcs">GCSFileIO</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopCatalog.html#close()">close()</a></span> - Method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopCatalog.html" title="class in org.apache.iceberg.hadoop">HadoopCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/BasePositionDeltaWriter.html#close()">close()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/BasePositionDeltaWriter.html" title="class in org.apache.iceberg.io">BasePositionDeltaWriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/BaseTaskWriter.BaseEqualityDeltaWriter.html#close()">close()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/BaseTaskWriter.BaseEqualityDeltaWriter.html" title="class in org.apache.iceberg.io">BaseTaskWriter.BaseEqualityDeltaWriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/CloseableGroup.html#close()">close()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/CloseableGroup.html" title="class in org.apache.iceberg.io">CloseableGroup</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Close all the registered resources.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/DataWriter.html#close()">close()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/DataWriter.html" title="class in org.apache.iceberg.io">DataWriter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/FileIO.html#close()">close()</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a></dt>
+<dd>
+<div class="block">Close File IO to release underlying resources.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/FilterIterator.html#close()">close()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/FilterIterator.html" title="class in org.apache.iceberg.io">FilterIterator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/PartitionedFanoutWriter.html#close()">close()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/PartitionedFanoutWriter.html" title="class in org.apache.iceberg.io">PartitionedFanoutWriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/PartitionedWriter.html#close()">close()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/PartitionedWriter.html" title="class in org.apache.iceberg.io">PartitionedWriter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/ResolvingFileIO.html#close()">close()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/ResolvingFileIO.html" title="class in org.apache.iceberg.io">ResolvingFileIO</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/UnpartitionedWriter.html#close()">close()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/UnpartitionedWriter.html" title="class in org.apache.iceberg.io">UnpartitionedWriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#close()">close()</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
@@ -2171,8 +2390,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/pig/IcebergPigInputFormat.IcebergRecordReader.html#close()">close()</a></span> - Method in class org.apache.iceberg.pig.<a href="org/apache/iceberg/pig/IcebergPigInputFormat.IcebergRecordReader.html" title="class in org.apache.iceberg.pig">IcebergPigInputFormat.IcebergRecordReader</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.html#close()">close()</a></span> - Method in class org.apache.iceberg.spark.data.vectorized.<a href="org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnarBatchReader</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/vectorized/IcebergArrowColumnVector.html#close()">close()</a></span> - Method in class org.apache.iceberg.spark.data.vectorized.<a href="org/apache/iceberg/spark/data/vectorized/IcebergArrowColumnVector.html" title="class in org.apache.iceberg.spark.data.vectorized">IcebergArrowColumnVector</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/vectorized/RowPositionColumnVector.html#close()">close()</a></span> - Method in class org.apache.iceberg.spark.data.vectorized.<a href="org/apache/iceberg/spark/data/vectorized/RowPositionColumnVector.html" title="class in org.apache.iceberg.spark.data.vectorized">RowPositionColumnVector</a></dt>
@@ -2181,10 +2398,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/Exceptions.html#close(java.io.Closeable,boolean)">close(Closeable, boolean)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/Exceptions.html" title="class in org.apache.iceberg.util">Exceptions</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveClientPool.html#close(org.apache.hadoop.hive.metastore.HiveMetaStoreClient)">close(HiveMetaStoreClient)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveClientPool.html" title="class in org.apache.iceberg.hive">HiveClientPool</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveClientPool.html#close(org.apache.hadoop.hive.metastore.IMetaStoreClient)">close(IMetaStoreClient)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveClientPool.html" title="class in org.apache.iceberg.hive">HiveClientPool</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/io/CloseableGroup.html" title="class in org.apache.iceberg.io"><span class="typeNameLink">CloseableGroup</span></a> - Class in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">This class acts as a helper for handling the closure of multiple resource.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/CloseableGroup.html#%3Cinit%3E()">CloseableGroup()</a></span> - Constructor for class org.apache.iceberg.io.<a href="org/apache/iceberg/io/CloseableGroup.html" title="class in org.apache.iceberg.io">CloseableGroup</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">CloseableIterable</span></a>&lt;<a href="org/apache/iceberg/io/CloseableIterable.html" title="type parameter in CloseableIterable">T</a>&gt; - Interface in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
@@ -2193,6 +2412,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/io/CloseableIterator.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">CloseableIterator</span></a>&lt;<a href="org/apache/iceberg/io/CloseableIterator.html" title="type parameter in CloseableIterator">T</a>&gt; - Interface in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/BaseBatchReader.html#closeVectors()">closeVectors()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/BaseBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized">BaseBatchReader</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/io/ClosingIterator.html" title="class in org.apache.iceberg.io"><span class="typeNameLink">ClosingIterator</span></a>&lt;<a href="org/apache/iceberg/io/ClosingIterator.html" title="type parameter in ClosingIterator">T</a>&gt; - Class in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
 <dd>
 <div class="block">A convenience wrapper around <a href="org/apache/iceberg/io/CloseableIterator.html" title="interface in org.apache.iceberg.io"><code>CloseableIterator</code></a>, providing auto-close
@@ -2206,27 +2427,28 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Groups an existing <a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> by a cluster key produced by a function.</div>
 </dd>
-<dt><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/ClusterDistributionImpl.html" title="class in org.apache.spark.sql.connector.iceberg.distributions.impl"><span class="typeNameLink">ClusterDistributionImpl</span></a> - Class in <a href="org/apache/spark/sql/connector/iceberg/distributions/impl/package-summary.html">org.apache.spark.sql.connector.iceberg.distributions.impl</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/ClusterDistributionImpl.html#%3Cinit%3E(org.apache.spark.sql.connector.expressions.Expression%5B%5D)">ClusterDistributionImpl(Expression[])</a></span> - Constructor for class org.apache.spark.sql.connector.iceberg.distributions.impl.<a href="org/apache/spark/sql/connector/iceberg/distributions/impl/ClusterDistributionImpl.html" title="class in org.apache.spark.sql.connector.iceberg.distrib [...]
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/distributions/Distributions.html#clustered(org.apache.spark.sql.connector.expressions.Expression%5B%5D)">clustered(Expression[])</a></span> - Static method in class org.apache.spark.sql.connector.iceberg.distributions.<a href="org/apache/spark/sql/connector/iceberg/distributions/Distributions.html" title="class in org.apache.spark.sql.connector.iceberg.distributions">Distributions</a></dt>
+<dt><a href="org/apache/iceberg/io/ClusteredDataWriter.html" title="class in org.apache.iceberg.io"><span class="typeNameLink">ClusteredDataWriter</span></a>&lt;<a href="org/apache/iceberg/io/ClusteredDataWriter.html" title="type parameter in ClusteredDataWriter">T</a>&gt; - Class in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
 <dd>
-<div class="block">Creates a distribution where tuples that share the same values for clustering expressions are
- co-located in the same partition.</div>
+<div class="block">A data writer capable of writing to multiple specs and partitions that requires the incoming records
+ to be properly clustered by partition spec and by partition within each spec.</div>
 </dd>
-<dt><a href="org/apache/spark/sql/connector/iceberg/distributions/ClusteredDistribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions"><span class="typeNameLink">ClusteredDistribution</span></a> - Interface in <a href="org/apache/spark/sql/connector/iceberg/distributions/package-summary.html">org.apache.spark.sql.connector.iceberg.distributions</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/ClusteredDataWriter.html#%3Cinit%3E(org.apache.iceberg.io.FileWriterFactory,org.apache.iceberg.io.OutputFileFactory,org.apache.iceberg.io.FileIO,org.apache.iceberg.FileFormat,long)">ClusteredDataWriter(FileWriterFactory&lt;T&gt;, OutputFileFactory, FileIO, FileFormat, long)</a></span> - Constructor for class org.apache.iceberg.io.<a href="org/apache/iceberg/io/ClusteredDataWriter.html" title="class in org.apache.iceberg.io"> [...]
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/io/ClusteredEqualityDeleteWriter.html" title="class in org.apache.iceberg.io"><span class="typeNameLink">ClusteredEqualityDeleteWriter</span></a>&lt;<a href="org/apache/iceberg/io/ClusteredEqualityDeleteWriter.html" title="type parameter in ClusteredEqualityDeleteWriter">T</a>&gt; - Class in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
 <dd>
-<div class="block">A distribution where tuples that share the same values for clustering expressions are co-located
- in the same partition.</div>
+<div class="block">An equality delete writer capable of writing to multiple specs and partitions that requires
+ the incoming delete records to be properly clustered by partition spec and by partition within each spec.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#clusterHadoopConf()">clusterHadoopConf()</a></span> - Static method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalogFactory.html" title="class in org.apache.iceberg.flink">FlinkCatalogFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/ClusteredEqualityDeleteWriter.html#%3Cinit%3E(org.apache.iceberg.io.FileWriterFactory,org.apache.iceberg.io.OutputFileFactory,org.apache.iceberg.io.FileIO,org.apache.iceberg.FileFormat,long)">ClusteredEqualityDeleteWriter(FileWriterFactory&lt;T&gt;, OutputFileFactory, FileIO, FileFormat, long)</a></span> - Constructor for class org.apache.iceberg.io.<a href="org/apache/iceberg/io/ClusteredEqualityDeleteWriter.html" title="cl [...]
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/distributions/ClusteredDistribution.html#clustering()">clustering()</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.distributions.<a href="org/apache/spark/sql/connector/iceberg/distributions/ClusteredDistribution.html" title="interface in org.apache.spark.sql.connector.iceberg.distributions">ClusteredDistribution</a></dt>
+<dt><a href="org/apache/iceberg/io/ClusteredPositionDeleteWriter.html" title="class in org.apache.iceberg.io"><span class="typeNameLink">ClusteredPositionDeleteWriter</span></a>&lt;<a href="org/apache/iceberg/io/ClusteredPositionDeleteWriter.html" title="type parameter in ClusteredPositionDeleteWriter">T</a>&gt; - Class in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
 <dd>
-<div class="block">Returns clustering expressions.</div>
+<div class="block">A position delete writer capable of writing to multiple specs and partitions that requires
+ the incoming delete records to be properly clustered by partition spec and by partition within each spec.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/distributions/impl/ClusterDistributionImpl.html#clustering()">clustering()</a></span> - Method in class org.apache.spark.sql.connector.iceberg.distributions.impl.<a href="org/apache/spark/sql/connector/iceberg/distributions/impl/ClusterDistributionImpl.html" title="class in org.apache.spark.sql.connector.iceberg.distributions.impl">ClusterDistributionImpl</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/ClusteredPositionDeleteWriter.html#%3Cinit%3E(org.apache.iceberg.io.FileWriterFactory,org.apache.iceberg.io.OutputFileFactory,org.apache.iceberg.io.FileIO,org.apache.iceberg.FileFormat,long)">ClusteredPositionDeleteWriter(FileWriterFactory&lt;T&gt;, OutputFileFactory, FileIO, FileFormat, long)</a></span> - Constructor for class org.apache.iceberg.io.<a href="org/apache/iceberg/io/ClusteredPositionDeleteWriter.html" title="cl [...]
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#clusterHadoopConf()">clusterHadoopConf()</a></span> - Static method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalogFactory.html" title="class in org.apache.iceberg.flink">FlinkCatalogFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/FindFiles.Builder.html#collect()">collect()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/FindFiles.Builder.html" title="class in org.apache.iceberg">FindFiles.Builder</a></dt>
 <dd>
@@ -2306,6 +2528,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">This class is inspired by Spark's <code>ColumnVector</code>.</div>
 </dd>
+<dt><a href="org/apache/iceberg/spark/data/vectorized/ColumnVectorWithFilter.html" title="class in org.apache.iceberg.spark.data.vectorized"><span class="typeNameLink">ColumnVectorWithFilter</span></a> - Class in <a href="org/apache/iceberg/spark/data/vectorized/package-summary.html">org.apache.iceberg.spark.data.vectorized</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/vectorized/ColumnVectorWithFilter.html#%3Cinit%3E(org.apache.iceberg.arrow.vectorized.VectorHolder,int%5B%5D)">ColumnVectorWithFilter(VectorHolder, int[])</a></span> - Constructor for class org.apache.iceberg.spark.data.vectorized.<a href="org/apache/iceberg/spark/data/vectorized/ColumnVectorWithFilter.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnVectorWithFilter</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/parquet/ColumnWriter.html" title="class in org.apache.iceberg.parquet"><span class="typeNameLink">ColumnWriter</span></a>&lt;<a href="org/apache/iceberg/parquet/ColumnWriter.html" title="type parameter in ColumnWriter">T</a>&gt; - Class in <a href="org/apache/iceberg/parquet/package-summary.html">org.apache.iceberg.parquet</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/CloseableIterable.html#combine(java.lang.Iterable,java.io.Closeable)">combine(Iterable&lt;E&gt;, Closeable)</a></span> - Static method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a></dt>
@@ -2314,6 +2540,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">A scan task made of several ranges from files.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperation.html#command()">command()</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperation.html" title="interface in org.apache.spark.sql.connector.iceberg.write">RowLevelOperation</a></dt>
+<dd>
+<div class="block">Returns the actual SQL operation being performed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperationInfo.html#command()">command()</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperationInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write">RowLevelOperationInfo</a></dt>
+<dd>
+<div class="block">Returns the SQL command (e.g.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseReplaceSortOrder.html#commit()">commit()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseReplaceSortOrder.html" title="class in org.apache.iceberg">BaseReplaceSortOrder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/PendingUpdate.html#commit()">commit()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a></dt>
@@ -2437,6 +2671,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Close the writer and get the completed data and delete files.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/Spark3SortStrategy.html#COMPRESSION_FACTOR">COMPRESSION_FACTOR</a></span> - Static variable in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/Spark3SortStrategy.html" title="class in org.apache.iceberg.spark.actions">Spark3SortStrategy</a></dt>
+<dd>
+<div class="block">The number of shuffle partitions and consequently the number of output files
+ created by the Spark Sort is based on the size of the input data files used
+ in this rewrite operation.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/Parquet.html#concat(java.lang.Iterable,java.io.File,int,org.apache.iceberg.Schema,java.util.Map)">concat(Iterable&lt;File&gt;, File, int, Schema, Map&lt;String, String&gt;)</a></span> - Static method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/Parquet.html" title="class in org.apache.iceberg.parquet">Parquet</a></dt>
 <dd>
 <div class="block">Combines several files into one</div>
@@ -2450,13 +2690,27 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/orc/ORC.ReadBuilder.html#config(java.lang.String,java.lang.String)">config(String, String)</a></span> - Method in class org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/ORC.ReadBuilder.html" title="class in org.apache.iceberg.orc">ORC.ReadBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/orc/ORC.WriteBuilder.html#config(java.lang.String,java.lang.String)">config(String, String)</a></span> - Method in class org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/ORC.WriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.WriteBuilder</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
+<div class="deprecationComment">Please use #set(String, String) instead</div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/actions/Actions.html#CONFIG">CONFIG</a></span> - Static variable in class org.apache.iceberg.flink.actions.<a href="org/apache/iceberg/flink/actions/Actions.html" title="class in org.apache.iceberg.flink.actions">Actions</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/nessie/NessieUtil.html#CONFIG_CLIENT_BUILDER_IMPL">CONFIG_CLIENT_BUILDER_IMPL</a></span> - Static variable in class org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieUtil.html" title="class in org.apache.iceberg.nessie">NessieUtil</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/InputFormatConfig.html#CONFIG_SERIALIZATION_DISABLED">CONFIG_SERIALIZATION_DISABLED</a></span> - Static variable in class org.apache.iceberg.mr.<a href="org/apache/iceberg/mr/InputFormatConfig.html" title="class in org.apache.iceberg.mr">InputFormatConfig</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/InputFormatConfig.html#CONFIG_SERIALIZATION_DISABLED_DEFAULT">CONFIG_SERIALIZATION_DISABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.mr.<a href="org/apache/iceberg/mr/InputFormatConfig.html" title="class in org.apache.iceberg.mr">InputFormatConfig</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/InputFormatConfig.ConfigBuilder.html#%3Cinit%3E(org.apache.hadoop.conf.Configuration)">ConfigBuilder(Configuration)</a></span> - Constructor for class org.apache.iceberg.mr.<a href="org/apache/iceberg/mr/InputFormatConfig.ConfigBuilder.html" title="class in org.apache.iceberg.mr">InputFormatConfig.ConfigBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/hadoop/ConfigProperties.html" title="class in org.apache.iceberg.hadoop"><span class="typeNameLink">ConfigProperties</span></a> - Class in <a href="org/apache/iceberg/hadoop/package-summary.html">org.apache.iceberg.hadoop</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/hadoop/Configurable.html" title="interface in org.apache.iceberg.hadoop"><span class="typeNameLink">Configurable</span></a>&lt;<a href="org/apache/iceberg/hadoop/Configurable.html" title="type parameter in Configurable">C</a>&gt; - Interface in <a href="org/apache/iceberg/hadoop/package-summary.html">org.apache.iceberg.hadoop</a></dt>
+<dd>
+<div class="block">Interface used to avoid runtime dependencies on Hadoop Configurable</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/FlinkInputFormat.html#configure(org.apache.flink.configuration.Configuration)">configure(Configuration)</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/FlinkInputFormat.html" title="class in org.apache.iceberg.flink.source">FlinkInputFormat</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/mapred/MapredIcebergInputFormat.html#configure(org.apache.hadoop.mapred.JobConf)">configure(JobConf)</a></span> - Static method in class org.apache.iceberg.mr.mapred.<a href="org/apache/iceberg/mr/mapred/MapredIcebergInputFormat.html" title="class in org.apache.iceberg.mr.mapred">MapredIcebergInputFormat</a></dt>
@@ -2469,16 +2723,22 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <div class="block">Configures the <code>Job</code> to use the <code>IcebergInputFormat</code> and
  returns a helper to add further configuration.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseWriterFactory.html#configureDataWrite(org.apache.iceberg.avro.Avro.DataWriteBuilder)">configureDataWrite(Avro.DataWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseWriterFactory.html" title="class in org.apache.iceberg.data">BaseWriterFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseFileWriterFactory.html#configureDataWrite(org.apache.iceberg.avro.Avro.DataWriteBuilder)">configureDataWrite(Avro.DataWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data">BaseFileWriterFactory</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseWriterFactory.html#configureDataWrite(org.apache.iceberg.orc.ORC.DataWriteBuilder)">configureDataWrite(ORC.DataWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseWriterFactory.html" title="class in org.apache.iceberg.data">BaseWriterFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseFileWriterFactory.html#configureDataWrite(org.apache.iceberg.orc.ORC.DataWriteBuilder)">configureDataWrite(ORC.DataWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data">BaseFileWriterFactory</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseWriterFactory.html#configureDataWrite(org.apache.iceberg.parquet.Parquet.DataWriteBuilder)">configureDataWrite(Parquet.DataWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseWriterFactory.html" title="class in org.apache.iceberg.data">BaseWriterFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseFileWriterFactory.html#configureDataWrite(org.apache.iceberg.parquet.Parquet.DataWriteBuilder)">configureDataWrite(Parquet.DataWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data">BaseFileWriterFactory</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseWriterFactory.html#configureEqualityDelete(org.apache.iceberg.avro.Avro.DeleteWriteBuilder)">configureEqualityDelete(Avro.DeleteWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseWriterFactory.html" title="class in org.apache.iceberg.data">BaseWriterFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseFileWriterFactory.html#configureEqualityDelete(org.apache.iceberg.avro.Avro.DeleteWriteBuilder)">configureEqualityDelete(Avro.DeleteWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data">BaseFileWriterFactory</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseWriterFactory.html#configureEqualityDelete(org.apache.iceberg.parquet.Parquet.DeleteWriteBuilder)">configureEqualityDelete(Parquet.DeleteWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseWriterFactory.html" title="class in org.apache.iceberg.data">BaseWriterFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseFileWriterFactory.html#configureEqualityDelete(org.apache.iceberg.orc.ORC.DeleteWriteBuilder)">configureEqualityDelete(ORC.DeleteWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data">BaseFileWriterFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseFileWriterFactory.html#configureEqualityDelete(org.apache.iceberg.parquet.Parquet.DeleteWriteBuilder)">configureEqualityDelete(Parquet.DeleteWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data">BaseFileWriterFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogUtil.html#configureHadoopConf(java.lang.Object,java.lang.Object)">configureHadoopConf(Object, Object)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogUtil.html" title="class in org.apache.iceberg">CatalogUtil</a></dt>
+<dd>
+<div class="block">Dynamically detects whether an object is a Hadoop Configurable and calls setConf.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html#configureInputJobCredentials(org.apache.hadoop.hive.ql.plan.TableDesc,java.util.Map)">configureInputJobCredentials(TableDesc, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.mr.hive.<a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergStorageHandler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html#configureInputJobProperties(org.apache.hadoop.hive.ql.plan.TableDesc,java.util.Map)">configureInputJobProperties(TableDesc, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.mr.hive.<a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergStorageHandler</a></dt>
@@ -2487,9 +2747,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html#configureOutputJobProperties(org.apache.hadoop.hive.ql.plan.TableDesc,java.util.Map)">configureOutputJobProperties(TableDesc, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.mr.hive.<a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergStorageHandler</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseWriterFactory.html#configurePositionDelete(org.apache.iceberg.avro.Avro.DeleteWriteBuilder)">configurePositionDelete(Avro.DeleteWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseWriterFactory.html" title="class in org.apache.iceberg.data">BaseWriterFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseFileWriterFactory.html#configurePositionDelete(org.apache.iceberg.avro.Avro.DeleteWriteBuilder)">configurePositionDelete(Avro.DeleteWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data">BaseFileWriterFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseFileWriterFactory.html#configurePositionDelete(org.apache.iceberg.orc.ORC.DeleteWriteBuilder)">configurePositionDelete(ORC.DeleteWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data">BaseFileWriterFactory</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseWriterFactory.html#configurePositionDelete(org.apache.iceberg.parquet.Parquet.DeleteWriteBuilder)">configurePositionDelete(Parquet.DeleteWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseWriterFactory.html" title="class in org.apache.iceberg.data">BaseWriterFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseFileWriterFactory.html#configurePositionDelete(org.apache.iceberg.parquet.Parquet.DeleteWriteBuilder)">configurePositionDelete(Parquet.DeleteWriteBuilder)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data">BaseFileWriterFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html#configureTableJobProperties(org.apache.hadoop.hive.ql.plan.TableDesc,java.util.Map)">configureTableJobProperties(TableDesc, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.mr.hive.<a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergStorageHandler</a></dt>
 <dd>&nbsp;</dd>
@@ -2527,6 +2789,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/PartitionUtil.html#constantsMap(org.apache.iceberg.FileScanTask,java.util.function.BiFunction)">constantsMap(FileScanTask, BiFunction&lt;Type, Object, Object&gt;)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/PartitionUtil.html" title="class in org.apache.iceberg.util">PartitionUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/PartitionUtil.html#constantsMap(org.apache.iceberg.FileScanTask,org.apache.iceberg.types.Types.StructType,java.util.function.BiFunction)">constantsMap(FileScanTask, Types.StructType, BiFunction&lt;Type, Object, Object&gt;)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/PartitionUtil.html" title="class in org.apache.iceberg.util">PartitionUtil</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html#%3Cinit%3E(int)">ConstantVectorHolder(int)</a></span> - Constructor for class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder.ConstantVectorHolder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html#%3Cinit%3E(int,T)">ConstantVectorHolder(int, T)</a></span> - Constructor for class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder.ConstantVectorHolder</a></dt>
@@ -2573,8 +2837,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/StructLikeMap.html#containsValue(java.lang.Object)">containsValue(Object)</a></span> - Method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/StructLikeMap.html" title="class in org.apache.iceberg.util">StructLikeMap</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/ManifestFileBean.html#content()">content()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ManifestFileBean.html" title="class in org.apache.iceberg.actions">ManifestFileBean</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ContentFile.html#content()">content()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a></dt>
 <dd>
 <div class="block">Returns type of content stored in the file; one of DATA, POSITION_DELETES, or EQUALITY_DELETES.</div>
@@ -2589,6 +2851,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ManifestWriter.html#content()">content()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/ManifestFileBean.html#content()">content()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/ManifestFileBean.html" title="class in org.apache.iceberg.spark.actions">ManifestFileBean</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/DataFile.html#CONTENT">CONTENT</a></span> - Static variable in interface org.apache.iceberg.<a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg"><span class="typeNameLink">ContentFile</span></a>&lt;<a href="org/apache/iceberg/ContentFile.html" title="type parameter in ContentFile">F</a>&gt; - Interface in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
@@ -2691,7 +2955,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Convert a Spark <code>struct</code> to a <a href="org/apache/iceberg/Schema.html" title="class in org.apache.iceberg"><code>Schema</code></a> based on the given schema.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/Spark3Util.html#convert(org.apache.iceberg.SortOrder)">convert(SortOrder)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#convert(org.apache.iceberg.SortOrder)">convert(SortOrder)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark">SparkDistributionAndOrderingUtil</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/AvroSchemaUtil.html#convert(org.apache.iceberg.types.Type)">convert(Type)</a></span> - Static method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/AvroSchemaUtil.html" title="class in org.apache.iceberg.avro">AvroSchemaUtil</a></dt>
 <dd>&nbsp;</dd>
@@ -2749,12 +3013,30 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/data/RowDataUtil.html#convertConstant(org.apache.iceberg.types.Type,java.lang.Object)">convertConstant(Type, Object)</a></span> - Static method in class org.apache.iceberg.flink.data.<a href="org/apache/iceberg/flink/data/RowDataUtil.html" title="class in org.apache.iceberg.flink.data">RowDataUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/ConvertEqualityDeleteStrategy.html#convertDeleteFiles(java.lang.Iterable)">convertDeleteFiles(Iterable&lt;DeleteFile&gt;)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ConvertEqualityDeleteStrategy.html" title="interface in org.apache.iceberg.actions">ConvertEqualityDeleteStrategy</a></dt>
+<dd>
+<div class="block">Define how to convert the deletes.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/ConvertEqualityDeleteFiles.Result.html#convertedEqualityDeleteFilesCount()">convertedEqualityDeleteFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ConvertEqualityDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions">ConvertEqualityDeleteFiles.Result</a></dt>
+<dd>
+<div class="block">Returns the count of the deletes that been converted.</div>
+</dd>
+<dt><a href="org/apache/iceberg/actions/ConvertEqualityDeleteFiles.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">ConvertEqualityDeleteFiles</span></a> - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>
+<div class="block">An action for converting the equality delete files to position delete files.</div>
+</dd>
+<dt><a href="org/apache/iceberg/actions/ConvertEqualityDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">ConvertEqualityDeleteFiles.Result</span></a> - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>
+<div class="block">The action result that contains a summary of the execution.</div>
+</dd>
+<dt><a href="org/apache/iceberg/actions/ConvertEqualityDeleteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">ConvertEqualityDeleteStrategy</span></a> - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>
+<div class="block">A strategy for the action to convert equality delete to position deletes.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/UUIDUtil.html#convertToByteBuffer(java.util.UUID)">convertToByteBuffer(UUID)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/UUIDUtil.html" title="class in org.apache.iceberg.util">UUIDUtil</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/AvroSchemaUtil.html#convertTypes(org.apache.iceberg.types.Types.StructType,java.lang.String)">convertTypes(Types.StructType, String)</a></span> - Static method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/AvroSchemaUtil.html" title="class in org.apache.iceberg.avro">AvroSchemaUtil</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/ManifestFileBean.html#copy()">copy()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ManifestFileBean.html" title="class in org.apache.iceberg.actions">ManifestFileBean</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ContentFile.html#copy()">copy()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a></dt>
 <dd>
 <div class="block">Copies this file.</div>
@@ -2783,6 +3065,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/PartitionKey.html#copy()">copy()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/PartitionKey.html" title="class in org.apache.iceberg">PartitionKey</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/ManifestFileBean.html#copy()">copy()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/ManifestFileBean.html" title="class in org.apache.iceberg.spark.actions">ManifestFileBean</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDataFile.html#copy()">copy()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark">SparkDataFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/Record.html#copy(java.lang.String,java.lang.Object)">copy(String, Object)</a></span> - Method in interface org.apache.iceberg.data.<a href="org/apache/iceberg/data/Record.html" title="interface in org.apache.iceberg.data">Record</a></dt>
@@ -2803,6 +3087,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/DataFiles.html#copy(org.apache.iceberg.PartitionSpec,org.apache.iceberg.StructLike)">copy(PartitionSpec, StructLike)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/DataFiles.html" title="class in org.apache.iceberg">DataFiles</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/RowLevelOperationMode.html#COPY_ON_WRITE">COPY_ON_WRITE</a></span> - org.apache.iceberg.<a href="org/apache/iceberg/RowLevelOperationMode.html" title="enum in org.apache.iceberg">RowLevelOperationMode</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.CallArgumentContext.html#copyFrom(org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.CallArgumentContext)">copyFrom(IcebergSqlExtensionsParser.CallArgumentContext)</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.CallArgumentContext.html"  [...]
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ConstantContext.html#copyFrom(org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.ConstantContext)">copyFrom(IcebergSqlExtensionsParser.ConstantContext)</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.ConstantContext.html" title="class in  [...]
@@ -2839,6 +3125,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Creates a read-only serializable table that can be sent to other nodes in a cluster.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#copyOnWriteDeleteDistributionMode()">copyOnWriteDeleteDistributionMode()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#copyOnWriteMergeDistributionMode()">copyOnWriteMergeDistributionMode()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#copyOnWriteUpdateDistributionMode()">copyOnWriteUpdateDistributionMode()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ContentFile.html#copyWithoutStats()">copyWithoutStats()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a></dt>
 <dd>
 <div class="block">Copies this file without file stats.</div>
@@ -2858,12 +3150,19 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Creates the table.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/deletes/PositionDelete.html#create()">create()</a></span> - Static method in class org.apache.iceberg.deletes.<a href="org/apache/iceberg/deletes/PositionDelete.html" title="class in org.apache.iceberg.deletes">PositionDelete</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/sink/RowDataTaskWriterFactory.html#create()">create()</a></span> - Method in class org.apache.iceberg.flink.sink.<a href="org/apache/iceberg/flink/sink/RowDataTaskWriterFactory.html" title="class in org.apache.iceberg.flink.sink">RowDataTaskWriterFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/sink/TaskWriterFactory.html#create()">create()</a></span> - Method in interface org.apache.iceberg.flink.sink.<a href="org/apache/iceberg/flink/sink/TaskWriterFactory.html" title="interface in org.apache.iceberg.flink.sink">TaskWriterFactory</a></dt>
 <dd>
 <div class="block">Initialize a <a href="org/apache/iceberg/io/TaskWriter.html" title="interface in org.apache.iceberg.io"><code>TaskWriter</code></a> with given task id and attempt id.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/gcp/gcs/GCSOutputFile.html#create()">create()</a></span> - Method in class org.apache.iceberg.gcp.gcs.<a href="org/apache/iceberg/gcp/gcs/GCSOutputFile.html" title="class in org.apache.iceberg.gcp.gcs">GCSOutputFile</a></dt>
+<dd>
+<div class="block">Create an output stream for the specified location if the target object
+ does not exist in GCS at the time of invocation.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopOutputFile.html#create()">create()</a></span> - Method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopOutputFile.html" title="class in org.apache.iceberg.hadoop">HadoopOutputFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/OutputFile.html#create()">create()</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></dt>
@@ -2876,6 +3175,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/avro/DataWriter.html#create(org.apache.avro.Schema)">create(Schema)</a></span> - Static method in class org.apache.iceberg.data.avro.<a href="org/apache/iceberg/data/avro/DataWriter.html" title="class in org.apache.iceberg.data.avro">DataWriter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/data/RowDataProjection.html#create(org.apache.flink.table.types.logical.RowType,org.apache.iceberg.types.Types.StructType,org.apache.iceberg.types.Types.StructType)">create(RowType, Types.StructType, Types.StructType)</a></span> - Static method in class org.apache.iceberg.flink.data.<a href="org/apache/iceberg/flink/data/RowDataProjection.html" title="class in org.apache.iceberg.flink.data">RowDataProjection</a></dt>
+<dd>
+<div class="block">Creates a projecting wrapper for <code>RowData</code> rows.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/GenericRecord.html#create(org.apache.iceberg.Schema)">create(Schema)</a></span> - Static method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/GenericRecord.html" title="class in org.apache.iceberg.data">GenericRecord</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mapping/MappingUtil.html#create(org.apache.iceberg.Schema)">create(Schema)</a></span> - Static method in class org.apache.iceberg.mapping.<a href="org/apache/iceberg/mapping/MappingUtil.html" title="class in org.apache.iceberg.mapping">MappingUtil</a></dt>
@@ -2905,6 +3208,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/Tables.html#create(org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,org.apache.iceberg.SortOrder,java.util.Map,java.lang.String)">create(Schema, PartitionSpec, SortOrder, Map&lt;String, String&gt;, String)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/Tables.html" title="interface in org.apache.iceberg">Tables</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/data/RowDataProjection.html#create(org.apache.iceberg.Schema,org.apache.iceberg.Schema)">create(Schema, Schema)</a></span> - Static method in class org.apache.iceberg.flink.data.<a href="org/apache/iceberg/flink/data/RowDataProjection.html" title="class in org.apache.iceberg.flink.data">RowDataProjection</a></dt>
+<dd>
+<div class="block">Creates a projecting wrapper for <code>RowData</code> rows.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/StructProjection.html#create(org.apache.iceberg.Schema,org.apache.iceberg.Schema)">create(Schema, Schema)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/StructProjection.html" title="class in org.apache.iceberg.util">StructProjection</a></dt>
 <dd>
 <div class="block">Creates a projecting wrapper for <a href="org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg"><code>StructLike</code></a> rows.</div>
@@ -2917,24 +3224,24 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/StructLikeSet.html#create(org.apache.iceberg.types.Types.StructType)">create(Types.StructType)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/StructLikeSet.html" title="class in org.apache.iceberg.util">StructLikeSet</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/iceberg/actions/CreateAction.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">CreateAction</span></a> - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/StructProjection.html#create(org.apache.iceberg.types.Types.StructType,org.apache.iceberg.types.Types.StructType)">create(Types.StructType, Types.StructType)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/StructProjection.html" title="class in org.apache.iceberg.util">StructProjection</a></dt>
 <dd>
-<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
-<div class="deprecationComment">since 0.12.0, will be removed in 0.13.0; use <a href="org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions"><code>SnapshotTable</code></a> or <a href="org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions"><code>MigrateTable</code></a> instead.</div>
-</div>
+<div class="block">Creates a projecting wrapper for <a href="org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg"><code>StructLike</code></a> rows.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/StructProjection.html#createAllowMissing(org.apache.iceberg.types.Types.StructType,org.apache.iceberg.types.Types.StructType)">createAllowMissing(Types.StructType, Types.StructType)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/StructProjection.html" title="class in org.apache.iceberg.util">StructProjection</a></dt>
+<dd>
+<div class="block">Creates a projecting wrapper for <a href="org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg"><code>StructLike</code></a> rows.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/orc/ORC.ReadBuilder.html#createBatchedReaderFunc(java.util.function.Function)">createBatchedReaderFunc(Function&lt;TypeDescription, OrcBatchReader&lt;?&gt;&gt;)</a></span> - Method in class org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/ORC.ReadBuilder.html" title="class in org.apache.iceberg.orc">ORC.ReadBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/Parquet.ReadBuilder.html#createBatchedReaderFunc(java.util.function.Function)">createBatchedReaderFunc(Function&lt;MessageType, VectorizedReader&lt;?&gt;&gt;)</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/Parquet.ReadBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.ReadBuilder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html#createBatchWriterFactory(org.apache.spark.sql.connector.write.PhysicalWriteInfo)">createBatchWriterFactory(PhysicalWriteInfo)</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaBatchWrite</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#createCatalog(java.lang.String,java.util.Map)">createCatalog(String, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalogFactory.html" title="class in org.apache.iceberg.flink">FlinkCatalogFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#createCatalog(java.lang.String,java.util.Map,org.apache.hadoop.conf.Configuration)">createCatalog(String, Map&lt;String, String&gt;, Configuration)</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalogFactory.html" title="class in org.apache.iceberg.flink">FlinkCatalogFactory</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#createCatalogLoader(java.lang.String,java.util.Map,org.apache.hadoop.conf.Configuration)">createCatalogLoader(String, Map&lt;String, String&gt;, Configuration)</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalogFactory.html" title="class in org.apache.iceberg.flink">FlinkCatalogFactory</a></dt>
-<dd>
-<div class="block">Create an Iceberg <a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><code>Catalog</code></a> loader to be used by this Flink catalog adapter.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalog.html#createDatabase(java.lang.String,org.apache.flink.table.catalog.CatalogDatabase,boolean)">createDatabase(String, CatalogDatabase, boolean)</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalog.html" title="class in org.apache.iceberg.flink">FlinkCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkDynamicTableFactory.html#createDynamicTableSink(org.apache.flink.table.factories.DynamicTableFactory.Context)">createDynamicTableSink(DynamicTableFactory.Context)</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkDynamicTableFactory.html" title="class in org.apache.iceberg.flink">FlinkDynamicTableFactory</a></dt>
@@ -2951,6 +3258,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataTableUtils.html#createMetadataTableInstance(org.apache.iceberg.TableOperations,java.lang.String,org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.MetadataTableType)">createMetadataTableInstance(TableOperations, String, TableIdentifier, TableIdentifier, MetadataTableType)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataTable [...]
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataTableUtils.html#createMetadataTableInstance(org.apache.iceberg.Table,org.apache.iceberg.MetadataTableType)">createMetadataTableInstance(Table, MetadataTableType)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataTableUtils.html" title="class in org.apache.iceberg">MetadataTableUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkCatalog.html#createNamespace(java.lang.String%5B%5D,java.util.Map)">createNamespace(String[], Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark">SparkCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSessionCatalog.html#createNamespace(java.lang.String%5B%5D,java.util.Map)">createNamespace(String[], Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a></dt>
@@ -2983,6 +3292,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3OutputFile.html#createOrOverwrite()">createOrOverwrite()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3">S3OutputFile</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/gcp/gcs/GCSOutputFile.html#createOrOverwrite()">createOrOverwrite()</a></span> - Method in class org.apache.iceberg.gcp.gcs.<a href="org/apache/iceberg/gcp/gcs/GCSOutputFile.html" title="class in org.apache.iceberg.gcp.gcs">GCSOutputFile</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopOutputFile.html#createOrOverwrite()">createOrOverwrite()</a></span> - Method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopOutputFile.html" title="class in org.apache.iceberg.hadoop">HadoopOutputFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/OutputFile.html#createOrOverwrite()">createOrOverwrite()</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></dt>
@@ -3047,10 +3358,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Create a table.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseMetastoreCatalog.html#createTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map)">createTable(TableIdentifier, Schema, PartitionSpec, String, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/CachingCatalog.html#createTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map)">createTable(TableIdentifier, Schema, PartitionSpec, String, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/CachingCatalog.html" title="class in org.apache.iceberg">CachingCatalog</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/catalog/Catalog.html#createTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map)">createTable(TableIdentifier, Schema, PartitionSpec, String, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.iceberg.catalog.<a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></dt>
 <dd>
 <div class="block">Create a table.</div>
@@ -3076,10 +3383,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <div class="block">Create a new instance of <code>VectorSchemaRoot</code>
  from the arrow vectors stored in this arrow batch.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html#createWriter(int,long)">createWriter(int, long)</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriterFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/parquet/BaseParquetWriter.html#createWriter(org.apache.parquet.schema.MessageType)">createWriter(MessageType)</a></span> - Method in class org.apache.iceberg.data.parquet.<a href="org/apache/iceberg/data/parquet/BaseParquetWriter.html" title="class in org.apache.iceberg.data.parquet">BaseParquetWriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/orc/ORC.DataWriteBuilder.html#createWriterFunc(java.util.function.BiFunction)">createWriterFunc(BiFunction&lt;Schema, TypeDescription, OrcRowWriter&lt;?&gt;&gt;)</a></span> - Method in class org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/ORC.DataWriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.DataWriteBuilder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/orc/ORC.DeleteWriteBuilder.html#createWriterFunc(java.util.function.BiFunction)">createWriterFunc(BiFunction&lt;Schema, TypeDescription, OrcRowWriter&lt;?&gt;&gt;)</a></span> - Method in class org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/ORC.DeleteWriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.DeleteWriteBuilder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/orc/ORC.WriteBuilder.html#createWriterFunc(java.util.function.BiFunction)">createWriterFunc(BiFunction&lt;Schema, TypeDescription, OrcRowWriter&lt;?&gt;&gt;)</a></span> - Method in class org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/ORC.WriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.WriteBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/Avro.DataWriteBuilder.html#createWriterFunc(java.util.function.Function)">createWriterFunc(Function&lt;Schema, DatumWriter&lt;?&gt;&gt;)</a></span> - Method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/Avro.DataWriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.DataWriteBuilder</a></dt>
@@ -3108,10 +3419,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Return the currently loaded table metadata, without checking for updates.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SnapshotUtil.html#currentAncestors(org.apache.iceberg.Table)">currentAncestors(Table)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SnapshotUtil.html" title="class in org.apache.iceberg.util">SnapshotUtil</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SnapshotUtil.html#currentAncestorIds(org.apache.iceberg.Table)">currentAncestorIds(Table)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SnapshotUtil.html" title="class in org.apache.iceberg.util">SnapshotUtil</a></dt>
 <dd>
 <div class="block">Return the snapshot IDs for the ancestors of the current table state.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SnapshotUtil.html#currentAncestors(org.apache.iceberg.Table)">currentAncestors(Table)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SnapshotUtil.html" title="class in org.apache.iceberg.util">SnapshotUtil</a></dt>
+<dd>
+<div class="block">Returns an iterable that traverses the table's snapshots from the current to the last known ancestor.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/ColumnIterator.html#currentDefinitionLevel()">currentDefinitionLevel()</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/ColumnIterator.html" title="class in org.apache.iceberg.parquet">ColumnIterator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/BasePageIterator.html#currentDL">currentDL</a></span> - Variable in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></dt>
@@ -3176,6 +3491,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Interface for data files listed in a table manifest.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#dataFileFormat()">dataFileFormat()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/DataWriteResult.html#dataFiles()">dataFiles()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/DataWriteResult.html" title="class in org.apache.iceberg.io">DataWriteResult</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/TaskWriter.html#dataFiles()">dataFiles()</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/TaskWriter.html" title="interface in org.apache.iceberg.io">TaskWriter</a></dt>
 <dd>
 <div class="block">Close the writer and get the completed data files, it requires that the task writer would produce data files only.</div>
@@ -3186,16 +3505,18 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/DataFiles.Builder.html" title="class in org.apache.iceberg"><span class="typeNameLink">DataFiles.Builder</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/ExpireSnapshotsActionResult.html#dataFilesDeleted()">dataFilesDeleted()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">ExpireSnapshotsActionResult</a></dt>
-<dd>
-<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
-&nbsp;</dd>
 <dt><a href="org/apache/iceberg/DataFilesTable.html" title="class in org.apache.iceberg"><span class="typeNameLink">DataFilesTable</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>
 <div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's data files as rows.</div>
 </dd>
 <dt><a href="org/apache/iceberg/DataFilesTable.FilesTableScan.html" title="class in org.apache.iceberg"><span class="typeNameLink">DataFilesTable.FilesTableScan</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/flink/source/DataIterator.html" title="class in org.apache.iceberg.flink.source"><span class="typeNameLink">DataIterator</span></a>&lt;<a href="org/apache/iceberg/flink/source/DataIterator.html" title="type parameter in DataIterator">T</a>&gt; - Class in <a href="org/apache/iceberg/flink/source/package-summary.html">org.apache.iceberg.flink.source</a></dt>
+<dd>
+<div class="block">Flink data iterator that reads <a href="org/apache/iceberg/CombinedScanTask.html" title="interface in org.apache.iceberg"><code>CombinedScanTask</code></a> into a <a href="org/apache/iceberg/io/CloseableIterator.html" title="interface in org.apache.iceberg.io"><code>CloseableIterator</code></a></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/DataIterator.html#%3Cinit%3E(org.apache.iceberg.flink.source.FileScanTaskReader,org.apache.iceberg.CombinedScanTask,org.apache.iceberg.io.FileIO,org.apache.iceberg.encryption.EncryptionManager)">DataIterator(FileScanTaskReader&lt;T&gt;, CombinedScanTask, FileIO, EncryptionManager)</a></span> - Constructor for class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/DataIterator.html" title="cl [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/Snapshot.html#dataManifests()">dataManifests()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></dt>
 <dd>
 <div class="block">Return a <a href="org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg"><code>ManifestFile</code></a> for each data manifest in this snapshot.</div>
@@ -3208,7 +3529,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/avro/DataReader.html#%3Cinit%3E(org.apache.iceberg.Schema,org.apache.avro.Schema,java.util.Map)">DataReader(Schema, Schema, Map&lt;Integer, ?&gt;)</a></span> - Constructor for class org.apache.iceberg.data.avro.<a href="org/apache/iceberg/data/avro/DataReader.html" title="class in org.apache.iceberg.data.avro">DataReader</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseWriterFactory.html#dataSchema()">dataSchema()</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseWriterFactory.html" title="class in org.apache.iceberg.data">BaseWriterFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseFileWriterFactory.html#dataSchema()">dataSchema()</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data">BaseFileWriterFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/DataTableScan.html" title="class in org.apache.iceberg"><span class="typeNameLink">DataTableScan</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
@@ -3222,6 +3543,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ScanSummary.PartitionMetrics.html#dataTimestampMillis()">dataTimestampMillis()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/ScanSummary.PartitionMetrics.html" title="class in org.apache.iceberg">ScanSummary.PartitionMetrics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkMetadataColumn.html#dataType()">dataType()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkMetadataColumn.html" title="class in org.apache.iceberg.spark.source">SparkMetadataColumn</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/catalog/ProcedureParameter.html#dataType()">dataType()</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.catalog.<a href="org/apache/spark/sql/connector/iceberg/catalog/ProcedureParameter.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">ProcedureParameter</a></dt>
 <dd>
 <div class="block">Returns the type of this parameter.</div>
@@ -3236,6 +3559,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/DataWriter.html#%3Cinit%3E(org.apache.iceberg.io.FileAppender,org.apache.iceberg.FileFormat,java.lang.String,org.apache.iceberg.PartitionSpec,org.apache.iceberg.StructLike,org.apache.iceberg.encryption.EncryptionKeyMetadata,org.apache.iceberg.SortOrder)">DataWriter(FileAppender&lt;T&gt;, FileFormat, String, PartitionSpec, StructLike, EncryptionKeyMetadata, SortOrder)</a></span> - Constructor for class org.apache.iceberg.io.< [...]
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/io/DataWriteResult.html" title="class in org.apache.iceberg.io"><span class="typeNameLink">DataWriteResult</span></a> - Class in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
+<dd>
+<div class="block">A result of writing data files.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/DataWriteResult.html#%3Cinit%3E(java.util.List)">DataWriteResult(List&lt;DataFile&gt;)</a></span> - Constructor for class org.apache.iceberg.io.<a href="org/apache/iceberg/io/DataWriteResult.html" title="class in org.apache.iceberg.io">DataWriteResult</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/DataWriteResult.html#%3Cinit%3E(org.apache.iceberg.DataFile)">DataWriteResult(DataFile)</a></span> - Constructor for class org.apache.iceberg.io.<a href="org/apache/iceberg/io/DataWriteResult.html" title="class in org.apache.iceberg.io">DataWriteResult</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/types/Type.TypeID.html#DATE">DATE</a></span> - org.apache.iceberg.types.<a href="org/apache/iceberg/types/Type.TypeID.html" title="enum in org.apache.iceberg.types">Type.TypeID</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergObjectInspector.html#DATE_INSPECTOR">DATE_INSPECTOR</a></span> - Static variable in class org.apache.iceberg.mr.hive.serde.objectinspector.<a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergObjectInspector</a></dt>
@@ -3336,6 +3667,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/encryption/PlaintextEncryptionManager.html#decrypt(org.apache.iceberg.encryption.EncryptedInputFile)">decrypt(EncryptedInputFile)</a></span> - Method in class org.apache.iceberg.encryption.<a href="org/apache/iceberg/encryption/PlaintextEncryptionManager.html" title="class in org.apache.iceberg.encryption">PlaintextEncryptionManager</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/gcp/GCPProperties.html#decryptionKey()">decryptionKey()</a></span> - Method in class org.apache.iceberg.gcp.<a href="org/apache/iceberg/gcp/GCPProperties.html" title="class in org.apache.iceberg.gcp">GCPProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/transforms/Transform.html#dedupName()">dedupName()</a></span> - Method in interface org.apache.iceberg.transforms.<a href="org/apache/iceberg/transforms/Transform.html" title="interface in org.apache.iceberg.transforms">Transform</a></dt>
 <dd>
 <div class="block">Return the unique transform name to check if similar transforms for the same source field
@@ -3345,6 +3678,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#DEFAULT_DATABASE">DEFAULT_DATABASE</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalogFactory.html" title="class in org.apache.iceberg.flink">FlinkCatalogFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#DEFAULT_DATABASE_NAME">DEFAULT_DATABASE_NAME</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalogFactory.html" title="class in org.apache.iceberg.flink">FlinkCatalogFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#DEFAULT_FILE_FORMAT">DEFAULT_FILE_FORMAT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#DEFAULT_FILE_FORMAT_DEFAULT">DEFAULT_FILE_FORMAT_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
@@ -3360,6 +3695,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <div class="block">Instructs this builder to return AlwaysNull if no implementation is
  found.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/AliyunClientFactories.html#defaultFactory()">defaultFactory()</a></span> - Static method in class org.apache.iceberg.aliyun.<a href="org/apache/iceberg/aliyun/AliyunClientFactories.html" title="class in org.apache.iceberg.aliyun">AliyunClientFactories</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsClientFactories.html#defaultFactory()">defaultFactory()</a></span> - Static method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsClientFactories.html" title="class in org.apache.iceberg.aws">AwsClientFactories</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/UpdateProperties.html#defaultFormat(org.apache.iceberg.FileFormat)">defaultFormat(FileFormat)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/UpdateProperties.html" title="interface in org.apache.iceberg">UpdateProperties</a></dt>
@@ -3370,6 +3707,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">The property used to set a default location for tables in a namespace.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/LockManagers.html#defaultLockManager()">defaultLockManager()</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/LockManagers.html" title="class in org.apache.iceberg.util">LockManagers</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkCatalog.html#defaultNamespace()">defaultNamespace()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark">SparkCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSessionCatalog.html#defaultNamespace()">defaultNamespace()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a></dt>
@@ -3402,20 +3741,60 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/io/DelegatingOutputStream.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">DelegatingOutputStream</span></a> - Interface in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/deletes/PositionDeleteIndex.html#delete(long)">delete(long)</a></span> - Method in interface org.apache.iceberg.deletes.<a href="org/apache/iceberg/deletes/PositionDeleteIndex.html" title="interface in org.apache.iceberg.deletes">PositionDeleteIndex</a></dt>
+<dd>
+<div class="block">Set a deleted row position.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/deletes/PositionDeleteIndex.html#delete(long,long)">delete(long, long)</a></span> - Method in interface org.apache.iceberg.deletes.<a href="org/apache/iceberg/deletes/PositionDeleteIndex.html" title="interface in org.apache.iceberg.deletes">PositionDeleteIndex</a></dt>
+<dd>
+<div class="block">Set a range of deleted row positions.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ManifestWriter.html#delete(F)">delete(F)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a></dt>
 <dd>
 <div class="block">Add a delete entry for a file.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/deletes/PositionDeleteWriter.html#delete(java.lang.CharSequence,long)">delete(CharSequence, long)</a></span> - Method in class org.apache.iceberg.deletes.<a href="org/apache/iceberg/deletes/PositionDeleteWriter.html" title="class in org.apache.iceberg.deletes">PositionDeleteWriter</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
+<div class="deprecationComment">since 0.13.0, will be removed in 0.14.0; use <a href="org/apache/iceberg/deletes/PositionDeleteWriter.html#write(org.apache.iceberg.deletes.PositionDelete)"><code>PositionDeleteWriter.write(PositionDelete)</code></a> instead.</div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/PositionDeltaWriter.html#delete(java.lang.CharSequence,long,org.apache.iceberg.PartitionSpec,org.apache.iceberg.StructLike)">delete(CharSequence, long, PartitionSpec, StructLike)</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/PositionDeltaWriter.html" title="interface in org.apache.iceberg.io">PositionDeltaWriter</a></dt>
+<dd>
+<div class="block">Deletes a position in the provided spec/partition.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/deletes/PositionDeleteWriter.html#delete(java.lang.CharSequence,long,T)">delete(CharSequence, long, T)</a></span> - Method in class org.apache.iceberg.deletes.<a href="org/apache/iceberg/deletes/PositionDeleteWriter.html" title="class in org.apache.iceberg.deletes">PositionDeleteWriter</a></dt>
+<dd>
+<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
+<div class="deprecationComment">since 0.13.0, will be removed in 0.14.0; use <a href="org/apache/iceberg/deletes/PositionDeleteWriter.html#write(org.apache.iceberg.deletes.PositionDelete)"><code>PositionDeleteWriter.write(PositionDelete)</code></a> instead.</div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/BasePositionDeltaWriter.html#delete(java.lang.CharSequence,long,T,org.apache.iceberg.PartitionSpec,org.apache.iceberg.StructLike)">delete(CharSequence, long, T, PartitionSpec, StructLike)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/BasePositionDeltaWriter.html" title="class in org.apache.iceberg.io">BasePositionDeltaWriter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/PositionDeltaWriter.html#delete(java.lang.CharSequence,long,T,org.apache.iceberg.PartitionSpec,org.apache.iceberg.StructLike)">delete(CharSequence, long, T, PartitionSpec, StructLike)</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/PositionDeltaWriter.html" title="interface in org.apache.iceberg.io">PositionDeltaWriter</a></dt>
+<dd>
+<div class="block">Deletes a position in the provided spec/partition and records the deleted row in the delete file.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html#delete(T)">delete(T)</a></span> - Method in class org.apache.iceberg.deletes.<a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html" title="class in org.apache.iceberg.deletes">EqualityDeleteWriter</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
+<div class="deprecationComment">since 0.13.0, will be removed in 0.14.0; use <a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html#write(T)"><code>EqualityDeleteWriter.write(Object)</code></a> instead.</div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/BaseTaskWriter.BaseEqualityDeltaWriter.html#delete(T)">delete(T)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/BaseTaskWriter.BaseEqualityDeltaWriter.html" title="class in org.apache.iceberg.io">BaseTaskWriter.BaseEqualityDeltaWriter</a></dt>
 <dd>
 <div class="block">Delete those rows whose equality fields has the same values with the given row.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/EqualityDeltaWriter.html#delete(T,org.apache.iceberg.PartitionSpec,org.apache.iceberg.StructLike)">delete(T, PartitionSpec, StructLike)</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/EqualityDeltaWriter.html" title="interface in org.apache.iceberg.io">EqualityDeltaWriter</a></dt>
+<dd>
+<div class="block">Deletes a row from the provided spec/partition.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html#delete(T,T)">delete(T, T)</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriter</a></dt>
+<dd>
+<div class="block">Passes information for a row that must be deleted.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperation.Command.html#DELETE">DELETE</a></span> - org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/RowLevelOperation.Command.html" title="enum in org.apache.spark.sql.connector.iceberg.write">RowLevelOperation.Command</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/DataOperations.html#DELETE">DELETE</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/DataOperations.html" title="class in org.apache.iceberg">DataOperations</a></dt>
 <dd>
 <div class="block">Data is deleted from the table and no data is added.</div>
@@ -3424,6 +3803,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#DELETE_DEFAULT_FILE_FORMAT">DELETE_DEFAULT_FILE_FORMAT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#DELETE_DISTRIBUTION_MODE">DELETE_DISTRIBUTION_MODE</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataColumns.html#DELETE_FILE_PATH">DELETE_FILE_PATH</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataColumns.html#DELETE_FILE_POS">DELETE_FILE_POS</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></dt>
@@ -3434,8 +3815,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataColumns.html#DELETE_FILE_ROW_FIELD_NAME">DELETE_FILE_ROW_FIELD_NAME</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#DELETE_FILE_THRESHOLD">DELETE_FILE_THRESHOLD</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
+<dd>
+<div class="block">The minimum number of deletes that needs to be associated with a data file for it to be considered for rewriting.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#DELETE_FILE_THRESHOLD_DEFAULT">DELETE_FILE_THRESHOLD_DEFAULT</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ManifestReader.FileType.html#DELETE_FILES">DELETE_FILES</a></span> - org.apache.iceberg.<a href="org/apache/iceberg/ManifestReader.FileType.html" title="enum in org.apache.iceberg">ManifestReader.FileType</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteOptions.html#DELETE_FORMAT">DELETE_FORMAT</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#DELETE_ISOLATION_LEVEL">DELETE_ISOLATION_LEVEL</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#DELETE_ISOLATION_LEVEL_DEFAULT">DELETE_ISOLATION_LEVEL_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
@@ -3456,8 +3845,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#DELETE_TARGET_FILE_SIZE_BYTES">DELETE_TARGET_FILE_SIZE_BYTES</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html#deleteAll(java.lang.Iterable)">deleteAll(Iterable&lt;T&gt;)</a></span> - Method in class org.apache.iceberg.deletes.<a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html" title="class in org.apache.iceberg.deletes">EqualityDeleteWriter</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#DELETE_TARGET_FILE_SIZE_BYTES_DEFAULT">DELETE_TARGET_FILE_SIZE_BYTES_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html#deleteAll(java.lang.Iterable)">deleteAll(Iterable&lt;T&gt;)</a></span> - Method in class org.apache.iceberg.deletes.<a href="org/apache/iceberg/deletes/EqualityDeleteWriter.html" title="class in org.apache.iceberg.deletes">EqualityDeleteWriter</a></dt>
+<dd>
+<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
+<div class="deprecationComment">since 0.13.0, will be removed in 0.14.0; use <a href="org/apache/iceberg/io/FileWriter.html#write(java.lang.Iterable)"><code>FileWriter.write(Iterable)</code></a> instead.</div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/UpdateSchema.html#deleteColumn(java.lang.String)">deleteColumn(String)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/UpdateSchema.html" title="interface in org.apache.iceberg">UpdateSchema</a></dt>
 <dd>
 <div class="block">Delete a column in the schema.</div>
@@ -3496,14 +3891,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Return all files deleted from the table in this snapshot.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/ManifestFileBean.html#deletedFilesCount()">deletedFilesCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ManifestFileBean.html" title="class in org.apache.iceberg.actions">ManifestFileBean</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/GenericManifestFile.html#deletedFilesCount()">deletedFilesCount()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/GenericManifestFile.html" title="class in org.apache.iceberg">GenericManifestFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ManifestFile.html#deletedFilesCount()">deletedFilesCount()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a></dt>
 <dd>
 <div class="block">Returns the number of data files with status DELETED in the manifest file.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/ManifestFileBean.html#deletedFilesCount()">deletedFilesCount()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/ManifestFileBean.html" title="class in org.apache.iceberg.spark.actions">ManifestFileBean</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#deletedManifestListsCount()">deletedManifestListsCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#deletedManifestListsCount()">deletedManifestListsCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></dt>
@@ -3516,10 +3911,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Returns the number of deleted manifest lists.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteManifestsActionResult.html#deletedManifests()">deletedManifests()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">RewriteManifestsActionResult</a></dt>
-<dd>
-<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
-&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#deletedManifestsCount()">deletedManifestsCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#deletedManifestsCount()">deletedManifestsCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></dt>
@@ -3538,7 +3929,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Returns the number of deleted metadata json, version hint files.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/ManifestFileBean.html#deletedRowsCount()">deletedRowsCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ManifestFileBean.html" title="class in org.apache.iceberg.actions">ManifestFileBean</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/data/DeleteFilter.html#deletedRowPositions()">deletedRowPositions()</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/DeleteFilter.html" title="class in org.apache.iceberg.data">DeleteFilter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/GenericManifestFile.html#deletedRowsCount()">deletedRowsCount()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/GenericManifestFile.html" title="class in org.apache.iceberg">GenericManifestFile</a></dt>
 <dd>&nbsp;</dd>
@@ -3546,18 +3937,26 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Returns the total number of rows in all data files with status DELETED in the manifest file.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/ManifestFileBean.html#deletedRowsCount()">deletedRowsCount()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/ManifestFileBean.html" title="class in org.apache.iceberg.spark.actions">ManifestFileBean</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/DeleteFiles.html#deleteFile(java.lang.CharSequence)">deleteFile(CharSequence)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a></dt>
 <dd>
 <div class="block">Delete a file path from the underlying table.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/oss/OSSFileIO.html#deleteFile(java.lang.String)">deleteFile(String)</a></span> - Method in class org.apache.iceberg.aliyun.oss.<a href="org/apache/iceberg/aliyun/oss/OSSFileIO.html" title="class in org.apache.iceberg.aliyun.oss">OSSFileIO</a></dt>
... 85706 lines suppressed ...

[iceberg-docs] 18/47: Add Learn More buttons to the splash page and LearnMore integration into front-matter (#20)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 1077e237d508b3a3a57cd90795955378414b57e9
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Thu Jan 27 08:47:39 2022 -0800

    Add Learn More buttons to the splash page and LearnMore integration into front-matter (#20)
    
    * Add Learn More buttons to the splash page and LearnMore integration into front-matter
    
    * Adding 1rem top padding for LearnMore buttons
---
 .../content/about/{about.md => about.html}         | 11 +++++--
 landing-page/layouts/partials/services.html        | 38 +++++++++++++++++++---
 landing-page/static/css/landing-page.css           |  4 +++
 3 files changed, 46 insertions(+), 7 deletions(-)

diff --git a/landing-page/content/about/about.md b/landing-page/content/about/about.html
similarity index 80%
rename from landing-page/content/about/about.md
rename to landing-page/content/about/about.html
index b3dc284..93329ae 100644
--- a/landing-page/content/about/about.md
+++ b/landing-page/content/about/about.html
@@ -20,5 +20,12 @@ Draft: false
  -->
 
 Iceberg adds tables to compute engines including Spark, Trino, PrestoDB, Flink, and Hive using a high-performance table format that works just like a SQL table.
-
-[Learn More](/getting-started)
\ No newline at end of file
+<div class="button-box">
+<ul class="list-inline intro-social-buttons">
+    <li>
+        <a href="/getting-started" class="btn btn-default btn-lg">
+            <span class="network-name">Learn More</span>
+        </a>
+    </li>
+<ul>
+</div>
\ No newline at end of file
diff --git a/landing-page/layouts/partials/services.html b/landing-page/layouts/partials/services.html
index 939392c..4827437 100644
--- a/landing-page/layouts/partials/services.html
+++ b/landing-page/layouts/partials/services.html
@@ -12,11 +12,25 @@
                     <hr class="section-heading-spacer">
                     <div class="clearfix"></div>
                     <h2 class="section-heading">{{ .Title }}</h2>
+                    {{ .Description }}
+                    {{ if .Params.LearnMore }}
+                    <ul class="list-inline intro-social-buttons">
+                        <li>
+                            <a href="{{ .Params.LearnMore }}" class="btn btn-default btn-lg">
+                                <span class="network-name">Learn More</span>
+                            </a>
+                        </li>
+                    </ul>
+                    {{ end }}
+                </div>
+                {{ if .Content }}
+                <div class="col-lg-5 col-lg col-sm-6">
                     {{ .Content }}
                 </div>
-                {{ with .Params.img }}
+                {{ end }}
+                {{ if .Params.Img }}
                 <div class="col-lg-5 col-lg-offset-2 col-sm-6">
-                    <img class="img-responsive" src="{{ $.Site.BaseURL }}/img/{{ . }}" alt="">
+                    <img src="{{ $.Site.BaseURL }}img/{{ .Params.Img }}" height="400px" width="400px">
                 </div>
                 {{ end }}
                 {{ if .Params.asciinemacast }}
@@ -49,11 +63,25 @@
                     <hr class="section-heading-spacer">
                     <div class="clearfix"></div>
                     <h2 class="section-heading">{{ .Title }}</h2>
-                    {{ .Content }}
+                    {{ .Description }}
+                    {{ if .Params.LearnMore }}
+                    <ul class="list-inline intro-social-buttons">
+                        <li>
+                            <a href="{{ .Params.LearnMore }}" class="btn btn-default btn-lg">
+                                <span class="network-name">Learn More</span>
+                            </a>
+                        </li>
+                    </ul>
+                    {{ end }}
                 </div>
-                {{ with .Params.img }}
+                {{ if .Content }}
+                <div class="col-lg-5 col-sm-pull-6  col-sm-6">
+                  {{ .Content }}
+                </div>
+                {{ end }}
+                {{ if .Params.Img }}
                 <div class="col-lg-5 col-sm-pull-6  col-sm-6">
-                  <img class="img-responsive" src="{{ $.Site.BaseURL }}/img/{{ . }}" alt="">
+                    <img src="{{ $.Site.BaseURL }}img/{{ .Params.Img }}" height="600px" width="600px">
                 </div>
                 {{ end }}
                 {{ if .Params.asciinemacast }}
diff --git a/landing-page/static/css/landing-page.css b/landing-page/static/css/landing-page.css
index cd79e89..47e0cdc 100644
--- a/landing-page/static/css/landing-page.css
+++ b/landing-page/static/css/landing-page.css
@@ -58,6 +58,10 @@ h6 {
     text-shadow: 2px 2px 3px rgba(0,0,0,0.6);
 }
 
+.button-box {
+    padding-top: 1rem;
+}
+
 @media(max-width:767px) {
     .intro-message {
         padding-bottom: 15%;

[iceberg-docs] 27/47: Add 0.12.1 release notes (#30)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit edb48b72dcd779b75000e9345f57587dd51c2b63
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Fri Feb 4 13:48:12 2022 -0500

    Add 0.12.1 release notes (#30)
---
 .../content/common/releases/release-notes.md       | 33 +++++++++++++++++++---
 1 file changed, 29 insertions(+), 4 deletions(-)

diff --git a/landing-page/content/common/releases/release-notes.md b/landing-page/content/common/releases/release-notes.md
index 0a6719f..ba40086 100644
--- a/landing-page/content/common/releases/release-notes.md
+++ b/landing-page/content/common/releases/release-notes.md
@@ -61,10 +61,38 @@ To add a dependency on Iceberg in Maven, add the following to your `pom.xml`:
   ...
 </dependencies>
 ```
-## 0.12.0 Release Notes
+
+## 0.12.1 Release Notes
+
+Apache Iceberg 0.12.1 was released on November 8th, 2021.
+
+Important bug fixes and changes:
+
+* [\#3264](https://github.com/apache/iceberg/pull/3258) fixes validation failures that occurred after snapshot expiration when writing Flink CDC streams to Iceberg tables.
+* [\#3264](https://github.com/apache/iceberg/pull/3264) fixes reading projected map columns from Parquet files written before Parquet 1.11.1.
+* [\#3195](https://github.com/apache/iceberg/pull/3195) allows validating that commits that produce row-level deltas don't conflict with concurrently added files. Ensures users can maintain serializable isolation for update and delete operations, including merge operations.
+* [\#3199](https://github.com/apache/iceberg/pull/3199) allows validating that commits that overwrite files don't conflict with concurrently added files. Ensures users can maintain serializable isolation for overwrite operations.
+* [\#3135](https://github.com/apache/iceberg/pull/3135) fixes equality-deletes using `DATE`, `TIMESTAMP`, and `TIME` types.
+* [\#3078](https://github.com/apache/iceberg/pull/3078) prevents the JDBC catalog from overwriting the `jdbc.user` property if any property called user exists in the environment.
+* [\#3035](https://github.com/apache/iceberg/pull/3035) fixes drop namespace calls with the DyanmoDB catalog.
+* [\#3273](https://github.com/apache/iceberg/pull/3273) fixes importing Avro files via `add_files` by correctly setting the number of records.
+* [\#3332](https://github.com/apache/iceberg/pull/3332) fixes importing ORC files with float or double columns in `add_files`.
+
+A more exhaustive list of changes is available under the [0.12.1 release milestone](https://github.com/apache/iceberg/milestone/15?closed=1).
+
+## Past releases
+
+### 0.12.0
 
 Apache Iceberg 0.12.0 was released on August 15, 2021. It consists of 395 commits authored by 74 contributors over a 139 day period.
 
+* Git tag: [0.12.0](https://github.com/apache/iceberg/releases/tag/apache-iceberg-0.12.0)
+* [0.12.0 source tar.gz](https://www.apache.org/dyn/closer.cgi/iceberg/apache-iceberg-0.12.0/apache-iceberg-0.12.0.tar.gz) -- [signature](https://downloads.apache.org/iceberg/apache-iceberg-0.12.0/apache-iceberg-0.12.0.tar.gz.asc) -- [sha512](https://downloads.apache.org/iceberg/apache-iceberg-0.12.0/apache-iceberg-0.12.0.tar.gz.sha512)
+* [0.12.0 Spark 3.x runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark3-runtime/0.12.0/iceberg-spark3-runtime-0.12.0.jar)
+* [0.12.0 Spark 2.4 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime/0.12.0/iceberg-spark-runtime-0.12.0.jar)
+* [0.12.0 Flink runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-flink-runtime/0.12.0/iceberg-flink-runtime-0.12.0.jar)
+* [0.12.0 Hive runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-hive-runtime/0.12.0/iceberg-hive-runtime-0.12.0.jar)
+
 **High-level features:**
 
 * **Core**
@@ -125,9 +153,6 @@ Apache Iceberg 0.12.0 was released on August 15, 2021. It consists of 395 commit
     * Avro 1.10.1 [[\#1648](https://github.com/apache/iceberg/pull/1648)].
     * Parquet 1.12.0 [[\#2441](https://github.com/apache/iceberg/pull/2441)].
 
-
-## Past releases
-
 ### 0.11.1
 
 * Git tag: [0.11.1](https://github.com/apache/iceberg/releases/tag/apache-iceberg-0.11.1)

[iceberg-docs] 06/47: Only run actions on push, not pull_request (#6)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 24fc066c3ec4d868e0e3f82f40b162213b9cbc65
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Thu Jan 13 16:26:34 2022 -0800

    Only run actions on push, not pull_request (#6)
---
 .github/workflows/deploy.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 011b014..70d769d 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -1,6 +1,6 @@
 name: github pages
 
-on: [push, pull_request]
+on: [push]
 
 jobs:
   deploy-landing-page:

[iceberg-docs] 36/47: Adding all root level redirects to latest docs site url (#41)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 63484dc7d4ab3b6929b2a2f0a32823828a088165
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Mon Feb 7 20:54:41 2022 -0500

    Adding all root level redirects to latest docs site url (#41)
---
 redirects/0.12.1/index.html                                 | 2 +-
 redirects/{0.12.0 => api}/index.html                        | 2 +-
 redirects/{0.12.0 => aws}/index.html                        | 2 +-
 redirects/{0.12.0 => configuration}/index.html              | 2 +-
 redirects/{0.12.0 => custom-catalog}/index.html             | 2 +-
 redirects/{0.12.0 => evolution}/index.html                  | 2 +-
 redirects/{0.12.0 => flink-connector}/index.html            | 2 +-
 redirects/{0.12.0 => flink}/index.html                      | 2 +-
 redirects/{0.12.0 => hive}/index.html                       | 2 +-
 redirects/{0.12.0 => java-api-quickstart}/index.html        | 2 +-
 redirects/{0.12.0 => javadoc}/index.html                    | 2 +-
 redirects/{0.12.0 => jdbc}/index.html                       | 2 +-
 redirects/{0.12.0 => maintenance}/index.html                | 2 +-
 redirects/{0.12.0 => nessie}/index.html                     | 2 +-
 redirects/{0.12.0 => partitioning}/index.html               | 2 +-
 redirects/{0.12.0 => performance}/index.html                | 2 +-
 redirects/{0.12.0 => python-api-intro}/index.html           | 2 +-
 redirects/{0.12.0 => python-feature-support}/index.html     | 2 +-
 redirects/{0.12.0 => python-quickstart}/index.html          | 2 +-
 redirects/{0.12.0 => reliability}/index.html                | 2 +-
 redirects/{0.12.0 => schemas}/index.html                    | 2 +-
 redirects/{0.12.0 => spark-configuration}/index.html        | 2 +-
 redirects/{0.12.0 => spark-ddl}/index.html                  | 2 +-
 redirects/{0.12.0 => spark-procedures}/index.html           | 2 +-
 redirects/{0.12.0 => spark-queries}/index.html              | 2 +-
 redirects/{0.12.0 => spark-structured-streaming}/index.html | 2 +-
 redirects/{0.12.0 => spark-writes}/index.html               | 2 +-
 27 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/redirects/0.12.1/index.html b/redirects/0.12.1/index.html
index 32e0a04..a926e39 100644
--- a/redirects/0.12.1/index.html
+++ b/redirects/0.12.1/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/0.12.1'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/api/index.html
similarity index 92%
copy from redirects/0.12.0/index.html
copy to redirects/api/index.html
index 32e0a04..681d4e6 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/api/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/api'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/aws/index.html
similarity index 92%
copy from redirects/0.12.0/index.html
copy to redirects/aws/index.html
index 32e0a04..29b5cd3 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/aws/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/aws'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/configuration/index.html
similarity index 91%
copy from redirects/0.12.0/index.html
copy to redirects/configuration/index.html
index 32e0a04..4788d26 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/configuration/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/configuration'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/custom-catalog/index.html
similarity index 91%
copy from redirects/0.12.0/index.html
copy to redirects/custom-catalog/index.html
index 32e0a04..c9c8994 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/custom-catalog/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/custom-catalog'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/evolution/index.html
similarity index 91%
copy from redirects/0.12.0/index.html
copy to redirects/evolution/index.html
index 32e0a04..595f713 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/evolution/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/evolution'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/flink-connector/index.html
similarity index 91%
copy from redirects/0.12.0/index.html
copy to redirects/flink-connector/index.html
index 32e0a04..25398c9 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/flink-connector/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/flink-connector'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/flink/index.html
similarity index 92%
copy from redirects/0.12.0/index.html
copy to redirects/flink/index.html
index 32e0a04..079493f 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/flink/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/flink'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/hive/index.html
similarity index 92%
copy from redirects/0.12.0/index.html
copy to redirects/hive/index.html
index 32e0a04..b343b41 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/hive/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/hive'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/java-api-quickstart/index.html
similarity index 90%
copy from redirects/0.12.0/index.html
copy to redirects/java-api-quickstart/index.html
index 32e0a04..ac2c695 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/java-api-quickstart/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/java-api-quickstart'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/javadoc/index.html
similarity index 92%
copy from redirects/0.12.0/index.html
copy to redirects/javadoc/index.html
index 32e0a04..7d19117 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/javadoc/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/javadoc/latest'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/jdbc/index.html
similarity index 92%
copy from redirects/0.12.0/index.html
copy to redirects/jdbc/index.html
index 32e0a04..847e8bf 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/jdbc/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/jdbc'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/maintenance/index.html
similarity index 91%
copy from redirects/0.12.0/index.html
copy to redirects/maintenance/index.html
index 32e0a04..1038340 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/maintenance/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/maintenance'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/nessie/index.html
similarity index 92%
copy from redirects/0.12.0/index.html
copy to redirects/nessie/index.html
index 32e0a04..4088cf2 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/nessie/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/nessie'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/partitioning/index.html
similarity index 91%
copy from redirects/0.12.0/index.html
copy to redirects/partitioning/index.html
index 32e0a04..c3dcc64 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/partitioning/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/partitioning'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/performance/index.html
similarity index 91%
copy from redirects/0.12.0/index.html
copy to redirects/performance/index.html
index 32e0a04..b5c215f 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/performance/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/performance'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/python-api-intro/index.html
similarity index 90%
copy from redirects/0.12.0/index.html
copy to redirects/python-api-intro/index.html
index 32e0a04..b6606ed 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/python-api-intro/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/python-api-intro'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/python-feature-support/index.html
similarity index 90%
copy from redirects/0.12.0/index.html
copy to redirects/python-feature-support/index.html
index 32e0a04..921f723 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/python-feature-support/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/python-feature-support'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/python-quickstart/index.html
similarity index 90%
copy from redirects/0.12.0/index.html
copy to redirects/python-quickstart/index.html
index 32e0a04..ddac2e0 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/python-quickstart/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/python-quickstart'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/reliability/index.html
similarity index 91%
copy from redirects/0.12.0/index.html
copy to redirects/reliability/index.html
index 32e0a04..400a0e5 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/reliability/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/reliability'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/schemas/index.html
similarity index 91%
copy from redirects/0.12.0/index.html
copy to redirects/schemas/index.html
index 32e0a04..c3153f5 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/schemas/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/schemas'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/spark-configuration/index.html
similarity index 90%
copy from redirects/0.12.0/index.html
copy to redirects/spark-configuration/index.html
index 32e0a04..1f88f8d 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/spark-configuration/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/spark-configuration'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/spark-ddl/index.html
similarity index 91%
copy from redirects/0.12.0/index.html
copy to redirects/spark-ddl/index.html
index 32e0a04..99ae137 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/spark-ddl/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/spark-ddl'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/spark-procedures/index.html
similarity index 90%
copy from redirects/0.12.0/index.html
copy to redirects/spark-procedures/index.html
index 32e0a04..adfddcb 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/spark-procedures/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/spark-procedures'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/spark-queries/index.html
similarity index 91%
copy from redirects/0.12.0/index.html
copy to redirects/spark-queries/index.html
index 32e0a04..a805600 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/spark-queries/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/spark-queries'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/spark-structured-streaming/index.html
similarity index 89%
copy from redirects/0.12.0/index.html
copy to redirects/spark-structured-streaming/index.html
index 32e0a04..038cb97 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/spark-structured-streaming/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/spark-structured-streaming'" />
 </head>
diff --git a/redirects/0.12.0/index.html b/redirects/spark-writes/index.html
similarity index 91%
rename from redirects/0.12.0/index.html
rename to redirects/spark-writes/index.html
index 32e0a04..0edd64e 100644
--- a/redirects/0.12.0/index.html
+++ b/redirects/spark-writes/index.html
@@ -15,5 +15,5 @@
  - limitations under the License.
  -->
 <head>
-  <meta http-equiv="Refresh" content="0; url='/docs/latest'" />
+  <meta http-equiv="Refresh" content="0; url='/docs/latest/spark-writes'" />
 </head>

[iceberg-docs] 23/47: Add LearnMore link for Expressive SQL display (#24)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 5410bb82af766b9571d63f988ba7cba7c74ea87b
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Mon Jan 31 13:54:22 2022 -0800

    Add LearnMore link for Expressive SQL display (#24)
---
 landing-page/content/services/expressive-sql.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/landing-page/content/services/expressive-sql.html b/landing-page/content/services/expressive-sql.html
index 456863a..ddd262f 100644
--- a/landing-page/content/services/expressive-sql.html
+++ b/landing-page/content/services/expressive-sql.html
@@ -1,7 +1,7 @@
 ---
 Title: Expressive SQL
 Description: Iceberg supports flexible SQL commands to merge new data, update existing rows, and perform targeted deletes. Iceberg can eagerly rewrite data files for read performance, or it can use delete deltas for faster updates.
-<!-- LearnMore: /docs/latest/row-level-deletes -->
+LearnMore: /docs/latest/spark-writes/
 Category: Services
 Draft: false
 weight: 100

[iceberg-docs] 38/47: Backport #4028: Add --check to verify checksum doc (#39)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 1a59d62cf52f154639bfc8563b7ec91d2ff40465
Author: Jack Ye <yz...@amazon.com>
AuthorDate: Mon Feb 7 18:00:26 2022 -0800

    Backport #4028: Add --check to verify checksum doc (#39)
---
 landing-page/content/common/releases/how-to-verify-a-release.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/landing-page/content/common/releases/how-to-verify-a-release.md b/landing-page/content/common/releases/how-to-verify-a-release.md
index 82cccc2..bdb81a1 100644
--- a/landing-page/content/common/releases/how-to-verify-a-release.md
+++ b/landing-page/content/common/releases/how-to-verify-a-release.md
@@ -58,7 +58,7 @@ gpg --verify apache-iceberg-{{% icebergVersion %}}.tar.gz.asc
 ### Verifying Checksums
 
 ```bash
-shasum -a 512 apache-iceberg-{{% icebergVersion %}}.tar.gz.sha512
+shasum -a 512 --check apache-iceberg-{{% icebergVersion %}}.tar.gz.sha512
 ```
 
 ### Verifying License Documentation

[iceberg-docs] 15/47: Rename javadocs -> javadoc (#14)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 9f66ddb922b4064cf88103a4b6e0a75f8f5682e1
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Fri Jan 14 13:43:45 2022 -0800

    Rename javadocs -> javadoc (#14)
---
 README.md                                             | 14 +++++++-------
 docs/content/docs/api/{javadocs => javadoc}/_index.md |  0
 docs/layouts/partials/docs/menu-filetree.html         |  2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/README.md b/README.md
index 6788cb1..eef928b 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,7 @@ It's built with [Hugo](https://gohugo.io/) and hosted at https://iceberg.apache.
 # Structure
 
 The Iceberg documentation site is actually constructed from two hugo sites. The first, is the landing page. The second site, 
-is the documentation site which contains the full Iceberg documentation, including the javadocs. The landing page and
+is the documentation site which contains the full Iceberg documentation, including the javadoc. The landing page and
 documentation sites are completely self-contained in the `./landing-page` and `./docs` directories, respectively.
 
 # Landing Page Deployment
@@ -42,7 +42,7 @@ named after the branch where the commit occured. This is performed by the `deplo
 **except** `main`. A branch is maintained for each Iceberg version. If the job runs and the directory does not
 yet exist in the `asf-site` branch, it will be created.
 
-Additionally, the contents of the `javadocs` directory is deployed to a `javadocs/<branch_name>` directory in
+Additionally, the contents of the `javadoc` directory is deployed to a `javadoc/<branch_name>` directory in
 the `asf-site` branch.
 
 #### Latest Docs
@@ -60,17 +60,17 @@ The `asf-site` branch structure is the following:
 │   ├── latest
 │   │   └── <Full Docs Site @latest>
 │   └── index.html  <-- Includes a redirect to 0.12.1 which is the latest version
-├── javadocs
+├── javadoc
 │   ├── 0.12.1
-│   │   └── <Full javadocs site @0.12.1>
+│   │   └── <Full javadoc site @0.12.1>
 │   └── latest
-│       └── <Full javadocs Site @latest>
+│       └── <Full javadoc Site @latest>
 └── <Full Landing Page Site>
 ```
 
 A non-`main` branch commit deploys the docs site into a new sub-directory in the
-`asf-site` branch's `docs` directory, as well as copies the javadocs directory into a new sub-directory
-in the `asf-site` branch's `javadocs` directory.
+`asf-site` branch's `docs` directory, as well as copies the javadoc directory into a new sub-directory
+in the `asf-site` branch's `javadoc` directory.
 
 A `main` branch commit deploys the landing page site **only** and overwrites the landing page site at
 the root of the `asf-site` branch.
diff --git a/docs/content/docs/api/javadocs/_index.md b/docs/content/docs/api/javadoc/_index.md
similarity index 100%
rename from docs/content/docs/api/javadocs/_index.md
rename to docs/content/docs/api/javadoc/_index.md
diff --git a/docs/layouts/partials/docs/menu-filetree.html b/docs/layouts/partials/docs/menu-filetree.html
index 7c11790..12f032b 100644
--- a/docs/layouts/partials/docs/menu-filetree.html
+++ b/docs/layouts/partials/docs/menu-filetree.html
@@ -67,7 +67,7 @@
             class="book-section-collapsed navigation-icon-pad"
           {{ end -}}
         >
-            <a href="{{ .Page.Site.BaseURL }}/../../javadocs/{{ .Page.Site.Params.versions.iceberg }}">
+            <a href="{{ .Page.Site.BaseURL }}/../../javadoc/{{ .Page.Site.Params.versions.iceberg }}">
               {{ template "book-nav-item-logo-image" (dict "Page" .) }}
               {{.Title}}
             </a>

[iceberg-docs] 24/47: spark-sql -> sql (#25)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 2e729aa9924bc8a6f8cdd035f59fbf45bbcccfbe
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Mon Jan 31 15:32:43 2022 -0800

    spark-sql -> sql (#25)
---
 landing-page/content/services/data-compaction.html  | 2 +-
 landing-page/content/services/expressive-sql.html   | 4 ++--
 landing-page/content/services/schema-evolution.html | 6 +++---
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/landing-page/content/services/data-compaction.html b/landing-page/content/services/data-compaction.html
index 70ff2a1..69d66cf 100644
--- a/landing-page/content/services/data-compaction.html
+++ b/landing-page/content/services/data-compaction.html
@@ -22,5 +22,5 @@ weight: 500
  - limitations under the License.
  -->
  <div id="termynal-data-compaction" data-termynal data-ty-startDelay="8000" data-ty-typeDelay="20" data-ty-lineDelay="500">
-    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="spark-sql>">CALL system.rewrite_data_files("nyc.taxis");</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="sql>">CALL system.rewrite_data_files("nyc.taxis");</span>
 </div>
\ No newline at end of file
diff --git a/landing-page/content/services/expressive-sql.html b/landing-page/content/services/expressive-sql.html
index ddd262f..d0196b3 100644
--- a/landing-page/content/services/expressive-sql.html
+++ b/landing-page/content/services/expressive-sql.html
@@ -23,10 +23,10 @@ weight: 100
  - limitations under the License.
  -->
  <div id="termynal-expressive-sql" data-termynal data-ty-startDelay="2000" data-ty-typeDelay="20" data-ty-lineDelay="500">
-    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="spark-sql>">MERGE INTO prod.nyc.taxis pt</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="sql>">MERGE INTO prod.nyc.taxis pt</span>
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">USING (SELECT * FROM staging.nyc.taxis) st</span>
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">ON pt.id = st.id</span>
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">WHEN NOT MATCHED THEN INSERT *;</span>
     <span data-ty>Done!</span>
-    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="spark-sql>"></span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="sql>"></span>
 </div>
\ No newline at end of file
diff --git a/landing-page/content/services/schema-evolution.html b/landing-page/content/services/schema-evolution.html
index e7bac9b..4c32985 100644
--- a/landing-page/content/services/schema-evolution.html
+++ b/landing-page/content/services/schema-evolution.html
@@ -23,15 +23,15 @@ weight: 200
  - limitations under the License.
  -->
 <div id="termynal" data-termynal data-ty-startDelay="4000" data-ty-typeDelay="20" data-ty-lineDelay="500">
-    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="spark-sql>">ALTER TABLE taxis</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="sql>">ALTER TABLE taxis</span>
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">ALTER COLUMN trip_distance</span>
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="" data-ty-delay="2500">TYPE double;</span>
     <span data-ty>Done!</span>
-    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="spark-sql>">ALTER TABLE taxis</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="sql>">ALTER TABLE taxis</span>
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">ALTER COLUMN trip_distance</span>
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">AFTER fare;</span>
     <span data-ty>Done!</span>
-    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="spark-sql>">ALTER TABLE taxis</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="sql>">ALTER TABLE taxis</span>
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">RENAME COLUMN trip_distance</span>
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">TO distance;</span>
     <span data-ty>Done!</span>

[iceberg-docs] 37/47: Backport #3982: Update release instructions (#38)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 96f967f207cf88536def4f438251545f30184942
Author: Jack Ye <yz...@amazon.com>
AuthorDate: Mon Feb 7 18:00:08 2022 -0800

    Backport #3982: Update release instructions (#38)
---
 .../content/common/project/how-to-release.md       | 77 +++++++++++++++++++---
 1 file changed, 67 insertions(+), 10 deletions(-)

diff --git a/landing-page/content/common/project/how-to-release.md b/landing-page/content/common/project/how-to-release.md
index 224e255..3792ac2 100644
--- a/landing-page/content/common/project/how-to-release.md
+++ b/landing-page/content/common/project/how-to-release.md
@@ -26,6 +26,17 @@ To create a release candidate, you will need:
 * Apache LDAP credentals for Nexus and SVN
 * A [GPG key for signing](https://www.apache.org/dev/release-signing#generate), published in [KEYS](https://dist.apache.org/repos/dist/dev/iceberg/KEYS)
 
+If you have not published your GPG key yet, you must publish it before sending the vote email by doing:
+
+```shell
+svn co https://dist.apache.org/repos/dist/dev/iceberg icebergsvn
+cd icebergsvn
+echo "" >> KEYS # append a newline
+gpg --list-sigs <YOUR KEY ID HERE> >> KEYS # append signatures
+gpg --armor --export <YOUR KEY ID HERE> >> KEYS # append public key block
+svn commit -m "add key for <YOUR NAME HERE>"
+```
+
 ### Nexus access
 
 Nexus credentials are configured in your personal `~/.gradle/gradle.properties` file using `mavenUser` and `mavenPassword`:
@@ -56,15 +67,54 @@ For more information, see the Gradle [signing documentation](https://docs.gradle
 To create the source release artifacts, run the `source-release.sh` script with the release version and release candidate number:
 
 ```bash
-dev/source-release.sh 0.8.1 0
-```
+dev/source-release.sh -v 0.13.0 -r 0 -k <YOUR KEY ID HERE>
 ```
-Preparing source for apache-iceberg-0.8.1-rc0
-...
+
+Example console output:
+
+```text
+Preparing source for apache-iceberg-0.13.0-rc1
+Adding version.txt and tagging release...
+[master ca8bb7d0] Add version.txt for release 0.13.0
+ 1 file changed, 1 insertion(+)
+ create mode 100644 version.txt
+Pushing apache-iceberg-0.13.0-rc1 to origin...
+Enumerating objects: 5, done.
+Counting objects: 100% (5/5), done.
+Delta compression using up to 12 threads
+Compressing objects: 100% (3/3), done.
+Writing objects: 100% (4/4), 433 bytes | 433.00 KiB/s, done.
+Total 4 (delta 1), reused 0 (delta 0)
+remote: Resolving deltas: 100% (1/1), completed with 1 local object.
+To https://github.com/apache/iceberg.git
+ * [new tag]           apache-iceberg-0.13.0-rc1 -> apache-iceberg-0.13.0-rc1
+Creating tarball  using commit ca8bb7d0821f35bbcfa79a39841be8fb630ac3e5
+Signing the tarball...
+Checking out Iceberg RC subversion repo...
+Checked out revision 52260.
+Adding tarball to the Iceberg distribution Subversion repo...
+A         tmp/apache-iceberg-0.13.0-rc1
+A         tmp/apache-iceberg-0.13.0-rc1/apache-iceberg-0.13.0.tar.gz.asc
+A  (bin)  tmp/apache-iceberg-0.13.0-rc1/apache-iceberg-0.13.0.tar.gz
+A         tmp/apache-iceberg-0.13.0-rc1/apache-iceberg-0.13.0.tar.gz.sha512
+Adding         tmp/apache-iceberg-0.13.0-rc1
+Adding  (bin)  tmp/apache-iceberg-0.13.0-rc1/apache-iceberg-0.13.0.tar.gz
+Adding         tmp/apache-iceberg-0.13.0-rc1/apache-iceberg-0.13.0.tar.gz.asc
+Adding         tmp/apache-iceberg-0.13.0-rc1/apache-iceberg-0.13.0.tar.gz.sha512
+Transmitting file data ...done
+Committing transaction...
+Committed revision 52261.
+Creating release-announcement-email.txt...
 Success! The release candidate is available here:
-  https://dist.apache.org/repos/dist/dev/iceberg/apache-iceberg-0.8.1-rc0/
+  https://dist.apache.org/repos/dist/dev/iceberg/apache-iceberg-0.13.0-rc1
 
-Commit SHA1: 4b4716c76559b3cdf3487e6b60ab52950241989b
+Commit SHA1: ca8bb7d0821f35bbcfa79a39841be8fb630ac3e5
+
+We have generated a release announcement email for you here:
+/Users/jackye/iceberg/release-announcement-email.txt
+
+Please note that you must update the Nexus repository URL
+contained in the mail before sending it out.
 ```
 
 The source release script will create a candidate tag based on the HEAD revision in git and will prepare the release tarball, signature, and checksum files. It will also upload the source artifacts to SVN.
@@ -80,8 +130,8 @@ Convenience binaries are created using the source release tarball from in the la
 Untar the source release and go into the release directory:
 
 ```bash
-tar xzf apache-iceberg-0.8.1.tar.gz
-cd apache-iceberg-0.8.1
+tar xzf apache-iceberg-0.13.0.tar.gz
+cd apache-iceberg-0.13.0
 ```
 
 To build and publish the convenience binaries, run the `dev/stage-binaries.sh` script. This will push to a release staging repository.
@@ -95,16 +145,23 @@ Next, you need to close the staging repository:
 1. Go to [Nexus](https://repository.apache.org/) and log in
 2. In the menu on the left, choose "Staging Repositories"
 3. Select the Iceberg repository
+   * If multiple staging repositories are created after running the script, set `org.gradle.parallel=false` in `gradle.properties`
 4. At the top, select "Close" and follow the instructions
-    * In the comment field use "Apache Iceberg &lt;version&gt; RC&lt;num&gt;"
+   * In the comment field use "Apache Iceberg &lt;version&gt; RC&lt;num&gt;"
 
 ### Start a VOTE thread
 
 The last step for a candidate is to create a VOTE thread on the dev mailing list.
+The email template is already generated in `release-announcement-email.txt` with some details filled.
+
+Example title subject:
 
 ```text
-Subject: [VOTE] Release Apache Iceberg <VERSION> RC<NUM>
+[VOTE] Release Apache Iceberg <VERSION> RC<NUM>
 ```
+
+Example content:
+
 ```text
 Hi everyone,
 

[iceberg-docs] 20/47: Adds graphic for time-travel section of splash page (#19)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 651bd25ca9b0263310549562b1bea5d122e8c89b
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Mon Jan 31 11:56:32 2022 -0800

    Adds graphic for time-travel section of splash page (#19)
---
 landing-page/content/services/time-travel.html | 39 ++++++++++++++++++++++++++
 landing-page/static/css/landing-page.css       |  4 +++
 2 files changed, 43 insertions(+)

diff --git a/landing-page/content/services/time-travel.html b/landing-page/content/services/time-travel.html
new file mode 100644
index 0000000..92725c4
--- /dev/null
+++ b/landing-page/content/services/time-travel.html
@@ -0,0 +1,39 @@
+---
+Title: Time Travel and Rollback
+Description: Time-travel enables reproducible queries that use exactly the same table snapshot, or lets users easily examine changes. Version rollback allows users to quickly correct problems by resetting tables to a good state.
+LearnMore: /docs/latest/spark-queries/#time-travel
+Category: Post
+Draft: false
+weight: 400
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+ <div class="termynal-container">
+    <div id="termynal-time-travel" data-termynal data-ty-startDelay="600" data-ty-typeDelay="20" data-ty-lineDelay="500">
+        <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="scala>">spark.read.table("taxis").count()</span>
+        <span data-ty>2,853,020</span>
+        <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="scala>">val ONE_DAY_MS=86400000</span>
+        <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="scala>">val NOW=System.currentTimeMillis()</span>
+        <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="scala>">val YESTERDAY=NOW - ONE_DAY_MS</span>
+        <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="scala>">(spark</span>
+        <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">.read</span>
+        <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">.option("as-of-timestamp", YESTERDAY)</span>
+        <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">.table("taxis")</span>
+        <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">.count())</span>
+        <span data-ty>2,798,371</span>
+    </div>
+</div>
diff --git a/landing-page/static/css/landing-page.css b/landing-page/static/css/landing-page.css
index 47e0cdc..f35b3b1 100644
--- a/landing-page/static/css/landing-page.css
+++ b/landing-page/static/css/landing-page.css
@@ -221,3 +221,7 @@ a.page-scroll {
   		display:block !important;
 	}
 }
+
+.termynal-container {
+    padding-top: 3rem;
+}

[iceberg-docs] 35/47: Fix weights for landing-page for left/right alternations (#40)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit d1094b465dc61e3728d36a53cde534e274a47711
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Mon Feb 7 19:42:14 2022 -0500

    Fix weights for landing-page for left/right alternations (#40)
---
 landing-page/content/services/data-compaction.html     | 2 +-
 landing-page/content/services/expressive-sql.html      | 2 +-
 landing-page/content/services/hidden-partitioning.html | 2 +-
 landing-page/content/services/schema-evolution.html    | 2 +-
 landing-page/content/services/time-travel.html         | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/landing-page/content/services/data-compaction.html b/landing-page/content/services/data-compaction.html
index 69d66cf..c4e5020 100644
--- a/landing-page/content/services/data-compaction.html
+++ b/landing-page/content/services/data-compaction.html
@@ -3,7 +3,7 @@ Title: Data Compaction
 Description: Data compaction is supported out-of-the-box and you can choose from different rewrite strategies such as bin-packing or sorting to optimize file layout and size.
 Category: Services
 Draft: false
-weight: 500
+weight: 5
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/landing-page/content/services/expressive-sql.html b/landing-page/content/services/expressive-sql.html
index d0196b3..d624aac 100644
--- a/landing-page/content/services/expressive-sql.html
+++ b/landing-page/content/services/expressive-sql.html
@@ -4,7 +4,7 @@ Description: Iceberg supports flexible SQL commands to merge new data, update ex
 LearnMore: /docs/latest/spark-writes/
 Category: Services
 Draft: false
-weight: 100
+weight: 1
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/landing-page/content/services/hidden-partitioning.html b/landing-page/content/services/hidden-partitioning.html
index 08ccb00..daa6a9c 100644
--- a/landing-page/content/services/hidden-partitioning.html
+++ b/landing-page/content/services/hidden-partitioning.html
@@ -5,7 +5,7 @@ LottieFile: hidden-partitioning-animation.json
 LearnMore: /docs/latest/partitioning/#icebergs-hidden-partitioning
 Category: Services
 Draft: false
-weight: 300
+weight: 3
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/landing-page/content/services/schema-evolution.html b/landing-page/content/services/schema-evolution.html
index 45c77a6..ad0a175 100644
--- a/landing-page/content/services/schema-evolution.html
+++ b/landing-page/content/services/schema-evolution.html
@@ -4,7 +4,7 @@ Description: Schema evolution just works. Adding a column won't bring back "zomb
 LearnMore: /docs/latest/evolution/
 Category: Services
 Draft: false
-weight: 200
+weight: 2
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/landing-page/content/services/time-travel.html b/landing-page/content/services/time-travel.html
index 9bd6946..19c3df6 100644
--- a/landing-page/content/services/time-travel.html
+++ b/landing-page/content/services/time-travel.html
@@ -4,7 +4,7 @@ Description: Time-travel enables reproducible queries that use exactly the same
 LearnMore: /docs/latest/spark-queries/#time-travel
 Category: Post
 Draft: false
-weight: 400
+weight: 4
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more

[iceberg-docs] 10/47: Add javadoc link functionality to calculate /javadocs/ (#9)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 571b288cde88ed68135da4e939db38c0b630b82e
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Fri Jan 14 11:35:19 2022 -0800

    Add javadoc link functionality to calculate /javadocs/<version> (#9)
---
 docs/content/docs/api/javadocs/_index.md      |  5 +++++
 docs/layouts/partials/docs/menu-filetree.html | 15 +++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/docs/content/docs/api/javadocs/_index.md b/docs/content/docs/api/javadocs/_index.md
new file mode 100644
index 0000000..11430fc
--- /dev/null
+++ b/docs/content/docs/api/javadocs/_index.md
@@ -0,0 +1,5 @@
+---
+title: "Javadocs"
+weight: 310
+javadocLink: true
+---
\ No newline at end of file
diff --git a/docs/layouts/partials/docs/menu-filetree.html b/docs/layouts/partials/docs/menu-filetree.html
index c96ab65..7c11790 100644
--- a/docs/layouts/partials/docs/menu-filetree.html
+++ b/docs/layouts/partials/docs/menu-filetree.html
@@ -57,6 +57,21 @@
             {{.Title}}
           </a>
         </li>
+        {{ else if .Params.javadocLink }}
+        <li
+          {{- if and (not .Params.BookFlatSection) (not .Params.BookCollapseSection) }}
+            class="navigation-icon-pad"
+          {{- else if  .Params.BookFlatSection }}
+            class="book-section-flat navigation-icon-pad"
+          {{- else if  .Params.BookCollapseSection }}
+            class="book-section-collapsed navigation-icon-pad"
+          {{ end -}}
+        >
+            <a href="{{ .Page.Site.BaseURL }}/../../javadocs/{{ .Page.Site.Params.versions.iceberg }}">
+              {{ template "book-nav-item-logo-image" (dict "Page" .) }}
+              {{.Title}}
+            </a>
+          </li>
       {{ else if .IsSection }}
         <li
           {{- if and (not .Page.Params.bookIconImage) (not .Page.Params.bookIconFa) }} class="book-section-flat navigation-icon-pad"

[iceberg-docs] 19/47: Adding Lottie and integrating lottie file reference into content front-matter (#18)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit f54d820414ae17319bd167dc4cabf4e0b376199e
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Thu Jan 27 12:50:59 2022 -0800

    Adding Lottie and integrating lottie file reference into content front-matter (#18)
    
    * Adding Lottie and integrating lottie file reference into content front-matter
    
    * Change Data Compaction animation to display the rewrite data files procedure
    
    * Change 'Row-Level Deletes' to 'Expressive SQL' example
    
    * Change description for Hidden Partitioning
    
    * Change COMMENT to AFTER in Schema Evolution example
---
 .../{schema-evolution.md => data-compaction.html}  |  11 +++---
 landing-page/content/services/expressive-sql.html  |  32 +++++++++++++++++
 ...en-partitioning.md => hidden-partitioning.html} |   9 +++--
 .../content/services/schema-evolution.html         |  38 +++++++++++++++++++++
 landing-page/content/services/time-travel.md       |  26 --------------
 landing-page/layouts/partials/services.html        |  24 ++++---------
 .../static/img/services/hidden-partitioning.png    | Bin 353890 -> 0 bytes
 .../static/img/services/schema-evolution.png       | Bin 676552 -> 0 bytes
 landing-page/static/img/services/time-travel.png   | Bin 721534 -> 0 bytes
 .../static/lottie/data-compaction-animation.json   |   1 +
 .../lottie/hidden-partitioning-animation.json      |   1 +
 .../static/lottie/row-level-deletes-animation.json |   1 +
 12 files changed, 89 insertions(+), 54 deletions(-)

diff --git a/landing-page/content/services/schema-evolution.md b/landing-page/content/services/data-compaction.html
similarity index 64%
rename from landing-page/content/services/schema-evolution.md
rename to landing-page/content/services/data-compaction.html
index 1363e1a..6e15d97 100644
--- a/landing-page/content/services/schema-evolution.md
+++ b/landing-page/content/services/data-compaction.html
@@ -1,9 +1,9 @@
 ---
-Title: Schema Evolution
-AsciinemaCast: schema_evolution.cast
+Title: Data Compaction
+Description: Data compaction is supported out-of-the-box and you can choose from different rewrite strategies such as bin-packing or sorting to optimize file layout and size.
 Category: Services
 Draft: false
-weight: 100
+weight: 300
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
@@ -21,5 +21,6 @@ weight: 100
  - See the License for the specific language governing permissions and
  - limitations under the License.
  -->
- 
-Iceberg avoids unpleasant surprises. Schema evolution works and won’t inadvertently un-delete data. Users don’t need to know about partitioning to get fast queries.
\ No newline at end of file
+ <div id="termynal-data-compaction" data-termynal data-ty-startDelay="600" data-ty-typeDelay="20" data-ty-lineDelay="500">
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="spark-sql>">CALL system.rewrite_data_files("nyc.taxis");</span>
+</div>
\ No newline at end of file
diff --git a/landing-page/content/services/expressive-sql.html b/landing-page/content/services/expressive-sql.html
new file mode 100644
index 0000000..59bcffe
--- /dev/null
+++ b/landing-page/content/services/expressive-sql.html
@@ -0,0 +1,32 @@
+---
+Title: Expressive SQL
+Description: Iceberg supports flexible SQL commands to merge new data, update existing rows, and perform targeted deletes. Iceberg can eagerly rewrite data files for read performance, or it can use delete deltas for faster updates.
+<!-- LearnMore: /docs/latest/row-level-deletes -->
+Category: Services
+Draft: false
+weight: 300
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+ <div id="termynal-expressive-sql" data-termynal data-ty-startDelay="600" data-ty-typeDelay="20" data-ty-lineDelay="500">
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="spark-sql>">MERGE INTO prod.nyc.taxis pt</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">USING (SELECT * FROM staging.nyc.taxis) st</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">ON pt.id = st.id</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">WHEN NOT MATCHED THEN INSERT *;</span>
+    <span data-ty>Done!</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="spark-sql>"></span>
+</div>
\ No newline at end of file
diff --git a/landing-page/content/services/hidden-partitioning.md b/landing-page/content/services/hidden-partitioning.html
similarity index 69%
rename from landing-page/content/services/hidden-partitioning.md
rename to landing-page/content/services/hidden-partitioning.html
index 4e08865..bc6f54c 100644
--- a/landing-page/content/services/hidden-partitioning.md
+++ b/landing-page/content/services/hidden-partitioning.html
@@ -1,6 +1,8 @@
 ---
 Title: Hidden Partitioning
-Img: partition-spec-evolution.png
+Description: Iceberg handles the tedious and error-prone task of producing partition values for rows in a table and skips unnecessary partitions and files automatically. No extra filters are needed for fast queries, and table layout can be updated as data or queries change.
+LottieFile: hidden-partitioning-animation.json
+LearnMore: /docs/latest/partitioning/#icebergs-hidden-partitioning
 Category: Services
 Draft: false
 weight: 200
@@ -20,7 +22,4 @@ weight: 200
  - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  - See the License for the specific language governing permissions and
  - limitations under the License.
- -->
- 
-Iceberg handles the tedious and error-prone task of producing partition values for rows in a table and avoids reading unnecessary partitions automatically.
-Consumers don’t need to know how the table is partitioned and add extra filters to their queries and the partition layouts can evolve as needed.
\ No newline at end of file
+ -->
\ No newline at end of file
diff --git a/landing-page/content/services/schema-evolution.html b/landing-page/content/services/schema-evolution.html
new file mode 100644
index 0000000..0dcd954
--- /dev/null
+++ b/landing-page/content/services/schema-evolution.html
@@ -0,0 +1,38 @@
+---
+Title: Full Schema Evolution
+Description: Iceberg avoids unpleasant surprises. Schema evolution just works with no "zombie" columns and no un-deleted data when adding columns with previously existing names.
+LearnMore: /docs/latest/evolution/
+Category: Services
+Draft: false
+weight: 100
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+<div id="termynal" data-termynal data-ty-startDelay="600" data-ty-typeDelay="20" data-ty-lineDelay="500">
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="spark-sql>">ALTER TABLE taxis</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">ALTER COLUMN trip_distance</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="" data-ty-delay="2500">TYPE double;</span>
+    <span data-ty>Done!</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="spark-sql>">ALTER TABLE taxis</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">ALTER COLUMN trip_distance</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">AFTER fare;</span>
+    <span data-ty>Done!</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="spark-sql>">ALTER TABLE taxis</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">RENAME COLUMN trip_distance</span>
+    <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">TO distance;</span>
+    <span data-ty>Done!</span>
+</div>
\ No newline at end of file
diff --git a/landing-page/content/services/time-travel.md b/landing-page/content/services/time-travel.md
deleted file mode 100644
index d121d54..0000000
--- a/landing-page/content/services/time-travel.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-Title: Time Travel
-AsciinemaCast: time_travel.cast
-Category: Post
-Draft: false
-weight: 300
----
-<!--
- - Licensed to the Apache Software Foundation (ASF) under one or more
- - contributor license agreements.  See the NOTICE file distributed with
- - this work for additional information regarding copyright ownership.
- - The ASF licenses this file to You under the Apache License, Version 2.0
- - (the "License"); you may not use this file except in compliance with
- - the License.  You may obtain a copy of the License at
- -
- -   http://www.apache.org/licenses/LICENSE-2.0
- -
- - Unless required by applicable law or agreed to in writing, software
- - distributed under the License is distributed on an "AS IS" BASIS,
- - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- - See the License for the specific language governing permissions and
- - limitations under the License.
- -->
- 
-Time-travel enables reproducible queries that use exactly the same table snapshot, or lets users easily examine changes.
-Version rollback allows users to quickly correct problems by resetting tables to a good state.
\ No newline at end of file
diff --git a/landing-page/layouts/partials/services.html b/landing-page/layouts/partials/services.html
index 4827437..2a49def 100644
--- a/landing-page/layouts/partials/services.html
+++ b/landing-page/layouts/partials/services.html
@@ -33,16 +33,10 @@
                     <img src="{{ $.Site.BaseURL }}img/{{ .Params.Img }}" height="400px" width="400px">
                 </div>
                 {{ end }}
-                {{ if .Params.asciinemacast }}
+                {{ if .Params.LottieFile }}
                 <div class="col-lg-5 col-lg-offset-2 col-sm-6">
-                    <div id="{{ .Params.title }}"></div>
-                    <script>
-                        AsciinemaPlayer.create('{{ .Site.BaseURL }}/asciinema/{{ .Params.AsciinemaCast }}', document.getElementById('{{ .Params.title }}'), {
-                            loop: true,
-                            autoPlay: true,
-                            theme: "monokai",
-                        });
-                    </script>
+                    <script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>
+                    <lottie-player src="{{ $.Site.BaseURL }}lottie/{{ .Params.LottieFile }}" background="transparent"  speed="0.5"  style="width: 600px; height: 400px;"  loop autoplay></lottie-player>
                 </div>
                 {{ end }}
             </div>
@@ -84,16 +78,10 @@
                     <img src="{{ $.Site.BaseURL }}img/{{ .Params.Img }}" height="600px" width="600px">
                 </div>
                 {{ end }}
-                {{ if .Params.asciinemacast }}
+                {{ if .Params.LottieFile }}
                 <div class="col-lg-5 col-sm-pull-6  col-sm-6">
-                    <div id="{{ .Params.title }}"></div>
-                    <script>
-                        AsciinemaPlayer.create('{{ .Site.BaseURL }}/asciinema/{{ .Params.AsciinemaCast }}', document.getElementById('{{ .Params.title }}'), {
-                            loop: true,
-                            autoPlay: true,
-                            theme: "monokai",
-                        });
-                    </script>
+                    <script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>
+                    <lottie-player src="{{ $.Site.BaseURL }}lottie/{{ .Params.LottieFile }}"  {{ if .Params.LottieOptions }}{{ .Params.LottieOptions }}{{ else }}background="transparent"  speed="0.5"  style="width: 600px; height: 400px;"  loop autoplay{{ end }}></lottie-player>
                 </div>
                 {{ end }}
             </div>
diff --git a/landing-page/static/img/services/hidden-partitioning.png b/landing-page/static/img/services/hidden-partitioning.png
deleted file mode 100644
index eafc8e1..0000000
Binary files a/landing-page/static/img/services/hidden-partitioning.png and /dev/null differ
diff --git a/landing-page/static/img/services/schema-evolution.png b/landing-page/static/img/services/schema-evolution.png
deleted file mode 100644
index 21da7dc..0000000
Binary files a/landing-page/static/img/services/schema-evolution.png and /dev/null differ
diff --git a/landing-page/static/img/services/time-travel.png b/landing-page/static/img/services/time-travel.png
deleted file mode 100644
index 4026432..0000000
Binary files a/landing-page/static/img/services/time-travel.png and /dev/null differ
diff --git a/landing-page/static/lottie/data-compaction-animation.json b/landing-page/static/lottie/data-compaction-animation.json
new file mode 100644
index 0000000..b2ed697
--- /dev/null
+++ b/landing-page/static/lottie/data-compaction-animation.json
@@ -0,0 +1 @@
+{"v":"4.8.0","meta":{"g":"LottieFiles AE ","a":"","k":"","d":"","tc":""},"fr":60,"ip":0,"op":180,"w":1000,"h":1000,"nm":"Organizer","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Square 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[725,719,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0,0,0.667],"y":[1.136,1.136,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":16,"s":[0,0,100]},{"i":{"x":[0.667,0.667,0.667],"y": [...]
\ No newline at end of file
diff --git a/landing-page/static/lottie/hidden-partitioning-animation.json b/landing-page/static/lottie/hidden-partitioning-animation.json
new file mode 100644
index 0000000..0689a8f
--- /dev/null
+++ b/landing-page/static/lottie/hidden-partitioning-animation.json
@@ -0,0 +1 @@
+{"v":"5.5.7","meta":{"g":"LottieFiles AE 0.1.20","a":"Blockcities","k":"block, shares, fractional","d":"Fractionalized Block","tc":"#000000"},"fr":30,"ip":0,"op":600,"w":2500,"h":2160,"nm":"TechnoCub","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"04","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[386,125.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[25,25,100],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill 2","np":9, [...]
\ No newline at end of file
diff --git a/landing-page/static/lottie/row-level-deletes-animation.json b/landing-page/static/lottie/row-level-deletes-animation.json
new file mode 100644
index 0000000..f17ea54
--- /dev/null
+++ b/landing-page/static/lottie/row-level-deletes-animation.json
@@ -0,0 +1 @@
+{"v":"5.4.3","fr":29.9700012207031,"ip":0,"op":110.000004480392,"w":600,"h":600,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 10","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.172],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p172_1_0p167_0p167"],"t":40,"s":[0],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":50,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.868],"y":[0]},"n":["0p833_0p833_0p [...]
\ No newline at end of file

[iceberg-docs] 26/47: Disable dark mode for landing-page, set docs to auto (#28)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit e204103dec83abd84e7aadc36b72b6295ae34cab
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Wed Feb 2 13:54:58 2022 -0800

    Disable dark mode for landing-page, set docs to auto (#28)
---
 docs/config.toml                     |   1 +
 landing-page/static/css/markdown.css | 139 ++++++++++++-----------------------
 2 files changed, 46 insertions(+), 94 deletions(-)

diff --git a/docs/config.toml b/docs/config.toml
index bd4028d..5fb300e 100644
--- a/docs/config.toml
+++ b/docs/config.toml
@@ -4,6 +4,7 @@ title = "Apache Iceberg"
 theme= "hugo-book"
 
 [params]
+  BookTheme = 'auto'
   BookLogo = "img/iceberg-logo-icon.png"
   versions.iceberg = "" # This is populated by the github deploy workflow and is equal to the branch name
   versions.nessie = "0.15.1"
diff --git a/landing-page/static/css/markdown.css b/landing-page/static/css/markdown.css
index b247fa4..9a2f0ee 100644
--- a/landing-page/static/css/markdown.css
+++ b/landing-page/static/css/markdown.css
@@ -1,101 +1,52 @@
-@media(prefers-color-scheme:dark) {
-  .markdown-body {
-    color-scheme: dark;
-    --color-prettylights-syntax-comment: #8b949e;
-    --color-prettylights-syntax-constant: #79c0ff;
-    --color-prettylights-syntax-entity: #d2a8ff;
-    --color-prettylights-syntax-storage-modifier-import: #c9d1d9;
-    --color-prettylights-syntax-entity-tag: #7ee787;
-    --color-prettylights-syntax-keyword: #ff7b72;
-    --color-prettylights-syntax-string: #a5d6ff;
-    --color-prettylights-syntax-variable: #ffa657;
-    --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;
-    --color-prettylights-syntax-invalid-illegal-text: #f0f6fc;
-    --color-prettylights-syntax-invalid-illegal-bg: #8e1519;
-    --color-prettylights-syntax-carriage-return-text: #f0f6fc;
-    --color-prettylights-syntax-carriage-return-bg: #b62324;
-    --color-prettylights-syntax-string-regexp: #7ee787;
-    --color-prettylights-syntax-markup-list: #f2cc60;
-    --color-prettylights-syntax-markup-heading: #1f6feb;
-    --color-prettylights-syntax-markup-italic: #c9d1d9;
-    --color-prettylights-syntax-markup-bold: #c9d1d9;
-    --color-prettylights-syntax-markup-deleted-text: #ffdcd7;
-    --color-prettylights-syntax-markup-deleted-bg: #67060c;
-    --color-prettylights-syntax-markup-inserted-text: #aff5b4;
-    --color-prettylights-syntax-markup-inserted-bg: #033a16;
-    --color-prettylights-syntax-markup-changed-text: #ffdfb6;
-    --color-prettylights-syntax-markup-changed-bg: #5a1e02;
-    --color-prettylights-syntax-markup-ignored-text: #c9d1d9;
-    --color-prettylights-syntax-markup-ignored-bg: #1158c7;
-    --color-prettylights-syntax-meta-diff-range: #d2a8ff;
-    --color-prettylights-syntax-brackethighlighter-angle: #8b949e;
-    --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;
-    --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;
-    --color-fg-default: #c9d1d9;
-    --color-fg-muted: #8b949e;
-    --color-fg-subtle: #484f58;
-    --color-canvas-default: #0d1117;
-    --color-canvas-subtle: #161b22;
-    --color-border-default: #30363d;
-    --color-border-muted: #21262d;
-    --color-neutral-muted: rgba(110, 118, 129, 0.4);
-    --color-accent-fg: #58a6ff;
-    --color-accent-emphasis: #1f6feb;
-    --color-attention-subtle: rgba(187, 128, 9, 0.15);
-    --color-danger-fg: #f85149
-  }
-}
-
 body {
   font-weight: 400;
 }
 
-@media(prefers-color-scheme:light) {
-  .markdown-body {
-    color-scheme: light;
-    --color-prettylights-syntax-comment: #6e7781;
-    --color-prettylights-syntax-constant: #0550ae;
-    --color-prettylights-syntax-entity: #8250df;
-    --color-prettylights-syntax-storage-modifier-import: #24292f;
-    --color-prettylights-syntax-entity-tag: #116329;
-    --color-prettylights-syntax-keyword: #cf222e;
-    --color-prettylights-syntax-string: #0a3069;
-    --color-prettylights-syntax-variable: #953800;
-    --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;
-    --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;
-    --color-prettylights-syntax-invalid-illegal-bg: #82071e;
-    --color-prettylights-syntax-carriage-return-text: #f6f8fa;
-    --color-prettylights-syntax-carriage-return-bg: #cf222e;
-    --color-prettylights-syntax-string-regexp: #116329;
-    --color-prettylights-syntax-markup-list: #3b2300;
-    --color-prettylights-syntax-markup-heading: #0550ae;
-    --color-prettylights-syntax-markup-italic: #24292f;
-    --color-prettylights-syntax-markup-bold: #24292f;
-    --color-prettylights-syntax-markup-deleted-text: #82071e;
-    --color-prettylights-syntax-markup-deleted-bg: #FFEBE9;
-    --color-prettylights-syntax-markup-inserted-text: #116329;
-    --color-prettylights-syntax-markup-inserted-bg: #dafbe1;
-    --color-prettylights-syntax-markup-changed-text: #953800;
-    --color-prettylights-syntax-markup-changed-bg: #ffd8b5;
-    --color-prettylights-syntax-markup-ignored-text: #eaeef2;
-    --color-prettylights-syntax-markup-ignored-bg: #0550ae;
-    --color-prettylights-syntax-meta-diff-range: #8250df;
-    --color-prettylights-syntax-brackethighlighter-angle: #57606a;
-    --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;
-    --color-prettylights-syntax-constant-other-reference-link: #0a3069;
-    --color-fg-default: #24292f;
-    --color-fg-muted: #57606a;
-    --color-fg-subtle: #6e7781;
-    --color-canvas-default: #ffffff;
-    --color-canvas-subtle: #f6f8fa;
-    --color-border-default: #d0d7de;
-    --color-border-muted: hsla(210, 18%, 87%, 1);
-    --color-neutral-muted: rgba(175, 184, 193, 0.2);
-    --color-accent-fg: #0969da;
-    --color-accent-emphasis: #0969da;
-    --color-attention-subtle: #fff8c5;
-    --color-danger-fg: #cf222e
-  }
+
+.markdown-body {
+  color-scheme: light;
+  --color-prettylights-syntax-comment: #6e7781;
+  --color-prettylights-syntax-constant: #0550ae;
+  --color-prettylights-syntax-entity: #8250df;
+  --color-prettylights-syntax-storage-modifier-import: #24292f;
+  --color-prettylights-syntax-entity-tag: #116329;
+  --color-prettylights-syntax-keyword: #cf222e;
+  --color-prettylights-syntax-string: #0a3069;
+  --color-prettylights-syntax-variable: #953800;
+  --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;
+  --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;
+  --color-prettylights-syntax-invalid-illegal-bg: #82071e;
+  --color-prettylights-syntax-carriage-return-text: #f6f8fa;
+  --color-prettylights-syntax-carriage-return-bg: #cf222e;
+  --color-prettylights-syntax-string-regexp: #116329;
+  --color-prettylights-syntax-markup-list: #3b2300;
+  --color-prettylights-syntax-markup-heading: #0550ae;
+  --color-prettylights-syntax-markup-italic: #24292f;
+  --color-prettylights-syntax-markup-bold: #24292f;
+  --color-prettylights-syntax-markup-deleted-text: #82071e;
+  --color-prettylights-syntax-markup-deleted-bg: #FFEBE9;
+  --color-prettylights-syntax-markup-inserted-text: #116329;
+  --color-prettylights-syntax-markup-inserted-bg: #dafbe1;
+  --color-prettylights-syntax-markup-changed-text: #953800;
+  --color-prettylights-syntax-markup-changed-bg: #ffd8b5;
+  --color-prettylights-syntax-markup-ignored-text: #eaeef2;
+  --color-prettylights-syntax-markup-ignored-bg: #0550ae;
+  --color-prettylights-syntax-meta-diff-range: #8250df;
+  --color-prettylights-syntax-brackethighlighter-angle: #57606a;
+  --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;
+  --color-prettylights-syntax-constant-other-reference-link: #0a3069;
+  --color-fg-default: #24292f;
+  --color-fg-muted: #57606a;
+  --color-fg-subtle: #6e7781;
+  --color-canvas-default: #ffffff;
+  --color-canvas-subtle: #f6f8fa;
+  --color-border-default: #d0d7de;
+  --color-border-muted: hsla(210, 18%, 87%, 1);
+  --color-neutral-muted: rgba(175, 184, 193, 0.2);
+  --color-accent-fg: #0969da;
+  --color-accent-emphasis: #0969da;
+  --color-attention-subtle: #fff8c5;
+  --color-danger-fg: #cf222e
 }
 
 .markdown-body {

[iceberg-docs] 16/47: Replace toml action with simple sed command (#15)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 8cc602740e1924bf7429a132fe78cb4c310f3cf5
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Sun Jan 16 13:29:38 2022 -0500

    Replace toml action with simple sed command (#15)
---
 .github/workflows/deploy.yml | 42 +++++++++++++++++-------------------------
 landing-page/config.toml     |  1 +
 2 files changed, 18 insertions(+), 25 deletions(-)

diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 48ac455..18e10bd 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -13,19 +13,15 @@ jobs:
         id: vars
         run: echo ::set-output name=branch_name::${GITHUB_REF#refs/*/}
 
-      - name: Set baseURL in config.toml
-        uses: ciiiii/toml-editor@1.0.0
-        with:
-          file: "landing-page/config.toml"
-          key: "baseURL"
-          value: "https://iceberg.apache.org/"
+      - name: Set baseURL in landing-page/config.toml
+        run: |
+          sed -i -e 's|baseURL = ""|baseURL = "https://iceberg\.apache\.org/"|g' landing-page/config.toml
+          cat landing-page/config.toml
 
-      - name: Set params.docsBaseURL in config.toml
-        uses: ciiiii/toml-editor@1.0.0
-        with:
-          file: "landing-page/config.toml"
-          key: "params.docsBaseURL"
-          value: "https://iceberg.apache.org/docs/${{ steps.vars.outputs.branch_name }}"
+      - name: Set params.docsBaseURL in landing-page/config.toml
+        run: |
+          sed -i -e 's|docsBaseURL = ""|docsBaseURL = "https://iceberg\.apache\.org/docs/${{ steps.vars.outputs.branch_name }}"|g' landing-page/config.toml
+          cat landing-page/config.toml
 
       - name: Setup Hugo
         uses: peaceiris/actions-hugo@v2
@@ -63,20 +59,16 @@ jobs:
         id: vars
         run: echo ::set-output name=branch_name::${GITHUB_REF#refs/*/}
 
-      - name: Set baseURL in config.toml
-        uses: ciiiii/toml-editor@1.0.0
-        with:
-          file: "docs/config.toml"
-          key: "baseURL"
-          value: "https://iceberg.apache.org/docs/${{ steps.vars.outputs.branch_name }}"
+      - name: Set baseURL in docs/config.toml
+        run: |
+          sed -i -e 's|baseURL = ""|baseURL = "https://iceberg\.apache\.org/docs/${{ steps.vars.outputs.branch_name }}"|g' docs/config.toml
+          cat docs/config.toml
+
+      - name: Set params.versions.iceberg in docs/config.toml
+        run: |
+          sed -i -e 's|versions\.iceberg = ""|versions\.iceberg = "${{ steps.vars.outputs.branch_name }}"|g' docs/config.toml
+          cat docs/config.toml
 
-      - name: Set params.version in config.toml
-        uses: ciiiii/toml-editor@1.0.0
-        with:
-          file: "docs/config.toml"
-          key: "params.versions.iceberg"
-          value: "${{ steps.vars.outputs.branch_name }}"
-      
       - name: Setup Hugo
         uses: peaceiris/actions-hugo@v2
         with:
diff --git a/landing-page/config.toml b/landing-page/config.toml
index 3591763..a9be5fd 100644
--- a/landing-page/config.toml
+++ b/landing-page/config.toml
@@ -5,6 +5,7 @@ title = "Apache Iceberg"
 [params]
   description = "The open table format for analytic datasets."
   latestVersions.iceberg = "0.12.1"
+  docsBaseURL = ""
 
 [[params.social]]
   title = "Community"

[iceberg-docs] 44/47: Remove Parquet legacy file read support from 0.13.0 release note (#46)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 7483cb4047f0c7369ef2dd44727d87131da86b12
Author: Jack Ye <yz...@amazon.com>
AuthorDate: Tue Feb 8 09:05:03 2022 -0800

    Remove Parquet legacy file read support from 0.13.0 release note (#46)
---
 landing-page/content/common/releases/release-notes.md | 1 -
 1 file changed, 1 deletion(-)

diff --git a/landing-page/content/common/releases/release-notes.md b/landing-page/content/common/releases/release-notes.md
index 9480303..e5a1b02 100644
--- a/landing-page/content/common/releases/release-notes.md
+++ b/landing-page/content/common/releases/release-notes.md
@@ -97,7 +97,6 @@ Apache Iceberg 0.13.0 was released on February 4th, 2022.
   * Table listing in Hive catalog can now skip non-Iceberg tables by disabling flag `list-all-tables` [[\#3908](https://github.com/apache/iceberg/pull/3908)]
   * Hive tables imported to Iceberg can now be read by `IcebergInputFormat` [[\#3312](https://github.com/apache/iceberg/pull/3312)]
 * **File Formats**
-  * Reading legacy Parquet file (e.g. produced by `ParquetHiveSerDe` or Spark `spark.sql.parquet.writeLegacyFormat=true`) is now fully supported  to facilitate Hive to Iceberg table migration [[\#3723](https://github.com/apache/iceberg/pull/3723)]
   * ORC now supports writing delete file [[\#3248](https://github.com/apache/iceberg/pull/3248)] [[\#3250](https://github.com/apache/iceberg/pull/3250)] [[\#3366](https://github.com/apache/iceberg/pull/3366)]
 
 **Important bug fixes:**

[iceberg-docs] 31/47: Remove duplicate posts directory (#33)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 1fb0a2f871841ea2fbaf0da5d17315cbfd1910b8
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Fri Feb 4 16:03:00 2022 -0500

    Remove duplicate posts directory (#33)
---
 landing-page/content/posts/community/blogs.md      |  103 --
 landing-page/content/posts/community/join.md       |   92 --
 landing-page/content/posts/community/talks.md      |   33 -
 landing-page/content/posts/format/spec.md          | 1088 --------------------
 landing-page/content/posts/format/terms.md         |   64 --
 landing-page/content/posts/project/benchmarks.md   |  134 ---
 .../content/posts/project/how-to-release.md        |  200 ----
 landing-page/content/posts/project/roadmap.md      |   61 --
 landing-page/content/posts/project/security.md     |   34 -
 landing-page/content/posts/project/trademarks.md   |   24 -
 .../content/posts/releases/release-notes.md        |  261 -----
 11 files changed, 2094 deletions(-)

diff --git a/landing-page/content/posts/community/blogs.md b/landing-page/content/posts/community/blogs.md
deleted file mode 100644
index 462894e..0000000
--- a/landing-page/content/posts/community/blogs.md
+++ /dev/null
@@ -1,103 +0,0 @@
----
-url: blogs
-weight: 200
----
-<!--
- - Licensed to the Apache Software Foundation (ASF) under one or more
- - contributor license agreements.  See the NOTICE file distributed with
- - this work for additional information regarding copyright ownership.
- - The ASF licenses this file to You under the Apache License, Version 2.0
- - (the "License"); you may not use this file except in compliance with
- - the License.  You may obtain a copy of the License at
- -
- -   http://www.apache.org/licenses/LICENSE-2.0
- -
- - Unless required by applicable law or agreed to in writing, software
- - distributed under the License is distributed on an "AS IS" BASIS,
- - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- - See the License for the specific language governing permissions and
- - limitations under the License.
- -->
-
-## Iceberg Blogs
-
-Here is a list of company blogs that talk about Iceberg. The blogs are ordered from most recent to oldest.
-
-### [Using Debezium to Create a Data Lake with Apache Iceberg](https://debezium.io/blog/2021/10/20/using-debezium-create-data-lake-with-apache-iceberg/)
-**Date**: October 20th, 2021, **Company**: Memiiso Community
-**Author**: [Ismail Simsek](https://www.linkedin.com/in/ismailsimsek/)
-
-### [How to Analyze CDC Data in Iceberg Data Lake Using Flink](https://www.alibabacloud.com/blog/how-to-analyze-cdc-data-in-iceberg-data-lake-using-flink_597838)
-**Date**: June 15, 2021, **Company**: Alibaba Cloud Community
-
-**Author**: [Li Jinsong](https://www.linkedin.com/in/%E5%8A%B2%E6%9D%BE-%E6%9D%8E-48b54b101/), [Hu Zheng](https://www.linkedin.com/in/zheng-hu-37017683/), [Yang Weihai](https://www.linkedin.com/in/weihai-yang-697a16224/), [Peidan Li](https://www.linkedin.com/in/peidian-li-18938820a/)
-
-### [Apache Iceberg: An Architectural Look Under the Covers](https://www.dremio.com/apache-iceberg-an-architectural-look-under-the-covers/)
-**Date**: July 6th, 2021, **Company**: Dremio
-
-**Author**: [Jason Hughes](https://www.linkedin.com/in/jasonhhughes/)
-
-### [Migrating to Apache Iceberg at Adobe Experience Platform](https://medium.com/adobetech/migrating-to-apache-iceberg-at-adobe-experience-platform-40fa80f8b8de)
-**Date**: Jun 17th, 2021, **Company**: Adobe
-
-**Author**: [Romin Parekh](https://www.linkedin.com/in/rominparekh/), [Miao Wang](https://www.linkedin.com/in/miao-wang-0406a74/), [Shone Sadler](https://www.linkedin.com/in/shonesadler/)
-
-### [Flink + Iceberg: How to Construct a Whole-scenario Real-time Data Warehouse](https://www.alibabacloud.com/blog/flink-%2B-iceberg-how-to-construct-a-whole-scenario-real-time-data-warehouse_597824)
-**Date**: Jun 8th, 2021, **Company**: Tencent
-
-**Author** [Shu (Simon Su) Su](https://www.linkedin.com/in/shu-su-62944994/)
-
-### [Trino on Ice III: Iceberg Concurrency Model, Snapshots, and the Iceberg Spec](https://blog.starburst.io/trino-on-ice-iii-iceberg-concurrency-model-snapshots-and-the-iceberg-spec)
-**Date**: May 25th, 2021, **Company**: Starburst
-
-**Author**: [Brian Olsen](https://www.linkedin.com/in/bitsondatadev)
-
-### [Trino on Ice II: In-Place Table Evolution and Cloud Compatibility with Iceberg](https://blog.starburst.io/trino-on-ice-ii-in-place-table-evolution-and-cloud-compatibility-with-iceberg)
-**Date**: May 11th, 2021, **Company**: Starburst
-
-**Author**: [Brian Olsen](https://www.linkedin.com/in/bitsondatadev)
-
-### [Trino On Ice I: A Gentle Introduction To Iceberg](https://blog.starburst.io/trino-on-ice-i-a-gentle-introduction-to-iceberg)
-**Date**: Apr 27th, 2021, **Company**: Starburst
-
-**Author**: [Brian Olsen](https://www.linkedin.com/in/bitsondatadev)
-
-### [Apache Iceberg: A Different Table Design for Big Data](https://thenewstack.io/apache-iceberg-a-different-table-design-for-big-data/)
-**Date**: Feb 1st, 2021, **Company**: thenewstack.io
-
-**Author**: [Susan Hall](https://thenewstack.io/author/susanhall/)
-
-### [A Short Introduction to Apache Iceberg](https://medium.com/expedia-group-tech/a-short-introduction-to-apache-iceberg-d34f628b6799)
-**Date**: Jan 26th, 2021, **Company**: Expedia
-
-**Author**: [Christine Mathiesen](https://www.linkedin.com/in/christine-mathiesen-676a98159/)
-
-### [Taking Query Optimizations to the Next Level with Iceberg](https://medium.com/adobetech/taking-query-optimizations-to-the-next-level-with-iceberg-6c968b83cd6f)
-**Date**: Jan 14th, 2021, **Company**: Adobe
-
-**Author**: [Gautam Kowshik](https://www.linkedin.com/in/gautamk/), [Xabriel J. Collazo Mojica](https://www.linkedin.com/in/xabriel/)
-
-### [FastIngest: Low-latency Gobblin with Apache Iceberg and ORC format](https://engineering.linkedin.com/blog/2021/fastingest-low-latency-gobblin)
-**Date**: Jan 6th, 2021, **Company**: Linkedin
-
-**Author**: [Zihan Li](https://www.linkedin.com/in/zihan-li-0a8a15149/), [Sudarshan Vasudevan](https://www.linkedin.com/in/suddu/), [Lei Sun](https://www.linkedin.com/in/lei-s-a93138a0/), [Shirshanka Das](https://www.linkedin.com/in/shirshankadas/)
-
-### [High Throughput Ingestion with Iceberg](https://medium.com/adobetech/high-throughput-ingestion-with-iceberg-ccf7877a413f)
-**Date**: Dec 22nd, 2020, **Company**: Adobe
-
-**Author**: [Andrei Ionescu](http://linkedin.com/in/andreiionescu), [Shone Sadler](https://www.linkedin.com/in/shonesadler/), [Anil Malkani](https://www.linkedin.com/in/anil-malkani-52861a/)
-
-### [Optimizing data warehouse storage](https://netflixtechblog.com/optimizing-data-warehouse-storage-7b94a48fdcbe)
-**Date**: Dec 21st, 2020, **Company**: Netflix
-
-**Author**: [Anupom Syam](https://www.linkedin.com/in/anupom/)
-
-### [Iceberg at Adobe](https://medium.com/adobetech/iceberg-at-adobe-88cf1950e866)
-**Date**: Dec 3rd, 2020, **Company**: Adobe
-
-**Author**: [Shone Sadler](https://www.linkedin.com/in/shonesadler/), [Romin Parekh](https://www.linkedin.com/in/rominparekh/), [Anil Malkani](https://www.linkedin.com/in/anil-malkani-52861a/)
-
-### [Bulldozer: Batch Data Moving from Data Warehouse to Online Key-Value Stores](https://netflixtechblog.com/bulldozer-batch-data-moving-from-data-warehouse-to-online-key-value-stores-41bac13863f8)
-**Date**: Oct 27th, 2020, **Company**: Netflix
-
-**Author**: [Tianlong Chen](https://www.linkedin.com/in/tianlong-chen-39189b7a/), [Ioannis Papapanagiotou](https://www.linkedin.com/in/ipapapa/)
diff --git a/landing-page/content/posts/community/join.md b/landing-page/content/posts/community/join.md
deleted file mode 100644
index 665d852..0000000
--- a/landing-page/content/posts/community/join.md
+++ /dev/null
@@ -1,92 +0,0 @@
----
-url: community
-weight: 100
----
-<!--
- - Licensed to the Apache Software Foundation (ASF) under one or more
- - contributor license agreements.  See the NOTICE file distributed with
- - this work for additional information regarding copyright ownership.
- - The ASF licenses this file to You under the Apache License, Version 2.0
- - (the "License"); you may not use this file except in compliance with
- - the License.  You may obtain a copy of the License at
- -
- -   http://www.apache.org/licenses/LICENSE-2.0
- -
- - Unless required by applicable law or agreed to in writing, software
- - distributed under the License is distributed on an "AS IS" BASIS,
- - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- - See the License for the specific language governing permissions and
- - limitations under the License.
- -->
-
-# Welcome!
-
-Apache Iceberg tracks issues in GitHub and prefers to receive contributions as pull requests.
-
-Community discussions happen primarily on the dev mailing list, on apache-iceberg Slack workspace, and on specific GitHub issues.
-
-
-## Contributing
-
-The Iceberg Project is hosted on Github at <https://github.com/apache/iceberg>.
-
-The Iceberg community prefers to receive contributions as [Github pull requests][github-pr-docs].
-
-* [View open pull requests][iceberg-prs]
-* [Learn about pull requests][github-pr-docs]
-
-[iceberg-prs]: https://github.com/apache/iceberg/pulls
-[github-pr-docs]: https://help.github.com/articles/about-pull-requests/
-
-
-## Issues
-
-Issues are tracked in GitHub:
-
-* [View open issues][open-issues]
-* [Open a new issue][new-issue]
-
-[open-issues]: https://github.com/apache/iceberg/issues
-[new-issue]: https://github.com/apache/iceberg/issues/new
-
-## Slack
-
-We use the [Apache Iceberg workspace](https://apache-iceberg.slack.com/) on Slack. To be invited, follow [this invite link](https://join.slack.com/t/apache-iceberg/shared_invite/zt-tlv0zjz6-jGJEkHfb1~heMCJA3Uycrg).
-
-Please note that this link may occasionally break when Slack does an upgrade. If you encounter problems using it, please let us know by sending an email to <de...@iceberg.apache.org>.
-
-## Mailing Lists
-
-Iceberg has four mailing lists:
-
-* **Developers**: <de...@iceberg.apache.org> -- used for community discussions
-    - [Subscribe](mailto:dev-subscribe@iceberg.apache.org)
-    - [Unsubscribe](mailto:dev-unsubscribe@iceberg.apache.org)
-    - [Archive](https://lists.apache.org/list.html?dev@iceberg.apache.org)
-* **Commits**: <co...@iceberg.apache.org> -- distributes commit notifications
-    - [Subscribe](mailto:commits-subscribe@iceberg.apache.org)
-    - [Unsubscribe](mailto:commits-unsubscribe@iceberg.apache.org)
-    - [Archive](https://lists.apache.org/list.html?commits@iceberg.apache.org)
-* **Issues**: <is...@iceberg.apache.org> -- Github issue tracking
-    - [Subscribe](mailto:issues-subscribe@iceberg.apache.org)
-    - [Unsubscribe](mailto:issues-unsubscribe@iceberg.apache.org)
-    - [Archive](https://lists.apache.org/list.html?issues@iceberg.apache.org)
-* **Private**: <pr...@iceberg.apache.org> -- private list for the PMC to discuss sensitive issues related to the health of the project
-    - [Archive](https://lists.apache.org/list.html?private@iceberg.apache.org)
-
-
-## Setting up IDE and Code Style
-
-### Configuring Code Formatter for IntelliJ IDEA
-
-In the **Settings/Preferences** dialog go to **Editor > Code Style > Java**. Click on the gear wheel and select **Import Scheme** to import IntelliJ IDEA XML code style settings.
-Point to [intellij-java-palantir-style.xml](https://github.com/apache/iceberg/blob/master/.baseline/idea/intellij-java-palantir-style.xml) and hit **OK** (you might need to enable **Show Hidden Files and Directories** in the dialog). The code itself can then be formatted via **Code > Reformat Code**.
-
-See also the IntelliJ [Code Style docs](https://www.jetbrains.com/help/idea/copying-code-style-settings.html) and [Reformat Code docs](https://www.jetbrains.com/help/idea/reformat-and-rearrange-code.html) for additional details.
-
-## Running Benchmarks
-Some PRs/changesets might require running benchmarks to determine whether they are affecting the baseline performance. Currently there is 
-no "push a single button to get a performance comparison" solution available, therefore one has to run JMH performance tests on their local machine and
-post the results on the PR.
-
-See [Benchmarks](../benchmarks) for a summary of available benchmarks and how to run them.
diff --git a/landing-page/content/posts/community/talks.md b/landing-page/content/posts/community/talks.md
deleted file mode 100644
index 636ef8f..0000000
--- a/landing-page/content/posts/community/talks.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-url: talks
-weight: 300
----
-<!--
- - Licensed to the Apache Software Foundation (ASF) under one or more
- - contributor license agreements.  See the NOTICE file distributed with
- - this work for additional information regarding copyright ownership.
- - The ASF licenses this file to You under the Apache License, Version 2.0
- - (the "License"); you may not use this file except in compliance with
- - the License.  You may obtain a copy of the License at
- -
- -   http://www.apache.org/licenses/LICENSE-2.0
- -
- - Unless required by applicable law or agreed to in writing, software
- - distributed under the License is distributed on an "AS IS" BASIS,
- - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- - See the License for the specific language governing permissions and
- - limitations under the License.
- -->
-
-## Iceberg Talks
-
-Here is a list of talks and other videos related to Iceberg.
-
-### [Expert Roundtable: The Future of Metadata After Hive Metastore](https://www.youtube.com/watch?v=7_Pt1g2x-XE)
-**Date**: November 15, 2021, **Authors**: Lior Ebel, Seshu Adunuthula, Ryan Blue & Oz Katz
-
-### [Spark and Iceberg at Apple's Scale - Leveraging differential files for efficient upserts and deletes](https://www.youtube.com/watch?v=IzkSGKoUxcQ)
-**Date**: October 21, 2020, **Author**: Anton
-
-### [Apache Iceberg - A Table Format for Huge Analytic Datasets](https://www.youtube.com/watch?v=mf8Hb0coI6o)
-**Date**: October 21, 2020, **Author**: Ryan Blue 
diff --git a/landing-page/content/posts/format/spec.md b/landing-page/content/posts/format/spec.md
deleted file mode 100644
index 1664814..0000000
--- a/landing-page/content/posts/format/spec.md
+++ /dev/null
@@ -1,1088 +0,0 @@
----
-url: spec
----
-<!--
- - Licensed to the Apache Software Foundation (ASF) under one or more
- - contributor license agreements.  See the NOTICE file distributed with
- - this work for additional information regarding copyright ownership.
- - The ASF licenses this file to You under the Apache License, Version 2.0
- - (the "License"); you may not use this file except in compliance with
- - the License.  You may obtain a copy of the License at
- -
- -   http://www.apache.org/licenses/LICENSE-2.0
- -
- - Unless required by applicable law or agreed to in writing, software
- - distributed under the License is distributed on an "AS IS" BASIS,
- - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- - See the License for the specific language governing permissions and
- - limitations under the License.
- -->
-
-# Iceberg Table Spec
-
-This is a specification for the Iceberg table format that is designed to manage a large, slow-changing collection of files in a distributed file system or key-value store as a table.
-
-## Format Versioning
-
-Versions 1 and 2 of the Iceberg spec are complete and adopted by the community.
-
-The format version number is incremented when new features are added that will break forward-compatibility---that is, when older readers would not read newer table features correctly. Tables may continue to be written with an older version of the spec to ensure compatibility by not using features that are not yet implemented by processing engines.
-
-#### Version 1: Analytic Data Tables
-
-Version 1 of the Iceberg spec defines how to manage large analytic tables using immutable file formats: Parquet, Avro, and ORC.
-
-All version 1 data and metadata files are valid after upgrading a table to version 2. [Appendix E](#version-2) documents how to default version 2 fields when reading version 1 metadata.
-
-#### Version 2: Row-level Deletes
-
-Version 2 of the Iceberg spec adds row-level updates and deletes for analytic tables with immutable files.
-
-The primary change in version 2 adds delete files to encode that rows that are deleted in existing data files. This version can be used to delete or replace individual rows in immutable data files without rewriting the files.
-
-In addition to row-level deletes, version 2 makes some requirements stricter for writers. The full set of changes are listed in [Appendix E](#version-2).
-
-
-## Goals
-
-* **Serializable isolation** -- Reads will be isolated from concurrent writes and always use a committed snapshot of a table’s data. Writes will support removing and adding files in a single operation and are never partially visible. Readers will not acquire locks.
-* **Speed** -- Operations will use O(1) remote calls to plan the files for a scan and not O(n) where n grows with the size of the table, like the number of partitions or files.
-* **Scale** -- Job planning will be handled primarily by clients and not bottleneck on a central metadata store. Metadata will include information needed for cost-based optimization.
-* **Evolution** -- Tables will support full schema and partition spec evolution. Schema evolution supports safe column add, drop, reorder and rename, including in nested structures.
-* **Dependable types** -- Tables will provide well-defined and dependable support for a core set of types.
-* **Storage separation** -- Partitioning will be table configuration. Reads will be planned using predicates on data values, not partition values. Tables will support evolving partition schemes.
-* **Formats** -- Underlying data file formats will support identical schema evolution rules and types. Both read- and write-optimized formats will be available.
-
-## Overview
-
-![Iceberg snapshot structure](../img/iceberg-metadata.png){.spec-img}
-
-This table format tracks individual data files in a table instead of directories. This allows writers to create data files in-place and only adds files to the table in an explicit commit.
-
-Table state is maintained in metadata files. All changes to table state create a new metadata file and replace the old metadata with an atomic swap. The table metadata file tracks the table schema, partitioning config, custom properties, and snapshots of the table contents. A snapshot represents the state of a table at some time and is used to access the complete set of data files in the table.
-
-Data files in snapshots are tracked by one or more manifest files that contain a row for each data file in the table, the file's partition data, and its metrics. The data in a snapshot is the union of all files in its manifests. Manifest files are reused across snapshots to avoid rewriting metadata that is slow-changing. Manifests can track data files with any subset of a table and are not associated with partitions.
-
-The manifests that make up a snapshot are stored in a manifest list file. Each manifest list stores metadata about manifests, including partition stats and data file counts. These stats are used to avoid reading manifests that are not required for an operation.
-
-#### Optimistic Concurrency
-
-An atomic swap of one table metadata file for another provides the basis for serializable isolation. Readers use the snapshot that was current when they load the table metadata and are not affected by changes until they refresh and pick up a new metadata location.
-
-Writers create table metadata files optimistically, assuming that the current version will not be changed before the writer's commit. Once a writer has created an update, it commits by swapping the table’s metadata file pointer from the base version to the new version.
-
-If the snapshot on which an update is based is no longer current, the writer must retry the update based on the new current version. Some operations support retry by re-applying metadata changes and committing, under well-defined conditions. For example, a change that rewrites files can be applied to a new table snapshot if all of the rewritten files are still in the table.
-
-The conditions required by a write to successfully commit determines the isolation level. Writers can select what to validate and can make different isolation guarantees.
-
-#### Sequence Numbers
-
-The relative age of data and delete files relies on a sequence number that is assigned to every successful commit. When a snapshot is created for a commit, it is optimistically assigned the next sequence number, and it is written into the snapshot's metadata. If the commit fails and must be retried, the sequence number is reassigned and written into new snapshot metadata.
-
-All manifests, data files, and delete files created for a snapshot inherit the snapshot's sequence number. Manifest file metadata in the manifest list stores a manifest's sequence number. New data and metadata file entries are written with `null` in place of a sequence number, which is replaced with the manifest's sequence number at read time. When a data or delete file is written to a new manifest (as "existing"), the inherited sequence number is written to ensure it does not change aft [...]
-
-Inheriting the sequence number from manifest metadata allows writing a new manifest once and reusing it in commit retries. To change a sequence number for a retry, only the manifest list must be rewritten -- which would be rewritten anyway with the latest set of manifests.
-
-
-#### Row-level Deletes
-
-Row-level deletes are stored in delete files.
-
-There are two ways to encode a row-level delete:
-
-* [_Position deletes_](#position-delete-files) mark a row deleted by data file path and the row position in the data file
-* [_Equality deletes_](#equality-delete-files) mark a row deleted by one or more column values, like `id = 5`
-
-Like data files, delete files are tracked by partition. In general, a delete file must be applied to older data files with the same partition; see [Scan Planning](#scan-planning) for details. Column metrics can be used to determine whether a delete file's rows overlap the contents of a data file or a scan range.
-
-
-#### File System Operations
-
-Iceberg only requires that file systems support the following operations:
-
-* **In-place write** -- Files are not moved or altered once they are written.
-* **Seekable reads** -- Data file formats require seek support.
-* **Deletes** -- Tables delete files that are no longer used.
-
-These requirements are compatible with object stores, like S3.
-
-Tables do not require random-access writes. Once written, data and metadata files are immutable until they are deleted.
-
-Tables do not require rename, except for tables that use atomic rename to implement the commit operation for new metadata files.
-
-
-## Specification
-
-#### Terms
-
-* **Schema** -- Names and types of fields in a table.
-* **Partition spec** -- A definition of how partition values are derived from data fields.
-* **Snapshot** -- The state of a table at some point in time, including the set of all data files.
-* **Manifest list** -- A file that lists manifest files; one per snapshot.
-* **Manifest** -- A file that lists data or delete files; a subset of a snapshot.
-* **Data file** -- A file that contains rows of a table.
-* **Delete file** -- A file that encodes rows of a table that are deleted by position or data values.
-
-#### Writer requirements
-
-Some tables in this spec have columns that specify requirements for v1 and v2 tables. These requirements are intended for writers when adding metadata files to a table with the given version.
-
-| Requirement | Write behavior |
-|-------------|----------------|
-| (blank)     | The field should be omitted |
-| _optional_  | The field can be written |
-| _required_  | The field must be written |
-
-Readers should be more permissive because v1 metadata files are allowed in v2 tables so that tables can be upgraded to v2 without rewriting the metadata tree. For manifest list and manifest files, this table shows the expected v2 read behavior:
-
-| v1         | v2         | v2 read behavior |
-|------------|------------|------------------|
-|            | _optional_ | Read the field as _optional_ |
-|            | _required_ | Read the field as _optional_; it may be missing in v1 files |
-| _optional_ |            | Ignore the field |
-| _optional_ | _optional_ | Read the field as _optional_ |
-| _optional_ | _required_ | Read the field as _optional_; it may be missing in v1 files |
-| _required_ |            | Ignore the field |
-| _required_ | _optional_ | Read the field as _optional_ |
-| _required_ | _required_ | Fill in a default or throw an exception if the field is missing |
-
-Readers may be more strict for metadata JSON files because the JSON files are not reused and will always match the table version. Required v2 fields that were not present in v1 or optional in v1 may be handled as required fields. For example, a v2 table that is missing `last-sequence-number` can throw an exception.
-
-### Schemas and Data Types
-
-A table's **schema** is a list of named columns. All data types are either primitives or nested types, which are maps, lists, or structs. A table schema is also a struct type.
-
-For the representations of these types in Avro, ORC, and Parquet file formats, see Appendix A.
-
-#### Nested Types
-
-A **`struct`** is a tuple of typed values. Each field in the tuple is named and has an integer id that is unique in the table schema. Each field can be either optional or required, meaning that values can (or cannot) be null. Fields may be any type. Fields may have an optional comment or doc string.
-
-A **`list`** is a collection of values with some element type. The element field has an integer id that is unique in the table schema. Elements can be either optional or required. Element types may be any type.
-
-A **`map`** is a collection of key-value pairs with a key type and a value type. Both the key field and value field each have an integer id that is unique in the table schema. Map keys are required and map values can be either optional or required. Both map keys and map values may be any type, including nested types.
-
-#### Primitive Types
-
-| Primitive type     | Description                                                              | Requirements                                     |
-|--------------------|--------------------------------------------------------------------------|--------------------------------------------------|
-| **`boolean`**      | True or false                                                            |                                                  |
-| **`int`**          | 32-bit signed integers                                                   | Can promote to `long`                            |
-| **`long`**         | 64-bit signed integers                                                   |                                                  |
-| **`float`**        | [32-bit IEEE 754](https://en.wikipedia.org/wiki/IEEE_754) floating point | Can promote to double                            |
-| **`double`**       | [64-bit IEEE 754](https://en.wikipedia.org/wiki/IEEE_754) floating point |                                                  |
-| **`decimal(P,S)`** | Fixed-point decimal; precision P, scale S                                | Scale is fixed [1], precision must be 38 or less |
-| **`date`**         | Calendar date without timezone or time                                   |                                                  |
-| **`time`**         | Time of day without date, timezone                                       | Microsecond precision [2]                        |
-| **`timestamp`**    | Timestamp without timezone                                               | Microsecond precision [2]                        |
-| **`timestamptz`**  | Timestamp with timezone                                                  | Stored as UTC [2]                                |
-| **`string`**       | Arbitrary-length character sequences                                     | Encoded with UTF-8 [3]                           |
-| **`uuid`**         | Universally unique identifiers                                           | Should use 16-byte fixed                         |
-| **`fixed(L)`**     | Fixed-length byte array of length L                                      |                                                  |
-| **`binary`**       | Arbitrary-length byte array                                              |                                                  |
-
-Notes:
-
-1. Decimal scale is fixed and cannot be changed by schema evolution. Precision can only be widened.
-2. All time and timestamp values are stored with microsecond precision.
-    - Timestamps _with time zone_ represent a point in time: values are stored as UTC and do not retain a source time zone (`2017-11-16 17:10:34 PST` is stored/retrieved as `2017-11-17 01:10:34 UTC` and these values are considered identical).
-    - Timestamps _without time zone_ represent a date and time of day regardless of zone: the time value is independent of zone adjustments (`2017-11-16 17:10:34` is always retrieved as `2017-11-16 17:10:34`). Timestamp values are stored as a long that encodes microseconds from the unix epoch.
-3. Character strings must be stored as UTF-8 encoded byte arrays.
-
-For details on how to serialize a schema to JSON, see Appendix C.
-
-
-#### Schema Evolution
-
-Schemas may be evolved by type promotion or adding, deleting, renaming, or reordering fields in structs (both nested structs and the top-level schema’s struct).
-
-Evolution applies changes to the table's current schema to produce a new schema that is identified by a unique schema ID, is added to the table's list of schemas, and is set as the table's current schema.
-
-Valid type promotions are:
-
-* `int` to `long`
-* `float` to `double`
-* `decimal(P, S)` to `decimal(P', S)` if `P' > P` -- widen the precision of decimal types.
-
-Any struct, including a top-level schema, can evolve through deleting fields, adding new fields, renaming existing fields, reordering existing fields, or promoting a primitive using the valid type promotions. Adding a new field assigns a new ID for that field and for any nested fields. Renaming an existing field must change the name, but not the field ID. Deleting a field removes it from the current schema. Field deletion cannot be rolled back unless the field was nullable or if the curr [...]
-
-Grouping a subset of a struct’s fields into a nested struct is **not** allowed, nor is moving fields from a nested struct into its immediate parent struct (`struct<a, b, c> ↔ struct<a, struct<b, c>>`). Evolving primitive types to structs is **not** allowed, nor is evolving a single-field struct to a primitive (`map<string, int> ↔ map<string, struct<int>>`).
-
-
-#### Column Projection
-
-Columns in Iceberg data files are selected by field id. The table schema's column names and order may change after a data file is written, and projection must be done using field ids. If a field id is missing from a data file, its value for each row should be `null`.
-
-For example, a file may be written with schema `1: a int, 2: b string, 3: c double` and read using projection schema `3: measurement, 2: name, 4: a`. This must select file columns `c` (renamed to `measurement`), `b` (now called `name`), and a column of `null` values called `a`; in that order.
-
-
-#### Identifier Field IDs
-
-A schema can optionally track the set of primitive fields that identify rows in a table, using the property `identifier-field-ids` (see JSON encoding in Appendix C).
-
-Two rows are the "same"---that is, the rows represent the same entity---if the identifier fields are equal. However, uniqueness of rows by this identifier is not guaranteed or required by Iceberg and it is the responsibility of processing engines or data providers to enforce.
-
-Identifier fields may be nested in structs but cannot be nested within maps or lists. Float, double, and optional fields cannot be used as identifier fields and a nested field cannot be used as an identifier field if it is nested in an optional struct, to avoid null values in identifiers.
-
-
-#### Reserved Field IDs
-
-Iceberg tables must not use field ids greater than 2147483447 (`Integer.MAX_VALUE - 200`). This id range is reserved for metadata columns that can be used in user data schemas, like the `_file` column that holds the file path in which a row was stored.
-
-The set of metadata columns is:
-
-| Field id, name              | Type          | Description |
-|-----------------------------|---------------|-------------|
-| **`2147483646  _file`**     | `string`      | Path of the file in which a row is stored |
-| **`2147483645  _pos`**      | `long`        | Ordinal position of a row in the source data file |
-| **`2147483644  _deleted`**  | `boolean`     | Whether the row has been deleted |
-| **`2147483643  _spec_id`**  | `int`         | Spec ID used to track the file containing a row |
-| **`2147483642  _partition`** | `struct`     | Partition to which a row belongs |
-| **`2147483546  file_path`** | `string`      | Path of a file, used in position-based delete files |
-| **`2147483545  pos`**       | `long`        | Ordinal position of a row, used in position-based delete files |
-| **`2147483544  row`**       | `struct<...>` | Deleted row values, used in position-based delete files |
-
-
-### Partitioning
-
-Data files are stored in manifests with a tuple of partition values that are used in scans to filter out files that cannot contain records that match the scan’s filter predicate. Partition values for a data file must be the same for all records stored in the data file. (Manifests store data files from any partition, as long as the partition spec is the same for the data files.)
-
-Tables are configured with a **partition spec** that defines how to produce a tuple of partition values from a record. A partition spec has a list of fields that consist of:
-
-*   A **source column id** from the table’s schema
-*   A **partition field id** that is used to identify a partition field and is unique within a partition spec. In v2 table metadata, it is unique across all partition specs.
-*   A **transform** that is applied to the source column to produce a partition value
-*   A **partition name**
-
-The source column, selected by id, must be a primitive type and cannot be contained in a map or list, but may be nested in a struct. For details on how to serialize a partition spec to JSON, see Appendix C.
-
-Partition specs capture the transform from table data to partition values. This is used to transform predicates to partition predicates, in addition to transforming data values. Deriving partition predicates from column predicates on the table data is used to separate the logical queries from physical storage: the partitioning can change and the correct partition filters are always derived from column predicates. This simplifies queries because users don’t have to supply both logical pre [...]
-
-
-#### Partition Transforms
-
-| Transform name    | Description                                                  | Source types                                                                                              | Result type |
-|-------------------|--------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------|-------------|
-| **`identity`**    | Source value, unmodified                                     | Any                                                                                                       | Source type |
-| **`bucket[N]`**   | Hash of value, mod `N` (see below)                           | `int`, `long`, `decimal`, `date`, `time`, `timestamp`, `timestamptz`, `string`, `uuid`, `fixed`, `binary` | `int`       |
-| **`truncate[W]`** | Value truncated to width `W` (see below)                     | `int`, `long`, `decimal`, `string`                                                                        | Source type |
-| **`year`**        | Extract a date or timestamp year, as years from 1970         | `date`, `timestamp`, `timestamptz`                                                                        | `int`       |
-| **`month`**       | Extract a date or timestamp month, as months from 1970-01-01 | `date`, `timestamp`, `timestamptz`                                                                        | `int`       |
-| **`day`**         | Extract a date or timestamp day, as days from 1970-01-01     | `date`, `timestamp`, `timestamptz`                                                                        | `date`      |
-| **`hour`**        | Extract a timestamp hour, as hours from 1970-01-01 00:00:00  | `timestamp`, `timestamptz`                                                                                        | `int`       |
-| **`void`**        | Always produces `null`                                       | Any                                                                                                       | Source type or `int` |
-
-All transforms must return `null` for a `null` input value.
-
-The `void` transform may be used to replace the transform in an existing partition field so that the field is effectively dropped in v1 tables. See partition evolution below.
-
-
-#### Bucket Transform Details
-
-Bucket partition transforms use a 32-bit hash of the source value. The 32-bit hash implementation is the 32-bit Murmur3 hash, x86 variant, seeded with 0.
-
-Transforms are parameterized by a number of buckets [1], `N`. The hash mod `N` must produce a positive value by first discarding the sign bit of the hash value. In pseudo-code, the function is:
-
-```
-  def bucket_N(x) = (murmur3_x86_32_hash(x) & Integer.MAX_VALUE) % N
-```
-
-Notes:
-
-1. Changing the number of buckets as a table grows is possible by evolving the partition spec.
-
-For hash function details by type, see Appendix B.
-
-
-#### Truncate Transform Details
-
-| **Type**      | **Config**            | **Truncate specification**                                       | **Examples**                     |
-|---------------|-----------------------|------------------------------------------------------------------|----------------------------------|
-| **`int`**     | `W`, width            | `v - (v % W)`	remainders must be positive	[1]                    | `W=10`: `1` → `0`, `-1` → `-10`  |
-| **`long`**    | `W`, width            | `v - (v % W)`	remainders must be positive	[1]                    | `W=10`: `1` → `0`, `-1` → `-10`  |
-| **`decimal`** | `W`, width (no scale) | `scaled_W = decimal(W, scale(v))` `v - (v % scaled_W)`		[1, 2] | `W=50`, `s=2`: `10.65` → `10.50` |
-| **`string`**  | `L`, length           | Substring of length `L`: `v.substring(0, L)`                     | `L=3`: `iceberg` → `ice`         |
-
-Notes:
-
-1. The remainder, `v % W`, must be positive. For languages where `%` can produce negative values, the correct truncate function is: `v - (((v % W) + W) % W)`
-2. The width, `W`, used to truncate decimal values is applied using the scale of the decimal column to avoid additional (and potentially conflicting) parameters.
-
-
-#### Partition Evolution
-
-Table partitioning can be evolved by adding, removing, renaming, or reordering partition spec fields.
-
-Changing a partition spec produces a new spec identified by a unique spec ID that is added to the table's list of partition specs and may be set as the table's default spec.
-
-When evolving a spec, changes should not cause partition field IDs to change because the partition field IDs are used as the partition tuple field IDs in manifest files.
-
-In v2, partition field IDs must be explicitly tracked for each partition field. New IDs are assigned based on the last assigned partition ID in table metadata.
-
-In v1, partition field IDs were not tracked, but were assigned sequentially starting at 1000 in the reference implementation. This assignment caused problems when reading metadata tables based on manifest files from multiple specs because partition fields with the same ID may contain different data types. For compatibility with old versions, the following rules are recommended for partition evolution in v1 tables:
-
-1. Do not reorder partition fields
-2. Do not drop partition fields; instead replace the field's transform with the `void` transform
-3. Only add partition fields at the end of the previous partition spec
-
-
-### Sorting
-
-Users can sort their data within partitions by columns to gain performance. The information on how the data is sorted can be declared per data or delete file, by a **sort order**.
-
-A sort order is defined by an sort order id and a list of sort fields. The order of the sort fields within the list defines the order in which the sort is applied to the data. Each sort field consists of:
-
-*   A **source column id** from the table's schema
-*   A **transform** that is used to produce values to be sorted on from the source column. This is the same transform as described in [partition transforms](#partition-transforms).
-*   A **sort direction**, that can only be either `asc` or `desc`
-*   A **null order** that describes the order of null values when sorted. Can only be either `nulls-first` or `nulls-last`
-
-Order id `0` is reserved for the unsorted order. 
-
-Sorting floating-point numbers should produce the following behavior: `-NaN` < `-Infinity` < `-value` < `-0` < `0` < `value` < `Infinity` < `NaN`. This aligns with the implementation of Java floating-point types comparisons. 
-
-A data or delete file is associated with a sort order by the sort order's id within [a manifest](#manifests). Therefore, the table must declare all the sort orders for lookup. A table could also be configured with a default sort order id, indicating how the new data should be sorted by default. Writers should use this default sort order to sort the data on write, but are not required to if the default order is prohibitively expensive, as it would be for streaming writes.
-
-
-### Manifests
-
-A manifest is an immutable Avro file that lists data files or delete files, along with each file’s partition data tuple, metrics, and tracking information. One or more manifest files are used to store a [snapshot](#snapshots), which tracks all of the files in a table at some point in time. Manifests are tracked by a [manifest list](#manifest-lists) for each table snapshot.
-
-A manifest is a valid Iceberg data file: files must use valid Iceberg formats, schemas, and column projection.
-
-A manifest may store either data files or delete files, but not both because manifests that contain delete files are scanned first during job planning. Whether a manifest is a data manifest or a delete manifest is stored in manifest metadata.
-
-A manifest stores files for a single partition spec. When a table’s partition spec changes, old files remain in the older manifest and newer files are written to a new manifest. This is required because a manifest file’s schema is based on its partition spec (see below). The partition spec of each manifest is also used to transform predicates on the table's data rows into predicates on partition values that are used during job planning to select files from a manifest.
-
-A manifest file must store the partition spec and other metadata as properties in the Avro file's key-value metadata:
-
-| v1         | v2         | Key                 | Value                                                                        |
-|------------|------------|---------------------|------------------------------------------------------------------------------|
-| _required_ | _required_ | `schema`            | JSON representation of the table schema at the time the manifest was written |
-| _optional_ | _required_ | `schema-id`         | ID of the schema used to write the manifest as a string                      |
-| _required_ | _required_ | `partition-spec`    | JSON fields representation of the partition spec used to write the manifest  |
-| _optional_ | _required_ | `partition-spec-id` | ID of the partition spec used to write the manifest as a string              |
-| _optional_ | _required_ | `format-version`    | Table format version number of the manifest as a string                      |
-|            | _required_ | `content`           | Type of content files tracked by the manifest: "data" or "deletes"           |
-
-The schema of a manifest file is a struct called `manifest_entry` with the following fields:
-
-| v1         | v2         | Field id, name           | Type                                                      | Description                                                                           |
-| ---------- | ---------- |--------------------------|-----------------------------------------------------------|---------------------------------------------------------------------------------------|
-| _required_ | _required_ | **`0  status`**          | `int` with meaning: `0: EXISTING` `1: ADDED` `2: DELETED` | Used to track additions and deletions                                                 |
-| _required_ | _optional_ | **`1  snapshot_id`**     | `long`                                                    | Snapshot id where the file was added, or deleted if status is 2. Inherited when null. |
-|            | _optional_ | **`3  sequence_number`** | `long`                                                    | Sequence number when the file was added. Inherited when null.                         |
-| _required_ | _required_ | **`2  data_file`**       | `data_file` `struct` (see below)                          | File path, partition tuple, metrics, ...                                              |
-
-`data_file` is a struct with the following fields:
-
-| v1         | v2         | Field id, name                    | Type                         | Description |
-| ---------- | ---------- |-----------------------------------|------------------------------|-------------|
-|            | _required_ | **`134  content`**                | `int` with meaning: `0: DATA`, `1: POSITION DELETES`, `2: EQUALITY DELETES` | Type of content stored by the data file: data, equality deletes, or position deletes (all v1 files are data files) |
-| _required_ | _required_ | **`100  file_path`**              | `string`                     | Full URI for the file with FS scheme |
-| _required_ | _required_ | **`101  file_format`**            | `string`                     | String file format name, avro, orc or parquet |
-| _required_ | _required_ | **`102  partition`**              | `struct<...>`                | Partition data tuple, schema based on the partition spec output using partition field ids for the struct field ids |
-| _required_ | _required_ | **`103  record_count`**           | `long`                       | Number of records in this file |
-| _required_ | _required_ | **`104  file_size_in_bytes`**     | `long`                       | Total file size in bytes |
-| _required_ |            | ~~**`105 block_size_in_bytes`**~~ | `long`                       | **Deprecated. Always write a default in v1. Do not write in v2.** |
-| _optional_ |            | ~~**`106  file_ordinal`**~~       | `int`                        | **Deprecated. Do not write.** |
-| _optional_ |            | ~~**`107  sort_columns`**~~       | `list<112: int>`             | **Deprecated. Do not write.** |
-| _optional_ | _optional_ | **`108  column_sizes`**           | `map<117: int, 118: long>`   | Map from column id to the total size on disk of all regions that store the column. Does not include bytes necessary to read other columns, like footers. Leave null for row-oriented formats (Avro) |
-| _optional_ | _optional_ | **`109  value_counts`**           | `map<119: int, 120: long>`   | Map from column id to number of values in the column (including null and NaN values) |
-| _optional_ | _optional_ | **`110  null_value_counts`**      | `map<121: int, 122: long>`   | Map from column id to number of null values in the column |
-| _optional_ | _optional_ | **`137  nan_value_counts`**       | `map<138: int, 139: long>`   | Map from column id to number of NaN values in the column |
-| _optional_ | _optional_ | **`111  distinct_counts`**        | `map<123: int, 124: long>`   | Map from column id to number of distinct values in the column; distinct counts must be derived using values in the file by counting or using sketches, but not using methods like merging existing distinct counts |
-| _optional_ | _optional_ | **`125  lower_bounds`**           | `map<126: int, 127: binary>` | Map from column id to lower bound in the column serialized as binary [1]. Each value must be less than or equal to all non-null, non-NaN values in the column for the file [2] |
-| _optional_ | _optional_ | **`128  upper_bounds`**           | `map<129: int, 130: binary>` | Map from column id to upper bound in the column serialized as binary [1]. Each value must be greater than or equal to all non-null, non-Nan values in the column for the file [2] |
-| _optional_ | _optional_ | **`131  key_metadata`**           | `binary`                     | Implementation-specific key metadata for encryption |
-| _optional_ | _optional_ | **`132  split_offsets`**          | `list<133: long>`            | Split offsets for the data file. For example, all row group offsets in a Parquet file. Must be sorted ascending |
-|            | _optional_ | **`135  equality_ids`**           | `list<136: int>`             | Field ids used to determine row equality in equality delete files. Required when `content=2` and should be null otherwise. Fields with ids listed in this column must be present in the delete file |
-| _optional_ | _optional_ | **`140  sort_order_id`**          | `int`                        | ID representing sort order for this file [3]. |
-
-Notes:
-
-1. Single-value serialization for lower and upper bounds is detailed in Appendix D.
-2. For `float` and `double`, the value `-0.0` must precede `+0.0`, as in the IEEE 754 `totalOrder` predicate.
-3. If sort order ID is missing or unknown, then the order is assumed to be unsorted. Only data files and equality delete files should be written with a non-null order id. [Position deletes](#position-delete-files) are required to be sorted by file and position, not a table order, and should set sort order id to null. Readers must ignore sort order id for position delete files.
-
-The `partition` struct stores the tuple of partition values for each file. Its type is derived from the partition fields of the partition spec used to write the manifest file. In v2, the partition struct's field ids must match the ids from the partition spec.
-
-The column metrics maps are used when filtering to select both data and delete files. For delete files, the metrics must store bounds and counts for all deleted rows, or must be omitted. Storing metrics for deleted rows ensures that the values can be used during job planning to find delete files that must be merged during a scan.
-
-
-#### Manifest Entry Fields
-
-The manifest entry fields are used to keep track of the snapshot in which files were added or logically deleted. The `data_file` struct is nested inside of the manifest entry so that it can be easily passed to job planning without the manifest entry fields.
-
-When a file is added to the dataset, it’s manifest entry should store the snapshot ID in which the file was added and set status to 1 (added).
-
-When a file is replaced or deleted from the dataset, it’s manifest entry fields store the snapshot ID in which the file was deleted and status 2 (deleted). The file may be deleted from the file system when the snapshot in which it was deleted is garbage collected, assuming that older snapshots have also been garbage collected [1].
-
-Iceberg v2 adds a sequence number to the entry and makes the snapshot id optional. Both fields, `sequence_number` and `snapshot_id`, are inherited from manifest metadata when `null`. That is, if the field is `null` for an entry, then the entry must inherit its value from the manifest file's metadata, stored in the manifest list [2].
-
-Notes:
-
-1. Technically, data files can be deleted when the last snapshot that contains the file as “live” data is garbage collected. But this is harder to detect and requires finding the diff of multiple snapshots. It is easier to track what files are deleted in a snapshot and delete them when that snapshot expires.
-2. Manifest list files are required in v2, so that the `sequence_number` and `snapshot_id` to inherit are always available.
-
-#### Sequence Number Inheritance
-
-Manifests track the sequence number when a data or delete file was added to the table.
-
-When adding new file, its sequence number is set to `null` because the snapshot's sequence number is not assigned until the snapshot is successfully committed. When reading, sequence numbers are inherited by replacing `null` with the manifest's sequence number from the manifest list.
-
-When writing an existing file to a new manifest, the sequence number must be non-null and set to the sequence number that was inherited.
-
-Inheriting sequence numbers through the metadata tree allows writing a new manifest without a known sequence number, so that a manifest can be written once and reused in commit retries. To change a sequence number for a retry, only the manifest list must be rewritten.
-
-When reading v1 manifests with no sequence number column, sequence numbers for all files must default to 0.
-
-
-### Snapshots
-
-A snapshot consists of the following fields:
-
-| v1         | v2         | Field                    | Description |
-| ---------- | ---------- | ------------------------ | ----------- |
-| _required_ | _required_ | **`snapshot-id`**        | A unique long ID |
-| _optional_ | _optional_ | **`parent-snapshot-id`** | The snapshot ID of the snapshot's parent. Omitted for any snapshot with no parent |
-|            | _required_ | **`sequence-number`**    | A monotonically increasing long that tracks the order of changes to a table |
-| _required_ | _required_ | **`timestamp-ms`**       | A timestamp when the snapshot was created, used for garbage collection and table inspection |
-| _optional_ | _required_ | **`manifest-list`**      | The location of a manifest list for this snapshot that tracks manifest files with additional meadata |
-| _optional_ |            | **`manifests`**          | A list of manifest file locations. Must be omitted if `manifest-list` is present |
-| _optional_ | _required_ | **`summary`**            | A string map that summarizes the snapshot changes, including `operation` (see below) |
-| _optional_ | _optional_ | **`schema-id`**          | ID of the table's current schema when the snapshot was created |
-
-The snapshot summary's `operation` field is used by some operations, like snapshot expiration, to skip processing certain snapshots. Possible `operation` values are:
-
-*   `append` -- Only data files were added and no files were removed.
-*   `replace` -- Data and delete files were added and removed without changing table data; i.e., compaction, changing the data file format, or relocating data files.
-*   `overwrite` -- Data and delete files were added and removed in a logical overwrite operation.
-*   `delete` -- Data files were removed and their contents logically deleted and/or delete files were added to delete rows.
-
-Data and delete files for a snapshot can be stored in more than one manifest. This enables:
-
-*   Appends can add a new manifest to minimize the amount of data written, instead of adding new records by rewriting and appending to an existing manifest. (This is called a “fast append”.)
-*   Tables can use multiple partition specs. A table’s partition configuration can evolve if, for example, its data volume changes. Each manifest uses a single partition spec, and queries do not need to change because partition filters are derived from data predicates.
-*   Large tables can be split across multiple manifests so that implementations can parallelize job planning or reduce the cost of rewriting a manifest.
-
-Manifests for a snapshot are tracked by a manifest list.
-
-Valid snapshots are stored as a list in table metadata. For serialization, see Appendix C.
-
-
-#### Manifest Lists
-
-Snapshots are embedded in table metadata, but the list of manifests for a snapshot are stored in a separate manifest list file.
-
-A new manifest list is written for each attempt to commit a snapshot because the list of manifests always changes to produce a new snapshot. When a manifest list is written, the (optimistic) sequence number of the snapshot is written for all new manifest files tracked by the list.
-
-A manifest list includes summary metadata that can be used to avoid scanning all of the manifests in a snapshot when planning a table scan. This includes the number of added, existing, and deleted files, and a summary of values for each field of the partition spec used to write the manifest.
-
-A manifest list is a valid Iceberg data file: files must use valid Iceberg formats, schemas, and column projection.
-
-Manifest list files store `manifest_file`, a struct with the following fields:
-
-| v1         | v2         | Field id, name                 | Type                                        | Description |
-| ---------- | ---------- |--------------------------------|---------------------------------------------|-------------|
-| _required_ | _required_ | **`500 manifest_path`**        | `string`                                    | Location of the manifest file |
-| _required_ | _required_ | **`501 manifest_length`**      | `long`                                      | Length of the manifest file |
-| _required_ | _required_ | **`502 partition_spec_id`**    | `int`                                       | ID of a partition spec used to write the manifest; must be listed in table metadata `partition-specs` |
-|            | _required_ | **`517 content`**              | `int` with meaning: `0: data`, `1: deletes` | The type of files tracked by the manifest, either data or delete files; 0 for all v1 manifests |
-|            | _required_ | **`515 sequence_number`**      | `long`                                      | The sequence number when the manifest was added to the table; use 0 when reading v1 manifest lists |
-|            | _required_ | **`516 min_sequence_number`**  | `long`                                      | The minimum sequence number of all data or delete files in the manifest; use 0 when reading v1 manifest lists |
-| _required_ | _required_ | **`503 added_snapshot_id`**    | `long`                                      | ID of the snapshot where the  manifest file was added |
-| _optional_ | _required_ | **`504 added_files_count`**    | `int`                                       | Number of entries in the manifest that have status `ADDED` (1), when `null` this is assumed to be non-zero |
-| _optional_ | _required_ | **`505 existing_files_count`** | `int`                                       | Number of entries in the manifest that have status `EXISTING` (0), when `null` this is assumed to be non-zero |
-| _optional_ | _required_ | **`506 deleted_files_count`**  | `int`                                       | Number of entries in the manifest that have status `DELETED` (2), when `null` this is assumed to be non-zero |
-| _optional_ | _required_ | **`512 added_rows_count`**     | `long`                                      | Number of rows in all of files in the manifest that have status `ADDED`, when `null` this is assumed to be non-zero |
-| _optional_ | _required_ | **`513 existing_rows_count`**  | `long`                                      | Number of rows in all of files in the manifest that have status `EXISTING`, when `null` this is assumed to be non-zero |
-| _optional_ | _required_ | **`514 deleted_rows_count`**   | `long`                                      | Number of rows in all of files in the manifest that have status `DELETED`, when `null` this is assumed to be non-zero |
-| _optional_ | _optional_ | **`507 partitions`**           | `list<508: field_summary>` (see below)      | A list of field summaries for each partition field in the spec. Each field in the list corresponds to a field in the manifest file’s partition spec. |
-| _optional_ | _optional_ | **`519 key_metadata`**         | `binary`                                    | Implementation-specific key metadata for encryption |
-
-`field_summary` is a struct with the following fields:
-
-| v1         | v2         | Field id, name          | Type          | Description |
-| ---------- | ---------- |-------------------------|---------------|-------------|
-| _required_ | _required_ | **`509 contains_null`** | `boolean`     | Whether the manifest contains at least one partition with a null value for the field |
-| _optional_ | _optional_ | **`518 contains_nan`**  | `boolean`     | Whether the manifest contains at least one partition with a NaN value for the field |
-| _optional_ | _optional_ | **`510 lower_bound`**   | `bytes`   [1] | Lower bound for the non-null, non-NaN values in the partition field, or null if all values are null or NaN [2] |
-| _optional_ | _optional_ | **`511 upper_bound`**   | `bytes`   [1] | Upper bound for the non-null, non-NaN values in the partition field, or null if all values are null or NaN [2] |
-
-Notes:
-
-1. Lower and upper bounds are serialized to bytes using the single-object serialization in Appendix D. The type of used to encode the value is the type of the partition field data.
-2. If -0.0 is a value of the partition field, the `lower_bound` must not be +0.0, and if +0.0 is a value of the partition field, the `upper_bound` must not be -0.0.
-
-#### Scan Planning
-
-Scans are planned by reading the manifest files for the current snapshot. Deleted entries in data and delete manifests are not used in a scan.
-
-Manifests that contain no matching files, determined using either file counts or partition summaries, may be skipped.
-
-For each manifest, scan predicates, which filter data rows, are converted to partition predicates, which filter data and delete files. These partition predicates are used to select the data and delete files in the manifest. This conversion uses the partition spec used to write the manifest file.
-
-Scan predicates are converted to partition predicates using an _inclusive projection_: if a scan predicate matches a row, then the partition predicate must match that row’s partition. This is called _inclusive_ [1] because rows that do not match the scan predicate may be included in the scan by the partition predicate.
-
-For example, an `events` table with a timestamp column named `ts` that is partitioned by `ts_day=day(ts)` is queried by users with ranges over the timestamp column: `ts > X`. The inclusive projection is `ts_day >= day(X)`, which is used to select files that may have matching rows. Note that, in most cases, timestamps just before `X` will be included in the scan because the file contains rows that match the predicate and rows that do not match the predicate.
-
-Scan predicates are also used to filter data and delete files using column bounds and counts that are stored by field id in manifests. The same filter logic can be used for both data and delete files because both store metrics of the rows either inserted or deleted. If metrics show that a delete file has no rows that match a scan predicate, it may be ignored just as a data file would be ignored [2].
-
-Data files that match the query filter must be read by the scan.
-
-Delete files that match the query filter must be applied to data files at read time, limited by the scope of the delete file using the following rules.
-
-* A _position_ delete file must be applied to a data file when all of the following are true:
-    - The data file's sequence number is _less than or equal to_ the delete file's sequence number
-    - The data file's partition (both spec and partition values) is equal to the delete file's partition
-* An _equality_ delete file must be applied to a data file when all of the following are true:
-    - The data file's sequence number is _strictly less than_ the delete's sequence number
-    - The data file's partition (both spec and partition values) is equal to the delete file's partition _or_ the delete file's partition spec is unpartitioned
-
-In general, deletes are applied only to data files that are older and in the same partition, except for two special cases:
-
-* Equality delete files stored with an unpartitioned spec are applied as global deletes. Otherwise, delete files do not apply to files in other partitions.
-* Position delete files must be applied to data files from the same commit, when the data and delete file sequence numbers are equal. This allows deleting rows that were added in the same commit.
-
-
-Notes:
-
-1. An alternative, *strict projection*, creates a partition predicate that will match a file if all of the rows in the file must match the scan predicate. These projections are used to calculate the residual predicates for each file in a scan.
-2. For example, if `file_a` has rows with `id` between 1 and 10 and a delete file contains rows with `id` between 1 and 4, a scan for `id = 9` may ignore the delete file because none of the deletes can match a row that will be selected.
-
-
-### Table Metadata
-
-Table metadata is stored as JSON. Each table metadata change creates a new table metadata file that is committed by an atomic operation. This operation is used to ensure that a new version of table metadata replaces the version on which it was based. This produces a linear history of table versions and ensures that concurrent writes are not lost.
-
-The atomic operation used to commit metadata depends on how tables are tracked and is not standardized by this spec. See the sections below for examples.
-
-#### Table Metadata Fields
-
-Table metadata consists of the following fields:
-
-| v1         | v2         | Field | Description |
-| ---------- | ---------- | ----- | ----------- |
-| _required_ | _required_ | **`format-version`** | An integer version number for the format. Currently, this can be 1 or 2 based on the spec. Implementations must throw an exception if a table's version is higher than the supported version. |
-| _optional_ | _required_ | **`table-uuid`** | A UUID that identifies the table, generated when the table is created. Implementations must throw an exception if a table's UUID does not match the expected UUID after refreshing metadata. |
-| _required_ | _required_ | **`location`**| The table's base location. This is used by writers to determine where to store data files, manifest files, and table metadata files. |
-|            | _required_ | **`last-sequence-number`**| The table's highest assigned sequence number, a monotonically increasing long that tracks the order of snapshots in a table. |
-| _required_ | _required_ | **`last-updated-ms`**| Timestamp in milliseconds from the unix epoch when the table was last updated. Each table metadata file should update this field just before writing. |
-| _required_ | _required_ | **`last-column-id`**| An integer; the highest assigned column ID for the table. This is used to ensure columns are always assigned an unused ID when evolving schemas. |
-| _required_ |            | **`schema`**| The table’s current schema. (**Deprecated**: use `schemas` and `current-schema-id` instead) |
-| _optional_ | _required_ | **`schemas`**| A list of schemas, stored as objects with `schema-id`. |
-| _optional_ | _required_ | **`current-schema-id`**| ID of the table's current schema. |
-| _required_ |            | **`partition-spec`**| The table’s current partition spec, stored as only fields. Note that this is used by writers to partition data, but is not used when reading because reads use the specs stored in manifest files. (**Deprecated**: use `partition-specs` and `default-spec-id` instead) |
-| _optional_ | _required_ | **`partition-specs`**| A list of partition specs, stored as full partition spec objects. |
-| _optional_ | _required_ | **`default-spec-id`**| ID of the "current" spec that writers should use by default. |
-| _optional_ | _required_ | **`last-partition-id`**| An integer; the highest assigned partition field ID across all partition specs for the table. This is used to ensure partition fields are always assigned an unused ID when evolving specs. |
-| _optional_ | _optional_ | **`properties`**| A string to string map of table properties. This is used to control settings that affect reading and writing and is not intended to be used for arbitrary metadata. For example, `commit.retry.num-retries` is used to control the number of commit retries. |
-| _optional_ | _optional_ | **`current-snapshot-id`**| `long` ID of the current table snapshot. |
-| _optional_ | _optional_ | **`snapshots`**| A list of valid snapshots. Valid snapshots are snapshots for which all data files exist in the file system. A data file must not be deleted from the file system until the last snapshot in which it was listed is garbage collected. |
-| _optional_ | _optional_ | **`snapshot-log`**| A list (optional) of timestamp and snapshot ID pairs that encodes changes to the current snapshot for the table. Each time the current-snapshot-id is changed, a new entry should be added with the last-updated-ms and the new current-snapshot-id. When snapshots are expired from the list of valid snapshots, all entries before a snapshot that has expired should be removed. |
-| _optional_ | _optional_ | **`metadata-log`**| A list (optional) of timestamp and metadata file location pairs that encodes changes to the previous metadata files for the table. Each time a new metadata file is created, a new entry of the previous metadata file location should be added to the list. Tables can be configured to remove oldest metadata log entries and keep a fixed-size log of the most recent entries after a commit. |
-| _optional_ | _required_ | **`sort-orders`**| A list of sort orders, stored as full sort order objects. |
-| _optional_ | _required_ | **`default-sort-order-id`**| Default sort order id of the table. Note that this could be used by writers, but is not used when reading because reads use the specs stored in manifest files. |
-
-For serialization details, see Appendix C.
-
-
-#### Commit Conflict Resolution and Retry
-
-When two commits happen at the same time and are based on the same version, only one commit will succeed. In most cases, the failed commit can be applied to the new current version of table metadata and retried. Updates verify the conditions under which they can be applied to a new version and retry if those conditions are met.
-
-*   Append operations have no requirements and can always be applied.
-*   Replace operations must verify that the files that will be deleted are still in the table. Examples of replace operations include format changes (replace an Avro file with a Parquet file) and compactions (several files are replaced with a single file that contains the same rows).
-*   Delete operations must verify that specific files to delete are still in the table. Delete operations based on expressions can always be applied (e.g., where timestamp < X).
-*   Table schema updates and partition spec changes must validate that the schema has not changed between the base version and the current version.
-
-
-#### File System Tables
-
-An atomic swap can be implemented using atomic rename in file systems that support it, like HDFS or most local file systems [1].
-
-Each version of table metadata is stored in a metadata folder under the table’s base location using a file naming scheme that includes a version number, `V`: `v<V>.metadata.json`. To commit a new metadata version, `V+1`, the writer performs the following steps:
-
-1. Read the current table metadata version `V`.
-2. Create new table metadata based on version `V`.
-3. Write the new table metadata to a unique file: `<random-uuid>.metadata.json`.
-4. Rename the unique file to the well-known file for version `V`: `v<V+1>.metadata.json`.
-    1. If the rename succeeds, the commit succeeded and `V+1` is the table’s current version
-    2. If the rename fails, go back to step 1.
-
-Notes:
-
-1. The file system table scheme is implemented in [HadoopTableOperations](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/hadoop/HadoopTableOperations.html).
-
-#### Metastore Tables
-
-The atomic swap needed to commit new versions of table metadata can be implemented by storing a pointer in a metastore or database that is updated with a check-and-put operation [1]. The check-and-put validates that the version of the table that a write is based on is still current and then makes the new metadata from the write the current version.
-
-Each version of table metadata is stored in a metadata folder under the table’s base location using a naming scheme that includes a version and UUID: `<V>-<uuid>.metadata.json`. To commit a new metadata version, `V+1`, the writer performs the following steps:
-
-2. Create a new table metadata file based on the current metadata.
-3. Write the new table metadata to a unique file: `<V+1>-<uuid>.metadata.json`.
-4. Request that the metastore swap the table’s metadata pointer from the location of `V` to the location of `V+1`.
-    1. If the swap succeeds, the commit succeeded. `V` was still the latest metadata version and the metadata file for `V+1` is now the current metadata.
-    2. If the swap fails, another writer has already created `V+1`. The current writer goes back to step 1.
-
-Notes:
-
-1. The metastore table scheme is partly implemented in [BaseMetastoreTableOperations](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/BaseMetastoreTableOperations.html).
-
-
-### Delete Formats
-
-This section details how to encode row-level deletes in Iceberg delete files. Row-level deletes are not supported in v1.
-
-Row-level delete files are valid Iceberg data files: files must use valid Iceberg formats, schemas, and column projection. It is recommended that delete files are written using the table's default file format.
-
-Row-level delete files are tracked by manifests, like data files. A separate set of manifests is used for delete files, but the manifest schemas are identical.
-
-Both position and equality deletes allow encoding deleted row values with a delete. This can be used to reconstruct a stream of changes to a table.
-
-
-#### Position Delete Files
-
-Position-based delete files identify deleted rows by file and position in one or more data files, and may optionally contain the deleted row.
-
-A data row is deleted if there is an entry in a position delete file for the row's file and position in the data file, starting at 0.
-
-Position-based delete files store `file_position_delete`, a struct with the following fields:
-
-| Field id, name              | Type                       | Description |
-|-----------------------------|----------------------------|-------------|
-| **`2147483546  file_path`** | `string`                   | Full URI of a data file with FS scheme. This must match the `file_path` of the target data file in a manifest entry |
-| **`2147483545  pos`**       | `long`                     | Ordinal position of a deleted row in the target data file identified by `file_path`, starting at `0` |
-| **`2147483544  row`**       | `required struct<...>` [1] | Deleted row values. Omit the column when not storing deleted rows. |
-
-1. When present in the delete file, `row` is required because all delete entries must include the row values.
-
-When the deleted row column is present, its schema may be any subset of the table schema and must use field ids matching the table.
-
-To ensure the accuracy of statistics, all delete entries must include row values, or the column must be omitted (this is why the column type is `required`).
-
-The rows in the delete file must be sorted by `file_path` then `position` to optimize filtering rows while scanning. 
-
-*  Sorting by `file_path` allows filter pushdown by file in columnar storage formats.
-*  Sorting by `position` allows filtering rows while scanning, to avoid keeping deletes in memory.
-
-#### Equality Delete Files
-
-Equality delete files identify deleted rows in a collection of data files by one or more column values, and may optionally contain additional columns of the deleted row.
-
-Equality delete files store any subset of a table's columns and use the table's field ids. The _delete columns_ are the columns of the delete file used to match data rows. Delete columns are identified by id in the delete file [metadata column `equality_ids`](#manifests). Float and double columns cannot be used as delete columns in equality delete files.
-
-A data row is deleted if its values are equal to all delete columns for any row in an equality delete file that applies to the row's data file (see [`Scan Planning`](#scan-planning)).
-
-Each row of the delete file produces one equality predicate that matches any row where the delete columns are equal. Multiple columns can be thought of as an `AND` of equality predicates. A `null` value in a delete column matches a row if the row's value is `null`, equivalent to `col IS NULL`.
-
-For example, a table with the following data:
-
-```text
- 1: id | 2: category | 3: name
--------|-------------|---------
- 1     | marsupial   | Koala
- 2     | toy         | Teddy
- 3     | NULL        | Grizzly
- 4     | NULL        | Polar
-```
-
-The delete `id = 3` could be written as either of the following equality delete files:
-
-```text
-equality_ids=[1]
-
- 1: id
--------
- 3
-```
-
-```text
-equality_ids=[1]
-
- 1: id | 2: category | 3: name
--------|-------------|---------
- 3     | NULL        | Grizzly
-```
-
-The delete `id = 4 AND category IS NULL` could be written as the following equality delete file:
-
-```text
-equality_ids=[1, 2]
-
- 1: id | 2: category | 3: name
--------|-------------|---------
- 4     | NULL        | Polar
-```
-
-If a delete column in an equality delete file is later dropped from the table, it must still be used when applying the equality deletes. If a column was added to a table and later used as a delete column in an equality delete file, the column value is read for older data files using normal projection rules (defaults to `null`).
-
-
-#### Delete File Stats
-
-Manifests hold the same statistics for delete files and data files. For delete files, the metrics describe the values that were deleted.
-
-
-## Appendix A: Format-specific Requirements
-
-
-### Avro
-
-**Data Type Mappings**
-
-Values should be stored in Avro using the Avro types and logical type annotations in the table below.
-
-Optional fields, array elements, and map values must be wrapped in an Avro `union` with `null`. This is the only union type allowed in Iceberg data files.
-
-Optional fields must always set the Avro field default value to null.
-
-Maps with non-string keys must use an array representation with the `map` logical type. The array representation or Avro’s map type may be used for maps with string keys.
-
-|Type|Avro type|Notes|
-|--- |--- |--- |
-|**`boolean`**|`boolean`||
-|**`int`**|`int`||
-|**`long`**|`long`||
-|**`float`**|`float`||
-|**`double`**|`double`||
-|**`decimal(P,S)`**|`{ "type": "fixed",`<br />&nbsp;&nbsp;`"size": minBytesRequired(P),`<br />&nbsp;&nbsp;`"logicalType": "decimal",`<br />&nbsp;&nbsp;`"precision": P,`<br />&nbsp;&nbsp;`"scale": S }`|Stored as fixed using the minimum number of bytes for the given precision.|
-|**`date`**|`{ "type": "int",`<br />&nbsp;&nbsp;`"logicalType": "date" }`|Stores days from the 1970-01-01.|
-|**`time`**|`{ "type": "long",`<br />&nbsp;&nbsp;`"logicalType": "time-micros" }`|Stores microseconds from midnight.|
-|**`timestamp`**|`{ "type": "long",`<br />&nbsp;&nbsp;`"logicalType": "timestamp-micros",`<br />&nbsp;&nbsp;`"adjust-to-utc": false }`|Stores microseconds from 1970-01-01 00:00:00.000000.|
-|**`timestamptz`**|`{ "type": "long",`<br />&nbsp;&nbsp;`"logicalType": "timestamp-micros",`<br />&nbsp;&nbsp;`"adjust-to-utc": true }`|Stores microseconds from 1970-01-01 00:00:00.000000 UTC.|
-|**`string`**|`string`||
-|**`uuid`**|`{ "type": "fixed",`<br />&nbsp;&nbsp;`"size": 16,`<br />&nbsp;&nbsp;`"logicalType": "uuid" }`||
-|**`fixed(L)`**|`{ "type": "fixed",`<br />&nbsp;&nbsp;`"size": L }`||
-|**`binary`**|`bytes`||
-|**`struct`**|`record`||
-|**`list`**|`array`||
-|**`map`**|`array` of key-value records, or `map` when keys are strings (optional).|Array storage must use logical type name `map` and must store elements that are 2-field records. The first field is a non-null key and the second field is the value.|
-
-
-**Field IDs**
-
-Iceberg struct, list, and map types identify nested types by ID. When writing data to Avro files, these IDs must be stored in the Avro schema to support ID-based column pruning.
-
-IDs are stored as JSON integers in the following locations:
-
-|ID|Avro schema location|Property|Example|
-|--- |--- |--- |--- |
-|**Struct field**|Record field object|`field-id`|`{ "type": "record", ...`<br />&nbsp;&nbsp;`"fields": [`<br />&nbsp;&nbsp;&nbsp;&nbsp;`{ "name": "l",`<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`"type": ["null", "long"],`<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`"default": null,`<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`"field-id": 8 }`<br />&nbsp;&nbsp;`] }`|
-|**List element**|Array schema object|`element-id`|`{ "type": "array",`<br />&nbsp;&nbsp;`"items": "int",`<br />&nbsp;&nbsp;`"element-id": 9 }`|
-|**String map key**|Map schema object|`key-id`|`{ "type": "map",`<br />&nbsp;&nbsp;`"values": "int",`<br />&nbsp;&nbsp;`"key-id": 10,`<br />&nbsp;&nbsp;`"value-id": 11 }`|
-|**String map value**|Map schema object|`value-id`||
-|**Map key, value**|Key, value fields in the element record.|`field-id`|`{ "type": "array",`<br />&nbsp;&nbsp;`"logicalType": "map",`<br />&nbsp;&nbsp;`"items": {`<br />&nbsp;&nbsp;&nbsp;&nbsp;`"type": "record",`<br />&nbsp;&nbsp;&nbsp;&nbsp;`"name": "k12_v13",`<br />&nbsp;&nbsp;&nbsp;&nbsp;`"fields": [`<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`{ "name": "key",`<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`"type": "int",`<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`"f [...]
-
-Note that the string map case is for maps where the key type is a string. Using Avro’s map type in this case is optional. Maps with string keys may be stored as arrays.
-
-
-### Parquet
-
-**Data Type Mappings**
-
-Values should be stored in Parquet using the types and logical type annotations in the table below. Column IDs are required.
-
-Lists must use the [3-level representation](https://github.com/apache/parquet-format/blob/master/LogicalTypes#lists).
-
-| Type               | Parquet physical type                                              | Logical type                                | Notes                                                          |
-|--------------------|--------------------------------------------------------------------|---------------------------------------------|----------------------------------------------------------------|
-| **`boolean`**      | `boolean`                                                          |                                             |                                                                |
-| **`int`**          | `int`                                                              |                                             |                                                                |
-| **`long`**         | `long`                                                             |                                             |                                                                |
-| **`float`**        | `float`                                                            |                                             |                                                                |
-| **`double`**       | `double`                                                           |                                             |                                                                |
-| **`decimal(P,S)`** | `P <= 9`: `int32`,<br />`P <= 18`: `int64`,<br />`fixed` otherwise | `DECIMAL(P,S)`                              | Fixed must use the minimum number of bytes that can store `P`. |
-| **`date`**         | `int32`                                                            | `DATE`                                      | Stores days from the 1970-01-01.                               |
-| **`time`**         | `int64`                                                            | `TIME_MICROS` with `adjustToUtc=false`      | Stores microseconds from midnight.                             |
-| **`timestamp`**    | `int64`                                                            | `TIMESTAMP_MICROS` with `adjustToUtc=false` | Stores microseconds from 1970-01-01 00:00:00.000000.           |
-| **`timestamptz`**  | `int64`                                                            | `TIMESTAMP_MICROS` with `adjustToUtc=true`  | Stores microseconds from 1970-01-01 00:00:00.000000 UTC.       |
-| **`string`**       | `binary`                                                           | `UTF8`                                      | Encoding must be UTF-8.                                        |
-| **`uuid`**         | `fixed_len_byte_array[16]`                                         | `UUID`                                      |                                                                |
-| **`fixed(L)`**     | `fixed_len_byte_array[L]`                                          |                                             |                                                                |
-| **`binary`**       | `binary`                                                           |                                             |                                                                |
-| **`struct`**       | `group`                                                            |                                             |                                                                |
-| **`list`**         | `3-level list`                                                     | `LIST`                                      | See Parquet docs for 3-level representation.                   |
-| **`map`**          | `3-level map`                                                      | `MAP`                                       | See Parquet docs for 3-level representation.                   |
-
-
-### ORC
-
-**Data Type Mappings**
-
-| Type               | ORC type            | ORC type attributes                                  | Notes                                                                                   |
-|--------------------|---------------------|------------------------------------------------------|-----------------------------------------------------------------------------------------|
-| **`boolean`**      | `boolean`           |                                                      |                                                                                         |
-| **`int`**          | `int`               |                                                      | ORC `tinyint` and `smallint` would also map to **`int`**.                               |
-| **`long`**         | `long`              |                                                      |                                                                                         |
-| **`float`**        | `float`             |                                                      |                                                                                         |
-| **`double`**       | `double`            |                                                      |                                                                                         |
-| **`decimal(P,S)`** | `decimal`           |                                                      |                                                                                         |
-| **`date`**         | `date`              |                                                      |                                                                                         |
-| **`time`**         | `long`              | `iceberg.long-type`=`TIME`                           | Stores microseconds from midnight.                                                      |
-| **`timestamp`**    | `timestamp`         |                                                      | [1]                                                                                     |
-| **`timestamptz`**  | `timestamp_instant` |                                                      | [1]                                                                                     |
-| **`string`**       | `string`            |                                                      | ORC `varchar` and `char` would also map to **`string`**.                                |
-| **`uuid`**         | `binary`            | `iceberg.binary-type`=`UUID`                         |                                                                                         |
-| **`fixed(L)`**     | `binary`            | `iceberg.binary-type`=`FIXED` & `iceberg.length`=`L` | The length would not be checked by the ORC reader and should be checked by the adapter. |
-| **`binary`**       | `binary`            |                                                      |                                                                                         |
-| **`struct`**       | `struct`            |                                                      |                                                                                         |
-| **`list`**         | `array`             |                                                      |                                                                                         |
-| **`map`**          | `map`               |                                                      |                                                                                         |
-
-Notes:
-
-1. ORC's [TimestampColumnVector](https://orc.apache.org/api/hive-storage-api/org/apache/hadoop/hive/ql/exec/vector/TimestampColumnVector.html) comprises of a time field (milliseconds since epoch) and a nanos field (nanoseconds within the second). Hence the milliseconds within the second are reported twice; once in the time field and again in the nanos field. The read adapter should only use milliseconds within the second from one of these fields. The write adapter should also report mill [...]
-
-One of the interesting challenges with this is how to map Iceberg’s schema evolution (id based) on to ORC’s (name based). In theory, we could use Iceberg’s column ids as the column and field names, but that would suck from a user’s point of view. 
-
-The column IDs must be stored in ORC type attributes using the key `iceberg.id`, and `iceberg.required` to store `"true"` if the Iceberg column is required, otherwise it will be optional.
-
-Iceberg would build the desired reader schema with their schema evolution rules and pass that down to the ORC reader, which would then use its schema evolution to map that to the writer’s schema. Basically, Iceberg would need to change the names of columns and fields to get the desired mapping.
-
-|Iceberg writer|ORC writer|Iceberg reader|ORC reader|
-|--- |--- |--- |--- |
-|`struct<a (1): int, b (2): string>`|`struct<a: int, b: string>`|`struct<a (2): string, c (3): date>`|`struct<b: string, c: date>`|
-|`struct<a (1): struct<b (2): string, c (3): date>>`|`struct<a: struct<b:string, c:date>>`|`struct<aa (1): struct<cc (3): date, bb (2): string>>`|`struct<a: struct<c:date, b:string>>`|
-
-## Appendix B: 32-bit Hash Requirements
-
-The 32-bit hash implementation is 32-bit Murmur3 hash, x86 variant, seeded with 0.
-
-| Primitive type     | Hash specification                        | Test value                                 |
-|--------------------|-------------------------------------------|--------------------------------------------|
-| **`int`**          | `hashLong(long(v))`			[1]          | `34` → `2017239379`                        |
-| **`long`**         | `hashBytes(littleEndianBytes(v))`         | `34L` → `2017239379`                       |
-| **`decimal(P,S)`** | `hashBytes(minBigEndian(unscaled(v)))`[2] | `14.20` → `-500754589`                     |
-| **`date`**         | `hashInt(daysFromUnixEpoch(v))`           | `2017-11-16` → `-653330422`                |
-| **`time`**         | `hashLong(microsecsFromMidnight(v))`      | `22:31:08` → `-662762989`                  |
-| **`timestamp`**    | `hashLong(microsecsFromUnixEpoch(v))`     | `2017-11-16T22:31:08` → `-2047944441`      |
-| **`timestamptz`**  | `hashLong(microsecsFromUnixEpoch(v))`     | `2017-11-16T14:31:08-08:00`→ `-2047944441` |
-| **`string`**       | `hashBytes(utf8Bytes(v))`                 | `iceberg` → `1210000089`                   |
-| **`uuid`**         | `hashBytes(uuidBytes(v))`		[3]      | `f79c3e09-677c-4bbd-a479-3f349cb785e7` → `1488055340`               |
-| **`fixed(L)`**     | `hashBytes(v)`                            | `00 01 02 03` → `-188683207`               |
-| **`binary`**       | `hashBytes(v)`                            | `00 01 02 03` → `-188683207`               |
-
-The types below are not currently valid for bucketing, and so are not hashed. However, if that changes and a hash value is needed, the following table shall apply:
-
-| Primitive type     | Hash specification                        | Test value                                 |
-|--------------------|-------------------------------------------|--------------------------------------------|
-| **`boolean`**      | `false: hashInt(0)`, `true: hashInt(1)`   | `true` → `1392991556`                      |
-| **`float`**        | `hashDouble(double(v))`         [4]       | `1.0F` → `-142385009`                      |
-| **`double`**       | `hashLong(doubleToLongBits(v))`           | `1.0D` → `-142385009`                      |
-
-Notes:
-
-1. Integer and long hash results must be identical for all integer values. This ensures that schema evolution does not change bucket partition values if integer types are promoted.
-2. Decimal values are hashed using the minimum number of bytes required to hold the unscaled value as a two’s complement big-endian; this representation does not include padding bytes required for storage in a fixed-length array.
-Hash results are not dependent on decimal scale, which is part of the type, not the data value.
-3. UUIDs are encoded using big endian. The test UUID for the example above is: `f79c3e09-677c-4bbd-a479-3f349cb785e7`. This UUID encoded as a byte array is:
-`F7 9C 3E 09 67 7C 4B BD A4 79 3F 34 9C B7 85 E7`
-4. Float hash values are the result of hashing the float cast to double to ensure that schema evolution does not change hash values if float types are promoted.
-
-
-## Appendix C: JSON serialization
-
-
-### Schemas
-
-Schemas are serialized as a JSON object with the same fields as a struct in the table below, and the following additional fields:
-
-| v1         | v2         |Field|JSON representation|Example|
-| ---------- | ---------- |--- |--- |--- |
-| _optional_ | _required_ |**`schema-id`**|`JSON int`|`0`|
-| _optional_ | _optional_ |**`identifier-field-ids`**|`JSON list of ints`|`[1, 2]`|
-
-Types are serialized according to this table:
-
-|Type|JSON representation|Example|
-|--- |--- |--- |
-|**`boolean`**|`JSON string: "boolean"`|`"boolean"`|
-|**`int`**|`JSON string: "int"`|`"int"`|
-|**`long`**|`JSON string: "long"`|`"long"`|
-|**`float`**|`JSON string: "float"`|`"float"`|
-|**`double`**|`JSON string: "double"`|`"double"`|
-|**`date`**|`JSON string: "date"`|`"date"`|
-|**`time`**|`JSON string: "time"`|`"time"`|
-|**`timestamp without zone`**|`JSON string: "timestamp"`|`"timestamp"`|
-|**`timestamp with zone`**|`JSON string: "timestamptz"`|`"timestamptz"`|
-|**`string`**|`JSON string: "string"`|`"string"`|
-|**`uuid`**|`JSON string: "uuid"`|`"uuid"`|
-|**`fixed(L)`**|`JSON string: "fixed[<L>]"`|`"fixed[16]"`|
-|**`binary`**|`JSON string: "binary"`|`"binary"`|
-|**`decimal(P, S)`**|`JSON string: "decimal(<P>,<S>)"`|`"decimal(9,2)"`,<br />`"decimal(9, 2)"`|
-|**`struct`**|`JSON object: {`<br />&nbsp;&nbsp;`"type": "struct",`<br />&nbsp;&nbsp;`"fields": [ {`<br />&nbsp;&nbsp;&nbsp;&nbsp;`"id": <field id int>,`<br />&nbsp;&nbsp;&nbsp;&nbsp;`"name": <name string>,`<br />&nbsp;&nbsp;&nbsp;&nbsp;`"required": <boolean>,`<br />&nbsp;&nbsp;&nbsp;&nbsp;`"type": <type JSON>,`<br />&nbsp;&nbsp;&nbsp;&nbsp;`"doc": <comment string>`<br />&nbsp;&nbsp;&nbsp;&nbsp;`}, ...`<br />&nbsp;&nbsp;`] }`|`{`<br />&nbsp;&nbsp;`"type": "struct",`<br />&nbsp;&nbsp;`"fi [...]
-|**`list`**|`JSON object: {`<br />&nbsp;&nbsp;`"type": "list",`<br />&nbsp;&nbsp;`"element-id": <id int>,`<br />&nbsp;&nbsp;`"element-required": <bool>`<br />&nbsp;&nbsp;`"element": <type JSON>`<br />`}`|`{`<br />&nbsp;&nbsp;`"type": "list",`<br />&nbsp;&nbsp;`"element-id": 3,`<br />&nbsp;&nbsp;`"element-required": true,`<br />&nbsp;&nbsp;`"element": "string"`<br />`}`|
-|**`map`**|`JSON object: {`<br />&nbsp;&nbsp;`"type": "map",`<br />&nbsp;&nbsp;`"key-id": <key id int>,`<br />&nbsp;&nbsp;`"key": <type JSON>,`<br />&nbsp;&nbsp;`"value-id": <val id int>,`<br />&nbsp;&nbsp;`"value-required": <bool>`<br />&nbsp;&nbsp;`"value": <type JSON>`<br />`}`|`{`<br />&nbsp;&nbsp;`"type": "map",`<br />&nbsp;&nbsp;`"key-id": 4,`<br />&nbsp;&nbsp;`"key": "string",`<br />&nbsp;&nbsp;`"value-id": 5,`<br />&nbsp;&nbsp;`"value-required": false,`<br />&nbsp;&nbsp;`"value": [...]
-
-
-### Partition Specs
-
-Partition specs are serialized as a JSON object with the following fields:
-
-|Field|JSON representation|Example|
-|--- |--- |--- |
-|**`spec-id`**|`JSON int`|`0`|
-|**`fields`**|`JSON list: [`<br />&nbsp;&nbsp;`<partition field JSON>,`<br />&nbsp;&nbsp;`...`<br />`]`|`[ {`<br />&nbsp;&nbsp;`"source-id": 4,`<br />&nbsp;&nbsp;`"field-id": 1000,`<br />&nbsp;&nbsp;`"name": "ts_day",`<br />&nbsp;&nbsp;`"transform": "day"`<br />`}, {`<br />&nbsp;&nbsp;`"source-id": 1,`<br />&nbsp;&nbsp;`"field-id": 1001,`<br />&nbsp;&nbsp;`"name": "id_bucket",`<br />&nbsp;&nbsp;`"transform": "bucket[16]"`<br />`} ]`|
-
-Each partition field in the fields list is stored as an object. See the table for more detail:
-
-|Transform or Field|JSON representation|Example|
-|--- |--- |--- |
-|**`identity`**|`JSON string: "identity"`|`"identity"`|
-|**`bucket[N]`**|`JSON string: "bucket<N>]"`|`"bucket[16]"`|
-|**`truncate[W]`**|`JSON string: "truncate[<W>]"`|`"truncate[20]"`|
-|**`year`**|`JSON string: "year"`|`"year"`|
-|**`month`**|`JSON string: "month"`|`"month"`|
-|**`day`**|`JSON string: "day"`|`"day"`|
-|**`hour`**|`JSON string: "hour"`|`"hour"`|
-|**`Partition Field`**|`JSON object: {`<br />&nbsp;&nbsp;`"source-id": <id int>,`<br />&nbsp;&nbsp;`"field-id": <field id int>,`<br />&nbsp;&nbsp;`"name": <name string>,`<br />&nbsp;&nbsp;`"transform": <transform JSON>`<br />`}`|`{`<br />&nbsp;&nbsp;`"source-id": 1,`<br />&nbsp;&nbsp;`"field-id": 1000,`<br />&nbsp;&nbsp;`"name": "id_bucket",`<br />&nbsp;&nbsp;`"transform": "bucket[16]"`<br />`}`|
-
-In some cases partition specs are stored using only the field list instead of the object format that includes the spec ID, like the deprecated `partition-spec` field in table metadata. The object format should be used unless otherwise noted in this spec.
-
-The `field-id` property was added for each partition field in v2. In v1, the reference implementation assigned field ids sequentially in each spec starting at 1,000. See Partition Evolution for more details.
-
-### Sort Orders
-
-Sort orders are serialized as a list of JSON object, each of which contains the following fields:
-
-|Field|JSON representation|Example|
-|--- |--- |--- |
-|**`order-id`**|`JSON int`|`1`|
-|**`fields`**|`JSON list: [`<br />&nbsp;&nbsp;`<sort field JSON>,`<br />&nbsp;&nbsp;`...`<br />`]`|`[ {`<br />&nbsp;&nbsp;`  "transform": "identity",`<br />&nbsp;&nbsp;`  "source-id": 2,`<br />&nbsp;&nbsp;`  "direction": "asc",`<br />&nbsp;&nbsp;`  "null-order": "nulls-first"`<br />&nbsp;&nbsp;`}, {`<br />&nbsp;&nbsp;`  "transform": "bucket[4]",`<br />&nbsp;&nbsp;`  "source-id": 3,`<br />&nbsp;&nbsp;`  "direction": "desc",`<br />&nbsp;&nbsp;`  "null-order": "nulls-last"`<br />`} ]`|
-
-Each sort field in the fields list is stored as an object with the following properties:
-
-|Field|JSON representation|Example|
-|--- |--- |--- |
-|**`Sort Field`**|`JSON object: {`<br />&nbsp;&nbsp;`"transform": <transform JSON>,`<br />&nbsp;&nbsp;`"source-id": <source id int>,`<br />&nbsp;&nbsp;`"direction": <direction string>,`<br />&nbsp;&nbsp;`"null-order": <null-order string>`<br />`}`|`{`<br />&nbsp;&nbsp;`  "transform": "bucket[4]",`<br />&nbsp;&nbsp;`  "source-id": 3,`<br />&nbsp;&nbsp;`  "direction": "desc",`<br />&nbsp;&nbsp;`  "null-order": "nulls-last"`<br />`}`|
-
-The following table describes the possible values for the some of the field within sort field: 
-
-|Field|JSON representation|Possible values|
-|--- |--- |--- |
-|**`direction`**|`JSON string`|`"asc", "desc"`|
-|**`null-order`**|`JSON string`|`"nulls-first", "nulls-last"`|
-
-
-### Table Metadata and Snapshots
-
-Table metadata is serialized as a JSON object according to the following table. Snapshots are not serialized separately. Instead, they are stored in the table metadata JSON.
-
-|Metadata field|JSON representation|Example|
-|--- |--- |--- |
-|**`format-version`**|`JSON int`|`1`|
-|**`table-uuid`**|`JSON string`|`"fb072c92-a02b-11e9-ae9c-1bb7bc9eca94"`|
-|**`location`**|`JSON string`|`"s3://b/wh/data.db/table"`|
-|**`last-updated-ms`**|`JSON long`|`1515100955770`|
-|**`last-column-id`**|`JSON int`|`22`|
-|**`schema`**|`JSON schema (object)`|`See above, read schemas instead`|
-|**`schemas`**|`JSON schemas (list of objects)`|`See above`|
-|**`current-schema-id`**|`JSON int`|`0`|
-|**`partition-spec`**|`JSON partition fields (list)`|`See above, read partition-specs instead`|
-|**`partition-specs`**|`JSON partition specs (list of objects)`|`See above`|
-|**`default-spec-id`**|`JSON int`|`0`|
-|**`last-partition-id`**|`JSON int`|`1000`|
-|**`properties`**|`JSON object: {`<br />&nbsp;&nbsp;`"<key>": "<val>",`<br />&nbsp;&nbsp;`...`<br />`}`|`{`<br />&nbsp;&nbsp;`"write.format.default": "avro",`<br />&nbsp;&nbsp;`"commit.retry.num-retries": "4"`<br />`}`|
-|**`current-snapshot-id`**|`JSON long`|`3051729675574597004`|
-|**`snapshots`**|`JSON list of objects: [ {`<br />&nbsp;&nbsp;`"snapshot-id": <id>,`<br />&nbsp;&nbsp;`"timestamp-ms": <timestamp-in-ms>,`<br />&nbsp;&nbsp;`"summary": {`<br />&nbsp;&nbsp;&nbsp;&nbsp;`"operation": <operation>,`<br />&nbsp;&nbsp;&nbsp;&nbsp;`... },`<br />&nbsp;&nbsp;`"manifest-list": "<location>",`<br />&nbsp;&nbsp;`"schema-id": "<id>"`<br />&nbsp;&nbsp;`},`<br />&nbsp;&nbsp;`...`<br />`]`|`[ {`<br />&nbsp;&nbsp;`"snapshot-id": 3051729675574597004,`<br />&nbsp;&nbsp;`"tim [...]
-|**`snapshot-log`**|`JSON list of objects: [`<br />&nbsp;&nbsp;`{`<br />&nbsp;&nbsp;`"snapshot-id": ,`<br />&nbsp;&nbsp;`"timestamp-ms": `<br />&nbsp;&nbsp;`},`<br />&nbsp;&nbsp;`...`<br />`]`|`[ {`<br />&nbsp;&nbsp;`"snapshot-id": 30517296...,`<br />&nbsp;&nbsp;`"timestamp-ms": 1515100...`<br />`} ]`|
-|**`metadata-log`**|`JSON list of objects: [`<br />&nbsp;&nbsp;`{`<br />&nbsp;&nbsp;`"metadata-file": ,`<br />&nbsp;&nbsp;`"timestamp-ms": `<br />&nbsp;&nbsp;`},`<br />&nbsp;&nbsp;`...`<br />`]`|`[ {`<br />&nbsp;&nbsp;`"metadata-file": "s3://bucket/.../v1.json",`<br />&nbsp;&nbsp;`"timestamp-ms": 1515100...`<br />`} ]` |
-|**`sort-orders`**|`JSON sort orders (list of sort field object)`|`See above`|
-|**`default-sort-order-id`**|`JSON int`|`0`|
-
-
-## Appendix D: Single-value serialization
-
-This serialization scheme is for storing single values as individual binary values in the lower and upper bounds maps of manifest files.
-
-| Type                         | Binary serialization                                                                                         |
-|------------------------------|--------------------------------------------------------------------------------------------------------------|
-| **`boolean`**                | `0x00` for false, non-zero byte for true                                                                     |
-| **`int`**                    | Stored as 4-byte little-endian                                                                               |
-| **`long`**                   | Stored as 8-byte little-endian                                                                               |
-| **`float`**                  | Stored as 4-byte little-endian                                                                               |
-| **`double`**                 | Stored as 8-byte little-endian                                                                               |
-| **`date`**                   | Stores days from the 1970-01-01 in an 4-byte little-endian int                                               |
-| **`time`**                   | Stores microseconds from midnight in an 8-byte little-endian long                                            |
-| **`timestamp without zone`** | Stores microseconds from 1970-01-01 00:00:00.000000 in an 8-byte little-endian long                          |
-| **`timestamp with zone`**    | Stores microseconds from 1970-01-01 00:00:00.000000 UTC in an 8-byte little-endian long                      |
-| **`string`**                 | UTF-8 bytes (without length)                                                                                 |
-| **`uuid`**                   | 16-byte big-endian value, see example in Appendix B                                                          |
-| **`fixed(L)`**               | Binary value                                                                                                 |
-| **`binary`**                 | Binary value (without length)                                                                                |
-| **`decimal(P, S)`**          | Stores unscaled value as two’s-complement big-endian binary, using the minimum number of bytes for the value |
-| **`struct`**                 | Not supported                                                                                                |
-| **`list`**                   | Not supported                                                                                                |
-| **`map`**                    | Not supported                                                                                                |
-
-
-## Appendix E: Format version changes
-
-### Version 2
-
-Writing v1 metadata:
-
-* Table metadata field `last-sequence-number` should not be written
-* Snapshot field `sequence-number` should not be written
-* Manifest list field `sequence-number` should not be written
-* Manifest list field `min-sequence-number` should not be written
-* Manifest list field `content` must be 0 (data) or omitted
-* Manifest entry field `sequence_number` should not be written
-* Data file field `content` must be 0 (data) or omitted
-
-Reading v1 metadata for v2:
-
-* Table metadata field `last-sequence-number` must default to 0
-* Snapshot field `sequence-number` must default to 0
-* Manifest list field `sequence-number` must default to 0
-* Manifest list field `min-sequence-number` must default to 0
-* Manifest list field `content` must default to 0 (data)
-* Manifest entry field `sequence_number` must default to 0
-* Data file field `content` must default to 0 (data)
-
-Writing v2 metadata:
-
-* Table metadata JSON:
-    * `last-sequence-number` was added and is required; default to 0 when reading v1 metadata
-    * `table-uuid` is now required
-    * `current-schema-id` is now required
-    * `schemas` is now required
-    * `partition-specs` is now required
-    * `default-spec-id` is now required
-    * `last-partition-id` is now required
-    * `sort-orders` is now required
-    * `default-sort-order-id` is now required
-    * `schema` is no longer required and should be omitted; use `schemas` and `current-schema-id` instead
-    * `partition-spec` is no longer required and should be omitted; use `partition-specs` and `default-spec-id` instead
-* Snapshot JSON:
-    * `sequence-number` was added and is required; default to 0 when reading v1 metadata
-    * `manifest-list` is now required
-    * `manifests` is no longer required and should be omitted; always use `manifest-list` instead
-* Manifest list `manifest_file`:
-    * `content` was added and is required; 0=data, 1=deletes; default to 0 when reading v1 manifest lists
-    * `sequence_number` was added and is required
-    * `min_sequence_number` was added and is required
-    * `added_files_count` is now required
-    * `existing_files_count` is now required
-    * `deleted_files_count` is now required
-    * `added_rows_count` is now required
-    * `existing_rows_count` is now required
-    * `deleted_rows_count` is now required
-* Manifest key-value metadata:
-    * `schema-id` is now required
-    * `partition-spec-id` is now required
-    * `format-version` is now required
-    * `content` was added and is required (must be "data" or "deletes")
-* Manifest `manifest_entry`:
-    * `snapshot_id` is now optional to support inheritance
-    * `sequence_number` was added and is optional, to support inheritance
-* Manifest `data_file`:
-    * `content` was added and is required; 0=data, 1=position deletes, 2=equality deletes; default to 0 when reading v1 manifests
-    * `equality_ids` was added, to be used for equality deletes only
-    * `block_size_in_bytes` was removed (breaks v1 reader compatibility)
-    * `file_ordinal` was removed
-    * `sort_columns` was removed
-
-Note that these requirements apply when writing data to a v2 table. Tables that are upgraded from v1 may contain metadata that does not follow these requirements. Implementations should remain backward-compatible with v1 metadata requirements.
diff --git a/landing-page/content/posts/format/terms.md b/landing-page/content/posts/format/terms.md
deleted file mode 100644
index de915ec..0000000
--- a/landing-page/content/posts/format/terms.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-url: terms
-aliases:
-    - "terms"
----
-<!--
- - Licensed to the Apache Software Foundation (ASF) under one or more
- - contributor license agreements.  See the NOTICE file distributed with
- - this work for additional information regarding copyright ownership.
- - The ASF licenses this file to You under the Apache License, Version 2.0
- - (the "License"); you may not use this file except in compliance with
- - the License.  You may obtain a copy of the License at
- -
- -   http://www.apache.org/licenses/LICENSE-2.0
- -
- - Unless required by applicable law or agreed to in writing, software
- - distributed under the License is distributed on an "AS IS" BASIS,
- - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- - See the License for the specific language governing permissions and
- - limitations under the License.
- -->
-
-# Terms
-
-### Snapshot
-
-A **snapshot** is the state of a table at some time.
-
-Each snapshot lists all of the data files that make up the table's contents at the time of the snapshot. Data files are stored across multiple [manifest](#manifest-file) files, and the manifests for a snapshot are listed in a single [manifest list](#manifest-list) file.
-
-### Manifest list
-
-A **manifest list** is a metadata file that lists the [manifests](#manifest-file) that make up a table snapshot.
-
-Each manifest file in the manifest list is stored with information about its contents, like partition value ranges, used to speed up metadata operations.
-
-### Manifest file
-
-A **manifest file** is a metadata file that lists a subset of data files that make up a snapshot.
-
-Each data file in a manifest is stored with a [partition tuple](#partition-tuple), column-level stats, and summary information used to prune splits during [scan planning](../performance#scan-planning).
-
-### Partition spec
-
-A **partition spec** is a description of how to [partition](../partitioning) data in a table.
-
-A spec consists of a list of source columns and transforms. A transform produces a partition value from a source value. For example, `date(ts)` produces the date associated with a timestamp column named `ts`.
-
-### Partition tuple
-
-A **partition tuple** is a tuple or struct of partition data stored with each data file.
-
-All values in a partition tuple are the same for all rows stored in a data file. Partition tuples are produced by transforming values from row data using a partition spec.
-
-Iceberg stores partition values unmodified, unlike Hive tables that convert values to and from strings in file system paths and keys.
-
-### Snapshot log (history table)
-
-The **snapshot log** is a metadata log of how the table's current snapshot has changed over time.
-
-The log is a list of timestamp and ID pairs: when the current snapshot changed and the snapshot ID the current snapshot was changed to.
-
-The snapshot log is stored in [table metadata as `snapshot-log`](../spec#table-metadata-fields).
-
diff --git a/landing-page/content/posts/project/benchmarks.md b/landing-page/content/posts/project/benchmarks.md
deleted file mode 100644
index ee8ba6f..0000000
--- a/landing-page/content/posts/project/benchmarks.md
+++ /dev/null
@@ -1,134 +0,0 @@
----
-title: "Benchmarks"
-bookHidden: true
-url: benchmarks
----
-<!--
- - Licensed to the Apache Software Foundation (ASF) under one or more
- - contributor license agreements.  See the NOTICE file distributed with
- - this work for additional information regarding copyright ownership.
- - The ASF licenses this file to You under the Apache License, Version 2.0
- - (the "License"); you may not use this file except in compliance with
- - the License.  You may obtain a copy of the License at
- -
- -   http://www.apache.org/licenses/LICENSE-2.0
- -
- - Unless required by applicable law or agreed to in writing, software
- - distributed under the License is distributed on an "AS IS" BASIS,
- - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- - See the License for the specific language governing permissions and
- - limitations under the License.
- -->
-
-## Available Benchmarks and how to run them
-
-Benchmarks are located under `<project-name>/jmh`. It is generally favorable to only run the tests of interest rather than running all available benchmarks.
-Also note that JMH benchmarks run within the same JVM as the system-under-test, so results might vary between runs.
-
-## Running Benchmarks on GitHub
-
-It is possible to run one or more Benchmarks via the **JMH Benchmarks** GH action on your own fork of the Iceberg repo. This GH action takes the following inputs:
-* The repository name where those benchmarks should be run against, such as `apache/iceberg` or `<user>/iceberg`
-* The branch name to run benchmarks against, such as `master` or `my-cool-feature-branch`
-* A list of comma-separated double-quoted Benchmark names, such as `"IcebergSourceFlatParquetDataReadBenchmark", "IcebergSourceFlatParquetDataFilterBenchmark", "IcebergSourceNestedListParquetDataWriteBenchmark"`
-
-Benchmark results will be uploaded once **all** benchmarks are done.
-
-It is worth noting that the GH runners have limited resources so the benchmark results should rather be seen as an indicator to guide developers in understanding code changes.
-It is likely that there is variability in results across different runs, therefore the benchmark results shouldn't be used to form assumptions around production choices.
-
-
-## Running Benchmarks locally
-
-Below are the existing benchmarks shown with the actual commands on how to run them locally.
-
-
-### IcebergSourceNestedListParquetDataWriteBenchmark
-A benchmark that evaluates the performance of writing nested Parquet data using Iceberg and the built-in file source in Spark. To run this benchmark for either spark-2 or spark-3:
-
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=IcebergSourceNestedListParquetDataWriteBenchmark -PjmhOutputPath=benchmark/iceberg-source-nested-list-parquet-data-write-benchmark-result.txt`
-
-### SparkParquetReadersNestedDataBenchmark
-A benchmark that evaluates the performance of reading nested Parquet data using Iceberg and Spark Parquet readers. To run this benchmark for either spark-2 or spark-3:
-
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=SparkParquetReadersNestedDataBenchmark -PjmhOutputPath=benchmark/spark-parquet-readers-nested-data-benchmark-result.txt`
-
-### SparkParquetWritersFlatDataBenchmark
-A benchmark that evaluates the performance of writing Parquet data with a flat schema using Iceberg and Spark Parquet writers. To run this benchmark for either spark-2 or spark-3:
-
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=SparkParquetWritersFlatDataBenchmark -PjmhOutputPath=benchmark/spark-parquet-writers-flat-data-benchmark-result.txt`
-
-### IcebergSourceFlatORCDataReadBenchmark
-A benchmark that evaluates the performance of reading ORC data with a flat schema using Iceberg and the built-in file source in Spark. To run this benchmark for either spark-2 or spark-3:
-
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=IcebergSourceFlatORCDataReadBenchmark -PjmhOutputPath=benchmark/iceberg-source-flat-orc-data-read-benchmark-result.txt`
-
-### SparkParquetReadersFlatDataBenchmark
-A benchmark that evaluates the performance of reading Parquet data with a flat schema using Iceberg and Spark Parquet readers. To run this benchmark for either spark-2 or spark-3:
-
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=SparkParquetReadersFlatDataBenchmark -PjmhOutputPath=benchmark/spark-parquet-readers-flat-data-benchmark-result.txt`
-
-### VectorizedReadDictionaryEncodedFlatParquetDataBenchmark
-A benchmark to compare performance of reading Parquet dictionary encoded data with a flat schema using vectorized Iceberg read path and the built-in file source in Spark. To run this benchmark for either spark-2 or spark-3:
-
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=VectorizedReadDictionaryEncodedFlatParquetDataBenchmark -PjmhOutputPath=benchmark/vectorized-read-dict-encoded-flat-parquet-data-result.txt`
-
-### IcebergSourceNestedListORCDataWriteBenchmark
-A benchmark that evaluates the performance of writing nested Parquet data using Iceberg and the built-in file source in Spark. To run this benchmark for either spark-2 or spark-3:
-
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=IcebergSourceNestedListORCDataWriteBenchmark -PjmhOutputPath=benchmark/iceberg-source-nested-list-orc-data-write-benchmark-result.txt`
-
-### VectorizedReadFlatParquetDataBenchmark
-A benchmark to compare performance of reading Parquet data with a flat schema using vectorized Iceberg read path and the built-in file source in Spark. To run this benchmark for either spark-2 or spark-3:
-
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=VectorizedReadFlatParquetDataBenchmark -PjmhOutputPath=benchmark/vectorized-read-flat-parquet-data-result.txt`
-
-### IcebergSourceFlatParquetDataWriteBenchmark
-A benchmark that evaluates the performance of writing Parquet data with a flat schema using Iceberg and the built-in file source in Spark. To run this benchmark for either spark-2 or spark-3:
-
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=IcebergSourceFlatParquetDataWriteBenchmark -PjmhOutputPath=benchmark/iceberg-source-flat-parquet-data-write-benchmark-result.txt`
-
-### IcebergSourceNestedAvroDataReadBenchmark
-A benchmark that evaluates the performance of reading Avro data with a flat schema using Iceberg and the built-in file source in Spark. To run this benchmark for either spark-2 or spark-3:
-
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=IcebergSourceNestedAvroDataReadBenchmark -PjmhOutputPath=benchmark/iceberg-source-nested-avro-data-read-benchmark-result.txt`
-
-### IcebergSourceFlatAvroDataReadBenchmark
-A benchmark that evaluates the performance of reading Avro data with a flat schema using Iceberg and the built-in file source in Spark. To run this benchmark for either spark-2 or spark-3:
-
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=IcebergSourceFlatAvroDataReadBenchmark -PjmhOutputPath=benchmark/iceberg-source-flat-avro-data-read-benchmark-result.txt`
-
-### IcebergSourceNestedParquetDataWriteBenchmark
-A benchmark that evaluates the performance of writing nested Parquet data using Iceberg and the built-in file source in Spark. To run this benchmark for either spark-2 or spark-3:
-
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=IcebergSourceNestedParquetDataWriteBenchmark -PjmhOutputPath=benchmark/iceberg-source-nested-parquet-data-write-benchmark-result.txt`
-
-### IcebergSourceNestedParquetDataReadBenchmark
-* A benchmark that evaluates the performance of reading nested Parquet data using Iceberg and the built-in file source in Spark. To run this benchmark for either spark-2 or spark-3:
-
-` ./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=IcebergSourceNestedParquetDataReadBenchmark -PjmhOutputPath=benchmark/iceberg-source-nested-parquet-data-read-benchmark-result.txt`
-
-### IcebergSourceNestedORCDataReadBenchmark
-A benchmark that evaluates the performance of reading ORC data with a flat schema using Iceberg and the built-in file source in Spark. To run this benchmark for either spark-2 or spark-3:
-
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=IcebergSourceNestedORCDataReadBenchmark -PjmhOutputPath=benchmark/iceberg-source-nested-orc-data-read-benchmark-result.txt`
-
-### IcebergSourceFlatParquetDataReadBenchmark
-A benchmark that evaluates the performance of reading Parquet data with a flat schema using Iceberg and the built-in file source in Spark. To run this benchmark for either spark-2 or spark-3:
-
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=IcebergSourceFlatParquetDataReadBenchmark -PjmhOutputPath=benchmark/iceberg-source-flat-parquet-data-read-benchmark-result.txt`
-
-### IcebergSourceFlatParquetDataFilterBenchmark
-A benchmark that evaluates the file skipping capabilities in the Spark data source for Iceberg. This class uses a dataset with a flat schema, where the records are clustered according to the
-column used in the filter predicate. The performance is compared to the built-in file source in Spark. To run this benchmark for either spark-2 or spark-3:
-
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=IcebergSourceFlatParquetDataFilterBenchmark -PjmhOutputPath=benchmark/iceberg-source-flat-parquet-data-filter-benchmark-result.txt`
-
-### IcebergSourceNestedParquetDataFilterBenchmark
-A benchmark that evaluates the file skipping capabilities in the Spark data source for Iceberg. This class uses a dataset with nested data, where the records are clustered according to the
-column used in the filter predicate. The performance is compared to the built-in file source in Spark. To run this benchmark for either spark-2 or spark-3:
-`./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=IcebergSourceNestedParquetDataFilterBenchmark -PjmhOutputPath=benchmark/iceberg-source-nested-parquet-data-filter-benchmark-result.txt`
-
-### SparkParquetWritersNestedDataBenchmark
-* A benchmark that evaluates the performance of writing nested Parquet data using Iceberg and Spark Parquet writers. To run this benchmark for either spark-2 or spark-3:
-  `./gradlew :iceberg-spark:iceberg-spark[2|3]:jmh -PjmhIncludeRegex=SparkParquetWritersNestedDataBenchmark -PjmhOutputPath=benchmark/spark-parquet-writers-nested-data-benchmark-result.txt`
\ No newline at end of file
diff --git a/landing-page/content/posts/project/how-to-release.md b/landing-page/content/posts/project/how-to-release.md
deleted file mode 100644
index 224e255..0000000
--- a/landing-page/content/posts/project/how-to-release.md
+++ /dev/null
@@ -1,200 +0,0 @@
----
-title: "How To Release"
-url: how-to-release
----
-<!--
- - Licensed to the Apache Software Foundation (ASF) under one or more
- - contributor license agreements.  See the NOTICE file distributed with
- - this work for additional information regarding copyright ownership.
- - The ASF licenses this file to You under the Apache License, Version 2.0
- - (the "License"); you may not use this file except in compliance with
- - the License.  You may obtain a copy of the License at
- -
- -   http://www.apache.org/licenses/LICENSE-2.0
- -
- - Unless required by applicable law or agreed to in writing, software
- - distributed under the License is distributed on an "AS IS" BASIS,
- - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- - See the License for the specific language governing permissions and
- - limitations under the License.
- -->
-
-## Setup
-
-To create a release candidate, you will need:
-
-* Apache LDAP credentals for Nexus and SVN
-* A [GPG key for signing](https://www.apache.org/dev/release-signing#generate), published in [KEYS](https://dist.apache.org/repos/dist/dev/iceberg/KEYS)
-
-### Nexus access
-
-Nexus credentials are configured in your personal `~/.gradle/gradle.properties` file using `mavenUser` and `mavenPassword`:
-
-```
-mavenUser=yourApacheID
-mavenPassword=SomePassword
-```
-
-### PGP signing
-
-The release scripts use the command-line `gpg` utility so that signing can use the gpg-agent and does not require writing your private key's passphrase to a configuration file.
-
-To configure gradle to sign convenience binary artifacts, add the following settings to `~/.gradle/gradle.properties`:
-
-```
-signing.gnupg.keyName=Your Name (CODE SIGNING KEY)
-```
-
-To use `gpg` instead of `gpg2`, also set `signing.gnupg.executable=gpg`
-
-For more information, see the Gradle [signing documentation](https://docs.gradle.org/current/userguide/signing_plugin.html#sec:signatory_credentials).
-
-## Creating a release candidate
-
-### Build the source release
-
-To create the source release artifacts, run the `source-release.sh` script with the release version and release candidate number:
-
-```bash
-dev/source-release.sh 0.8.1 0
-```
-```
-Preparing source for apache-iceberg-0.8.1-rc0
-...
-Success! The release candidate is available here:
-  https://dist.apache.org/repos/dist/dev/iceberg/apache-iceberg-0.8.1-rc0/
-
-Commit SHA1: 4b4716c76559b3cdf3487e6b60ab52950241989b
-```
-
-The source release script will create a candidate tag based on the HEAD revision in git and will prepare the release tarball, signature, and checksum files. It will also upload the source artifacts to SVN.
-
-Note the commit SHA1 and candidate location because those will be added to the vote thread.
-
-Once the source release is ready, use it to stage convenience binary artifacts in Nexus.
-
-### Build and stage convenience binaries
-
-Convenience binaries are created using the source release tarball from in the last step.
-
-Untar the source release and go into the release directory:
-
-```bash
-tar xzf apache-iceberg-0.8.1.tar.gz
-cd apache-iceberg-0.8.1
-```
-
-To build and publish the convenience binaries, run the `dev/stage-binaries.sh` script. This will push to a release staging repository.
-
-```
-dev/stage-binaries.sh
-```
-
-Next, you need to close the staging repository:
-
-1. Go to [Nexus](https://repository.apache.org/) and log in
-2. In the menu on the left, choose "Staging Repositories"
-3. Select the Iceberg repository
-4. At the top, select "Close" and follow the instructions
-    * In the comment field use "Apache Iceberg &lt;version&gt; RC&lt;num&gt;"
-
-### Start a VOTE thread
-
-The last step for a candidate is to create a VOTE thread on the dev mailing list.
-
-```text
-Subject: [VOTE] Release Apache Iceberg <VERSION> RC<NUM>
-```
-```text
-Hi everyone,
-
-I propose the following RC to be released as official Apache Iceberg <VERSION> release.
-
-The commit id is <SHA1>
-* This corresponds to the tag: apache-iceberg-<VERSION>-rc<NUM>
-* https://github.com/apache/iceberg/commits/apache-iceberg-<VERSION>-rc<NUM>
-* https://github.com/apache/iceberg/tree/<SHA1>
-
-The release tarball, signature, and checksums are here:
-* https://dist.apache.org/repos/dist/dev/iceberg/apache-iceberg-<VERSION>-rc<NUM>/
-
-You can find the KEYS file here:
-* https://dist.apache.org/repos/dist/dev/iceberg/KEYS
-
-Convenience binary artifacts are staged in Nexus. The Maven repository URL is:
-* https://repository.apache.org/content/repositories/orgapacheiceberg-<ID>/
-
-This release includes important changes that I should have summarized here, but I'm lazy.
-
-Please download, verify, and test.
-
-Please vote in the next 72 hours.
-
-[ ] +1 Release this as Apache Iceberg <VERSION>
-[ ] +0
-[ ] -1 Do not release this because...
-```
-
-When a candidate is passed or rejected, reply with the voting result:
-
-```text
-Subject: [RESULT][VOTE] Release Apache Iceberg <VERSION> RC<NUM>
-```
-
-```text
-Thanks everyone who participated in the vote for Release Apache Iceberg <VERSION> RC<NUM>.
-
-The vote result is:
-
-+1: 3 (binding), 5 (non-binding)
-+0: 0 (binding), 0 (non-binding)
--1: 0 (binding), 0 (non-binding)
-
-Therefore, the release candidate is passed/rejected.
-```
-
-
-### Finishing the release
-
-After the release vote has passed, you need to release the last candidate's artifacts.
-
-First, copy the source release directory to releases:
-
-```bash
-mkdir iceberg
-cd iceberg
-svn co https://dist.apache.org/repos/dist/dev/iceberg candidates
-svn co https://dist.apache.org/repos/dist/release/iceberg releases
-cp -r candidates/apache-iceberg-<VERSION>-rcN/ releases/apache-iceberg-<VERSION>
-cd releases
-svn add apache-iceberg-<VERSION>
-svn ci -m 'Iceberg: Add release <VERSION>'
-```
-
-Next, add a release tag to the git repository based on the passing candidate tag:
-
-```bash
-git tag -am 'Release Apache Iceberg <VERSION>' apache-iceberg-<VERSION> apache-iceberg-<VERSION>-rcN
-```
-
-Then release the candidate repository in [Nexus](https://repository.apache.org/#stagingRepositories).
-
-To announce the release, wait until Maven central has mirrored the Apache binaries, then update the Iceberg site and send an announcement email:
-
-```text
-[ANNOUNCE] Apache Iceberg release <VERSION>
-```
-```text
-I'm please to announce the release of Apache Iceberg <VERSION>!
-
-Apache Iceberg is an open table format for huge analytic datasets. Iceberg
-delivers high query performance for tables with tens of petabytes of data,
-along with atomic commits, concurrent writes, and SQL-compatible table
-evolution.
-
-This release can be downloaded from: https://www.apache.org/dyn/closer.cgi/iceberg/<TARBALL NAME WITHOUT .tar.gz>/<TARBALL NAME>
-
-Java artifacts are available from Maven Central.
-
-Thanks to everyone for contributing!
-```
diff --git a/landing-page/content/posts/project/roadmap.md b/landing-page/content/posts/project/roadmap.md
deleted file mode 100644
index 798c9c7..0000000
--- a/landing-page/content/posts/project/roadmap.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: "Roadmap"
-url: roadmap
----
-<!--
- - Licensed to the Apache Software Foundation (ASF) under one or more
- - contributor license agreements.  See the NOTICE file distributed with
- - this work for additional information regarding copyright ownership.
- - The ASF licenses this file to You under the Apache License, Version 2.0
- - (the "License"); you may not use this file except in compliance with
- - the License.  You may obtain a copy of the License at
- -
- -   http://www.apache.org/licenses/LICENSE-2.0
- -
- - Unless required by applicable law or agreed to in writing, software
- - distributed under the License is distributed on an "AS IS" BASIS,
- - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- - See the License for the specific language governing permissions and
- - limitations under the License.
- -->
-
-# Roadmap Overview
-
-This roadmap outlines projects that the Iceberg community is working on, their priority, and a rough size estimate.
-This is based on the latest [community priority discussion](https://lists.apache.org/thread.html/r84e80216c259c81f824c6971504c321cd8c785774c489d52d4fc123f%40%3Cdev.iceberg.apache.org%3E).
-Each high-level item links to a Github project board that tracks the current status.
-Related design docs will be linked on the planning boards.
-
-# Priority 1
-
-* API: [Iceberg 1.0.0](https://github.com/apache/iceberg/projects/3) [medium]
-* Spark: [Merge-on-read plans](https://github.com/apache/iceberg/projects/11) [large]
-* Maintenance: [Delete file compaction](https://github.com/apache/iceberg/projects/10) [medium]
-* Flink: [Upgrade to 1.13.2](https://github.com/apache/iceberg/projects/12) (document compatibility) [medium]
-* Python: [Pythonic refactor](https://github.com/apache/iceberg/projects/7) [medium]
-
-# Priority 2
-
-* ORC: [Support delete files stored as ORC](https://github.com/apache/iceberg/projects/13) [small]
-* Spark: [DSv2 streaming improvements](https://github.com/apache/iceberg/projects/2) [small]
-* Flink: [Inline file compaction](https://github.com/apache/iceberg/projects/14) [small]
-* Flink: [Support UPSERT](https://github.com/apache/iceberg/projects/15) [small]
-* Flink: [FLIP-27 based Iceberg source](https://github.com/apache/iceberg/projects/23) [large]
-* Views: [Spec](https://github.com/apache/iceberg/projects/6) [medium]
-* Spec: [Z-ordering / Space-filling curves](https://github.com/apache/iceberg/projects/16) [medium]
-* Spec: [Snapshot tagging and branching](https://github.com/apache/iceberg/projects/4) [small]
-* Spec: [Secondary indexes](https://github.com/apache/iceberg/projects/17) [large]
-* Spec v3: [Encryption](https://github.com/apache/iceberg/projects/5) [large]
-* Spec v3: [Relative paths](https://github.com/apache/iceberg/projects/18) [large]
-* Spec v3: [Default field values](https://github.com/apache/iceberg/projects/19) [medium]
-
-# Priority 3
-
-* Docs: [versioned docs](https://github.com/apache/iceberg/projects/20) [medium]
-* IO: [Support Aliyun OSS/DLF](https://github.com/apache/iceberg/projects/21) [medium]
-* IO: [Support Dell ECS](https://github.com/apache/iceberg/projects/22) [medium]
-
-# External
-
-* PrestoDB: [Iceberg PrestoDB Connector](https://github.com/apache/iceberg/projects/9)
-* Trino: [Iceberg Trino Connector](https://github.com/apache/iceberg/projects/8)
diff --git a/landing-page/content/posts/project/security.md b/landing-page/content/posts/project/security.md
deleted file mode 100644
index badcb49..0000000
--- a/landing-page/content/posts/project/security.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title: "Security"
-url: security
----
-<!--
- - Licensed to the Apache Software Foundation (ASF) under one or more
- - contributor license agreements.  See the NOTICE file distributed with
- - this work for additional information regarding copyright ownership.
- - The ASF licenses this file to You under the Apache License, Version 2.0
- - (the "License"); you may not use this file except in compliance with
- - the License.  You may obtain a copy of the License at
- -
- -   http://www.apache.org/licenses/LICENSE-2.0
- -
- - Unless required by applicable law or agreed to in writing, software
- - distributed under the License is distributed on an "AS IS" BASIS,
- - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- - See the License for the specific language governing permissions and
- - limitations under the License.
- -->
-
-# Reporting Security Issues
-
-The Apache Iceberg Project uses the standard process outlined by the [Apache
-Security Team](https://www.apache.org/security/) for reporting vulnerabilities.
-Note that vulnerabilities should not be publicly disclosed until the project has
-responded.
-
-To report a possible security vulnerability, please email <a href="mailto:security@iceberg.apache.org">security@iceberg.apache.org</a>.
-
-
-# Verifying Signed Releases
-
-Please refer to the instructions on the [Release Verification](https://www.apache.org/info/verification.html) page.
diff --git a/landing-page/content/posts/project/trademarks.md b/landing-page/content/posts/project/trademarks.md
deleted file mode 100644
index 7f1b539..0000000
--- a/landing-page/content/posts/project/trademarks.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title: "Trademarks"
-url: trademarks
----
-<!--
- - Licensed to the Apache Software Foundation (ASF) under one or more
- - contributor license agreements.  See the NOTICE file distributed with
- - this work for additional information regarding copyright ownership.
- - The ASF licenses this file to You under the Apache License, Version 2.0
- - (the "License"); you may not use this file except in compliance with
- - the License.  You may obtain a copy of the License at
- -
- -   http://www.apache.org/licenses/LICENSE-2.0
- -
- - Unless required by applicable law or agreed to in writing, software
- - distributed under the License is distributed on an "AS IS" BASIS,
- - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- - See the License for the specific language governing permissions and
- - limitations under the License.
- -->
-
-## Trademarks
-
-Apache Iceberg, Iceberg, Apache, the Apache feather logo, and the Apache Iceberg project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.
diff --git a/landing-page/content/posts/releases/release-notes.md b/landing-page/content/posts/releases/release-notes.md
deleted file mode 100644
index 0a6719f..0000000
--- a/landing-page/content/posts/releases/release-notes.md
+++ /dev/null
@@ -1,261 +0,0 @@
----
-bookCollapseSection: true
-weight: 1100
-url: releases
----
-<!--
- - Licensed to the Apache Software Foundation (ASF) under one or more
- - contributor license agreements.  See the NOTICE file distributed with
- - this work for additional information regarding copyright ownership.
- - The ASF licenses this file to You under the Apache License, Version 2.0
- - (the "License"); you may not use this file except in compliance with
- - the License.  You may obtain a copy of the License at
- -
- -   http://www.apache.org/licenses/LICENSE-2.0
- -
- - Unless required by applicable law or agreed to in writing, software
- - distributed under the License is distributed on an "AS IS" BASIS,
- - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- - See the License for the specific language governing permissions and
- - limitations under the License.
- -->
-
-## Downloads
-
-The latest version of Iceberg is [{{% icebergVersion %}}](https://github.com/apache/iceberg/releases/tag/apache-iceberg-{{% icebergVersion %}}).
-
-* [{{% icebergVersion %}} source tar.gz](https://www.apache.org/dyn/closer.cgi/iceberg/apache-iceberg-{{% icebergVersion %}}/apache-iceberg-{{% icebergVersion %}}.tar.gz) -- [signature](https://downloads.apache.org/iceberg/apache-iceberg-{{% icebergVersion %}}/apache-iceberg-{{% icebergVersion %}}.tar.gz.asc) -- [sha512](https://downloads.apache.org/iceberg/apache-iceberg-{{% icebergVersion %}}/apache-iceberg-{{% icebergVersion %}}.tar.gz.sha512)
-* [{{% icebergVersion %}} Spark 3.0 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark3-runtime/{{% icebergVersion %}}/iceberg-spark3-runtime-{{% icebergVersion %}}.jar)
-* [{{% icebergVersion %}} Spark 2.4 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime/{{% icebergVersion %}}/iceberg-spark-runtime-{{% icebergVersion %}}.jar)
-* [{{% icebergVersion %}} Flink runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-flink-runtime/{{% icebergVersion %}}/iceberg-flink-runtime-{{% icebergVersion %}}.jar)
-* [{{% icebergVersion %}} Hive runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-hive-runtime/{{% icebergVersion %}}/iceberg-hive-runtime-{{% icebergVersion %}}.jar)
-
-To use Iceberg in Spark, download the runtime JAR and add it to the jars folder of your Spark install. Use iceberg-spark3-runtime for Spark 3, and iceberg-spark-runtime for Spark 2.4.
-
-To use Iceberg in Hive, download the iceberg-hive-runtime JAR and add it to Hive using `ADD JAR`.
-
-### Gradle
-
-To add a dependency on Iceberg in Gradle, add the following to `build.gradle`:
-
-```
-dependencies {
-  compile 'org.apache.iceberg:iceberg-core:{{% icebergVersion %}}'
-}
-```
-
-You may also want to include `iceberg-parquet` for Parquet file support.
-
-### Maven
-
-To add a dependency on Iceberg in Maven, add the following to your `pom.xml`:
-
-```
-<dependencies>
-  ...
-  <dependency>
-    <groupId>org.apache.iceberg</groupId>
-    <artifactId>iceberg-core</artifactId>
-    <version>{{% icebergVersion %}}</version>
-  </dependency>
-  ...
-</dependencies>
-```
-## 0.12.0 Release Notes
-
-Apache Iceberg 0.12.0 was released on August 15, 2021. It consists of 395 commits authored by 74 contributors over a 139 day period.
-
-**High-level features:**
-
-* **Core**
-    * Allow Iceberg schemas to specify one or more columns as row identifiers [[\#2465](https://github.com/apache/iceberg/pull/2465)]. Note that this is a prerequisite for supporting upserts in Flink.
-    * Added JDBC [[\#1870](https://github.com/apache/iceberg/pull/1870)] and DynamoDB [[\#2688](https://github.com/apache/iceberg/pull/2688)] catalog implementations.
-    * Added predicate pushdown for partitions and files metadata tables [[\#2358](https://github.com/apache/iceberg/pull/2358), [\#2926](https://github.com/apache/iceberg/pull/2926)].
-    * Added a new, more flexible compaction action for Spark that can support different strategies such as bin packing and sorting. [[\#2501](https://github.com/apache/iceberg/pull/2501), [\#2609](https://github.com/apache/iceberg/pull/2609)].
-    * Added the ability to upgrade to v2 or create a v2 table using the table property format-version=2  [[\#2887](https://github.com/apache/iceberg/pull/2887)].
-    * Added support for nulls in StructLike collections [[\#2929](https://github.com/apache/iceberg/pull/2929)].
-    * Added `key_metadata` field to manifest lists for encryption [[\#2675](https://github.com/apache/iceberg/pull/2675)].
-* **Flink**
-    * Added support for SQL primary keys [[\#2410](https://github.com/apache/iceberg/pull/2410)].
-* **Hive**
-    * Added the ability to set the catalog at the table level in the Hive Metastore. This makes it possible to write queries that reference tables from multiple catalogs [[\#2129](https://github.com/apache/iceberg/pull/2129)].
-    * As a result of [[\#2129](https://github.com/apache/iceberg/pull/2129)], deprecated the configuration property `iceberg.mr.catalog` which was previously used to configure the Iceberg catalog in MapReduce and Hive [[\#2565](https://github.com/apache/iceberg/pull/2565)].
-    * Added table-level JVM lock on commits[[\#2547](https://github.com/apache/iceberg/pull/2547)].
-    * Added support for Hive's vectorized ORC reader [[\#2613](https://github.com/apache/iceberg/pull/2613)].
-* **Spark**
-    * Added `SET` and `DROP IDENTIFIER FIELDS` clauses to `ALTER TABLE` so people don't have to look up the DDL [[\#2560](https://github.com/apache/iceberg/pull/2560)].
-    * Added support for `ALTER TABLE REPLACE PARTITION FIELD` DDL [[\#2365](https://github.com/apache/iceberg/pull/2365)].
-    * Added support for micro-batch streaming reads for structured streaming in Spark3 [[\#2660](https://github.com/apache/iceberg/pull/2660)].
-    * Improved the performance of importing a Hive table by not loading all partitions from Hive and instead pushing the partition filter to the Metastore [[\#2777](https://github.com/apache/iceberg/pull/2777)].
-    * Added support for `UPDATE` statements in Spark [[\#2193](https://github.com/apache/iceberg/pull/2193), [\#2206](https://github.com/apache/iceberg/pull/2206)].
-    * Added support for Spark 3.1 [[\#2512](https://github.com/apache/iceberg/pull/2512)].
-    * Added `RemoveReachableFiles` action [[\#2415](https://github.com/apache/iceberg/pull/2415)].
-    * Added `add_files` stored procedure [[\#2210](https://github.com/apache/iceberg/pull/2210)].
-    * Refactored Actions API and added a new entry point.
-    * Added support for Hadoop configuration overrides [[\#2922](https://github.com/apache/iceberg/pull/2922)].
-    * Added support for the `TIMESTAMP WITHOUT TIMEZONE` type in Spark [[\#2757](https://github.com/apache/iceberg/pull/2757)].
-    * Added validation that files referenced by row-level deletes are not concurrently rewritten [[\#2308](https://github.com/apache/iceberg/pull/2308)].
-
-
-**Important bug fixes:**
-
-* **Core**
-    * Fixed string bucketing with non-BMP characters [[\#2849](https://github.com/apache/iceberg/pull/2849)].
-    * Fixed Parquet dictionary filtering with fixed-length byte arrays and decimals [[\#2551](https://github.com/apache/iceberg/pull/2551)].
-    * Fixed a problem with the configuration of HiveCatalog [[\#2550](https://github.com/apache/iceberg/pull/2550)].
-    * Fixed partition field IDs in table replacement [[\#2906](https://github.com/apache/iceberg/pull/2906)].
-* **Hive**
-    * Enabled dropping HMS tables even if the metadata on disk gets corrupted [[\#2583](https://github.com/apache/iceberg/pull/2583)].
-* **Parquet**
-    * Fixed Parquet row group filters when types are promoted from `int` to `long` or from `float` to `double` [[\#2232](https://github.com/apache/iceberg/pull/2232)]
-* **Spark**
-    * Fixed `MERGE INTO` in Spark when used with `SinglePartition` partitioning [[\#2584](https://github.com/apache/iceberg/pull/2584)].
-    * Fixed nested struct pruning in Spark [[\#2877](https://github.com/apache/iceberg/pull/2877)].
-    * Fixed NaN handling for float and double metrics [[\#2464](https://github.com/apache/iceberg/pull/2464)].
-    * Fixed Kryo serialization for data and delete files [[\#2343](https://github.com/apache/iceberg/pull/2343)].
-
-**Other notable changes:**
-
-* The Iceberg Community [voted to approve](https://mail-archives.apache.org/mod_mbox/iceberg-dev/202107.mbox/%3cCAMwmD1-k1gnShK=wQ0PD88it6cg9mY7Y1hKHjDZ7L-jcDzpyZA@mail.gmail.com%3e) version 2 of the Apache Iceberg Format Specification. The differences between version 1 and 2 of the specification are documented [here](../spec/#version-2).
-* Bugfixes and stability improvements for NessieCatalog.
-* Improvements and fixes for Iceberg's Python library.
-* Added a vectorized reader for Apache Arrow [[\#2286](https://github.com/apache/iceberg/pull/2286)].
-* The following Iceberg dependencies were upgraded:
-    * Hive 2.3.8 [[\#2110](https://github.com/apache/iceberg/pull/2110)].
-    * Avro 1.10.1 [[\#1648](https://github.com/apache/iceberg/pull/1648)].
-    * Parquet 1.12.0 [[\#2441](https://github.com/apache/iceberg/pull/2441)].
-
-
-## Past releases
-
-### 0.11.1
-
-* Git tag: [0.11.1](https://github.com/apache/iceberg/releases/tag/apache-iceberg-0.11.1)
-* [0.11.1 source tar.gz](https://www.apache.org/dyn/closer.cgi/iceberg/apache-iceberg-0.11.1/apache-iceberg-0.11.1.tar.gz) -- [signature](https://downloads.apache.org/iceberg/apache-iceberg-0.11.1/apache-iceberg-0.11.1.tar.gz.asc) -- [sha512](https://downloads.apache.org/iceberg/apache-iceberg-0.11.1/apache-iceberg-0.11.1.tar.gz.sha512)
-* [0.11.1 Spark 3.0 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark3-runtime/0.11.1/iceberg-spark3-runtime-0.11.1.jar)
-* [0.11.1 Spark 2.4 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime/0.11.1/iceberg-spark-runtime-0.11.1.jar)
-* [0.11.1 Flink runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-flink-runtime/0.11.1/iceberg-flink-runtime-0.11.1.jar)
-* [0.11.1 Hive runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-hive-runtime/0.11.1/iceberg-hive-runtime-0.11.1.jar)
-
-Important bug fixes:
-
-* [\#2367](https://github.com/apache/iceberg/pull/2367) prohibits deleting data files when tables are dropped if GC is disabled.
-* [\#2196](https://github.com/apache/iceberg/pull/2196) fixes data loss after compaction when large files are split into multiple parts and only some parts are combined with other files.
-* [\#2232](https://github.com/apache/iceberg/pull/2232) fixes row group filters with promoted types in Parquet.
-* [\#2267](https://github.com/apache/iceberg/pull/2267) avoids listing non-Iceberg tables in Glue.
-* [\#2254](https://github.com/apache/iceberg/pull/2254) fixes predicate pushdown for Date in Hive.
-* [\#2126](https://github.com/apache/iceberg/pull/2126) fixes writing of Date, Decimal, Time, UUID types in Hive.
-* [\#2241](https://github.com/apache/iceberg/pull/2241) fixes vectorized ORC reads with metadata columns in Spark.
-* [\#2154](https://github.com/apache/iceberg/pull/2154) refreshes the relation cache in DELETE and MERGE operations in Spark.
-
-### 0.11.0
-
-* Git tag: [0.11.0](https://github.com/apache/iceberg/releases/tag/apache-iceberg-0.11.0)
-* [0.11.0 source tar.gz](https://www.apache.org/dyn/closer.cgi/iceberg/apache-iceberg-0.11.0/apache-iceberg-0.11.0.tar.gz) -- [signature](https://downloads.apache.org/iceberg/apache-iceberg-0.11.0/apache-iceberg-0.11.0.tar.gz.asc) -- [sha512](https://downloads.apache.org/iceberg/apache-iceberg-0.11.0/apache-iceberg-0.11.0.tar.gz.sha512)
-* [0.11.0 Spark 3.0 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark3-runtime/0.11.0/iceberg-spark3-runtime-0.11.0.jar)
-* [0.11.0 Spark 2.4 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime/0.11.0/iceberg-spark-runtime-0.11.0.jar)
-* [0.11.0 Flink runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-flink-runtime/0.11.0/iceberg-flink-runtime-0.11.0.jar)
-* [0.11.0 Hive runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-hive-runtime/0.11.0/iceberg-hive-runtime-0.11.0.jar)
-
-High-level features:
-
-* **Core API** now supports partition spec and sort order evolution
-* **Spark 3** now supports the following SQL extensions:
-    * MERGE INTO (experimental)
-    * DELETE FROM (experimental)
-    * ALTER TABLE ... ADD/DROP PARTITION
-    * ALTER TABLE ... WRITE ORDERED BY
-    * Invoke stored procedures using CALL
-* **Flink** now supports streaming reads, CDC writes (experimental), and filter pushdown
-* **AWS module** is added to support better integration with AWS, with [AWS Glue catalog](https://aws.amazon.com/glue/) support and dedicated S3 FileIO implementation
-* **Nessie module** is added to support integration with [project Nessie](https://projectnessie.org/)
-
-Important bug fixes:
-
-* [\#1981](https://github.com/apache/iceberg/pull/1981) fixes bug that date and timestamp transforms were producing incorrect values for dates and times before 1970. Before the fix, negative values were incorrectly transformed by date and timestamp transforms to 1 larger than the correct value. For example, `day(1969-12-31 10:00:00)` produced 0 instead of -1. The fix is backwards compatible, which means predicate projection can still work with the incorrectly transformed partitions writt [...]
-* [\#2091](https://github.com/apache/iceberg/pull/2091) fixes `ClassCastException` for type promotion `int` to `long` and `float` to `double` during Parquet vectorized read. Now Arrow vector is created by looking at Parquet file schema instead of Iceberg schema for `int` and `float` fields.
-* [\#1998](https://github.com/apache/iceberg/pull/1998) fixes bug in `HiveTableOperation` that `unlock` is not called if new metadata cannot be deleted. Now it is guaranteed that `unlock` is always called for Hive catalog users.
-* [\#1979](https://github.com/apache/iceberg/pull/1979) fixes table listing failure in Hadoop catalog when user does not have permission to some tables. Now the tables with no permission are ignored in listing.
-* [\#1798](https://github.com/apache/iceberg/pull/1798) fixes scan task failure when encountering duplicate entries of data files. Spark and Flink readers can now ignore duplicated entries in data files for each scan task.
-* [\#1785](https://github.com/apache/iceberg/pull/1785) fixes invalidation of metadata tables in `CachingCatalog`. When a table is dropped, all the metadata tables associated with it are also invalidated in the cache.
-* [\#1960](https://github.com/apache/iceberg/pull/1960) fixes bug that ORC writer does not read metrics config and always use the default. Now customized metrics config is respected.
-
-Other notable changes:
-
-* NaN counts are now supported in metadata
-* Shared catalog properties are added in core library to standardize catalog level configurations
-* Spark and Flink now support dynamically loading customized `Catalog` and `FileIO` implementations
-* Spark 2 now supports loading tables from other catalogs, like Spark 3
-* Spark 3 now supports catalog names in DataFrameReader when using Iceberg as a format
-* Flink now uses the number of Iceberg read splits as its job parallelism to improve performance and save resource.
-* Hive (experimental) now supports INSERT INTO, case insensitive query, projection pushdown, create DDL with schema and auto type conversion
-* ORC now supports reading tinyint, smallint, char, varchar types
-* Avro to Iceberg schema conversion now preserves field docs
-
-
-
-### 0.10.0
-
-* Git tag: [0.10.0](https://github.com/apache/iceberg/releases/tag/apache-iceberg-0.10.0)
-* [0.10.0 source tar.gz](https://www.apache.org/dyn/closer.cgi/iceberg/apache-iceberg-0.10.0/apache-iceberg-0.10.0.tar.gz) -- [signature](https://downloads.apache.org/iceberg/apache-iceberg-0.10.0/apache-iceberg-0.10.0.tar.gz.asc) -- [sha512](https://downloads.apache.org/iceberg/apache-iceberg-0.10.0/apache-iceberg-0.10.0.tar.gz.sha512)
-* [0.10.0 Spark 3.0 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark3-runtime/0.10.0/iceberg-spark3-runtime-0.10.0.jar)
-* [0.10.0 Spark 2.4 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime/0.10.0/iceberg-spark-runtime-0.10.0.jar)
-* [0.10.0 Flink runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-flink-runtime/0.10.0/iceberg-flink-runtime-0.10.0.jar)
-* [0.10.0 Hive runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-hive-runtime/0.10.0/iceberg-hive-runtime-0.10.0.jar)
-
-High-level features:
-
-* **Format v2 support** for building row-level operations (`MERGE INTO`) in processing engines
-    * Note: format v2 is not yet finalized and does not have a forward-compatibility guarantee
-* **Flink integration** for writing to Iceberg tables and reading from Iceberg tables (reading supports batch mode only)
-* **Hive integration** for reading from Iceberg tables, with filter pushdown (experimental; configuration may change)
-
-Important bug fixes:
-
-* [\#1706](https://github.com/apache/iceberg/pull/1706) fixes non-vectorized ORC reads in Spark that incorrectly skipped rows
-* [\#1536](https://github.com/apache/iceberg/pull/1536) fixes ORC conversion of `notIn` and `notEqual` to match null values
-* [\#1722](https://github.com/apache/iceberg/pull/1722) fixes `Expressions.notNull` returning an `isNull` predicate; API only, method was not used by processing engines
-* [\#1736](https://github.com/apache/iceberg/pull/1736) fixes `IllegalArgumentException` in vectorized Spark reads with negative decimal values
-* [\#1666](https://github.com/apache/iceberg/pull/1666) fixes file lengths returned by the ORC writer, using compressed size rather than uncompressed size
-* [\#1674](https://github.com/apache/iceberg/pull/1674) removes catalog expiration in HiveCatalogs
-* [\#1545](https://github.com/apache/iceberg/pull/1545) automatically refreshes tables in Spark when not caching table instances
-
-Other notable changes:
-
-* The `iceberg-hive` module has been renamed to `iceberg-hive-metastore` to avoid confusion
-* Spark 3 is based on 3.0.1 that includes the fix for [SPARK-32168](https://issues.apache.org/jira/browse/SPARK-32168)
-* Hadoop tables will recover from version hint corruption
-* Tables can be configured with a required sort order
-* Data file locations can be customized with a dynamically loaded `LocationProvider`
-* ORC file imports can apply a name mapping for stats
-
-
-A more exhaustive list of changes is available under the [0.10.0 release milestone](https://github.com/apache/iceberg/milestone/10?closed=1).
-
-### 0.9.1
-
-* Git tag: [0.9.1](https://github.com/apache/iceberg/releases/tag/apache-iceberg-0.9.1)
-* [0.9.1 source tar.gz](https://www.apache.org/dyn/closer.cgi/iceberg/apache-iceberg-0.9.1/apache-iceberg-0.9.1.tar.gz) -- [signature](https://downloads.apache.org/iceberg/apache-iceberg-0.9.1/apache-iceberg-0.9.1.tar.gz.asc) -- [sha512](https://downloads.apache.org/iceberg/apache-iceberg-0.9.1/apache-iceberg-0.9.1.tar.gz.sha512)
-* [0.9.1 Spark 3.0 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark3-runtime/0.9.1/iceberg-spark3-runtime-0.9.1.jar)
-* [0.9.1 Spark 2.4 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime/0.9.1/iceberg-spark-runtime-0.9.1.jar)
-
-### 0.9.0
-
-* Git tag: [0.9.0](https://github.com/apache/iceberg/releases/tag/apache-iceberg-0.9.0)
-* [0.9.0 source tar.gz](https://www.apache.org/dyn/closer.cgi/iceberg/apache-iceberg-0.9.0/apache-iceberg-0.9.0.tar.gz) -- [signature](https://downloads.apache.org/iceberg/apache-iceberg-0.9.0/apache-iceberg-0.9.0.tar.gz.asc) -- [sha512](https://downloads.apache.org/iceberg/apache-iceberg-0.9.0/apache-iceberg-0.9.0.tar.gz.sha512)
-* [0.9.0 Spark 3.0 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark3-runtime/0.9.0/iceberg-spark3-runtime-0.9.0.jar)
-* [0.9.0 Spark 2.4 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime/0.9.0/iceberg-spark-runtime-0.9.0.jar)
-
-### 0.8.0
-
-* Git tag: [apache-iceberg-0.8.0-incubating](https://github.com/apache/iceberg/releases/tag/apache-iceberg-0.8.0-incubating)
-* [0.8.0-incubating source tar.gz](https://www.apache.org/dyn/closer.cgi/incubator/iceberg/apache-iceberg-0.8.0-incubating/apache-iceberg-0.8.0-incubating.tar.gz) -- [signature](https://downloads.apache.org/incubator/iceberg/apache-iceberg-0.8.0-incubating/apache-iceberg-0.8.0-incubating.tar.gz.asc) -- [sha512](https://downloads.apache.org/incubator/iceberg/apache-iceberg-0.8.0-incubating/apache-iceberg-0.8.0-incubating.tar.gz.sha512)
-* [0.8.0-incubating Spark 2.4 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime/0.8.0-incubating/iceberg-spark-runtime-0.8.0-incubating.jar)
-
-
-### 0.7.0
-
-* Git tag: [apache-iceberg-0.7.0-incubating](https://github.com/apache/iceberg/releases/tag/apache-iceberg-0.7.0-incubating)
-* [0.7.0-incubating source tar.gz](https://www.apache.org/dyn/closer.cgi/incubator/iceberg/apache-iceberg-0.7.0-incubating/apache-iceberg-0.7.0-incubating.tar.gz) -- [signature](https://dist.apache.org/repos/dist/release/incubator/iceberg/apache-iceberg-0.7.0-incubating/apache-iceberg-0.7.0-incubating.tar.gz.asc) -- [sha512](https://dist.apache.org/repos/dist/release/incubator/iceberg/apache-iceberg-0.7.0-incubating/apache-iceberg-0.7.0-incubating.tar.gz.sha512)
-* [0.7.0-incubating Spark 2.4 runtime Jar](https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime/0.7.0-incubating/iceberg-spark-runtime-0.7.0-incubating.jar)
-

[iceberg-docs] 12/47: Update javadoc links to include ../../ (#12)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 31cc9db19a585ad6b54f72c4c2783c38e8ea2fd5
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Fri Jan 14 11:36:34 2022 -0800

    Update javadoc links to include ../../ (#12)
---
 docs/content/docs/api/java-api-quickstart.md     |  2 +-
 docs/content/docs/api/java-api.md                |  8 ++++----
 docs/content/docs/flink/flink-getting-started.md |  4 ++--
 docs/content/docs/hive/_index.md                 |  4 ++--
 docs/content/docs/spark/spark-procedures.md      |  2 +-
 docs/content/docs/tables/maintenance.md          | 10 +++++-----
 landing-page/content/common/format/spec.md       |  4 ++--
 landing-page/content/posts/format/spec.md        |  4 ++--
 8 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/docs/content/docs/api/java-api-quickstart.md b/docs/content/docs/api/java-api-quickstart.md
index e4ebe09..84ba13b 100644
--- a/docs/content/docs/api/java-api-quickstart.md
+++ b/docs/content/docs/api/java-api-quickstart.md
@@ -26,7 +26,7 @@ aliases:
 
 ## Create a table
 
-Tables are created using either a [`Catalog`](../javadoc/master/index.html?org/apache/iceberg/catalog/Catalog.html) or an implementation of the [`Tables`](../javadoc/master/index.html?org/apache/iceberg/Tables.html) interface.
+Tables are created using either a [`Catalog`](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/catalog/Catalog.html) or an implementation of the [`Tables`](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/Tables.html) interface.
 
 ### Using a Hive catalog
 
diff --git a/docs/content/docs/api/java-api.md b/docs/content/docs/api/java-api.md
index 3c765c8..fb0ed88 100644
--- a/docs/content/docs/api/java-api.md
+++ b/docs/content/docs/api/java-api.md
@@ -32,7 +32,7 @@ Table metadata and operations are accessed through the `Table` interface. This i
 
 ### Table metadata
 
-The [`Table` interface](../javadoc/master/index.html?org/apache/iceberg/Table.html) provides access to the table metadata:
+The [`Table` interface](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/Table.html) provides access to the table metadata:
 
 * `schema` returns the current table [schema](../schemas)
 * `spec` returns the current table partition spec
@@ -104,7 +104,7 @@ where `Record` is Iceberg record for iceberg-data module `org.apache.iceberg.dat
 
 ### Update operations
 
-`Table` also exposes operations that update the table. These operations use a builder pattern, [`PendingUpdate`](../javadoc/master/index.html?org/apache/iceberg/PendingUpdate.html), that commits when `PendingUpdate#commit` is called.
+`Table` also exposes operations that update the table. These operations use a builder pattern, [`PendingUpdate`](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/PendingUpdate.html), that commits when `PendingUpdate#commit` is called.
 
 For example, updating the table schema is done by calling `updateSchema`, adding updates to the builder, and finally calling `commit` to commit the pending changes to the table:
 
@@ -146,7 +146,7 @@ t.commitTransaction();
 
 ## Types
 
-Iceberg data types are located in the [`org.apache.iceberg.types` package](../javadoc/master/index.html?org/apache/iceberg/types/package-summary.html).
+Iceberg data types are located in the [`org.apache.iceberg.types` package](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/types/package-summary.html).
 
 ### Primitives
 
@@ -188,7 +188,7 @@ ListType list = ListType.ofRequired(1, IntegerType.get());
 
 ## Expressions
 
-Iceberg's expressions are used to configure table scans. To create expressions, use the factory methods in [`Expressions`](../javadoc/master/index.html?org/apache/iceberg/expressions/Expressions.html).
+Iceberg's expressions are used to configure table scans. To create expressions, use the factory methods in [`Expressions`](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/expressions/Expressions.html).
 
 Supported predicate expressions are:
 
diff --git a/docs/content/docs/flink/flink-getting-started.md b/docs/content/docs/flink/flink-getting-started.md
index edd7bd2..3ec92c0 100644
--- a/docs/content/docs/flink/flink-getting-started.md
+++ b/docs/content/docs/flink/flink-getting-started.md
@@ -481,7 +481,7 @@ stream.print();
 env.execute("Test Iceberg Batch Read");
 ```
 
-There are other options that we could set by Java API, please see the [FlinkSource#Builder](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/flink/source/FlinkSource.html).
+There are other options that we could set by Java API, please see the [FlinkSource#Builder](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/flink/source/FlinkSource.html).
 
 ## Writing with DataStream
 
@@ -545,7 +545,7 @@ RewriteDataFilesActionResult result = Actions.forTable(table)
         .execute();
 ```
 
-For more doc about options of the rewrite files action, please see [RewriteDataFilesAction](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/flink/actions/RewriteDataFilesAction.html)
+For more doc about options of the rewrite files action, please see [RewriteDataFilesAction](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/flink/actions/RewriteDataFilesAction.html)
 
 ## Future improvement.
 
diff --git a/docs/content/docs/hive/_index.md b/docs/content/docs/hive/_index.md
index 77b32e7..fd6c0a0 100644
--- a/docs/content/docs/hive/_index.md
+++ b/docs/content/docs/hive/_index.md
@@ -141,8 +141,8 @@ SET iceberg.catalog.glue.lock.table=myGlueLockTable;
 ### CREATE EXTERNAL TABLE
 
 The `CREATE EXTERNAL TABLE` command is used to overlay a Hive table "on top of" an existing Iceberg table. 
-Iceberg tables are created using either a [`Catalog`](../javadoc/master/index.html?org/apache/iceberg/catalog/Catalog.html),
-or an implementation of the [`Tables`](../javadoc/master/index.html?org/apache/iceberg/Tables.html) interface,
+Iceberg tables are created using either a [`Catalog`](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/catalog/Catalog.html),
+or an implementation of the [`Tables`](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/Tables.html) interface,
 and Hive needs to be configured accordingly to operate on these different types of table.
 
 #### Hive catalog tables
diff --git a/docs/content/docs/spark/spark-procedures.md b/docs/content/docs/spark/spark-procedures.md
index 142aef1..36ab02a 100644
--- a/docs/content/docs/spark/spark-procedures.md
+++ b/docs/content/docs/spark/spark-procedures.md
@@ -252,7 +252,7 @@ Rewrite manifests for a table to optimize scan planning.
 
 Data files in manifests are sorted by fields in the partition spec. This procedure runs in parallel using a Spark job.
 
-See the [`RewriteManifestsAction` Javadoc](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RewriteManifestsAction.html)
+See the [`RewriteManifestsAction` Javadoc](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RewriteManifestsAction.html)
 to see more configuration options.
 
 **Note** this procedure invalidates all cached Spark plans that reference the affected table.
diff --git a/docs/content/docs/tables/maintenance.md b/docs/content/docs/tables/maintenance.md
index 21e49fd..7f7e62f 100644
--- a/docs/content/docs/tables/maintenance.md
+++ b/docs/content/docs/tables/maintenance.md
@@ -31,7 +31,7 @@ Maintenance operations require the `Table` instance. Please refer [Java API quic
 
 Each write to an Iceberg table creates a new _snapshot_, or version, of a table. Snapshots can be used for time-travel queries, or the table can be rolled back to any valid snapshot.
 
-Snapshots accumulate until they are expired by the [`expireSnapshots`](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/Table.html#expireSnapshots--) operation. Regularly expiring snapshots is recommended to delete data files that are no longer needed, and to keep the size of table metadata small.
+Snapshots accumulate until they are expired by the [`expireSnapshots`](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/Table.html#expireSnapshots--) operation. Regularly expiring snapshots is recommended to delete data files that are no longer needed, and to keep the size of table metadata small.
 
 This example expires snapshots that are older than 1 day:
 
@@ -43,7 +43,7 @@ table.expireSnapshots()
      .commit();
 ```
 
-See the [`ExpireSnapshots` Javadoc](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/ExpireSnapshots.html) to see more configuration options.
+See the [`ExpireSnapshots` Javadoc](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/ExpireSnapshots.html) to see more configuration options.
 
 There is also a Spark action that can run table expiration in parallel for large tables:
 
@@ -89,7 +89,7 @@ Actions.forTable(table)
     .execute();
 ```
 
-See the [RemoveOrphanFilesAction Javadoc](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RemoveOrphanFilesAction.html) to see more configuration options.
+See the [RemoveOrphanFilesAction Javadoc](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RemoveOrphanFilesAction.html) to see more configuration options.
 
 This action may take a long time to finish if you have lots of files in data and metadata directories. It is recommended to execute this periodically, but you may not need to execute this often.
 
@@ -126,7 +126,7 @@ Actions.forTable(table).rewriteDataFiles()
 
 The `files` metadata table is useful for inspecting data file sizes and determining when to compact partitons.
 
-See the [`RewriteDataFilesAction` Javadoc](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RewriteDataFilesAction.html) to see more configuration options.
+See the [`RewriteDataFilesAction` Javadoc](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RewriteDataFilesAction.html) to see more configuration options.
 
 ### Rewrite manifests
 
@@ -146,4 +146,4 @@ table.rewriteManifests()
     .commit();
 ```
 
-See the [`RewriteManifestsAction` Javadoc](../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RewriteManifestsAction.html) to see more configuration options.
+See the [`RewriteManifestsAction` Javadoc](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RewriteManifestsAction.html) to see more configuration options.
diff --git a/landing-page/content/common/format/spec.md b/landing-page/content/common/format/spec.md
index a63c204..1527273 100644
--- a/landing-page/content/common/format/spec.md
+++ b/landing-page/content/common/format/spec.md
@@ -615,7 +615,7 @@ Each version of table metadata is stored in a metadata folder under the table’
 
 Notes:
 
-1. The file system table scheme is implemented in [HadoopTableOperations](../javadoc/master/index.html?org/apache/iceberg/hadoop/HadoopTableOperations.html).
+1. The file system table scheme is implemented in [HadoopTableOperations](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/hadoop/HadoopTableOperations.html).
 
 #### Metastore Tables
 
@@ -631,7 +631,7 @@ Each version of table metadata is stored in a metadata folder under the table’
 
 Notes:
 
-1. The metastore table scheme is partly implemented in [BaseMetastoreTableOperations](../javadoc/master/index.html?org/apache/iceberg/BaseMetastoreTableOperations.html).
+1. The metastore table scheme is partly implemented in [BaseMetastoreTableOperations](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/BaseMetastoreTableOperations.html).
 
 
 ### Delete Formats
diff --git a/landing-page/content/posts/format/spec.md b/landing-page/content/posts/format/spec.md
index 5143579..1664814 100644
--- a/landing-page/content/posts/format/spec.md
+++ b/landing-page/content/posts/format/spec.md
@@ -613,7 +613,7 @@ Each version of table metadata is stored in a metadata folder under the table’
 
 Notes:
 
-1. The file system table scheme is implemented in [HadoopTableOperations](../javadoc/master/index.html?org/apache/iceberg/hadoop/HadoopTableOperations.html).
+1. The file system table scheme is implemented in [HadoopTableOperations](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/hadoop/HadoopTableOperations.html).
 
 #### Metastore Tables
 
@@ -629,7 +629,7 @@ Each version of table metadata is stored in a metadata folder under the table’
 
 Notes:
 
-1. The metastore table scheme is partly implemented in [BaseMetastoreTableOperations](../javadoc/master/index.html?org/apache/iceberg/BaseMetastoreTableOperations.html).
+1. The metastore table scheme is partly implemented in [BaseMetastoreTableOperations](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/BaseMetastoreTableOperations.html).
 
 
 ### Delete Formats

[iceberg-docs] 43/47: Add missing snapshot image in spec page (#43)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 9997c3513e2760172c6307c4cd0e6277a432836c
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Mon Feb 7 23:26:40 2022 -0500

    Add missing snapshot image in spec page (#43)
---
 landing-page/content/common/format/spec.md   |   2 +-
 landing-page/static/img/iceberg-metadata.png | Bin 0 -> 140290 bytes
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/landing-page/content/common/format/spec.md b/landing-page/content/common/format/spec.md
index da4d085..c04062f 100644
--- a/landing-page/content/common/format/spec.md
+++ b/landing-page/content/common/format/spec.md
@@ -57,7 +57,7 @@ In addition to row-level deletes, version 2 makes some requirements stricter for
 
 ## Overview
 
-![Iceberg snapshot structure](../img/iceberg-metadata.png){.spec-img}
+![Iceberg snapshot structure](../../../img/iceberg-metadata.png)
 
 This table format tracks individual data files in a table instead of directories. This allows writers to create data files in-place and only adds files to the table in an explicit commit.
 
diff --git a/landing-page/static/img/iceberg-metadata.png b/landing-page/static/img/iceberg-metadata.png
new file mode 100644
index 0000000..48a1b0c
Binary files /dev/null and b/landing-page/static/img/iceberg-metadata.png differ

[iceberg-docs] 11/47: Remove link to 0.12.0 in side-navbar (#10)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 3eae0621a8d94b01dbb32c3084a488365a33b6a6
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Fri Jan 14 11:35:58 2022 -0800

    Remove link to 0.12.0 in side-navbar (#10)
---
 docs/content/docs/releases/0.12.0/_index.md | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/docs/content/docs/releases/0.12.0/_index.md b/docs/content/docs/releases/0.12.0/_index.md
deleted file mode 100644
index 5b5b9d0..0000000
--- a/docs/content/docs/releases/0.12.0/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: "0.12.0"
-weight: 100
-bookUrlFromBaseURL: /0.12.0
----
\ No newline at end of file

[iceberg-docs] 29/47: Add IntelliJ related files to gitignore (#29)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 57ed098b992c1270beb31b696265e5eb563701e8
Author: Jack Ye <yz...@amazon.com>
AuthorDate: Fri Feb 4 12:00:18 2022 -0800

    Add IntelliJ related files to gitignore (#29)
---
 .gitignore | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/.gitignore b/.gitignore
index 791934a..c7870c7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,10 @@
 resources
 !javadoc/resources
 
+# IntelliJ
+.idea
+*.iml
+
 # Other
 __pycache__
 .DS_Store

[iceberg-docs] 25/47: Update descriptions (#26)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 046c60a597432aee07ac377bdca5ae3fab812ad7
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Mon Jan 31 16:55:57 2022 -0800

    Update descriptions (#26)
---
 landing-page/content/about/about.html               | 2 +-
 landing-page/content/services/schema-evolution.html | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/landing-page/content/about/about.html b/landing-page/content/about/about.html
index 93329ae..8cdfe99 100644
--- a/landing-page/content/about/about.html
+++ b/landing-page/content/about/about.html
@@ -19,7 +19,7 @@ Draft: false
  - limitations under the License.
  -->
 
-Iceberg adds tables to compute engines including Spark, Trino, PrestoDB, Flink, and Hive using a high-performance table format that works just like a SQL table.
+Iceberg is a high-performance format for huge analytic tables. Iceberg brings the reliability and simplicity of SQL tables to big data, while making it possible for engines like Spark, Trino, Flink, Presto, and Hive to safely work with the same tables, at the same time.
 <div class="button-box">
 <ul class="list-inline intro-social-buttons">
     <li>
diff --git a/landing-page/content/services/schema-evolution.html b/landing-page/content/services/schema-evolution.html
index 4c32985..45c77a6 100644
--- a/landing-page/content/services/schema-evolution.html
+++ b/landing-page/content/services/schema-evolution.html
@@ -1,6 +1,6 @@
 ---
 Title: Full Schema Evolution
-Description: Iceberg avoids unpleasant surprises. Schema evolution just works with no "zombie" columns and no un-deleted data when adding columns with previously existing names.
+Description: Schema evolution just works. Adding a column won't bring back "zombie" data. Columns can be renamed and reordered. Best of all, schema changes never require rewriting your table.
 LearnMore: /docs/latest/evolution/
 Category: Services
 Draft: false

[iceberg-docs] 14/47: Continue to javadocs deployment on docs-site deployment failure (#13)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit b712716db6c30f6593c40ca3c42c9949300db06d
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Fri Jan 14 13:00:40 2022 -0800

    Continue to javadocs deployment on docs-site deployment failure (#13)
---
 .github/workflows/deploy.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 70d769d..48ac455 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -55,6 +55,7 @@ jobs:
   deploy-docs:
     if: github.ref != 'refs/heads/main'
     runs-on: ubuntu-20.04
+    continue-on-error: true
     steps:
       - uses: actions/checkout@v2
       

[iceberg-docs] 33/47: Publish the site to iceberg.apache.org (#36)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 29e7b32d74881673f02f13222a5e4cac288f5abb
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Sun Feb 6 13:15:29 2022 -0500

    Publish the site to iceberg.apache.org (#36)
---
 .asf.yaml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/.asf.yaml b/.asf.yaml
index 235aed3..55f8227 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -33,4 +33,5 @@ notifications:
     issues:       issues@iceberg.apache.org
     pullrequests: issues@iceberg.apache.org
 
-
+publish:
+    whoami:  asf-site

[iceberg-docs] 39/47: Backport all doc PRs up to 0.13.0 release (#42)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 69b64ffaf7758697fad40d15a5c3a6972f255b83
Author: Jack Ye <yz...@amazon.com>
AuthorDate: Mon Feb 7 19:01:31 2022 -0800

    Backport all doc PRs up to 0.13.0 release (#42)
    
    * https://github.com/apache/iceberg/pull/3723
    
    * https://github.com/apache/iceberg/pull/3732
    
    * https://github.com/apache/iceberg/pull/3749
    
    * https://github.com/apache/iceberg/pull/3766
    
    * https://github.com/apache/iceberg/pull/3787
    
    * https://github.com/apache/iceberg/pull/3796
    
    * https://github.com/apache/iceberg/pull/3809
    
    * https://github.com/apache/iceberg/pull/3820
    
    * https://github.com/apache/iceberg/pull/3878
    
    * https://github.com/apache/iceberg/pull/3890
    
    * https://github.com/apache/iceberg/pull/3892
    
    * https://github.com/apache/iceberg/pull/3944
    
    * https://github.com/apache/iceberg/pull/3976
    
    * https://github.com/apache/iceberg/pull/3993
    
    * https://github.com/apache/iceberg/pull/3996
    
    * https://github.com/apache/iceberg/pull/4008
    
    * https://github.com/apache/iceberg/pull/3758 and 3856
    
    * https://github.com/apache/iceberg/pull/3761
    
    * https://github.com/apache/iceberg/pull/2062
    
    * https://github.com/apache/iceberg/pull/3422
    
    * remove restriction related to legacy parquet file list
---
 docs/config.toml                                   |   2 +-
 docs/content/docs/api/java-api.md                  |   6 ++--
 docs/content/docs/dremio/_index.md                 |  23 +++++++++++++
 docs/content/docs/flink/flink-getting-started.md   |  38 ++++++++++-----------
 docs/content/docs/hive/_index.md                   |   8 +++++
 docs/content/docs/integrations/aws.md              |   9 ++++-
 docs/content/docs/spark/spark-configuration.md     |   2 ++
 docs/content/docs/spark/spark-ddl.md               |  28 +++++++++++++++
 docs/content/docs/spark/spark-procedures.md        |  28 +++++++++++----
 docs/content/docs/spark/spark-queries.md           |  36 ++++++++++++++-----
 .../docs/spark/spark-structured-streaming.md       |  15 ++++++++
 docs/content/docs/tables/configuration.md          |  12 +++++--
 docs/static/img/dremio-logo.png                    | Bin 0 -> 76517 bytes
 13 files changed, 167 insertions(+), 40 deletions(-)

diff --git a/docs/config.toml b/docs/config.toml
index ab0c8f9..64b63c4 100644
--- a/docs/config.toml
+++ b/docs/config.toml
@@ -7,6 +7,6 @@ theme= "hugo-book"
   BookTheme = 'auto'
   BookLogo = "img/iceberg-logo-icon.png"
   versions.iceberg = "" # This is populated by the github deploy workflow and is equal to the branch name
-  versions.nessie = "0.17.0"
+  versions.nessie = "0.18.0"
   latestVersions.iceberg = "0.13.0"  # This is used for the version badge on the "latest" site version
   BookSection='docs' # This determines which directory will inform the left navigation menu
diff --git a/docs/content/docs/api/java-api.md b/docs/content/docs/api/java-api.md
index fb0ed88..a7acc3c 100644
--- a/docs/content/docs/api/java-api.md
+++ b/docs/content/docs/api/java-api.md
@@ -176,8 +176,9 @@ StructType struct = Struct.of(
 ```java
 // map<1 key: int, 2 value: optional string>
 MapType map = MapType.ofOptional(
-    1, Types.IntegerType.get(),
-    2, Types.StringType.get()
+    1, 2,
+    Types.IntegerType.get(),
+    Types.StringType.get()
   )
 ```
 ```java
@@ -203,6 +204,7 @@ Supported predicate expressions are:
 * `in`
 * `notIn`
 * `startsWith`
+* `notStartsWith`
 
 Supported expression operations are:
 
diff --git a/docs/content/docs/dremio/_index.md b/docs/content/docs/dremio/_index.md
new file mode 100644
index 0000000..644ab0b
--- /dev/null
+++ b/docs/content/docs/dremio/_index.md
@@ -0,0 +1,23 @@
+---
+title: "Dremio"
+bookIconImage: ../img/dremio-logo.png
+bookFlatSection: true
+weight: 430
+bookExternalUrlNewWindow: https://docs.dremio.com/data-formats/apache-iceberg/
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/flink/flink-getting-started.md b/docs/content/docs/flink/flink-getting-started.md
index b4d5518..ebb2153 100644
--- a/docs/content/docs/flink/flink-getting-started.md
+++ b/docs/content/docs/flink/flink-getting-started.md
@@ -22,25 +22,25 @@ url: flink
 
 # Flink
 
-Apache Iceberg supports both [Apache Flink](https://flink.apache.org/)'s DataStream API and Table API to write records into an Iceberg table. Currently,
-we only integrate Iceberg with Apache Flink 1.11.x.
-
-| Feature support                                                        |  Flink 1.11.0      |  Notes                                                 |
-|------------------------------------------------------------------------|--------------------|--------------------------------------------------------|
-| [SQL create catalog](#creating-catalogs-and-using-catalogs)            | ✔️                 |                                                        |
-| [SQL create database](#create-database)                                | ✔️                 |                                                        |
-| [SQL create table](#create-table)                                      | ✔️                 |                                                        |
-| [SQL create table like](#create-table-like)                            | ✔️                 |                                                        |
-| [SQL alter table](#alter-table)                                        | ✔️                 | Only support altering table properties, Columns/PartitionKey changes are not supported now|
-| [SQL drop_table](#drop-table)                                          | ✔️                 |                                                        |
-| [SQL select](#querying-with-sql)                                       | ✔️                 | Support both streaming and batch mode                  |
-| [SQL insert into](#insert-into)                                        | ✔️ ️               | Support both streaming and batch mode                  |
-| [SQL insert overwrite](#insert-overwrite)                              | ✔️ ️               |                                                        |
-| [DataStream read](#reading-with-datastream)                            | ✔️ ️               |                                                        |
-| [DataStream append](#appending-data)                                   | ✔️ ️               |                                                        |
-| [DataStream overwrite](#overwrite-data)                                | ✔️ ️               |                                                        |
-| [Metadata tables](#inspecting-tables)                                  |    ️               | Support Java API but does not support Flink SQL        |
-| [Rewrite files action](#rewrite-files-action)                          | ✔️ ️               |                                                        |
+Apache Iceberg supports both [Apache Flink](https://flink.apache.org/)'s DataStream API and Table API. Currently,
+Iceberg integration for Apache Flink is available for Flink versions 1.12, 1.13, and 1.14. Previous versions of Iceberg also support Flink 1.11.
+
+| Feature support                                             | Flink  | Notes                                                        |
+| ----------------------------------------------------------- | -----  | ------------------------------------------------------------ |
+| [SQL create catalog](#creating-catalogs-and-using-catalogs) | ✔️     |                                                              |
+| [SQL create database](#create-database)                     | ✔️     |                                                              |
+| [SQL create table](#create-table)                           | ✔️     |                                                              |
+| [SQL create table like](#create-table-like)                 | ✔️     |                                                              |
+| [SQL alter table](#alter-table)                             | ✔️     | Only support altering table properties, column and partition changes are not supported |
+| [SQL drop_table](#drop-table)                               | ✔️     |                                                              |
+| [SQL select](#querying-with-sql)                            | ✔️     | Support both streaming and batch mode                        |
+| [SQL insert into](#insert-into)                             | ✔️ ️   | Support both streaming and batch mode                        |
+| [SQL insert overwrite](#insert-overwrite)                   | ✔️ ️   |                                                              |
+| [DataStream read](#reading-with-datastream)                 | ✔️ ️   |                                                              |
+| [DataStream append](#appending-data)                        | ✔️ ️   |                                                              |
+| [DataStream overwrite](#overwrite-data)                     | ✔️ ️   |                                                              |
+| [Metadata tables](#inspecting-tables)                       | ️      | Support Java API but does not support Flink SQL              |
+| [Rewrite files action](#rewrite-files-action)               | ✔️ ️   |                                                              |
 
 ## Preparation when using Flink SQL Client
 
diff --git a/docs/content/docs/hive/_index.md b/docs/content/docs/hive/_index.md
index fd6c0a0..cf47121 100644
--- a/docs/content/docs/hive/_index.md
+++ b/docs/content/docs/hive/_index.md
@@ -79,6 +79,14 @@ catalog.createTable(tableId, schema, spec, tableProperties);
 
 The table level configuration overrides the global Hadoop configuration.
 
+#### Hive on Tez configuration
+
+To use the Tez engine on Hive `3.1.2` or later, Tez needs to be upgraded to >= `0.10.1` which contains a necessary fix [Tez-4248](https://issues.apache.org/jira/browse/TEZ-4248).
+
+To use the Tez engine on Hive `2.3.x`, you will need to manually build Tez from the `branch-0.9` branch due to a backwards incompatibility issue with Tez `0.10.1`.
+
+You will also need to set the following property in the Hive configuration: `tez.mrreader.config.update.properties=hive.io.file.readcolumn.names,hive.io.file.readcolumn.ids`.
+
 ## Catalog Management
 
 ### Global Hive catalog
diff --git a/docs/content/docs/integrations/aws.md b/docs/content/docs/integrations/aws.md
index 0eec0f5..9d2c732 100644
--- a/docs/content/docs/integrations/aws.md
+++ b/docs/content/docs/integrations/aws.md
@@ -405,6 +405,11 @@ If for any reason you have to use S3A, here are the instructions:
 3. Add [hadoop-aws](https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-aws) as a runtime dependency of your compute engine.
 4. Configure AWS settings based on [hadoop-aws documentation](https://hadoop.apache.org/docs/current/hadoop-aws/tools/hadoop-aws/index.html) (make sure you check the version, S3A configuration varies a lot based on the version you use).   
 
+### S3 Write Checksum Verification
+
+To ensure integrity of uploaded objects, checksum validations for S3 writes can be turned on by setting catalog property `s3.checksum-enabled` to `true`. 
+This is turned off by default.
+
 ## AWS Client Customization
 
 Many organizations have customized their way of configuring AWS clients with their own credential provider, access proxy, retry strategy, etc.
@@ -448,8 +453,10 @@ spark-sql --packages org.apache.iceberg:iceberg-spark3-runtime:{{% icebergVersio
 [Hive](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive.html), [Flink](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-flink.html),
 [Trino](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-presto.html) that can run Iceberg.
 
-You can use a [bootstrap action](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-bootstrap.html) similar to the following to pre-install all necessary dependencies:
+Starting with EMR version 6.5.0, EMR clusters can be configured to have the necessary Apache Iceberg dependencies installed without requiring bootstrap actions. 
+Please refer to the [official documentation](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-iceberg-create-cluster.html) on how to create a cluster with Iceberg installed.
 
+For versions before 6.5.0, you can use a [bootstrap action](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-bootstrap.html) similar to the following to pre-install all necessary dependencies:
 ```sh
 #!/bin/bash
 
diff --git a/docs/content/docs/spark/spark-configuration.md b/docs/content/docs/spark/spark-configuration.md
index 5962ab0..6afddfb 100644
--- a/docs/content/docs/spark/spark-configuration.md
+++ b/docs/content/docs/spark/spark-configuration.md
@@ -67,6 +67,7 @@ Both catalogs are configured using properties nested under the catalog name. Com
 | spark.sql.catalog._catalog-name_.uri               | thrift://host:port            | Metastore connect URI; default from `hive-site.xml` |
 | spark.sql.catalog._catalog-name_.warehouse         | hdfs://nn:8020/warehouse/path | Base path for the warehouse directory |
 | spark.sql.catalog._catalog-name_.cache-enabled     | `true` or `false`             | Whether to enable catalog cache, default value is `true` |
+| spark.sql.catalog._catalog-name_.cache.expiration-interval-ms | `30000` (30 seconds) | Duration after which cached catalog entries are expired; Only effective if `cache-enabled` is `true`. `-1` disables cache expiration and `0` disables caching entirely, irrespective of `cache-enabled`. Default is `30000` (30 seconds) |                                                   |
 
 Additional properties can be found in common [catalog configuration](../configuration#catalog-properties).
 
@@ -162,6 +163,7 @@ spark.read
 | file-open-cost  | As per table property | Overrides this table's read.split.open-file-cost                                          |
 | vectorization-enabled  | As per table property | Overrides this table's read.parquet.vectorization.enabled                                          |
 | batch-size  | As per table property | Overrides this table's read.parquet.vectorization.batch-size                                          |
+| stream-from-timestamp | (none) | A timestamp in milliseconds to stream from; if before the oldest known ancestor snapshot, the oldest will be used |
 
 ### Write options
 
diff --git a/docs/content/docs/spark/spark-ddl.md b/docs/content/docs/spark/spark-ddl.md
index 55e7bfe..94b95de 100644
--- a/docs/content/docs/spark/spark-ddl.md
+++ b/docs/content/docs/spark/spark-ddl.md
@@ -370,3 +370,31 @@ ALTER TABLE prod.db.sample WRITE ORDERED BY category ASC NULLS LAST, id DESC NUL
 {{< hint info >}}
 Table write order does not guarantee data order for queries. It only affects how data is written to the table.
 {{< /hint >}}
+
+`WRITE ORDERED BY` sets a global ordering where rows are ordered across tasks, like using `ORDER BY` in an `INSERT` command:
+
+```sql
+INSERT INTO prod.db.sample
+SELECT id, data, category, ts FROM another_table
+ORDER BY ts, category
+```
+
+To order within each task, not across tasks, use `LOCALLY ORDERED BY`:
+
+```sql
+ALTER TABLE prod.db.sample WRITE LOCALLY ORDERED BY category, id
+```
+
+### `ALTER TABLE ... WRITE DISTRIBUTED BY PARTITION`
+
+`WRITE DISTRIBUTED BY PARTITION` will request that each partition is handled by one writer, the default implementation is hash distribution.
+
+```sql
+ALTER TABLE prod.db.sample WRITE DISTRIBUTED BY PARTITION
+```
+
+`DISTRIBUTED BY PARTITION` and `LOCALLY ORDERED BY` may be used together, to distribute by partition and locally order rows within each task.
+
+```sql
+ALTER TABLE prod.db.sample WRITE DISTRIBUTED BY PARTITION LOCALLY ORDERED BY category, id
+```
diff --git a/docs/content/docs/spark/spark-procedures.md b/docs/content/docs/spark/spark-procedures.md
index d4649a2..c811370 100644
--- a/docs/content/docs/spark/spark-procedures.md
+++ b/docs/content/docs/spark/spark-procedures.md
@@ -55,7 +55,9 @@ Roll back a table to a specific snapshot ID.
 
 To roll back to a specific time, use [`rollback_to_timestamp`](#rollback_to_timestamp).
 
-**Note** this procedure invalidates all cached Spark plans that reference the affected table.
+{{< hint info >}}
+This procedure invalidates all cached Spark plans that reference the affected table.
+{{< /hint >}}
 
 #### Usage
 
@@ -83,7 +85,9 @@ CALL catalog_name.system.rollback_to_snapshot('db.sample', 1)
 
 Roll back a table to the snapshot that was current at some time.
 
-**Note** this procedure invalidates all cached Spark plans that reference the affected table.
+{{< hint info >}}
+This procedure invalidates all cached Spark plans that reference the affected table.
+{{< /hint >}}
 
 #### Usage
 
@@ -112,7 +116,9 @@ Sets the current snapshot ID for a table.
 
 Unlike rollback, the snapshot is not required to be an ancestor of the current table state.
 
-**Note** this procedure invalidates all cached Spark plans that reference the affected table.
+{{< hint info >}}
+This procedure invalidates all cached Spark plans that reference the affected table.
+{{< /hint >}}
 
 #### Usage
 
@@ -143,7 +149,9 @@ Cherry-picking creates a new snapshot from an existing snapshot without altering
 
 Only append and dynamic overwrite snapshots can be cherry-picked.
 
-**Note** this procedure invalidates all cached Spark plans that reference the affected table.
+{{< hint info >}}
+This procedure invalidates all cached Spark plans that reference the affected table.
+{{< /hint >}}
 
 #### Usage
 
@@ -192,6 +200,9 @@ the `expire_snapshots` procedure will never remove files which are still require
 | `table`       | ✔️  | string | Name of the table to update |
 | `older_than`  | ️   | timestamp | Timestamp before which snapshots will be removed (Default: 5 days ago) |
 | `retain_last` |    | int       | Number of ancestor snapshots to preserve regardless of `older_than` (defaults to 1) |
+| `max_concurrent_deletes` |    | int       | Size of the thread pool used for delete file actions (by default, no thread pool is used) |
+
+If `older_than` and `retain_last` are omitted, the table's [expiration properties](./configuration/#table-behavior-properties) will be used.
 
 #### Output
 
@@ -227,6 +238,7 @@ Used to remove files which are not referenced in any metadata files of an Iceber
 | `older_than`  | ️   | timestamp | Remove orphan files created before this timestamp (Defaults to 3 days ago) |
 | `location`    |    | string    | Directory to look for files in (defaults to the table's location) |
 | `dry_run`     |    | boolean   | When true, don't actually remove files (defaults to false) |
+| `max_concurrent_deletes` |    | int       | Size of the thread pool used for delete file actions (by default, no thread pool is used) |
 
 #### Output
 
@@ -308,7 +320,9 @@ Data files in manifests are sorted by fields in the partition spec. This procedu
 See the [`RewriteManifestsAction` Javadoc](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RewriteManifestsAction.html)
 to see more configuration options.
 
-**Note** this procedure invalidates all cached Spark plans that reference the affected table.
+{{< hint info >}}
+This procedure invalidates all cached Spark plans that reference the affected table.
+{{< /hint >}}
 
 #### Usage
 
@@ -350,11 +364,13 @@ When inserts or overwrites run on the snapshot, new files are placed in the snap
 
 When finished testing a snapshot table, clean it up by running `DROP TABLE`.
 
-**Note** Because tables created by `snapshot` are not the sole owners of their data files, they are prohibited from
+{{< hint info >}}
+Because tables created by `snapshot` are not the sole owners of their data files, they are prohibited from
 actions like `expire_snapshots` which would physically delete data files. Iceberg deletes, which only effect metadata,
 are still allowed. In addition, any operations which affect the original data files will disrupt the Snapshot's 
 integrity. DELETE statements executed against the original Hive table will remove original data files and the
 `snapshot` table will no longer be able to access them.
+{{< /hint >}}
 
 See [`migrate`](#migrate) to replace an existing table with an Iceberg table.
 
diff --git a/docs/content/docs/spark/spark-queries.md b/docs/content/docs/spark/spark-queries.md
index 5b5017d..8f139c5 100644
--- a/docs/content/docs/spark/spark-queries.md
+++ b/docs/content/docs/spark/spark-queries.md
@@ -116,6 +116,28 @@ in [Spark 3.1 - SPARK-32592](https://issues.apache.org/jira/browse/SPARK-32592).
 
 Time travel is not yet supported by Spark's SQL syntax.
 
+### Incremental read
+
+To read appended data incrementally, use:
+
+* `start-snapshot-id` Start snapshot ID used in incremental scans (exclusive).
+* `end-snapshot-id` End snapshot ID used in incremental scans (inclusive). This is optional. Omitting it will default to the current snapshot.
+
+```scala
+// get the data added after start-snapshot-id (10963874102873L) until end-snapshot-id (63874143573109L)
+spark.read()
+  .format("iceberg")
+  .option("start-snapshot-id", "10963874102873")
+  .option("end-snapshot-id", "63874143573109")
+  .load("path/to/table")
+```
+
+{{< hint info >}}
+Currently gets only the data from `append` operation. Cannot support `replace`, `overwrite`, `delete` operations.
+Incremental read works with both V1 and V2 format-version.
+Incremental read is not supported by Spark's SQL syntax.
+{{< /hint >}}
+
 ### Spark 2.4
 
 Spark 2.4 requires using the DataFrame reader with `iceberg` as a format, because 2.4 does not support direct SQL queries:
@@ -223,15 +245,11 @@ To show a table's data files and each file's metadata, run:
 ```sql
 SELECT * FROM prod.db.table.files
 ```
-```text
-+-------------------------------------------------------------------------+-------------+--------------+--------------------+--------------------+------------------+-------------------+------------------+-----------------+-----------------+--------------+---------------+
-| file_path                                                               | file_format | record_count | file_size_in_bytes | column_sizes       | value_counts     | null_value_counts | nan_value_counts | lower_bounds    | upper_bounds    | key_metadata | split_offsets |
-+-------------------------------------------------------------------------+-------------+--------------+--------------------+--------------------+------------------+-------------------+------------------+-----------------+-----------------+--------------+---------------+
-| s3:/.../table/data/00000-3-8d6d60e8-d427-4809-bcf0-f5d45a4aad96.parquet | PARQUET     | 1            | 597                | [1 -> 90, 2 -> 62] | [1 -> 1, 2 -> 1] | [1 -> 0, 2 -> 0]  | []               | [1 -> , 2 -> c] | [1 -> , 2 -> c] | null         | [4]           |
-| s3:/.../table/data/00001-4-8d6d60e8-d427-4809-bcf0-f5d45a4aad96.parquet | PARQUET     | 1            | 597                | [1 -> 90, 2 -> 62] | [1 -> 1, 2 -> 1] | [1 -> 0, 2 -> 0]  | []               | [1 -> , 2 -> b] | [1 -> , 2 -> b] | null         | [4]           |
-| s3:/.../table/data/00002-5-8d6d60e8-d427-4809-bcf0-f5d45a4aad96.parquet | PARQUET     | 1            | 597                | [1 -> 90, 2 -> 62] | [1 -> 1, 2 -> 1] | [1 -> 0, 2 -> 0]  | []               | [1 -> , 2 -> a] | [1 -> , 2 -> a] | null         | [4]           |
-+-------------------------------------------------------------------------+-------------+--------------+--------------------+--------------------+------------------+-------------------+------------------+-----------------+-----------------+--------------+---------------+
-```
+| content | file_path | file_format | spec_id | partition | record_count | file_size_in_bytes | column_sizes | value_counts | null_value_counts | nan_value_counts | lower_bounds | upper_bounds | key_metadata | split_offsets | equality_ids | sort_order_id |
+| -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
+| 0 | s3:/.../table/data/00000-3-8d6d60e8-d427-4809-bcf0-f5d45a4aad96.parquet | PARQUET   | 0  | {1999-01-01, 01} | 1            | 597                | [1 -> 90, 2 -> 62] | [1 -> 1, 2 -> 1] | [1 -> 0, 2 -> 0]  | []               | [1 -> , 2 -> c] | [1 -> , 2 -> c] | null         | [4]           | null | null |
+| 0 | s3:/.../table/data/00001-4-8d6d60e8-d427-4809-bcf0-f5d45a4aad96.parquet | PARQUET   | 0  | {1999-01-01, 02} | 1            | 597                | [1 -> 90, 2 -> 62] | [1 -> 1, 2 -> 1] | [1 -> 0, 2 -> 0]  | []               | [1 -> , 2 -> b] | [1 -> , 2 -> b] | null         | [4]           | null | null |
+| 0 | s3:/.../table/data/00002-5-8d6d60e8-d427-4809-bcf0-f5d45a4aad96.parquet | PARQUET   | 0  | {1999-01-01, 03} | 1            | 597                | [1 -> 90, 2 -> 62] | [1 -> 1, 2 -> 1] | [1 -> 0, 2 -> 0]  | []               | [1 -> , 2 -> a] | [1 -> , 2 -> a] | null         | [4]           | null | null |
 
 ### Manifests
 
diff --git a/docs/content/docs/spark/spark-structured-streaming.md b/docs/content/docs/spark/spark-structured-streaming.md
index 8679847..35dbfdc 100644
--- a/docs/content/docs/spark/spark-structured-streaming.md
+++ b/docs/content/docs/spark/spark-structured-streaming.md
@@ -32,6 +32,21 @@ As of Spark 3.0, DataFrame reads and writes are supported.
 |--------------------------------------------------|----------|------------|------------------------------------------------|
 | [DataFrame write](#streaming-writes)             | ✔        | ✔          |                                                |
 
+## Streaming Reads
+
+Iceberg supports processing incremental data in spark structured streaming jobs which starts from a historical timestamp:
+
+```scala
+val df = spark.readStream
+    .format("iceberg")
+    .option("stream-from-timestamp", Long.toString(streamStartTimestamp))
+    .load("database.table_name")
+```
+
+{{< hint warning >}}
+Iceberg only supports reading data from append snapshots. Overwrite snapshots cannot be processed and will cause an exception. Similarly, delete snapshots will cause an exception by default, but deletes may be ignored by setting `streaming-skip-delete-snapshots=true`.
+{{</ hint >}}
+
 ## Streaming Writes
 
 To write values from streaming query to Iceberg table, use `DataStreamWriter`:
diff --git a/docs/content/docs/tables/configuration.md b/docs/content/docs/tables/configuration.md
index 78752e8..3a856dd 100644
--- a/docs/content/docs/tables/configuration.md
+++ b/docs/content/docs/tables/configuration.md
@@ -43,9 +43,9 @@ Iceberg tables support table properties to configure table behavior, like the de
 | write.parquet.row-group-size-bytes | 134217728 (128 MB) | Parquet row group size                             |
 | write.parquet.page-size-bytes      | 1048576 (1 MB)     | Parquet page size                                  |
 | write.parquet.dict-size-bytes      | 2097152 (2 MB)     | Parquet dictionary page size                       |
-| write.parquet.compression-codec    | gzip               | Parquet compression codec                          |
+| write.parquet.compression-codec    | gzip               | Parquet compression codec: zstd, brotli, lz4, gzip, snappy, uncompressed |
 | write.parquet.compression-level    | null               | Parquet compression level                          |
-| write.avro.compression-codec       | gzip               | Avro compression codec                             |
+| write.avro.compression-codec       | gzip               | Avro compression codec: gzip(deflate with 9 level), gzip, snappy, uncompressed |
 | write.location-provider.impl       | null               | Optional custom implemention for LocationProvider  |
 | write.metadata.compression-codec   | none               | Metadata compression codec; none or gzip           |
 | write.metadata.metrics.default     | truncate(16)       | Default metrics mode for all columns in the table; none, counts, truncate(length), or full |
@@ -77,6 +77,14 @@ Iceberg tables support table properties to configure table behavior, like the de
 | history.expire.min-snapshots-to-keep | 1                | Default min number of snapshots to keep while expiring snapshots |
 | history.expire.max-ref-age-ms      | `Long.MAX_VALUE` (forever) | For snapshot references except the `main` branch, default max age of snapshot references to keep while expiring snapshots. The `main` branch never expires. |
 
+### Reserved table properties
+Reserved table properties are only used to control behaviors when creating or updating a table.
+The value of these properties are not persisted as a part of the table metadata.
+
+| Property       | Default  | Description                                                   |
+| -------------- | -------- | ------------------------------------------------------------- |
+| format-version | 1        | Table's format version (can be 1 or 2) as defined in the [Spec](./spec.md#format-versioning). |
+
 ### Compatibility flags
 
 | Property                                      | Default  | Description                                                   |
diff --git a/docs/static/img/dremio-logo.png b/docs/static/img/dremio-logo.png
new file mode 100644
index 0000000..dd471aa
Binary files /dev/null and b/docs/static/img/dremio-logo.png differ

[iceberg-docs] 22/47: Ordering and termynal instantiations and adjustements (#23)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 58f366d79d48b88bfe4c6e56978c260fab6953f3
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Mon Jan 31 13:53:52 2022 -0800

    Ordering and termynal instantiations and adjustements (#23)
---
 landing-page/content/services/data-compaction.html     | 4 ++--
 landing-page/content/services/expressive-sql.html      | 4 ++--
 landing-page/content/services/hidden-partitioning.html | 2 +-
 landing-page/content/services/schema-evolution.html    | 4 ++--
 landing-page/content/services/time-travel.html         | 2 +-
 landing-page/layouts/partials/js.html                  | 2 +-
 6 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/landing-page/content/services/data-compaction.html b/landing-page/content/services/data-compaction.html
index 6e15d97..70ff2a1 100644
--- a/landing-page/content/services/data-compaction.html
+++ b/landing-page/content/services/data-compaction.html
@@ -3,7 +3,7 @@ Title: Data Compaction
 Description: Data compaction is supported out-of-the-box and you can choose from different rewrite strategies such as bin-packing or sorting to optimize file layout and size.
 Category: Services
 Draft: false
-weight: 300
+weight: 500
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
@@ -21,6 +21,6 @@ weight: 300
  - See the License for the specific language governing permissions and
  - limitations under the License.
  -->
- <div id="termynal-data-compaction" data-termynal data-ty-startDelay="600" data-ty-typeDelay="20" data-ty-lineDelay="500">
+ <div id="termynal-data-compaction" data-termynal data-ty-startDelay="8000" data-ty-typeDelay="20" data-ty-lineDelay="500">
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="spark-sql>">CALL system.rewrite_data_files("nyc.taxis");</span>
 </div>
\ No newline at end of file
diff --git a/landing-page/content/services/expressive-sql.html b/landing-page/content/services/expressive-sql.html
index 59bcffe..456863a 100644
--- a/landing-page/content/services/expressive-sql.html
+++ b/landing-page/content/services/expressive-sql.html
@@ -4,7 +4,7 @@ Description: Iceberg supports flexible SQL commands to merge new data, update ex
 <!-- LearnMore: /docs/latest/row-level-deletes -->
 Category: Services
 Draft: false
-weight: 300
+weight: 100
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
@@ -22,7 +22,7 @@ weight: 300
  - See the License for the specific language governing permissions and
  - limitations under the License.
  -->
- <div id="termynal-expressive-sql" data-termynal data-ty-startDelay="600" data-ty-typeDelay="20" data-ty-lineDelay="500">
+ <div id="termynal-expressive-sql" data-termynal data-ty-startDelay="2000" data-ty-typeDelay="20" data-ty-lineDelay="500">
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="spark-sql>">MERGE INTO prod.nyc.taxis pt</span>
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">USING (SELECT * FROM staging.nyc.taxis) st</span>
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">ON pt.id = st.id</span>
diff --git a/landing-page/content/services/hidden-partitioning.html b/landing-page/content/services/hidden-partitioning.html
index bc6f54c..08ccb00 100644
--- a/landing-page/content/services/hidden-partitioning.html
+++ b/landing-page/content/services/hidden-partitioning.html
@@ -5,7 +5,7 @@ LottieFile: hidden-partitioning-animation.json
 LearnMore: /docs/latest/partitioning/#icebergs-hidden-partitioning
 Category: Services
 Draft: false
-weight: 200
+weight: 300
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/landing-page/content/services/schema-evolution.html b/landing-page/content/services/schema-evolution.html
index 0dcd954..e7bac9b 100644
--- a/landing-page/content/services/schema-evolution.html
+++ b/landing-page/content/services/schema-evolution.html
@@ -4,7 +4,7 @@ Description: Iceberg avoids unpleasant surprises. Schema evolution just works wi
 LearnMore: /docs/latest/evolution/
 Category: Services
 Draft: false
-weight: 100
+weight: 200
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
@@ -22,7 +22,7 @@ weight: 100
  - See the License for the specific language governing permissions and
  - limitations under the License.
  -->
-<div id="termynal" data-termynal data-ty-startDelay="600" data-ty-typeDelay="20" data-ty-lineDelay="500">
+<div id="termynal" data-termynal data-ty-startDelay="4000" data-ty-typeDelay="20" data-ty-lineDelay="500">
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="spark-sql>">ALTER TABLE taxis</span>
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="">ALTER COLUMN trip_distance</span>
     <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="" data-ty-delay="2500">TYPE double;</span>
diff --git a/landing-page/content/services/time-travel.html b/landing-page/content/services/time-travel.html
index 92725c4..9bd6946 100644
--- a/landing-page/content/services/time-travel.html
+++ b/landing-page/content/services/time-travel.html
@@ -23,7 +23,7 @@ weight: 400
  - limitations under the License.
  -->
  <div class="termynal-container">
-    <div id="termynal-time-travel" data-termynal data-ty-startDelay="600" data-ty-typeDelay="20" data-ty-lineDelay="500">
+    <div id="termynal-time-travel" data-termynal data-ty-startDelay="6000" data-ty-typeDelay="20" data-ty-lineDelay="500">
         <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="scala>">spark.read.table("taxis").count()</span>
         <span data-ty>2,853,020</span>
         <span data-ty="input" data-ty-cursor="▋" data-ty-prompt="scala>">val ONE_DAY_MS=86400000</span>
diff --git a/landing-page/layouts/partials/js.html b/landing-page/layouts/partials/js.html
index 063204a..bec306c 100644
--- a/landing-page/layouts/partials/js.html
+++ b/landing-page/layouts/partials/js.html
@@ -11,7 +11,7 @@
 <script src="{{ .Site.BaseURL }}/js/landing-page.js"></script>
 
 <!-- Termynal animation renderer -->
-<script src="{{ .Site.BaseURL }}/js/termynal.js" data-termynal-container="#termynal"></script>
+<script src="{{ .Site.BaseURL }}/js/termynal.js" data-termynal-container="#termynal|#termynal-data-compaction|#termynal-expressive-sql|#termynal-time-travel"></script>
 
 {{ if isset .Site.Params "googleAnalytics" }}
 

[iceberg-docs] 07/47: Style updates (#5)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 7597f00d9c7aca731ba8ecd507a5b9dadce31c8f
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Thu Jan 13 16:27:16 2022 -0800

    Style updates (#5)
    
    - Update font-family and font-size in docs to match common pages
    - Increase docs page width (there was a lot of whitespace on the edges)
    - Add highlighting to search results to make the matched text more visible
---
 docs/assets/_custom.scss | 14 ++++++++++++++
 docs/assets/search.js    |  4 ++--
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/docs/assets/_custom.scss b/docs/assets/_custom.scss
index 612762e..01d26f0 100644
--- a/docs/assets/_custom.scss
+++ b/docs/assets/_custom.scss
@@ -1,3 +1,9 @@
+body {
+  font-family: sans-serif, -apple-system, BlinkMacSystemFont, segoe ui, Helvetica, Arial, apple color emoji, segoe ui emoji;
+  font-size: 16px;
+  word-wrap: break-word;
+}
+
 .navigation-icon {
   width: 1.28571429em;
   max-height: 14px;
@@ -49,6 +55,9 @@ ul#book-search-results {
   width: 100%;
   background-color: white;
   z-index: 10;
+  a b mark {
+    background-color: #B8E1F3;
+  }
 }
 
 ul#book-search-results li small {
@@ -75,4 +84,9 @@ aside nav ul {
 
 .book-menu {
   font-size: 0.8rem;
+}
+
+.container {
+  max-width: $container-max-width + 20;
+  margin: 0 auto;
 }
\ No newline at end of file
diff --git a/docs/assets/search.js b/docs/assets/search.js
index 54ee547..3dc1050 100644
--- a/docs/assets/search.js
+++ b/docs/assets/search.js
@@ -74,9 +74,9 @@
       const resultLocation = page.content.toLowerCase().indexOf(query.toLowerCase());
       return `<a href="${page.href}">...` +
       page.content.substring(resultLocation-extraLength, resultLocation) +
-      "<b>" +
+      "<b><mark>" +
       page.content.substring(resultLocation, resultLocation + query.length) +
-      "</b>" +
+      "</mark></b>" +
       page.content.substring(resultLocation + query.length, resultLocation + extraLength) +
       "..." +
       "</a>"

[iceberg-docs] 32/47: Add 0.13.0 to left navbar (#32)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 9a0ee5c81e78c10564972f9aa98a01c80276ae23
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Fri Feb 4 17:38:28 2022 -0500

    Add 0.13.0 to left navbar (#32)
---
 docs/config.toml                            | 2 +-
 docs/content/docs/releases/0.13.0/_index.md | 5 +++++
 docs/content/docs/releases/latest/_index.md | 2 +-
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/docs/config.toml b/docs/config.toml
index 2155c43..ab0c8f9 100644
--- a/docs/config.toml
+++ b/docs/config.toml
@@ -8,5 +8,5 @@ theme= "hugo-book"
   BookLogo = "img/iceberg-logo-icon.png"
   versions.iceberg = "" # This is populated by the github deploy workflow and is equal to the branch name
   versions.nessie = "0.17.0"
-  latestVersions.iceberg = "0.12.1"  # This is used for the version badge on the "latest" site version
+  latestVersions.iceberg = "0.13.0"  # This is used for the version badge on the "latest" site version
   BookSection='docs' # This determines which directory will inform the left navigation menu
diff --git a/docs/content/docs/releases/0.13.0/_index.md b/docs/content/docs/releases/0.13.0/_index.md
new file mode 100644
index 0000000..7590311
--- /dev/null
+++ b/docs/content/docs/releases/0.13.0/_index.md
@@ -0,0 +1,5 @@
+---
+title: "0.13.0"
+weight: 98
+bookUrlFromBaseURL: /0.13.0
+---
\ No newline at end of file
diff --git a/docs/content/docs/releases/latest/_index.md b/docs/content/docs/releases/latest/_index.md
index 94d46ba..df06b9c 100644
--- a/docs/content/docs/releases/latest/_index.md
+++ b/docs/content/docs/releases/latest/_index.md
@@ -1,5 +1,5 @@
 ---
 title: "Latest"
-weight: 98
+weight: 1
 bookUrlFromBaseURL: /latest
 ---
\ No newline at end of file

[iceberg-docs] 45/47: Remove _index.md for common/project, not needed

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 6c9e91dcc5ac8df8938bf3e6c0d497fc0efac553
Author: samredai <43...@users.noreply.github.com>
AuthorDate: Tue Feb 8 09:25:45 2022 -0800

    Remove _index.md for common/project, not needed
---
 landing-page/content/common/project/_index.md | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/landing-page/content/common/project/_index.md b/landing-page/content/common/project/_index.md
deleted file mode 100644
index d97ed69..0000000
--- a/landing-page/content/common/project/_index.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-bookIconFa: fa-wrench
-bookCollapseSection: true
-url: project
-weight: 900
----
\ No newline at end of file

[iceberg-docs] 34/47: Add contribution guidelines (#35)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 8a53e513ec24245d077b028db844410bd57e038c
Author: Jack Ye <yz...@amazon.com>
AuthorDate: Sun Feb 6 10:21:27 2022 -0800

    Add contribution guidelines (#35)
---
 README.md | 90 +++++++++++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 65 insertions(+), 25 deletions(-)

diff --git a/README.md b/README.md
index eef928b..a663605 100644
--- a/README.md
+++ b/README.md
@@ -27,14 +27,73 @@ It's built with [Hugo](https://gohugo.io/) and hosted at https://iceberg.apache.
 The Iceberg documentation site is actually constructed from two hugo sites. The first, is the landing page. The second site, 
 is the documentation site which contains the full Iceberg documentation, including the javadoc. The landing page and
 documentation sites are completely self-contained in the `./landing-page` and `./docs` directories, respectively.
+The Javadocs are in the `./javadoc` directory.
 
-# Landing Page Deployment
+## Relationship to the Iceberg Repository
+
+The `documentation` folder in the [Iceberg repository](https://github.com/apache/iceberg) contains all the markdown docs used by the website.
+The `common` subfolder contains contents used by the landing page.
+The `versioned` subfolder contains the contents different for each version.
+
+During each new release, the release manager copies contents from the Iceberg repository to this docs repository and cuts a new version branch.
+Contents under `common` are copied to `./landing-page/contents/common` here,
+and contents under `versioned` are copied to `./docs/contents/docs` here.
+Javadocs generated from the release are copied to the `javadoc` directory.
+
+# How to Contribute
+
+## Submitting Pull Requests
+
+Changes to the markdown contents should be submitted directly in the Iceberg repository.
+
+Changes to the website appearance (e.g. HTML, CSS changes) should be submitted to this repository against the `main` branch.
+
+Changes to the documentation of old Iceberg versions should be submitted to this repository against the specific version branch.
+
+## Reporting Issues
+
+All issues related to the doc website should still be submitted to the [Iceberg repository](https://github.com/apache/iceberg).
+The GitHub Issues feature of this repository is disabled.
+
+## Running Locally
+
+Clone this repository to run the website locally:
+```shell
+git clone git@github.com:apache/iceberg-docs.git
+cd iceberg-docs
+```
+
+To start the landing page site locally, run:
+```shell
+cd landing-page && hugo serve
+```
+
+To start the documentation site locally, run:
+```shell
+cd docs && hugo serve
+```
+
+If you would like to see how the latest website looks based on the documentation in the Iceberg repository, you can copy docs to this repository by:
+```shell
+rm -rf docs/content/docs
+rm -rf landing-page/content/common
+cp -r <path to iceberg repo>/documentation/versioned docs/content/docs
+cp -r <path to iceberg repo>/documentation/common docs/content/common
+```
+
+## Scanning For Broken Links
+
+If you'd like to scan for broken links, one available tool is linkcheck that can be found [here](https://github.com/filiph/linkcheck).
+
+# How the Website is Deployed
+
+## Landing Page Deployment
 
 The landing page site is automatically deployed to the root of the `asf-site` branch by the `deploy-landing-page`
 job in the [deployment workflow](./.github/workflows/deploy.yml). There is only a single version of the landing
 page site, and the `deploy-landing-page` job only runs on commits to the `main` branch.
 
-# Docs Deployment
+## Docs Deployment
 
 The docs site is automatically deployed to the `docs` directory in the asf-site branch, into a sub-directory
 named after the branch where the commit occured. This is performed by the `deploy-docs` job in the
@@ -45,11 +104,11 @@ yet exist in the `asf-site` branch, it will be created.
 Additionally, the contents of the `javadoc` directory is deployed to a `javadoc/<branch_name>` directory in
 the `asf-site` branch.
 
-#### Latest Docs
+### Latest Docs
 In [./docs/redirect/index.html](./docs/redirect/index.html), a redirect meta tag exists to forward `/docs` 
 and `/latest` to `/docs/latest`.
 
-# `asf-site` Branch Structure
+## `asf-site` Branch Structure
 
 The `asf-site` branch structure is the following:
 ```
@@ -75,29 +134,10 @@ in the `asf-site` branch's `javadoc` directory.
 A `main` branch commit deploys the landing page site **only** and overwrites the landing page site at
 the root of the `asf-site` branch.
 
-# Redirects
+## Redirects
 
 Redirects within one of the two sites can easily be done using the `aliases` keyword in the YAML Front Matter.
 You can read more about this Hugo URL Management feature [here](https://gohugo.io/content-management/urls/#yaml-front-matter).
 
 For root level redirects that are outside of both sites, the `./redirects` directory contains pages with redirect `meta` tags.
-These are all deployed at the root level of the `asf-site` branch by the `Deploy redirects` step in the [deployment workflow](./.github/workflows/deploy.yml).
-
-# Running Locally
-
-To start the landing page site locally, clone this repository and run the following.
-```
-git clone git@github.com:apache/iceberg-docs.git
-cd landing-page && hugo serve
-```
-
-To start the documentation site locally, clone this repository and run the following.
-```
-git clone git@github.com:apache/iceberg-docs.git
-git submodule update --init
-cd docs && hugo serve
-```
-
-# Scanning For Broken Links
-
-If you'd like to scan for broken links, one available tool is linkcheck that can be found [here](https://github.com/filiph/linkcheck).
+These are all deployed at the root level of the `asf-site` branch by the `Deploy redirects` step in the [deployment workflow](./.github/workflows/deploy.yml).
\ No newline at end of file

[iceberg-docs] 47/47: Merge pull request #49 from samredai/license

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit d1f2afd6200ea80fcc3d98a068494158341436fc
Merge: 7483cb4 b90182e
Author: Russell Spitzer <ru...@GMAIL.COM>
AuthorDate: Tue Feb 8 12:04:56 2022 -0600

    Merge pull request #49 from samredai/license
    
    Add ASF license headers where missing

 docs/content/docs/community/blogs.md          | 18 +++++++++++++++++-
 docs/content/docs/community/join.md           | 18 +++++++++++++++++-
 docs/content/docs/community/talks.md          | 18 +++++++++++++++++-
 docs/content/docs/format/spec.md              | 18 +++++++++++++++++-
 docs/content/docs/format/terms.md             | 18 +++++++++++++++++-
 docs/content/docs/project/benchmarks.md       | 18 +++++++++++++++++-
 docs/content/docs/project/how-to-release.md   | 18 +++++++++++++++++-
 docs/content/docs/project/roadmap.md          | 18 +++++++++++++++++-
 docs/content/docs/project/security.md         | 18 +++++++++++++++++-
 docs/content/docs/project/trademarks.md       | 18 +++++++++++++++++-
 docs/content/docs/releases/release-notes.md   | 18 +++++++++++++++++-
 landing-page/content/common/project/_index.md |  6 ------
 12 files changed, 187 insertions(+), 17 deletions(-)

[iceberg-docs] 28/47: Add all docs PR's merged before the split out to this iceberg-docs repo (#31)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit a508bf2c256319e0dbe97b9c27dc18c65f892997
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Fri Feb 4 13:50:16 2022 -0500

    Add all docs PR's merged before the split out to this iceberg-docs repo (#31)
    
    * PR #3375: Spark: CALL procedure for rewrite_data_files
    
    * PR #3422: Doc: Update Files metadata table
    
    * PR #3425: Spec: Add snapshot tagging and branching
    
    * PR #3469: Spark: Add test cases for SparkActions and remove deprecated Actions and its test cases
    
    * PR #3479: Add a How To Verify A Release page
    
    * PR #3544: Docs: Add Iceberg indexing blog post
    
    * PR #3556: Spec: Document NameMapping
    
    * PR #3602: Docs: Add ververica blog - Using Flink CDC to synchronize data from MySQL sharding tables and build real-time data lake
    
    * PR #3680: Site Docs - Fix Flink batch job incorrectly labeled as streaming
    
    * PR #3683: Spark: clarify alter column of complex types
    
    * PR #3694: Doc : Modify the attribute description
    
    * PR #3706: Docs: update Nessie version to 0.17.0
    
    * PR #3712: Docs: add spark create clause CTAS/RTAS example
---
 docs/config.toml                                   |   2 +-
 docs/content/docs/flink/flink-getting-started.md   |   2 +-
 docs/content/docs/spark/spark-ddl.md               |  29 ++++
 docs/content/docs/spark/spark-procedures.md        |  53 +++++++
 docs/content/docs/spark/spark-queries.md           |   5 +
 docs/content/docs/tables/configuration.md          |   5 +-
 docs/content/docs/tables/maintenance.md            |  36 +++--
 landing-page/content/common/community/blogs.md     |   8 ++
 landing-page/content/common/format/spec.md         |  76 +++++++++-
 .../common/releases/how-to-verify-a-release.md     | 154 +++++++++++++++++++++
 10 files changed, 350 insertions(+), 20 deletions(-)

diff --git a/docs/config.toml b/docs/config.toml
index 5fb300e..2155c43 100644
--- a/docs/config.toml
+++ b/docs/config.toml
@@ -7,6 +7,6 @@ theme= "hugo-book"
   BookTheme = 'auto'
   BookLogo = "img/iceberg-logo-icon.png"
   versions.iceberg = "" # This is populated by the github deploy workflow and is equal to the branch name
-  versions.nessie = "0.15.1"
+  versions.nessie = "0.17.0"
   latestVersions.iceberg = "0.12.1"  # This is used for the version badge on the "latest" site version
   BookSection='docs' # This determines which directory will inform the left navigation menu
diff --git a/docs/content/docs/flink/flink-getting-started.md b/docs/content/docs/flink/flink-getting-started.md
index 3ec92c0..b4d5518 100644
--- a/docs/content/docs/flink/flink-getting-started.md
+++ b/docs/content/docs/flink/flink-getting-started.md
@@ -478,7 +478,7 @@ DataStream<RowData> stream = FlinkSource.forRowData()
 stream.print();
 
 // Submit and execute this streaming read job.
-env.execute("Test Iceberg Batch Read");
+env.execute("Test Iceberg Streaming Read");
 ```
 
 There are other options that we could set by Java API, please see the [FlinkSource#Builder](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/flink/source/FlinkSource.html).
diff --git a/docs/content/docs/spark/spark-ddl.md b/docs/content/docs/spark/spark-ddl.md
index 1422444..55e7bfe 100644
--- a/docs/content/docs/spark/spark-ddl.md
+++ b/docs/content/docs/spark/spark-ddl.md
@@ -111,6 +111,13 @@ USING iceberg
 AS SELECT ...
 ```
 ```sql
+REPLACE TABLE prod.db.sample
+USING iceberg
+PARTITIONED BY (part)
+TBLPROPERTIES ('key'='value')
+AS SELECT ...
+```
+```sql
 CREATE OR REPLACE TABLE prod.db.sample
 USING iceberg
 AS SELECT ...
@@ -189,6 +196,28 @@ ALTER TABLE prod.db.sample
 ADD COLUMN point.z double
 ```
 
+```sql
+-- create a nested array column of struct
+ALTER TABLE prod.db.sample
+ADD COLUMN points array<struct<x: double, y: double>>;
+
+-- add a field to the struct within an array. Using keyword 'element' to access the array's element column.
+ALTER TABLE prod.db.sample
+ADD COLUMN points.element.z double
+```
+
+```sql
+-- create a map column of struct key and struct value
+ALTER TABLE prod.db.sample
+ADD COLUMN points map<struct<x: int>, struct<a: int>>;
+
+-- add a field to the value struct in a map. Using keyword 'value' to access the map's value column.
+ALTER TABLE prod.db.sample
+ADD COLUMN points.value.b int
+```
+
+Note: Altering a map 'key' column by adding columns is not allowed. Only map values can be updated.
+
 In Spark 2.4.4 and later, you can add columns in any position by adding `FIRST` or `AFTER` clauses:
 
 ```sql
diff --git a/docs/content/docs/spark/spark-procedures.md b/docs/content/docs/spark/spark-procedures.md
index 36ab02a..d4649a2 100644
--- a/docs/content/docs/spark/spark-procedures.md
+++ b/docs/content/docs/spark/spark-procedures.md
@@ -246,6 +246,59 @@ Remove any files in the `tablelocation/data` folder which are not known to the t
 CALL catalog_name.system.remove_orphan_files(table => 'db.sample', location => 'tablelocation/data')
 ```
 
+### `rewrite_data_files`
+
+Iceberg tracks each data file in a table. More data files leads to more metadata stored in manifest files, and small data files causes an unnecessary amount of metadata and less efficient queries from file open costs.
+
+Iceberg can compact data files in parallel using Spark with the `rewriteDataFiles` action. This will combine small files into larger files to reduce metadata overhead and runtime file open cost.
+
+#### Usage
+
+| Argument Name | Required? | Type | Description |
+|---------------|-----------|------|-------------|
+| `table`       | ✔️  | string | Name of the table to update |
+| `strategy`    |    | string | Name of the strategy - binpack or sort. Defaults to binpack strategy |
+| `sort_order`  |    | string | Comma separated sort_order_column. Where sort_order_column is a space separated sort order info per column (ColumnName SortDirection NullOrder). <br/> SortDirection can be ASC or DESC. NullOrder can be NULLS FIRST or NULLS LAST |
+| `options`     | ️   | map<string, string> | Options to be used for actions|
+| `where`       | ️   | string | predicate as a string used for filtering the files. Note that all files that may contain data matching the filter will be selected for rewriting|
+
+
+See the [`RewriteDataFiles` Javadoc](./javadoc/{{ versions.iceberg }}/org/apache/iceberg/actions/RewriteDataFiles.html#field.summary),
+<br/>  [`BinPackStrategy` Javadoc](./javadoc/{{ versions.iceberg }}/org/apache/iceberg/actions/BinPackStrategy.html#field.summary)
+and <br/> [`SortStrategy` Javadoc](./javadoc/{{ versions.iceberg }}/org/apache/iceberg/actions/SortStrategy.html#field.summary)
+for list of all the supported options for this action.
+
+#### Output
+
+| Output Name | Type | Description |
+| ------------|------|-------------|
+| `rewritten_data_files_count` | int | Number of data which were re-written by this command |
+| `added_data_files_count`     | int | Number of new data files which were written by this command |
+
+#### Examples
+
+Rewrite the data files in table `db.sample` using the default rewrite algorithm of bin-packing to combine small files 
+and also split large files according to the default write size of the table.
+```sql
+CALL catalog_name.system.rewrite_data_files('db.sample')
+```
+
+Rewrite the data files in table `db.sample` by sorting all the data on id and name 
+using the same defaults as bin-pack to determine which files to rewrite.
+```sql
+CALL catalog_name.system.rewrite_data_files(table => 'db.sample', strategy => 'sort', sort_order => 'id DESC NULLS LAST,name ASC NULLS FIRST')
+```
+
+Rewrite the data files in table `db.sample` using bin-pack strategy in any partition where more than 2 or more files need to be rewritten.
+```sql
+CALL catalog_name.system.rewrite_data_files(table => 'db.sample', options => map('min-input-files','2'))
+```
+
+Rewrite the data files in table `db.sample` and select the files that may contain data matching the filter (id = 3 and name = "foo") to be rewritten.
+```sql
+CALL catalog_name.system.rewrite_data_files(table => 'db.sample', where => 'id = 3 and name = "foo"')
+```
+
 ### `rewrite_manifests`
 
 Rewrite manifests for a table to optimize scan planning.
diff --git a/docs/content/docs/spark/spark-queries.md b/docs/content/docs/spark/spark-queries.md
index 4e2f634..5b5017d 100644
--- a/docs/content/docs/spark/spark-queries.md
+++ b/docs/content/docs/spark/spark-queries.md
@@ -53,6 +53,11 @@ For example, to read from the `files` metadata table for `prod.db.table`, run:
 ```
 SELECT * FROM prod.db.table.files
 ```
+|content|file_path                                                                                                                                   |file_format|spec_id|partition|record_count|file_size_in_bytes|column_sizes      |value_counts    |null_value_counts|nan_value_counts|lower_bounds           |upper_bounds           |key_metadata|split_offsets|equality_ids|sort_order_id|
+| -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
+| 0 | s3:/.../table/data/00000-3-8d6d60e8-d427-4809-bcf0-f5d45a4aad96.parquet | PARQUET   | 0  | {1999-01-01, 01} | 1            | 597                | [1 -> 90, 2 -> 62] | [1 -> 1, 2 -> 1] | [1 -> 0, 2 -> 0]  | []               | [1 -> , 2 -> c] | [1 -> , 2 -> c] | null         | [4]           | null | null |
+| 0 | s3:/.../table/data/00001-4-8d6d60e8-d427-4809-bcf0-f5d45a4aad96.parquet | PARQUET   | 0  | {1999-01-01, 02} | 1            | 597                | [1 -> 90, 2 -> 62] | [1 -> 1, 2 -> 1] | [1 -> 0, 2 -> 0]  | []               | [1 -> , 2 -> b] | [1 -> , 2 -> b] | null         | [4]           | null | null |
+| 0 | s3:/.../table/data/00002-5-8d6d60e8-d427-4809-bcf0-f5d45a4aad96.parquet | PARQUET   | 0  | {1999-01-01, 03} | 1            | 597                | [1 -> 90, 2 -> 62] | [1 -> 1, 2 -> 1] | [1 -> 0, 2 -> 0]  | []               | [1 -> , 2 -> a] | [1 -> , 2 -> a] | null         | [4]           | null | null |
 
 ## Querying with DataFrames
 
diff --git a/docs/content/docs/tables/configuration.md b/docs/content/docs/tables/configuration.md
index 8c6c32f..78752e8 100644
--- a/docs/content/docs/tables/configuration.md
+++ b/docs/content/docs/tables/configuration.md
@@ -65,16 +65,17 @@ Iceberg tables support table properties to configure table behavior, like the de
 | commit.retry.num-retries           | 4                | Number of times to retry a commit before failing              |
 | commit.retry.min-wait-ms           | 100              | Minimum time in milliseconds to wait before retrying a commit |
 | commit.retry.max-wait-ms           | 60000 (1 min)    | Maximum time in milliseconds to wait before retrying a commit |
-| commit.retry.total-timeout-ms      | 1800000 (30 min) | Maximum time in milliseconds to wait before retrying a commit |
+| commit.retry.total-timeout-ms      | 1800000 (30 min) | Total retry timeout period in milliseconds for a commit |
 | commit.status-check.num-retries    | 3                | Number of times to check whether a commit succeeded after a connection is lost before failing due to an unknown commit state |
 | commit.status-check.min-wait-ms    | 1000 (1s)        | Minimum time in milliseconds to wait before retrying a status-check |
 | commit.status-check.max-wait-ms    | 60000 (1 min)    | Maximum time in milliseconds to wait before retrying a status-check |
-| commit.status-check.total-timeout-ms| 1800000 (30 min) | Maximum time in milliseconds to wait before retrying a status-check |
+| commit.status-check.total-timeout-ms| 1800000 (30 min) | Total timeout period in which the commit status-check must succeed, in milliseconds |
 | commit.manifest.target-size-bytes  | 8388608 (8 MB)   | Target size when merging manifest files                       |
 | commit.manifest.min-count-to-merge | 100              | Minimum number of manifests to accumulate before merging      |
 | commit.manifest-merge.enabled      | true             | Controls whether to automatically merge manifests on writes   |
 | history.expire.max-snapshot-age-ms | 432000000 (5 days) | Default max age of snapshots to keep while expiring snapshots    |
 | history.expire.min-snapshots-to-keep | 1                | Default min number of snapshots to keep while expiring snapshots |
+| history.expire.max-ref-age-ms      | `Long.MAX_VALUE` (forever) | For snapshot references except the `main` branch, default max age of snapshot references to keep while expiring snapshots. The `main` branch never expires. |
 
 ### Compatibility flags
 
diff --git a/docs/content/docs/tables/maintenance.md b/docs/content/docs/tables/maintenance.md
index 7f7e62f..26c4bdb 100644
--- a/docs/content/docs/tables/maintenance.md
+++ b/docs/content/docs/tables/maintenance.md
@@ -48,8 +48,10 @@ See the [`ExpireSnapshots` Javadoc](../../../javadoc/{{% icebergVersion %}}/org/
 There is also a Spark action that can run table expiration in parallel for large tables:
 
 ```java
-Actions.forTable(table)
-    .expireSnapshots()
+Table table = ...
+SparkActions
+    .get()
+    .expireSnapshots(table)
     .expireOlderThan(tsToExpire)
     .execute();
 ```
@@ -76,20 +78,21 @@ To automatically clean metadata files, set `write.metadata.delete-after-commit.e
 
 See [table write properties](../configuration/#write-properties) for more details.
 
-### Remove orphan files
+### Delete orphan files
 
 In Spark and other distributed processing engines, task or job failures can leave files that are not referenced by table metadata, and in some cases normal snapshot expiration may not be able to determine a file is no longer needed and delete it.
 
-To clean up these "orphan" files under a table location, use the `removeOrphanFiles` action.
+To clean up these "orphan" files under a table location, use the `deleteOrphanFiles` action.
 
 ```java
 Table table = ...
-Actions.forTable(table)
-    .removeOrphanFiles()
+SparkActions
+    .get()
+    .deleteOrphanFiles(table)
     .execute();
 ```
 
-See the [RemoveOrphanFilesAction Javadoc](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RemoveOrphanFilesAction.html) to see more configuration options.
+See the [DeleteOrphanFiles Javadoc](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/DeleteOrphanFiles.html) to see more configuration options.
 
 This action may take a long time to finish if you have lots of files in data and metadata directories. It is recommended to execute this periodically, but you may not need to execute this often.
 
@@ -118,15 +121,17 @@ Iceberg can compact data files in parallel using Spark with the `rewriteDataFile
 
 ```java
 Table table = ...
-Actions.forTable(table).rewriteDataFiles()
+SparkActions
+    .get()
+    .rewriteDataFiles(table)
     .filter(Expressions.equal("date", "2020-08-18"))
-    .targetSizeInBytes(500 * 1024 * 1024) // 500 MB
+    .option("target-file-size-bytes", Long.toString(500 * 1024 * 1024)) // 500 MB
     .execute();
 ```
 
-The `files` metadata table is useful for inspecting data file sizes and determining when to compact partitons.
+The `files` metadata table is useful for inspecting data file sizes and determining when to compact partitions.
 
-See the [`RewriteDataFilesAction` Javadoc](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RewriteDataFilesAction.html) to see more configuration options.
+See the [`RewriteDataFiles` Javadoc](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RewriteDataFiles.html) to see more configuration options.
 
 ### Rewrite manifests
 
@@ -140,10 +145,11 @@ This example rewrites small manifests and groups data files by the first partiti
 
 ```java
 Table table = ...
-table.rewriteManifests()
+SparkActions
+    .get()
+    .rewriteManifests(table)
     .rewriteIf(file -> file.length() < 10 * 1024 * 1024) // 10 MB
-    .clusterBy(file -> file.partition().get(0, Integer.class))
-    .commit();
+    .execute();
 ```
 
-See the [`RewriteManifestsAction` Javadoc](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RewriteManifestsAction.html) to see more configuration options.
+See the [`RewriteManifests` Javadoc](../../../javadoc/{{% icebergVersion %}}/org/apache/iceberg/actions/RewriteManifests.html) to see more configuration options.
diff --git a/landing-page/content/common/community/blogs.md b/landing-page/content/common/community/blogs.md
index 462894e..287dc34 100644
--- a/landing-page/content/common/community/blogs.md
+++ b/landing-page/content/common/community/blogs.md
@@ -23,6 +23,14 @@ weight: 200
 
 Here is a list of company blogs that talk about Iceberg. The blogs are ordered from most recent to oldest.
 
+### [Using Flink CDC to synchronize data from MySQL sharding tables and build real-time data lake](https://ververica.github.io/flink-cdc-connectors/master/content/quickstart/build-real-time-data-lake-tutorial.html)
+**Date**: 11 November 2021, **Company**: Ververica, Alibaba Could
+**Author**: [Yuxia Luo](https://github.com/luoyuxia), [Jark Wu](https://github.com/wuchong), [Zheng Hu](https://www.linkedin.com/in/zheng-hu-37017683/)
+
+### [Metadata Indexing in Iceberg](https://tabular.io/blog/iceberg-metadata-indexing/)
+**Date**: 10 October 2021, **Company**: Tabular
+**Author**: [Ryan Blue](https://www.linkedin.com/in/rdblue/)
+
 ### [Using Debezium to Create a Data Lake with Apache Iceberg](https://debezium.io/blog/2021/10/20/using-debezium-create-data-lake-with-apache-iceberg/)
 **Date**: October 20th, 2021, **Company**: Memiiso Community
 **Author**: [Ismail Simsek](https://www.linkedin.com/in/ismailsimsek/)
diff --git a/landing-page/content/common/format/spec.md b/landing-page/content/common/format/spec.md
index 1527273..da4d085 100644
--- a/landing-page/content/common/format/spec.md
+++ b/landing-page/content/common/format/spec.md
@@ -217,6 +217,26 @@ Columns in Iceberg data files are selected by field id. The table schema's colum
 
 For example, a file may be written with schema `1: a int, 2: b string, 3: c double` and read using projection schema `3: measurement, 2: name, 4: a`. This must select file columns `c` (renamed to `measurement`), `b` (now called `name`), and a column of `null` values called `a`; in that order.
 
+For example, a file may be written with schema `1: a int, 2: b string, 3: c double` and read using projection schema `3: measurement, 2: name, 4: a`. This must select file columns `c` (renamed to `measurement`), `b` (now called `name`), and a column of `null` values called `a`; in that order.
+
+Tables may also define a property `schema.name-mapping.default` with a JSON name mapping containing a list of field mapping objects. These mappings provide fallback field ids to be used when a data file does not contain field id information. Each object should contain
+
+* `names`: A required list of 0 or more names for a field. 
+* `field-id`: An optional Iceberg field ID used when a field's name is present in `names`
+* `fields`: An optional list of field mappings for child field of structs, maps, and lists.
+
+Field mapping fields are constrained by the following rules:
+
+* A name may contain `.` but this refers to a literal name, not a nested field. For example, `a.b` refers to a field named `a.b`, not child field `b` of field `a`. 
+* Each child field should be defined with their own field mapping under `fields`. 
+* Multiple values for `names` may be mapped to a single field ID to support cases where a field may have different names in different data files. For example, all Avro field aliases should be listed in `names`.
+* Fields which exist only in the Iceberg schema and not in imported data files may use an empty `names` list.
+* Fields that exist in imported files but not in the Iceberg schema may omit `field-id`.
+* List types should contain a mapping in `fields` for `element`. 
+* Map types should contain mappings in `fields` for `key` and `value`. 
+* Struct types should contain mappings in `fields` for their child fields.
+
+For details on serialization, see [Appendix C](#name-mapping-serialization).
 
 #### Identifier Field IDs
 
@@ -553,6 +573,38 @@ Notes:
 1. An alternative, *strict projection*, creates a partition predicate that will match a file if all of the rows in the file must match the scan predicate. These projections are used to calculate the residual predicates for each file in a scan.
 2. For example, if `file_a` has rows with `id` between 1 and 10 and a delete file contains rows with `id` between 1 and 4, a scan for `id = 9` may ignore the delete file because none of the deletes can match a row that will be selected.
 
+#### Snapshot Reference
+
+Iceberg tables keep track of branches and tags using snapshot references. 
+Tags are labels for individual snapshots. Branches are mutable named references that can be updated by committing a new snapshot as the branch's referenced snapshot using the [Commit Conflict Resolution and Retry](#commit-conflict-resolution-and-retry) procedures.
+
+The snapshot reference object records all the information of a reference including snapshot ID, reference type and [Snapshot Retention Policy](#snapshot-retention-policy).
+
+| v1         | v2         | Field name                   | Type      | Description |
+| ---------- | ---------- | ---------------------------- | --------- | ----------- |
+| _required_ | _required_ | **`snapshot-id`**            | `long`    | A reference's snapshot ID. The tagged snapshot or latest snapshot of a branch. |
+| _required_ | _required_ | **`type`**                   | `string`  | Type of the reference, `tag` or `branch` |
+| _optional_ | _optional_ | **`min-snapshots-to-keep`**  | `int`     | For `branch` type only, a positive number for the minimum number of snapshots to keep in a branch while expiring snapshots. Defaults to table property `history.expire.min-snapshots-to-keep`. |
+| _optional_ | _optional_ | **`max-snapshot-age-ms`**    | `long`    | For `branch` type only, a positive number for the max age of snapshots to keep when expiring, including the latest snapshot. Defaults to table property `history.expire.max-snapshot-age-ms`. |
+| _optional_ | _optional_ | **`max-ref-age-ms`**         | `long`    | For snapshot references except the `main` branch, a positive number for the max age of the snapshot reference to keep while expiring snapshots. Defaults to table property `history.expire.max-ref-age-ms`. The `main` branch never expires. |
+
+Valid snapshot references are stored as the values of the `refs` map in table metadata. For serialization, see Appendix C.
+
+#### Snapshot Retention Policy
+
+Table snapshots expire and are removed from metadata to allow removed or replaced data files to be physically deleted.
+The snapshot expiration procedure removes snapshots from table metadata and applies the table's retention policy.
+Retention policy can be configured both globally and on snapshot reference through properties `min-snapshots-to-keep`, `max-snapshot-age-ms` and `max-ref-age-ms`.
+
+When expiring snapshots, retention policies in table and snapshot references are evaluated in the following way:
+
+1. Start with an empty set of snapshots to retain
+2. Remove any refs (other than main) where the referenced snapshot is older than `max-ref-age-ms`
+3. For each branch and tag, add the referenced snapshot to the retained set
+4. For each branch, add its ancestors to the retained set until:
+    1. The snapshot is older than `max-snapshot-age-ms`, AND
+    2. The snapshot is not one of the first `min-snapshots-to-keep` in the branch (including the branch's referenced snapshot)
+5. Expire any snapshot not in the set of snapshots to retain.
 
 ### Table Metadata
 
@@ -580,12 +632,13 @@ Table metadata consists of the following fields:
 | _optional_ | _required_ | **`default-spec-id`**| ID of the "current" spec that writers should use by default. |
 | _optional_ | _required_ | **`last-partition-id`**| An integer; the highest assigned partition field ID across all partition specs for the table. This is used to ensure partition fields are always assigned an unused ID when evolving specs. |
 | _optional_ | _optional_ | **`properties`**| A string to string map of table properties. This is used to control settings that affect reading and writing and is not intended to be used for arbitrary metadata. For example, `commit.retry.num-retries` is used to control the number of commit retries. |
-| _optional_ | _optional_ | **`current-snapshot-id`**| `long` ID of the current table snapshot. |
+| _optional_ | _optional_ | **`current-snapshot-id`**| `long` ID of the current table snapshot; must be the same as the current ID of the `main` branch in `refs`. |
 | _optional_ | _optional_ | **`snapshots`**| A list of valid snapshots. Valid snapshots are snapshots for which all data files exist in the file system. A data file must not be deleted from the file system until the last snapshot in which it was listed is garbage collected. |
 | _optional_ | _optional_ | **`snapshot-log`**| A list (optional) of timestamp and snapshot ID pairs that encodes changes to the current snapshot for the table. Each time the current-snapshot-id is changed, a new entry should be added with the last-updated-ms and the new current-snapshot-id. When snapshots are expired from the list of valid snapshots, all entries before a snapshot that has expired should be removed. |
 | _optional_ | _optional_ | **`metadata-log`**| A list (optional) of timestamp and metadata file location pairs that encodes changes to the previous metadata files for the table. Each time a new metadata file is created, a new entry of the previous metadata file location should be added to the list. Tables can be configured to remove oldest metadata log entries and keep a fixed-size log of the most recent entries after a commit. |
 | _optional_ | _required_ | **`sort-orders`**| A list of sort orders, stored as full sort order objects. |
 | _optional_ | _required_ | **`default-sort-order-id`**| Default sort order id of the table. Note that this could be used by writers, but is not used when reading because reads use the specs stored in manifest files. |
+|            | _optional_ | **`refs`** | A map of snapshot references. The map keys are the unique snapshot reference names in the table, and the map values are snapshot reference objects. There is always a `main` branch reference pointing to the `current-snapshot-id` even if the `refs` map is null. |
 
 For serialization details, see Appendix C.
 
@@ -993,6 +1046,27 @@ Table metadata is serialized as a JSON object according to the following table.
 |**`metadata-log`**|`JSON list of objects: [`<br />&nbsp;&nbsp;`{`<br />&nbsp;&nbsp;`"metadata-file": ,`<br />&nbsp;&nbsp;`"timestamp-ms": `<br />&nbsp;&nbsp;`},`<br />&nbsp;&nbsp;`...`<br />`]`|`[ {`<br />&nbsp;&nbsp;`"metadata-file": "s3://bucket/.../v1.json",`<br />&nbsp;&nbsp;`"timestamp-ms": 1515100...`<br />`} ]` |
 |**`sort-orders`**|`JSON sort orders (list of sort field object)`|`See above`|
 |**`default-sort-order-id`**|`JSON int`|`0`|
+|**`refs`**|`JSON map with string key and object value:`<br />`{`<br />&nbsp;&nbsp;`"<name>": {`<br />&nbsp;&nbsp;`"snapshot-id": <id>,`<br />&nbsp;&nbsp;`"type": <type>,`<br />&nbsp;&nbsp;`"max-ref-age-ms": <long>,`<br />&nbsp;&nbsp;`...`<br />&nbsp;&nbsp;`}`<br />&nbsp;&nbsp;`...`<br />`}`|`{`<br />&nbsp;&nbsp;`"test": {`<br />&nbsp;&nbsp;`"snapshot-id": 123456789000,`<br />&nbsp;&nbsp;`"type": "tag",`<br />&nbsp;&nbsp;`"max-ref-age-ms": 10000000`<br />&nbsp;&nbsp;`}`<br />`}`|
+
+### Name Mapping Serialization
+
+Name mapping is serialized as a list of field mapping JSON Objects which are serialized as follows
+
+|Field mapping field|JSON representation|Example|
+|--- |--- |--- |
+|**`names`**|`JSON list of strings`|`["latitude", "lat"]`|
+|**`field_id`**|`JSON int`|`1`|
+|**`fields`**|`JSON field mappings (list of objects)`|`[{ `<br />&nbsp;&nbsp;`"field-id": 4,`<br />&nbsp;&nbsp;`"names": ["latitude", "lat"]`<br />`}, {`<br />&nbsp;&nbsp;`"field-id": 5,`<br />&nbsp;&nbsp;`"names": ["longitude", "long"]`<br />`}]`|
+
+Example
+```json
+[ { "field-id": 1, "names": ["id", "record_id"] },
+   { "field-id": 2, "names": ["data"] },
+   { "field-id": 3, "names": ["location"], "fields": [
+       { "field-id": 4, "names": ["latitude", "lat"] },
+       { "field-id": 5, "names": ["longitude", "long"] }
+     ] } ]
+```
 
 
 ## Appendix D: Single-value serialization
diff --git a/landing-page/content/common/releases/how-to-verify-a-release.md b/landing-page/content/common/releases/how-to-verify-a-release.md
new file mode 100644
index 0000000..82cccc2
--- /dev/null
+++ b/landing-page/content/common/releases/how-to-verify-a-release.md
@@ -0,0 +1,154 @@
+---
+url: how-to-verify-a-release
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# How to Verify a Release
+
+Each Apache Iceberg release is validated by the community by holding a vote. A community release manager
+will prepare a release candidate and call a vote on the Iceberg
+[dev list](https://iceberg.apache.org/#community/#mailing-lists).
+To validate the release candidate, community members will test it out in their downstream projects and environments.
+It's recommended to report the Java, Scala, Spark, Flink and Hive versions you have tested against when you vote.
+
+In addition to testing in downstream projects, community members also check the release's signatures, checksums, and
+license documentation.
+
+## Validating a source release candidate
+
+Release announcements include links to the following:
+
+- **A source tarball**
+- **A signature (.asc)**
+- **A checksum (.sha512)**
+- **KEYS file**
+- **GitHub change comparison**
+
+After downloading the source tarball, signature, checksum, and KEYS file, here are instructions on how to
+verify signatures, checksums, and documentation.
+
+### Verifying Signatures
+
+First, import the keys.
+```bash
+curl https://dist.apache.org/repos/dist/dev/iceberg/KEYS -o KEYS
+gpg --import KEYS
+```
+
+Next, verify the `.asc` file.
+```bash
+gpg --verify apache-iceberg-{{% icebergVersion %}}.tar.gz.asc
+```
+
+### Verifying Checksums
+
+```bash
+shasum -a 512 apache-iceberg-{{% icebergVersion %}}.tar.gz.sha512
+```
+
+### Verifying License Documentation
+
+Untar the archive and change into the source directory.
+```bash
+tar xzf apache-iceberg-{{% icebergVersion %}}.tar.gz
+cd apache-iceberg-{{% icebergVersion %}}
+```
+
+Run RAT checks to validate license headers.
+```bash
+dev/check-license
+```
+
+### Verifying Build and Test
+
+To verify that the release candidate builds properly, run the following command.
+```bash
+./gradlew build
+```
+
+## Testing release binaries
+
+Release announcements will also include a maven repository location. You can use this
+location to test downstream dependencies by adding it to your maven or gradle build.
+
+To use the release in your maven build, add the following to your `POM` or `settings.xml`:
+```xml
+...
+  <repositories>
+    <repository>
+      <id>iceberg-release-candidate</id>
+      <name>Iceberg Release Candidate</name>
+      <url>${MAVEN_URL}</url>
+    </repository>
+  </repositories>
+...
+```
+
+To use the release in your gradle build, add the following to your `build.gradle`:
+```groovy
+repositories {
+    mavenCentral()
+    maven {
+        url "${MAVEN_URL}"
+    }
+}
+```
+
+!!! Note
+    Replace `${MAVEN_URL}` with the URL provided in the release announcement
+
+### Verifying with Spark
+
+To verify using spark, start a `spark-shell` with a command like the following command:
+```bash
+spark-shell \
+    --conf spark.jars.repositories=${MAVEN_URL} \
+    --packages org.apache.iceberg:iceberg-spark3-runtime:{{% icebergVersion %}} \
+    --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions \
+    --conf spark.sql.catalog.local=org.apache.iceberg.spark.SparkCatalog \
+    --conf spark.sql.catalog.local.type=hadoop \
+    --conf spark.sql.catalog.local.warehouse=${LOCAL_WAREHOUSE_PATH} \
+    --conf spark.sql.catalog.local.default-namespace=default \
+    --conf spark.sql.defaultCatalog=local
+```
+
+### Verifying with Flink
+
+To verify using Flink, start a Flink SQL Client with the following command:
+```bash
+wget ${MAVEN_URL}/iceberg-flink-runtime/{{% icebergVersion %}}/iceberg-flink-runtime-{{% icebergVersion %}}.jar
+
+sql-client.sh embedded \
+    -j iceberg-flink-runtime-{{% icebergVersion %}}.jar \
+    -j ${FLINK_CONNECTOR_PACKAGE}-${HIVE_VERSION}_${SCALA_VERSION}-${FLINK_VERSION}.jar \
+    shell
+```
+
+## Voting
+
+Votes are cast by replying to the release candidate announcement email on the dev mailing list
+with either `+1`, `0`, or `-1`.
+
+> [ ] +1 Release this as Apache Iceberg {{% icebergVersion %}}
+[ ] +0
+[ ] -1 Do not release this because...
+
+In addition to your vote, it's customary to specify if your vote is binding or non-binding. Only members
+of the Project Management Committee have formally binding votes. If you're unsure, you can specify that your
+vote is non-binding. To read more about voting in the Apache framework, checkout the
+[Voting](https://www.apache.org/foundation/voting.html) information page on the Apache foundation's website.

[iceberg-docs] 46/47: Add ASF license headers where missing

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit b90182eb573577de519a2e6fa17d1ef7f161fff5
Author: samredai <43...@users.noreply.github.com>
AuthorDate: Tue Feb 8 09:28:12 2022 -0800

    Add ASF license headers where missing
---
 docs/content/docs/community/blogs.md        | 18 +++++++++++++++++-
 docs/content/docs/community/join.md         | 18 +++++++++++++++++-
 docs/content/docs/community/talks.md        | 18 +++++++++++++++++-
 docs/content/docs/format/spec.md            | 18 +++++++++++++++++-
 docs/content/docs/format/terms.md           | 18 +++++++++++++++++-
 docs/content/docs/project/benchmarks.md     | 18 +++++++++++++++++-
 docs/content/docs/project/how-to-release.md | 18 +++++++++++++++++-
 docs/content/docs/project/roadmap.md        | 18 +++++++++++++++++-
 docs/content/docs/project/security.md       | 18 +++++++++++++++++-
 docs/content/docs/project/trademarks.md     | 18 +++++++++++++++++-
 docs/content/docs/releases/release-notes.md | 18 +++++++++++++++++-
 11 files changed, 187 insertions(+), 11 deletions(-)

diff --git a/docs/content/docs/community/blogs.md b/docs/content/docs/community/blogs.md
index b98184e..0e03c09 100644
--- a/docs/content/docs/community/blogs.md
+++ b/docs/content/docs/community/blogs.md
@@ -1,4 +1,20 @@
 ---
 title: "Blogs"
 bookUrlFromBaseURL: /../../blogs
----
\ No newline at end of file
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/community/join.md b/docs/content/docs/community/join.md
index 8fd449b..5a668e8 100644
--- a/docs/content/docs/community/join.md
+++ b/docs/content/docs/community/join.md
@@ -1,4 +1,20 @@
 ---
 title: "Join"
 bookUrlFromBaseURL: /../../community
----
\ No newline at end of file
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/community/talks.md b/docs/content/docs/community/talks.md
index 9c2ee32..fdbeb9d 100644
--- a/docs/content/docs/community/talks.md
+++ b/docs/content/docs/community/talks.md
@@ -1,4 +1,20 @@
 ---
 title: "Talks"
 bookUrlFromBaseURL: /../../talks
----
\ No newline at end of file
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/format/spec.md b/docs/content/docs/format/spec.md
index 21947be..487e024 100644
--- a/docs/content/docs/format/spec.md
+++ b/docs/content/docs/format/spec.md
@@ -1,4 +1,20 @@
 ---
 title: "Spec"
 bookUrlFromBaseURL: /../../spec
----
\ No newline at end of file
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/format/terms.md b/docs/content/docs/format/terms.md
index 86761cd..952b80e 100644
--- a/docs/content/docs/format/terms.md
+++ b/docs/content/docs/format/terms.md
@@ -1,4 +1,20 @@
 ---
 title: "Terms"
 bookUrlFromBaseURL: /../../terms
----
\ No newline at end of file
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/project/benchmarks.md b/docs/content/docs/project/benchmarks.md
index 3b2289d..2d45cf2 100644
--- a/docs/content/docs/project/benchmarks.md
+++ b/docs/content/docs/project/benchmarks.md
@@ -2,4 +2,20 @@
 title: "Benchmarks"
 bookUrlFromBaseURL: /../../benchmarks
 bookHidden: true
----
\ No newline at end of file
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/project/how-to-release.md b/docs/content/docs/project/how-to-release.md
index c8a4fb9..81364f8 100644
--- a/docs/content/docs/project/how-to-release.md
+++ b/docs/content/docs/project/how-to-release.md
@@ -1,4 +1,20 @@
 ---
 title: "How to Release"
 bookUrlFromBaseURL: /../../how-to-release
----
\ No newline at end of file
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/project/roadmap.md b/docs/content/docs/project/roadmap.md
index b1b8424..c4718d2 100644
--- a/docs/content/docs/project/roadmap.md
+++ b/docs/content/docs/project/roadmap.md
@@ -1,4 +1,20 @@
 ---
 title: "Roadmap"
 bookUrlFromBaseURL: /../../roadmap
----
\ No newline at end of file
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/project/security.md b/docs/content/docs/project/security.md
index b88418a..bc25db1 100644
--- a/docs/content/docs/project/security.md
+++ b/docs/content/docs/project/security.md
@@ -1,4 +1,20 @@
 ---
 title: "Security"
 bookUrlFromBaseURL: /../../security
----
\ No newline at end of file
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/project/trademarks.md b/docs/content/docs/project/trademarks.md
index 58278b9..3a02c4b 100644
--- a/docs/content/docs/project/trademarks.md
+++ b/docs/content/docs/project/trademarks.md
@@ -1,4 +1,20 @@
 ---
 title: "Trademarks"
 bookUrlFromBaseURL: /../../trademarks
----
\ No newline at end of file
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file
diff --git a/docs/content/docs/releases/release-notes.md b/docs/content/docs/releases/release-notes.md
index 468f5eb..0b12604 100644
--- a/docs/content/docs/releases/release-notes.md
+++ b/docs/content/docs/releases/release-notes.md
@@ -1,4 +1,20 @@
 ---
 title: "Release Notes"
 bookUrlFromBaseURL: /../../releases
----
\ No newline at end of file
+---
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
\ No newline at end of file

[iceberg-docs] 13/47: Fixing links now that common pages or part of the landing-page site (#11)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 86da3644e95e0ec5bbd1a2a0199e900d11d73ab9
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Fri Jan 14 11:36:58 2022 -0800

    Fixing links now that common pages or part of the landing-page site (#11)
---
 docs/content/_index.md                           | 4 ++--
 docs/content/docs/api/java-api-quickstart.md     | 2 +-
 docs/content/docs/spark/spark-getting-started.md | 2 +-
 docs/content/docs/spark/spark-queries.md         | 2 +-
 docs/content/docs/tables/partitioning.md         | 2 +-
 docs/content/docs/tables/reliability.md          | 2 +-
 6 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/docs/content/_index.md b/docs/content/_index.md
index 767e5cc..d93aded 100644
--- a/docs/content/_index.md
+++ b/docs/content/_index.md
@@ -48,7 +48,7 @@ Iceberg was designed to solve correctness problems in eventually-consistent clou
 
 ### Open standard
 
-Iceberg has been designed and developed to be an open community standard with a [specification](spec) to ensure compatibility across languages and implementations.
+Iceberg has been designed and developed to be an open community standard with a [specification](../../spec) to ensure compatibility across languages and implementations.
 
-[Apache Iceberg is open source](community), and is developed at the [Apache Software Foundation](https://www.apache.org/).
+[Apache Iceberg is open source](../../community), and is developed at the [Apache Software Foundation](https://www.apache.org/).
 
diff --git a/docs/content/docs/api/java-api-quickstart.md b/docs/content/docs/api/java-api-quickstart.md
index 84ba13b..ad1aa78 100644
--- a/docs/content/docs/api/java-api-quickstart.md
+++ b/docs/content/docs/api/java-api-quickstart.md
@@ -194,4 +194,4 @@ PartitionSpec spec = PartitionSpec.builderFor(schema)
       .build();
 ```
 
-For more information on the different partition transforms that Iceberg offers, visit [this page](../spec#partitioning).
+For more information on the different partition transforms that Iceberg offers, visit [this page](../../../spec#partitioning).
diff --git a/docs/content/docs/spark/spark-getting-started.md b/docs/content/docs/spark/spark-getting-started.md
index b4b0af2..fa1d80b 100644
--- a/docs/content/docs/spark/spark-getting-started.md
+++ b/docs/content/docs/spark/spark-getting-started.md
@@ -24,7 +24,7 @@ aliases:
 
 # Getting Started
 
-The latest version of Iceberg is [{{% icebergVersion %}}](../releases).
+The latest version of Iceberg is [{{% icebergVersion %}}](../../../releases).
 
 Spark is currently the most feature-rich compute engine for Iceberg operations. 
 We recommend you to get started with Spark to understand Iceberg concepts and features with examples.
diff --git a/docs/content/docs/spark/spark-queries.md b/docs/content/docs/spark/spark-queries.md
index 76eca31..4e2f634 100644
--- a/docs/content/docs/spark/spark-queries.md
+++ b/docs/content/docs/spark/spark-queries.md
@@ -244,7 +244,7 @@ SELECT * FROM prod.db.table.manifests
 ```
 
 Note: 
-1. Fields within `partition_summaries` column of the manifests table correspond to `field_summary` structs within [manifest list](../spec#manifest-lists), with the following order: 
+1. Fields within `partition_summaries` column of the manifests table correspond to `field_summary` structs within [manifest list](../../../spec#manifest-lists), with the following order: 
    - `contains_null`
    - `contains_nan`
    - `lower_bound`
diff --git a/docs/content/docs/tables/partitioning.md b/docs/content/docs/tables/partitioning.md
index a5e111d..eb56f60 100644
--- a/docs/content/docs/tables/partitioning.md
+++ b/docs/content/docs/tables/partitioning.md
@@ -92,6 +92,6 @@ Because Iceberg doesn't require user-maintained partition columns, it can hide p
 
 Most importantly, queries no longer depend on a table's physical layout. With a separation between physical and logical, Iceberg tables can evolve partition schemes over time as data volume changes. Misconfigured tables can be fixed without an expensive migration.
 
-For details about all the supported hidden partition transformations, see the [Partition Transforms](../spec/#partition-transforms) section.
+For details about all the supported hidden partition transformations, see the [Partition Transforms](../../../spec/#partition-transforms) section.
 
 For details about updating a table's partition spec, see the [partition evolution](../evolution/#partition-evolution) section.
diff --git a/docs/content/docs/tables/reliability.md b/docs/content/docs/tables/reliability.md
index f51eb54..999383f 100644
--- a/docs/content/docs/tables/reliability.md
+++ b/docs/content/docs/tables/reliability.md
@@ -26,7 +26,7 @@ Iceberg was designed to solve correctness problems that affect Hive tables runni
 
 Hive tables track data files using both a central metastore for partitions and a file system for individual files. This makes atomic changes to a table's contents impossible, and eventually consistent stores like S3 may return incorrect results due to the use of listing files to reconstruct the state of a table. It also requires job planning to make many slow listing calls: O(n) with the number of partitions.
 
-Iceberg tracks the complete list of data files in each [snapshot](../terms#snapshot) using a persistent tree structure. Every write or delete produces a new snapshot that reuses as much of the previous snapshot's metadata tree as possible to avoid high write volumes.
+Iceberg tracks the complete list of data files in each [snapshot](../../../terms#snapshot) using a persistent tree structure. Every write or delete produces a new snapshot that reuses as much of the previous snapshot's metadata tree as possible to avoid high write volumes.
 
 Valid snapshots in an Iceberg table are stored in the table metadata file, along with a reference to the current snapshot. Commits replace the path of the current table metadata file using an atomic operation. This ensures that all updates to table data and metadata are atomic, and is the basis for [serializable isolation](https://en.wikipedia.org/wiki/Isolation_(database_systems)#Serializable).
 

[iceberg-docs] 40/47: Update blogs related to Iceberg (#45)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 2f9a0ccde83b8305e655ca95073f0890bd97a7b0
Author: Jack Ye <yz...@amazon.com>
AuthorDate: Mon Feb 7 19:44:10 2022 -0800

    Update blogs related to Iceberg (#45)
---
 landing-page/content/common/community/blogs.md | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/landing-page/content/common/community/blogs.md b/landing-page/content/common/community/blogs.md
index 287dc34..7b915e3 100644
--- a/landing-page/content/common/community/blogs.md
+++ b/landing-page/content/common/community/blogs.md
@@ -23,20 +23,38 @@ weight: 200
 
 Here is a list of company blogs that talk about Iceberg. The blogs are ordered from most recent to oldest.
 
+### [Docker, Spark, and Iceberg: The Fastest Way to Try Iceberg!](https://tabular.io/blog/docker-spark-and-iceberg/)
+**Date**: February 2nd, 2022, **Company**: Tabular
+
+**Author**: [Sam Redai](https://www.linkedin.com/in/sredai/), [Kyle Bendickson](https://www.linkedin.com/in/kylebendickson/)
+
+### [Iceberg FileIO: Cloud Native Tables](https://tabular.io/blog/iceberg-fileio/)
+**Date**: December 16th, 2021, **Company**: Tabular
+
+**Author**: [Daniel Weeks](https://www.linkedin.com/in/daniel-weeks-a1946860/)
+
+### [Using Spark in EMR with Apache Iceberg](https://tabular.io/blog/emr-spark-and-iceberg/)
+**Date**: December 10th, 2021, **Company**: Tabular
+
+**Author**: [Sam Redai](https://www.linkedin.com/in/sredai/)
+
 ### [Using Flink CDC to synchronize data from MySQL sharding tables and build real-time data lake](https://ververica.github.io/flink-cdc-connectors/master/content/quickstart/build-real-time-data-lake-tutorial.html)
-**Date**: 11 November 2021, **Company**: Ververica, Alibaba Could
+**Date**: November 11th, 2021, **Company**: Ververica, Alibaba Cloud
+
 **Author**: [Yuxia Luo](https://github.com/luoyuxia), [Jark Wu](https://github.com/wuchong), [Zheng Hu](https://www.linkedin.com/in/zheng-hu-37017683/)
 
 ### [Metadata Indexing in Iceberg](https://tabular.io/blog/iceberg-metadata-indexing/)
-**Date**: 10 October 2021, **Company**: Tabular
+**Date**: October 10th, 2021, **Company**: Tabular
+
 **Author**: [Ryan Blue](https://www.linkedin.com/in/rdblue/)
 
 ### [Using Debezium to Create a Data Lake with Apache Iceberg](https://debezium.io/blog/2021/10/20/using-debezium-create-data-lake-with-apache-iceberg/)
 **Date**: October 20th, 2021, **Company**: Memiiso Community
+
 **Author**: [Ismail Simsek](https://www.linkedin.com/in/ismailsimsek/)
 
 ### [How to Analyze CDC Data in Iceberg Data Lake Using Flink](https://www.alibabacloud.com/blog/how-to-analyze-cdc-data-in-iceberg-data-lake-using-flink_597838)
-**Date**: June 15, 2021, **Company**: Alibaba Cloud Community
+**Date**: June 15th, 2021, **Company**: Alibaba Cloud Community
 
 **Author**: [Li Jinsong](https://www.linkedin.com/in/%E5%8A%B2%E6%9D%BE-%E6%9D%8E-48b54b101/), [Hu Zheng](https://www.linkedin.com/in/zheng-hu-37017683/), [Yang Weihai](https://www.linkedin.com/in/weihai-yang-697a16224/), [Peidan Li](https://www.linkedin.com/in/peidian-li-18938820a/)
 

[iceberg-docs] 21/47: Add new background image for landing-page (#22)

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 3bf39951bcefca292c2907b4cda94eb8aa9df7c8
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Mon Jan 31 13:52:29 2022 -0800

    Add new background image for landing-page (#22)
---
 landing-page/static/img/intro-bg.jpg | Bin 215852 -> 927041 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/landing-page/static/img/intro-bg.jpg b/landing-page/static/img/intro-bg.jpg
index 8d24055..2e18750 100644
Binary files a/landing-page/static/img/intro-bg.jpg and b/landing-page/static/img/intro-bg.jpg differ

[iceberg-docs] 04/47: [Infra] re-trigger .asf.yaml

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit 854b90976073cfaaf08722b201232fe2338490b5
Author: Daniel Gruno <hu...@apache.org>
AuthorDate: Wed Jan 5 01:53:01 2022 +0100

    [Infra] re-trigger .asf.yaml
---
 .asf.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.asf.yaml b/.asf.yaml
index b79cad2..235aed3 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -33,3 +33,4 @@ notifications:
     issues:       issues@iceberg.apache.org
     pullrequests: issues@iceberg.apache.org
 
+

[iceberg-docs] 09/47: Merge pull request #8 from samredai/readme

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-docs.git

commit fe19b3c9ea56299000c2754157d3df3d22ada9ce
Merge: 7597f00 acb0a29
Author: Russell Spitzer <ru...@GMAIL.COM>
AuthorDate: Fri Jan 14 09:35:20 2022 -0600

    Merge pull request #8 from samredai/readme
    
    Update README to include description of javadocs deployment

 README.md | 38 ++++++++++++++++++++++++--------------
 1 file changed, 24 insertions(+), 14 deletions(-)