<!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="#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/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">org.apache.iceberg.actions.RewriteStrategy</a></th>
<td class="colLast">
<div class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions"><code>FileRewriter</code></a> instead. Note: This
     can only be removed once Spark 3.2 isn't using this API anymore.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/encryption/KmsClient.html" title="interface in org.apache.iceberg.encryption">org.apache.iceberg.encryption.KmsClient</a></th>
<td class="colLast">
<div class="deprecationComment">the API will be removed in v2.0.0 (replaced with KeyManagementClient interface).</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/metrics/MetricsContext.Counter.html" title="interface in org.apache.iceberg.metrics">org.apache.iceberg.metrics.MetricsContext.Counter</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 2.0.0, use <a href="org/apache/iceberg/metrics/Counter.html" title="interface in org.apache.iceberg.metrics"><code>Counter</code></a> instead.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/rest/requests/UpdateTableRequest.UpdateRequirement.html" title="interface in org.apache.iceberg.rest.requests">org.apache.iceberg.rest.requests.UpdateTableRequest.UpdateRequirement</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 1.5.0, use <a href="org/apache/iceberg/UpdateRequirement.html" title="interface in org.apache.iceberg"><code>UpdateRequirement</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/BinPackStrategy.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.BinPackStrategy</a></th>
<td class="colLast">
<div class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><code>SizeBasedFileRewriter</code></a> instead.
     Note: This can only be removed once Spark 3.2 isn't using this API anymore.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.SortStrategy</a></th>
<td class="colLast">
<div class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><code>SizeBasedFileRewriter</code></a> instead.
     Note: This can only be removed once Spark 3.2 isn't using this API anymore.</div>
</td>
</tr>
<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>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/rest/requests/UpdateRequirementParser.html" title="class in org.apache.iceberg.rest.requests">org.apache.iceberg.rest.requests.UpdateRequirementParser</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 1.5.0, use <a href="org/apache/iceberg/UpdateRequirementParser.html" title="class in org.apache.iceberg"><code>UpdateRequirementParser</code></a>
     instead.</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/rest/requests/UpdateTableRequest.Builder.html" title="class in org.apache.iceberg.rest.requests">org.apache.iceberg.rest.requests.UpdateTableRequest.Builder</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 1.5.0, use <a href="org/apache/iceberg/UpdateRequirements.html" title="class in org.apache.iceberg"><code>UpdateRequirements</code></a>
     instead.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/rest/RESTSerializers.UpdateRequirementDeserializer.html" title="class in org.apache.iceberg.rest">org.apache.iceberg.rest.RESTSerializers.UpdateRequirementDeserializer</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 1.5.0, use <code>RESTSerializers.UpdateReqDeserializer</code> instead.</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/rest/RESTSerializers.UpdateRequirementSerializer.html" title="class in org.apache.iceberg.rest">org.apache.iceberg.rest.RESTSerializers.UpdateRequirementSerializer</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 1.5.0, use <code>RESTSerializers.UpdateReqSerializer</code> instead.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/SystemProperties.html" title="class in org.apache.iceberg">org.apache.iceberg.SystemProperties</a></th>
<td class="colLast">
<div class="deprecationComment">Use <a href="org/apache/iceberg/SystemConfigs.html" title="class in org.apache.iceberg"><code>SystemConfigs</code></a> instead; will be removed in 2.0.0</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.
     <p>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/TableProperties.html#MANIFEST_LISTS_ENABLED">org.apache.iceberg.TableProperties.MANIFEST_LISTS_ENABLED</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 2.0.0, writing manifest lists is always enabled</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/TableProperties.html#MANIFEST_LISTS_ENABLED_DEFAULT">org.apache.iceberg.TableProperties.MANIFEST_LISTS_ENABLED_DEFAULT</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 2.0.0, writing manifest lists is always enabled</div>
</td>
</tr>
<tr class="altColor">
<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="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/util/ThreadPools.html#WORKER_THREAD_POOL_SIZE_PROP">org.apache.iceberg.util.ThreadPools.WORKER_THREAD_POOL_SIZE_PROP</a></th>
<td class="colLast">
<div class="deprecationComment">Use <a href="org/apache/iceberg/SystemConfigs.html#WORKER_THREAD_POOL_SIZE"><code>WORKER_THREAD_POOL_SIZE</code></a> instead;
     will be removed in 2.0.0</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/arrow/vectorized/VectorHolder.html#constantHolder(int,T)">org.apache.iceberg.arrow.vectorized.VectorHolder.constantHolder&#8203;(int, T)</a></th>
<td class="colLast">
<div class="deprecationComment">since 1.4.0, will be removed in 1.5.0; use typed constant holders instead.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/aws/AwsClientFactories.html#configureEndpoint(T,java.lang.String)">org.apache.iceberg.aws.AwsClientFactories.configureEndpoint&#8203;(T, String)</a></th>
<td class="colLast">
<div class="deprecationComment">Not for public use. To configure the endpoint for a client, please use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#applyEndpointConfigurations(T)"><code>S3FileIOProperties.applyEndpointConfigurations(S3ClientBuilder)</code></a>, <a href="org/apache/iceberg/aws/AwsProperties.html#applyGlueEndpointConfigurations(T)"><code>AwsProperties.applyGlueEndpointConfigurations(GlueClientBuilder)</code></a>, or <a href="org/apache/iceberg/aws/AwsProperties.html#applyDynamoDbEndpointConfigurations(T)"><code>AwsProperties.applyDynamoDbEndpointConfigurations(DynamoDbClientBuilder)</code></a> accordingly. It
     will be removed in 2.0.0</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/aws/AwsClientFactories.html#configureHttpClientBuilder(java.lang.String)">org.apache.iceberg.aws.AwsClientFactories.configureHttpClientBuilder&#8203;(String)</a></th>
<td class="colLast">
<div class="deprecationComment">Not for public use. To configure the httpClient for a client, please use <a href="org/apache/iceberg/aws/HttpClientProperties.html#applyHttpClientConfigurations(T)"><code>HttpClientProperties.applyHttpClientConfigurations(AwsSyncClientBuilder)</code></a>. It will be
     removed in 2.0.0</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/aws/AwsClientFactories.html#s3Configuration(java.lang.Boolean,java.lang.Boolean)">org.apache.iceberg.aws.AwsClientFactories.s3Configuration&#8203;(Boolean, Boolean)</a></th>
<td class="colLast">
<div class="deprecationComment">Not for public use. To build an S3Configuration object, use
     S3Configuration.builder() directly. It will be removed in 2.0.0</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/aws/AwsProperties.html#applyClientCredentialConfigurations(T)">org.apache.iceberg.aws.AwsProperties.applyClientCredentialConfigurations&#8203;(T)</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 1.5.0, use <a href="org/apache/iceberg/aws/AwsClientProperties.html#applyClientCredentialConfigurations(T)"><code>AwsClientProperties.applyClientCredentialConfigurations(AwsClientBuilder)</code></a> instead</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/aws/AwsProperties.html#clientRegion()">org.apache.iceberg.aws.AwsProperties.clientRegion()</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 1.5.0, use <a href="org/apache/iceberg/aws/AwsClientProperties.html#clientRegion()"><code>AwsClientProperties.clientRegion()</code></a> instead</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/aws/AwsProperties.html#httpClientProperties()">org.apache.iceberg.aws.AwsProperties.httpClientProperties()</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 1.5.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a> instead</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/aws/AwsProperties.html#setClientRegion(java.lang.String)">org.apache.iceberg.aws.AwsProperties.setClientRegion&#8203;(String)</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 1.5.0, use <a href="org/apache/iceberg/aws/AwsClientProperties.html#setClientRegion(java.lang.String)"><code>AwsClientProperties.setClientRegion(String)</code></a>
     instead</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/BaseMetadataTable.html#operations()">org.apache.iceberg.BaseMetadataTable.operations()</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 1.4.0; do not use metadata table TableOperations</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html#properties(java.util.Map)">org.apache.iceberg.flink.source.FlinkSource.Builder.properties&#8203;(Map&lt;String, String&gt;)</a></th>
<td class="colLast">
<div class="deprecationComment">Use <a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html#setAll(java.util.Map)"><code>FlinkSource.Builder.setAll(java.util.Map&lt;java.lang.String, java.lang.String&gt;)</code></a> instead.</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/flink/source/IcebergSource.Builder.html#properties(java.util.Map)">org.apache.iceberg.flink.source.IcebergSource.Builder.properties&#8203;(Map&lt;String, String&gt;)</a></th>
<td class="colLast">
<div class="deprecationComment">Use <a href="org/apache/iceberg/flink/source/IcebergSource.Builder.html#setAll(java.util.Map)"><code>IcebergSource.Builder.setAll(java.util.Map&lt;java.lang.String, java.lang.String&gt;)</code></a> instead.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/metrics/DefaultMetricsContext.html#counter(java.lang.String,java.lang.Class,org.apache.iceberg.metrics.MetricsContext.Unit)">org.apache.iceberg.metrics.DefaultMetricsContext.counter&#8203;(String, Class&lt;T&gt;, MetricsContext.Unit)</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 2.0.0, use <a href="org/apache/iceberg/metrics/Counter.html" title="interface in org.apache.iceberg.metrics"><code>Counter</code></a> instead.</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/metrics/MetricsContext.html#counter(java.lang.String,java.lang.Class,org.apache.iceberg.metrics.MetricsContext.Unit)">org.apache.iceberg.metrics.MetricsContext.counter&#8203;(String, Class&lt;T&gt;, MetricsContext.Unit)</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 2.0.0, use <a href="org/apache/iceberg/metrics/MetricsContext.html#counter(java.lang.String,org.apache.iceberg.metrics.MetricsContext.Unit)"><code>MetricsContext.counter(String, Unit)</code></a> instead.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/metrics/MetricsContext.Counter.html#count()">org.apache.iceberg.metrics.MetricsContext.Counter.count()</a></th>
<td class="colLast">
<div class="deprecationComment">Use <a href="org/apache/iceberg/metrics/MetricsContext.Counter.html#value()"><code>MetricsContext.Counter.value()</code></a></div>
</td>
</tr>
<tr class="altColor">
<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="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/rest/requests/UpdateTableRequest.html#builderFor(org.apache.iceberg.TableMetadata)">org.apache.iceberg.rest.requests.UpdateTableRequest.builderFor&#8203;(TableMetadata)</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 1.5.0, use <a href="org/apache/iceberg/UpdateRequirements.html#forUpdateTable(org.apache.iceberg.TableMetadata,java.util.List)"><code>UpdateRequirements.forUpdateTable(TableMetadata, List)</code></a> instead.</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/rest/requests/UpdateTableRequest.html#builderForCreate()">org.apache.iceberg.rest.requests.UpdateTableRequest.builderForCreate()</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 1.5.0, use <a href="org/apache/iceberg/UpdateRequirements.html#forCreateTable(java.util.List)"><code>UpdateRequirements.forCreateTable(List)</code></a> instead.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/rest/requests/UpdateTableRequest.html#builderForReplace(org.apache.iceberg.TableMetadata)">org.apache.iceberg.rest.requests.UpdateTableRequest.builderForReplace&#8203;(TableMetadata)</a></th>
<td class="colLast">
<div class="deprecationComment">will be removed in 1.5.0, use <a href="org/apache/iceberg/UpdateRequirements.html#forReplaceTable(org.apache.iceberg.TableMetadata,java.util.List)"><code>UpdateRequirements.forReplaceTable(TableMetadata, List)</code></a> instead.</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/RewriteFiles.html#rewriteFiles(java.util.Set,java.util.Set)">org.apache.iceberg.RewriteFiles.rewriteFiles&#8203;(Set&lt;DataFile&gt;, Set&lt;DataFile&gt;)</a></th>
<td class="colLast">
<div class="deprecationComment">since 1.3.0, will be removed in 2.0.0</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/TableScan.html#appendsAfter(long)">org.apache.iceberg.TableScan.appendsAfter&#8203;(long)</a></th>
<td class="colLast">
<div class="deprecationComment">since 1.0.0, will be removed in 2.0.0; use <a href="org/apache/iceberg/Table.html#newIncrementalAppendScan()"><code>Table.newIncrementalAppendScan()</code></a>
     instead.</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/TableScan.html#appendsBetween(long,long)">org.apache.iceberg.TableScan.appendsBetween&#8203;(long, long)</a></th>
<td class="colLast">
<div class="deprecationComment">since 1.0.0, will be removed in 2.0.0; use <a href="org/apache/iceberg/Table.html#newIncrementalAppendScan()"><code>Table.newIncrementalAppendScan()</code></a>
     instead.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/transforms/Transform.html#apply(S)">org.apache.iceberg.transforms.Transform.apply&#8203;(S)</a></th>
<td class="colLast">
<div class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transform.html#bind(org.apache.iceberg.types.Type)"><code>Transform.bind(Type)</code></a> instead; will be removed in 2.0.0</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/transforms/Transform.html#toHumanString(T)">org.apache.iceberg.transforms.Transform.toHumanString&#8203;(T)</a></th>
<td class="colLast">
<div class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transform.html#toHumanString(org.apache.iceberg.types.Type,T)"><code>Transform.toHumanString(Type, Object)</code></a> instead; will be removed in 2.0.0</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/transforms/Transforms.html#bucket(org.apache.iceberg.types.Type,int)">org.apache.iceberg.transforms.Transforms.bucket&#8203;(Type, int)</a></th>
<td class="colLast">
<div class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#bucket(int)"><code>Transforms.bucket(int)</code></a> instead; will be removed in 2.0.0</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/transforms/Transforms.html#day(org.apache.iceberg.types.Type)">org.apache.iceberg.transforms.Transforms.day&#8203;(Type)</a></th>
<td class="colLast">
<div class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#day()"><code>Transforms.day()</code></a> instead; will be removed in 2.0.0</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/transforms/Transforms.html#hour(org.apache.iceberg.types.Type)">org.apache.iceberg.transforms.Transforms.hour&#8203;(Type)</a></th>
<td class="colLast">
<div class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#hour()"><code>Transforms.hour()</code></a> instead; will be removed in 2.0.0</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/transforms/Transforms.html#identity(org.apache.iceberg.types.Type)">org.apache.iceberg.transforms.Transforms.identity&#8203;(Type)</a></th>
<td class="colLast">
<div class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#identity()"><code>Transforms.identity()</code></a> instead; will be removed in 2.0.0</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/transforms/Transforms.html#month(org.apache.iceberg.types.Type)">org.apache.iceberg.transforms.Transforms.month&#8203;(Type)</a></th>
<td class="colLast">
<div class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#month()"><code>Transforms.month()</code></a> instead; will be removed in 2.0.0</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/transforms/Transforms.html#truncate(org.apache.iceberg.types.Type,int)">org.apache.iceberg.transforms.Transforms.truncate&#8203;(Type, int)</a></th>
<td class="colLast">
<div class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#truncate(int)"><code>Transforms.truncate(int)</code></a> instead; will be removed in 2.0.0</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/transforms/Transforms.html#year(org.apache.iceberg.types.Type)">org.apache.iceberg.transforms.Transforms.year&#8203;(Type)</a></th>
<td class="colLast">
<div class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#year()"><code>Transforms.year()</code></a> instead; will be removed in 2.0.0</div>
</td>
</tr>
<tr class="altColor">
<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="rowColor">
<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/arrow/vectorized/VectorHolder.ConstantVectorHolder.html#%3Cinit%3E(int,T)">org.apache.iceberg.arrow.vectorized.VectorHolder.ConstantVectorHolder&#8203;(int, T)</a></th>
<td class="colLast">
<div class="deprecationComment">since 1.4.0, will be removed in 1.5.0; use typed constant holders instead.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.ConstantVectorReader.html#%3Cinit%3E(T)">org.apache.iceberg.arrow.vectorized.VectorizedArrowReader.ConstantVectorReader&#8203;(T)</a></th>
<td class="colLast">
<div class="deprecationComment">since 1.4.0, will be removed in 1.5.0; use typed constant readers.</div>
</td>
</tr>
<tr class="altColor">
<th class="colDeprecatedItemName" scope="row"><a href="org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html#%3Cinit%3E(org.apache.iceberg.Table,org.apache.iceberg.Schema,org.apache.iceberg.TableScanContext)">org.apache.iceberg.PositionDeletesTable.PositionDeletesBatchScan&#8203;(Table, Schema, TableScanContext)</a></th>
<td class="colLast">
<div class="deprecationComment">the API will be removed in v1.5.0</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>
