<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.12) on Mon Nov 08 18:33:49 PST 2021 -->
<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>
<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="Deprecated List";
        }
    }
    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 class="navBarCell1Rev">Deprecated</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="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">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary">
<caption><span>Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</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>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a id="exception">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary">
<caption><span>Exceptions</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Exceptions</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/exceptions/RuntimeIOException.html" title="class in org.apache.iceberg.exceptions">org.apache.iceberg.exceptions.RuntimeIOException</a></th>
<td class="colLast">
<div class="deprecationComment">Use java.io.UncheckedIOException directly instead.

 Exception used to wrap <code>IOException</code> as a <code>RuntimeException</code> and add context.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a id="field">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/mr/InputFormatConfig.html#CATALOG">org.apache.iceberg.mr.InputFormatConfig.CATALOG</a></th>
<td class="colLast">
<div class="deprecationComment">please use <a href="org/apache/iceberg/mr/InputFormatConfig.html#catalogPropertyConfigKey(java.lang.String,java.lang.String)"><code>InputFormatConfig.catalogPropertyConfigKey(String, String)</code></a>
 with config key <a href="org/apache/iceberg/CatalogUtil.html#ICEBERG_CATALOG_TYPE"><code>CatalogUtil.ICEBERG_CATALOG_TYPE</code></a> to specify the type of a catalog.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/mr/InputFormatConfig.html#CATALOG_LOADER_CLASS">org.apache.iceberg.mr.InputFormatConfig.CATALOG_LOADER_CLASS</a></th>
<td class="colLast">
<div class="deprecationComment">please use <a href="org/apache/iceberg/mr/InputFormatConfig.html#catalogPropertyConfigKey(java.lang.String,java.lang.String)"><code>InputFormatConfig.catalogPropertyConfigKey(String, String)</code></a>
 with config key <a href="org/apache/iceberg/CatalogProperties.html#CATALOG_IMPL"><code>CatalogProperties.CATALOG_IMPL</code></a>
 to specify the implementation of a catalog.</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/mr/InputFormatConfig.html#HADOOP_CATALOG_WAREHOUSE_LOCATION">org.apache.iceberg.mr.InputFormatConfig.HADOOP_CATALOG_WAREHOUSE_LOCATION</a></th>
<td class="colLast">
<div class="deprecationComment">please use <a href="org/apache/iceberg/mr/InputFormatConfig.html#catalogPropertyConfigKey(java.lang.String,java.lang.String)"><code>InputFormatConfig.catalogPropertyConfigKey(String, String)</code></a>
 with config key <a href="org/apache/iceberg/CatalogProperties.html#WAREHOUSE_LOCATION"><code>CatalogProperties.WAREHOUSE_LOCATION</code></a>
 to specify the warehouse location of a catalog.</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>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#tokenNames">org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.tokenNames</a></th>
<td class="colLast">
<div class="deprecationComment">Use <a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#VOCABULARY"><code>IcebergSqlExtensionsParser.VOCABULARY</code></a> instead.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a id="method">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</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>
<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>
</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>
<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="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>
<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="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/Actions.html#removeOrphanFiles()">org.apache.iceberg.actions.Actions.removeOrphanFiles()</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/Actions.html#rewriteDataFiles()">org.apache.iceberg.actions.Actions.rewriteDataFiles()</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>
</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>
<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/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>
<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>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/OverwriteFiles.html#validateNoConflictingAppends(org.apache.iceberg.expressions.Expression)">org.apache.iceberg.OverwriteFiles.validateNoConflictingAppends&#8203;(Expression)</a></th>
<td class="colLast">
<div class="deprecationComment">since 0.13.0, will be removed in 0.14.0; use <a href="org/apache/iceberg/OverwriteFiles.html#conflictDetectionFilter(org.apache.iceberg.expressions.Expression)"><code>OverwriteFiles.conflictDetectionFilter(Expression)</code></a> and
             <a href="org/apache/iceberg/OverwriteFiles.html#validateNoConflictingData()"><code>OverwriteFiles.validateNoConflictingData()</code></a> instead.</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/Rollback.html#toSnapshotAtTime(long)">org.apache.iceberg.Rollback.toSnapshotAtTime&#8203;(long)</a></th>
<td class="colLast">
<div class="deprecationComment">Replaced by <a href="org/apache/iceberg/ManageSnapshots.html#rollbackToTime(long)"><code>ManageSnapshots.rollbackToTime(long)</code></a></div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/Rollback.html#toSnapshotId(long)">org.apache.iceberg.Rollback.toSnapshotId&#8203;(long)</a></th>
<td class="colLast">
<div class="deprecationComment">Replaced by <a href="org/apache/iceberg/ManageSnapshots.html#setCurrentSnapshot(long)"><code>ManageSnapshots.setCurrentSnapshot(long)</code></a></div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/RowDelta.html#validateNoConflictingAppends(org.apache.iceberg.expressions.Expression)">org.apache.iceberg.RowDelta.validateNoConflictingAppends&#8203;(Expression)</a></th>
<td class="colLast">
<div class="deprecationComment">since 0.13.0, will be removed in 0.14.0; use <a href="org/apache/iceberg/RowDelta.html#conflictDetectionFilter(org.apache.iceberg.expressions.Expression)"><code>RowDelta.conflictDetectionFilter(Expression)</code></a> and
             <a href="org/apache/iceberg/RowDelta.html#validateNoConflictingDataFiles()"><code>RowDelta.validateNoConflictingDataFiles()</code></a> instead.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/spark/SparkTableUtil.html#listPartition(org.apache.iceberg.spark.SparkTableUtil.SparkPartition,org.apache.iceberg.PartitionSpec,org.apache.iceberg.hadoop.SerializableConfiguration,org.apache.iceberg.MetricsConfig)">org.apache.iceberg.spark.SparkTableUtil.listPartition&#8203;(SparkTableUtil.SparkPartition, PartitionSpec, SerializableConfiguration, MetricsConfig)</a></th>
<td class="colLast">
<div class="deprecationComment">use <a href="org/apache/iceberg/data/TableMigrationUtil.html#listPartition(java.util.Map,java.lang.String,java.lang.String,org.apache.iceberg.PartitionSpec,org.apache.hadoop.conf.Configuration,org.apache.iceberg.MetricsConfig,org.apache.iceberg.mapping.NameMapping)"><code>TableMigrationUtil.listPartition(Map, String, String, PartitionSpec, Configuration,
 MetricsConfig, NameMapping)</code></a></div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/Table.html#rollback()">org.apache.iceberg.Table.rollback()</a></th>
<td class="colLast">
<div class="deprecationComment">Replaced by <a href="org/apache/iceberg/Table.html#manageSnapshots()"><code>Table.manageSnapshots()</code></a></div>
</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>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#getTokenNames()">org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.getTokenNames()</a></th>
<td class="colLast"></td>
</tr>
</tbody>
</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">
<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 class="navBarCell1Rev">Deprecated</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>
