blob: 7bbfad40664012aede92936fe8fd463607ed19ee [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>WinAggImplementor (Apache Calcite API)</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.3.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.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="WinAggImplementor (Apache Calcite API)";
}
}
catch(err) {
}
//-->
var data = {"i0":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/WinAggImplementor.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" 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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&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 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>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.adapter.enumerable</a></div>
<h2 title="Interface WinAggImplementor" class="title">Interface WinAggImplementor</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="AggImplementor.html" title="interface in org.apache.calcite.adapter.enumerable">AggImplementor</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="RexImpTable.CountWinImplementor.html" title="class in org.apache.calcite.adapter.enumerable">RexImpTable.CountWinImplementor</a></code>, <code><a href="RexImpTable.DenseRankImplementor.html" title="class in org.apache.calcite.adapter.enumerable">RexImpTable.DenseRankImplementor</a></code>, <code><a href="RexImpTable.FirstLastValueImplementor.html" title="class in org.apache.calcite.adapter.enumerable">RexImpTable.FirstLastValueImplementor</a></code>, <code><a href="RexImpTable.FirstValueImplementor.html" title="class in org.apache.calcite.adapter.enumerable">RexImpTable.FirstValueImplementor</a></code>, <code><a href="RexImpTable.LagImplementor.html" title="class in org.apache.calcite.adapter.enumerable">RexImpTable.LagImplementor</a></code>, <code><a href="RexImpTable.LastValueImplementor.html" title="class in org.apache.calcite.adapter.enumerable">RexImpTable.LastValueImplementor</a></code>, <code><a href="RexImpTable.LeadImplementor.html" title="class in org.apache.calcite.adapter.enumerable">RexImpTable.LeadImplementor</a></code>, <code><a href="RexImpTable.LeadLagImplementor.html" title="class in org.apache.calcite.adapter.enumerable">RexImpTable.LeadLagImplementor</a></code>, <code><a href="RexImpTable.NthValueImplementor.html" title="class in org.apache.calcite.adapter.enumerable">RexImpTable.NthValueImplementor</a></code>, <code><a href="RexImpTable.NtileImplementor.html" title="class in org.apache.calcite.adapter.enumerable">RexImpTable.NtileImplementor</a></code>, <code><a href="RexImpTable.RankImplementor.html" title="class in org.apache.calcite.adapter.enumerable">RexImpTable.RankImplementor</a></code>, <code><a href="RexImpTable.RowNumberImplementor.html" title="class in org.apache.calcite.adapter.enumerable">RexImpTable.RowNumberImplementor</a></code>, <code><a href="StrictWinAggImplementor.html" title="class in org.apache.calcite.adapter.enumerable">StrictWinAggImplementor</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">WinAggImplementor</span>
extends <a href="AggImplementor.html" title="interface in org.apache.calcite.adapter.enumerable">AggImplementor</a></pre>
<div class="block">Implements a windowed aggregate function by generating expressions to
initialize, add to, and get a result from, an accumulator.
Windowed aggregate is more powerful than regular aggregate since it can
access rows in the current partition by row indices.
Regular aggregate can be used to implement windowed aggregate.
<p>This interface does not define new methods: window-specific
sub-interfaces are passed when implementing window aggregate.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="StrictWinAggImplementor.html" title="class in org.apache.calcite.adapter.enumerable"><code>StrictWinAggImplementor</code></a>,
<a href="RexImpTable.FirstLastValueImplementor.html" title="class in org.apache.calcite.adapter.enumerable"><code>RexImpTable.FirstLastValueImplementor</code></a>,
<a href="RexImpTable.RankImplementor.html" title="class in org.apache.calcite.adapter.enumerable"><code>RexImpTable.RankImplementor</code></a>,
<a href="RexImpTable.RowNumberImplementor.html" title="class in org.apache.calcite.adapter.enumerable"><code>RexImpTable.RowNumberImplementor</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="WinAggImplementor.SeekType.html" title="enum in org.apache.calcite.adapter.enumerable">WinAggImplementor.SeekType</a></span></code></th>
<td class="colLast">
<div class="block">Allows to access rows in window partition relative to first/last and
current row.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<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></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#needCacheWhenFrameIntact()">needCacheWhenFrameIntact</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.calcite.adapter.enumerable.AggImplementor">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.calcite.adapter.enumerable.<a href="AggImplementor.html" title="interface in org.apache.calcite.adapter.enumerable">AggImplementor</a></h3>
<code><a href="AggImplementor.html#getStateType(org.apache.calcite.adapter.enumerable.AggContext)">getStateType</a>, <a href="AggImplementor.html#implementAdd(org.apache.calcite.adapter.enumerable.AggContext,org.apache.calcite.adapter.enumerable.AggAddContext)">implementAdd</a>, <a href="AggImplementor.html#implementReset(org.apache.calcite.adapter.enumerable.AggContext,org.apache.calcite.adapter.enumerable.AggResetContext)">implementReset</a>, <a href="AggImplementor.html#implementResult(org.apache.calcite.adapter.enumerable.AggContext,org.apache.calcite.adapter.enumerable.AggResultContext)">implementResult</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="needCacheWhenFrameIntact()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>needCacheWhenFrameIntact</h4>
<pre class="methodSignature">boolean&nbsp;needCacheWhenFrameIntact()</pre>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/WinAggImplementor.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" 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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&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 id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>