blob: 8ed61c6fbcc5e395fda9295a280385da488dbc2b [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 (1.8.0_261) on Mon Dec 20 14:15:52 MSK 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>QuerySqlField (Ignite 2.11.1)</title>
<meta name="date" content="2021-12-20">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<link rel='shortcut icon' href='https://ignite.apache.org/favicon.ico'/>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="QuerySqlField (Ignite 2.11.1)";
}
}
catch(err) {
}
//-->
</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/QuerySqlField.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/ignite/cache/query/annotations/QueryGroupIndex.List.html" title="annotation in org.apache.ignite.cache.query.annotations"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.Group.html" title="annotation in org.apache.ignite.cache.query.annotations"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/cache/query/annotations/QuerySqlField.html" target="_top">Frames</a></li>
<li><a href="QuerySqlField.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>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</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.ignite.cache.query.annotations</div>
<h2 title="Annotation Type QuerySqlField" class="title">Annotation Type QuerySqlField</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Documented.html?is-external=true" title="class or interface in java.lang.annotation">@Documented</a>
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Retention.html?is-external=true" title="class or interface in java.lang.annotation">@Retention</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Retention.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</a>)
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Target.html?is-external=true" title="class or interface in java.lang.annotation">@Target</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Target.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/ElementType.html?is-external=true#FIELD" title="class or interface in java.lang.annotation">FIELD</a>)
public @interface <span class="memberNameLabel">QuerySqlField</span></pre>
<div class="block">Annotates fields for SQL queries. All fields that will be involved in SQL clauses must have
this annotation. For more information about cache queries see <code>CacheQuery</code> documentation.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>CacheQuery</code></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.optional.element.summary">
<!-- -->
</a>
<h3>Optional Element Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.html#descending--">descending</a></span></code>
<div class="block">Specifies whether index should be in descending order or not.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.html#groups--">groups</a></span></code>
<div class="block">Array of index groups this field belongs to.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.html#index--">index</a></span></code>
<div class="block">Specifies whether cache should maintain an index for this field or not.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.html#inlineSize--">inlineSize</a></span></code>
<div class="block">Index inline size in bytes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.html#name--">name</a></span></code>
<div class="block">Property name.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.html#notNull--">notNull</a></span></code>
<div class="block">Specifies whether the specified field can be <code>null</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.Group.html" title="annotation in org.apache.ignite.cache.query.annotations">QuerySqlField.Group</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.html#orderedGroups--">orderedGroups</a></span></code>
<div class="block">Array of ordered index groups this field belongs to.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.html#precision--">precision</a></span></code>
<div class="block">Specifies precision for a decimal field.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.html#scale--">scale</a></span></code>
<div class="block">Specifies scale for a decimal field.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.element.detail">
<!-- -->
</a>
<h3>Element Detail</h3>
<a name="index--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>index</h4>
<pre>public abstract&nbsp;boolean&nbsp;index</pre>
<div class="block">Specifies whether cache should maintain an index for this field or not.
Just like with databases, field indexing may require additional overhead
during updates, but makes select operations faster.
<p>
When indexing SPI and indexed field is
of type <code>org.locationtech.jts.geom.Geometry</code> (or any subclass of this class) then Ignite will
consider this index as spatial providing performance boost for spatial queries.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if index must be created for this field in database.</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="descending--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>descending</h4>
<pre>public abstract&nbsp;boolean&nbsp;descending</pre>
<div class="block">Specifies whether index should be in descending order or not. This property only
makes sense if <a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.html#index--"><code>index()</code></a> property is set to <code>true</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if field index should be in descending order.</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="notNull--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>notNull</h4>
<pre>public abstract&nbsp;boolean&nbsp;notNull</pre>
<div class="block">Specifies whether the specified field can be <code>null</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if the field is not allowed to accept <code>null</code> values.</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="precision--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>precision</h4>
<pre>public abstract&nbsp;int&nbsp;precision</pre>
<div class="block">Specifies precision for a decimal field.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>precision for a decimal field.</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>-1</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="scale--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scale</h4>
<pre>public abstract&nbsp;int&nbsp;scale</pre>
<div class="block">Specifies scale for a decimal field.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>scale for a decimal field.</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>-1</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="groups--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>groups</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;groups</pre>
<div class="block">Array of index groups this field belongs to. Groups are used for compound indexes,
whenever index should be created on more than one field. All fields within the same
group will belong to the same index.
<p>
Group indexes are needed because SQL engine can utilize only one index per table occurrence in a query.
For example if we have two separate indexes on fields <code>a</code> and <code>b</code> of type <code>X</code> then
query <code>select * from X where a = ? and b = ?</code> will use for filtering either index on field <code>a</code>
or <code>b</code> but not both. For more effective query execution here it is preferable to have a single
group index on both fields.
<p>
For more complex scenarios please refer to <a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.Group.html" title="annotation in org.apache.ignite.cache.query.annotations"><code>QuerySqlField.Group</code></a> documentation.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Array of group names.</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>{}</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="orderedGroups--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>orderedGroups</h4>
<pre>public abstract&nbsp;<a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.Group.html" title="annotation in org.apache.ignite.cache.query.annotations">QuerySqlField.Group</a>[]&nbsp;orderedGroups</pre>
<div class="block">Array of ordered index groups this field belongs to. For more information please refer to
<a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.Group.html" title="annotation in org.apache.ignite.cache.query.annotations">QuerySqlField.Group</a> documentation.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Array of ordered group indexes.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.html#groups--"><code>groups()</code></a></dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>{}</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="name--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>name</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name</pre>
<div class="block">Property name. If not provided then field name will be used.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Name of property.</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="inlineSize--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>inlineSize</h4>
<pre>public abstract&nbsp;int&nbsp;inlineSize</pre>
<div class="block">Index inline size in bytes. When enabled part of indexed value will be placed directly to index pages,
thus minimizing data page accesses, thus incraesing query performance.
<p>
Allowed values:
<ul>
<li><code>-1</code> (default) - determine inline size automatically (see below)</li>
<li><code>0</code> - index inline is disabled (not recommended)</li>
<li>positive value - fixed index inline</li>
</ul>
When set to <code>-1</code>, Ignite will try to detect inline size automatically. It will be no more than
<a href="../../../../../../org/apache/ignite/configuration/CacheConfiguration.html#getSqlIndexMaxInlineSize--"><code>CacheConfiguration.getSqlIndexMaxInlineSize()</code></a>. Index inline will be enabled for all fixed-length types,
but <b>will not be enabled</b> for <code>String</code>.
<p>
When index group is used, inline size must be defined in <a href="../../../../../../org/apache/ignite/cache/query/annotations/QueryGroupIndex.html#inlineSize--"><code>QueryGroupIndex.inlineSize()</code></a>. Any value
except of <code>-1</code> defined on a specific column will lead to exception.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Index inline size in bytes.</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>-1</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>
<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/QuerySqlField.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/ignite/cache/query/annotations/QueryGroupIndex.List.html" title="annotation in org.apache.ignite.cache.query.annotations"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/ignite/cache/query/annotations/QuerySqlField.Group.html" title="annotation in org.apache.ignite.cache.query.annotations"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/cache/query/annotations/QuerySqlField.html" target="_top">Frames</a></li>
<li><a href="QuerySqlField.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>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px"> <tr> <td> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <a target=_blank href="https://ignite.apache.org"><nobr>2021 Copyright &#169; Apache Software Foundation</nobr></a> </td> </tr> </tbody> </table> </td> <td width="100%" align="right" valign="center"> <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a> </td> </tr> <tr> <td colspan="2" valign="top" align="left"> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <b>Ignite Database and Caching Platform</b> </td> <td>:&nbsp;&nbsp; ver. <strong>2.11.1</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; December 20 2021 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>