blob: 591a8865eae3c4a81d0b47b692824ea7227c559b [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Modify (Drill : 1.20.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Modify (Drill : 1.20.3 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":18,"i4":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Modify.html">Use</a></li>
<li><a href="package-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">
<li><a href="../../../../../org/apache/drill/metastore/operate/MetadataTypeValidator.html" title="interface in org.apache.drill.metastore.operate"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/drill/metastore/operate/Operations.html" title="interface in org.apache.drill.metastore.operate"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/drill/metastore/operate/Modify.html" target="_top">Frames</a></li>
<li><a href="Modify.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.drill.metastore.operate</div>
<h2 title="Interface Modify" class="title">Interface Modify&lt;T&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - component unit type</dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/drill/metastore/operate/AbstractModify.html" title="class in org.apache.drill.metastore.operate">AbstractModify</a>, <a href="../../../../../org/apache/drill/metastore/iceberg/operate/IcebergModify.html" title="class in org.apache.drill.metastore.iceberg.operate">IcebergModify</a>, <a href="../../../../../org/apache/drill/metastore/mongo/operate/MongoModify.html" title="class in org.apache.drill.metastore.mongo.operate">MongoModify</a>, <a href="../../../../../org/apache/drill/metastore/rdbms/operate/RdbmsModify.html" title="class in org.apache.drill.metastore.rdbms.operate">RdbmsModify</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Modify&lt;T&gt;</span></pre>
<div class="block">Drill Metastore Modify interface contains methods to be implemented in order
to provide modify functionality in the Metastore component.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="interface in org.apache.drill.metastore.operate">Modify</a>&lt;<a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="type parameter in Modify">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/metastore/operate/Modify.html#delete-org.apache.drill.metastore.operate.Delete-">delete</a></span>(<a href="../../../../../org/apache/drill/metastore/operate/Delete.html" title="class in org.apache.drill.metastore.operate">Delete</a>&nbsp;delete)</code>
<div class="block">Adds delete operation for the Metastore component based on the filter expression and metadata types.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/metastore/operate/Modify.html#execute--">execute</a></span>()</code>
<div class="block">Executes list of provided metastore operations in one transaction if Metastore implementation
supports transactions, otherwise executes operations consecutively.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="interface in org.apache.drill.metastore.operate">Modify</a>&lt;<a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="type parameter in Modify">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/metastore/operate/Modify.html#overwrite-java.util.List-">overwrite</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="type parameter in Modify">T</a>&gt;&nbsp;units)</code>
<div class="block">Adds overwrite operation for the Metastore component.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>default <a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="interface in org.apache.drill.metastore.operate">Modify</a>&lt;<a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="type parameter in Modify">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/metastore/operate/Modify.html#overwrite-T...-">overwrite</a></span>(<a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="type parameter in Modify">T</a>...&nbsp;units)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/metastore/operate/Modify.html#purge--">purge</a></span>()</code>
<div class="block">Deletes all data from the Metastore component.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="overwrite-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>overwrite</h4>
<pre><a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="interface in org.apache.drill.metastore.operate">Modify</a>&lt;<a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="type parameter in Modify">T</a>&gt;&nbsp;overwrite(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="type parameter in Modify">T</a>&gt;&nbsp;units)</pre>
<div class="block">Adds overwrite operation for the Metastore component. For Metastore Tables component,
can be used to add new table data or replace partially / fully existing.
For example, if one of the table segments has changed,
all this segment data and table general information must be replaced with updated data.
Thus provided units must include updated data, filter by which existing data will be overwritten
will be determined based on given data.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>units</code> - component units to be overwritten</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>current instance of Modify interface implementation</dd>
</dl>
</li>
</ul>
<a name="overwrite-java.lang.Object:A-">
<!-- -->
</a><a name="overwrite-T...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>overwrite</h4>
<pre>default&nbsp;<a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="interface in org.apache.drill.metastore.operate">Modify</a>&lt;<a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="type parameter in Modify">T</a>&gt;&nbsp;overwrite(<a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="type parameter in Modify">T</a>...&nbsp;units)</pre>
</li>
</ul>
<a name="delete-org.apache.drill.metastore.operate.Delete-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>delete</h4>
<pre><a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="interface in org.apache.drill.metastore.operate">Modify</a>&lt;<a href="../../../../../org/apache/drill/metastore/operate/Modify.html" title="type parameter in Modify">T</a>&gt;&nbsp;delete(<a href="../../../../../org/apache/drill/metastore/operate/Delete.html" title="class in org.apache.drill.metastore.operate">Delete</a>&nbsp;delete)</pre>
<div class="block">Adds delete operation for the Metastore component based on the filter expression and metadata types.
For example for Metastore Tables component, if table has two segments
and data for one of the segments needs to be deleted.
Thus filter must be based on unique identifier of the table's top-level segment:
storagePlugin = 'dfs' and workspace = 'tmp' and tableName = 'nation' and metadataKey = 'part_int=3'.
Metadata types should include all metadata types present in this segment:
SEGMENT, FILE, ROW_GROUP, PARTITION.
If all table metadata should be deleted, ALL segment can be indicated along with unique table identifier:
storagePlugin = 'dfs' and workspace = 'tmp' and tableName = 'nation'.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>delete</code> - delete operation holder</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>current instance of Modify interface implementation</dd>
</dl>
</li>
</ul>
<a name="execute--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>execute</h4>
<pre>void&nbsp;execute()</pre>
<div class="block">Executes list of provided metastore operations in one transaction if Metastore implementation
supports transactions, otherwise executes operations consecutively.
All operations should be executed in the same order as they were added.</div>
</li>
</ul>
<a name="purge--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>purge</h4>
<pre>void&nbsp;purge()</pre>
<div class="block">Deletes all data from the Metastore component.
Note, this is terminal operation and it does not take into account
any previously set delete operations or overwrite units,
it just deletes all data.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Modify.html">Use</a></li>
<li><a href="package-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">
<li><a href="../../../../../org/apache/drill/metastore/operate/MetadataTypeValidator.html" title="interface in org.apache.drill.metastore.operate"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/drill/metastore/operate/Operations.html" title="interface in org.apache.drill.metastore.operate"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/drill/metastore/operate/Modify.html" target="_top">Frames</a></li>
<li><a href="Modify.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 1970 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>