UNPKG

cassandra-server

Version:

A thin Javascript wrapper around Apache Cassandra to provide out of the box server support

299 lines (295 loc) 12.6 kB
<!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 (version 1.7.0_67) on Sun Sep 07 15:29:32 CEST 2014 --> <title>QueryPager (apache-cassandra API)</title> <meta name="date" content="2014-09-07"> <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> </head> <body> <script type="text/javascript"><!-- if (location.href.indexOf('is-external=true') == -1) { parent.document.title="QueryPager (apache-cassandra API)"; } //--> </script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <!-- ========= START OF TOP NAVBAR ======= --> <div class="topNav"><a name="navbar_top"> <!-- --> </a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/QueryPager.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/cassandra/service/pager/PagingState.html" title="class in org.apache.cassandra.service.pager"><span class="strong">Prev Class</span></a></li> <li><a href="../../../../../org/apache/cassandra/service/pager/QueryPagers.html" title="class in org.apache.cassandra.service.pager"><span class="strong">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../../index.html?org/apache/cassandra/service/pager/QueryPager.html" target="_top">Frames</a></li> <li><a href="QueryPager.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_top"> <li><a href="../../../../../allclasses-noframe.html">All 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.cassandra.service.pager</div> <h2 title="Interface QueryPager" class="title">Interface QueryPager</h2> </div> <div class="contentContainer"> <div class="description"> <ul class="blockList"> <li class="blockList"> <dl> <dt>All Known Subinterfaces:</dt> <dd><a href="../../../../../org/apache/cassandra/service/pager/SinglePartitionPager.html" title="interface in org.apache.cassandra.service.pager">SinglePartitionPager</a></dd> </dl> <dl> <dt>All Known Implementing Classes:</dt> <dd><a href="../../../../../org/apache/cassandra/service/pager/NamesQueryPager.html" title="class in org.apache.cassandra.service.pager">NamesQueryPager</a>, <a href="../../../../../org/apache/cassandra/service/pager/RangeNamesQueryPager.html" title="class in org.apache.cassandra.service.pager">RangeNamesQueryPager</a>, <a href="../../../../../org/apache/cassandra/service/pager/RangeSliceQueryPager.html" title="class in org.apache.cassandra.service.pager">RangeSliceQueryPager</a>, <a href="../../../../../org/apache/cassandra/service/pager/SliceQueryPager.html" title="class in org.apache.cassandra.service.pager">SliceQueryPager</a></dd> </dl> <hr> <br> <pre>public interface <span class="strong">QueryPager</span></pre> <div class="block">Perform a query, paging it by page of a given size. This is essentially an iterator of pages. Each call to fetchPage() will return the next page (i.e. the next list of rows) and isExhausted() indicates whether there is more page to fetch. The pageSize will either be in term of cells or in term of CQL3 row, depending on the parameters of the command we page. Please note that the pager might page within rows, so there is no guarantee that successive pages won't return the same row (though with different columns every time). Also, there is no guarantee that fetchPage() won't return an empty list, even if isExhausted() return false (but it is guaranteed to return an empty list *if* isExhausted() return true). Indeed, isExhausted() does *not* trigger a query so in some (fairly rare) case we might not know the paging is done even though it is.</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> <caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> </tr> <tr class="altColor"> <td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/cassandra/db/Row.html" title="class in org.apache.cassandra.db">Row</a>&gt;</code></td> <td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/service/pager/QueryPager.html#fetchPage(int)">fetchPage</a></strong>(int&nbsp;pageSize)</code> <div class="block">Fetches the next page.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/service/pager/QueryPager.html#isExhausted()">isExhausted</a></strong>()</code> <div class="block">Whether or not this pager is exhausted, i.e.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>int</code></td> <td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/service/pager/QueryPager.html#maxRemaining()">maxRemaining</a></strong>()</code> <div class="block">The maximum number of cells/CQL3 row that we may still have to return.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code><a href="../../../../../org/apache/cassandra/service/pager/PagingState.html" title="class in org.apache.cassandra.service.pager">PagingState</a></code></td> <td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/service/pager/QueryPager.html#state()">state</a></strong>()</code> <div class="block">Get the current state of the pager.</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="fetchPage(int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>fetchPage</h4> <pre>java.util.List&lt;<a href="../../../../../org/apache/cassandra/db/Row.html" title="class in org.apache.cassandra.db">Row</a>&gt;&nbsp;fetchPage(int&nbsp;pageSize) throws <a href="../../../../../org/apache/cassandra/exceptions/RequestValidationException.html" title="class in org.apache.cassandra.exceptions">RequestValidationException</a>, <a href="../../../../../org/apache/cassandra/exceptions/RequestExecutionException.html" title="class in org.apache.cassandra.exceptions">RequestExecutionException</a></pre> <div class="block">Fetches the next page.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>pageSize</code> - the maximum number of elements to return in the next page.</dd> <dt><span class="strong">Returns:</span></dt><dd>the page of result.</dd> <dt><span class="strong">Throws:</span></dt> <dd><code><a href="../../../../../org/apache/cassandra/exceptions/RequestValidationException.html" title="class in org.apache.cassandra.exceptions">RequestValidationException</a></code></dd> <dd><code><a href="../../../../../org/apache/cassandra/exceptions/RequestExecutionException.html" title="class in org.apache.cassandra.exceptions">RequestExecutionException</a></code></dd></dl> </li> </ul> <a name="isExhausted()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>isExhausted</h4> <pre>boolean&nbsp;isExhausted()</pre> <div class="block">Whether or not this pager is exhausted, i.e. whether or not a call to fetchPage may return more result.</div> <dl><dt><span class="strong">Returns:</span></dt><dd>whether the pager is exhausted.</dd></dl> </li> </ul> <a name="maxRemaining()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>maxRemaining</h4> <pre>int&nbsp;maxRemaining()</pre> <div class="block">The maximum number of cells/CQL3 row that we may still have to return. In other words, that's the initial user limit minus what we've already returned (note that it's not how many we *will* return, just the upper limit on it).</div> </li> </ul> <a name="state()"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>state</h4> <pre><a href="../../../../../org/apache/cassandra/service/pager/PagingState.html" title="class in org.apache.cassandra.service.pager">PagingState</a>&nbsp;state()</pre> <div class="block">Get the current state of the pager. The state can allow to restart the paging on another host from where we are at this point.</div> <dl><dt><span class="strong">Returns:</span></dt><dd>the current paging state. Will return null if paging is at the beginning. If the pager is exhausted, the result is undefined.</dd></dl> </li> </ul> </li> </ul> </li> </ul> </div> </div> <!-- ========= END OF CLASS DATA ========= --> <!-- ======= START OF BOTTOM NAVBAR ====== --> <div class="bottomNav"><a name="navbar_bottom"> <!-- --> </a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/QueryPager.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/cassandra/service/pager/PagingState.html" title="class in org.apache.cassandra.service.pager"><span class="strong">Prev Class</span></a></li> <li><a href="../../../../../org/apache/cassandra/service/pager/QueryPagers.html" title="class in org.apache.cassandra.service.pager"><span class="strong">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../../index.html?org/apache/cassandra/service/pager/QueryPager.html" target="_top">Frames</a></li> <li><a href="QueryPager.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_bottom"> <li><a href="../../../../../allclasses-noframe.html">All 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 &copy; 2014 The Apache Software Foundation</small></p> </body> </html>