<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Deprecated List</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<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="#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>
</ul>
</div>
<div class="contentContainer"><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/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/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>
</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/deletes/EqualityDeleteWriter.html#delete(T)">org.apache.iceberg.deletes.EqualityDeleteWriter.delete&#8203;(T)</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/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/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.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/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.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/flink/sink/FlinkSink.Builder.html#build()">org.apache.iceberg.flink.sink.FlinkSink.Builder.build()</a></th>
<td class="colLast">
<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/io/DataWriter.html#add(T)">org.apache.iceberg.io.DataWriter.add&#8203;(T)</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/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/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">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/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">Please use #set(String, String) instead</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/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>
</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>
