blob: 865427dce82a5e4da0236448aec71ea567d1ae35 [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 Sat Sep 11 21:20:01 MSK 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SqlQueryExecutionEvent (Ignite 2.11.0)</title>
<meta name="date" content="2021-09-11">
<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="SqlQueryExecutionEvent (Ignite 2.11.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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/SqlQueryExecutionEvent.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/events/SnapshotEvent.html" title="class in org.apache.ignite.events"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/ignite/events/TaskEvent.html" title="class in org.apache.ignite.events"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/events/SqlQueryExecutionEvent.html" target="_top">Frames</a></li>
<li><a href="SqlQueryExecutionEvent.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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.ignite.events</div>
<h2 title="Class SqlQueryExecutionEvent" class="title">Class SqlQueryExecutionEvent</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/ignite/events/EventAdapter.html" title="class in org.apache.ignite.events">org.apache.ignite.events.EventAdapter</a></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.events.SqlQueryExecutionEvent</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a><span class='angle_bracket'>&gt;</span>, <a href="../../../../org/apache/ignite/events/Event.html" title="interface in org.apache.ignite.events">Event</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">SqlQueryExecutionEvent</span>
extends <a href="../../../../org/apache/ignite/events/EventAdapter.html" title="class in org.apache.ignite.events">EventAdapter</a></pre>
<div class="block">Query execution event.
This event is triggered after a corresponding SQL query validated and before it is executed.
Unlike <a href="../../../../org/apache/ignite/events/EventType.html#EVT_CACHE_QUERY_EXECUTED"><code>EventType.EVT_CACHE_QUERY_EXECUTED</code></a>, <a href="../../../../org/apache/ignite/events/EventType.html#EVT_SQL_QUERY_EXECUTION"><code>EventType.EVT_SQL_QUERY_EXECUTION</code></a> is fired only once for a request
and does not relate to a specific cache.
<p>
Grid events are used for notification about what happens within the grid. Note that by
design Ignite keeps all events generated on the local node locally and it provides
APIs for performing a distributed queries across multiple nodes:
<ul>
<li>
<a href="../../../../org/apache/ignite/IgniteEvents.html#remoteQuery-org.apache.ignite.lang.IgnitePredicate-long-int...-"><code>IgniteEvents.remoteQuery(org.apache.ignite.lang.IgnitePredicate, long, int...)</code></a> -
asynchronously querying events occurred on the nodes specified, including remote nodes.
</li>
<li>
<a href="../../../../org/apache/ignite/IgniteEvents.html#localQuery-org.apache.ignite.lang.IgnitePredicate-int...-"><code>IgniteEvents.localQuery(org.apache.ignite.lang.IgnitePredicate, int...)</code></a> -
querying only local events stored on this local node.
</li>
<li>
<a href="../../../../org/apache/ignite/IgniteEvents.html#localListen-org.apache.ignite.lang.IgnitePredicate-int...-"><code>IgniteEvents.localListen(org.apache.ignite.lang.IgnitePredicate, int...)</code></a> -
listening to local grid events (events from remote nodes not included).
</li>
</ul>
User can also wait for events using method
<a href="../../../../org/apache/ignite/IgniteEvents.html#waitForLocal-org.apache.ignite.lang.IgnitePredicate-int...-"><code>IgniteEvents.waitForLocal(org.apache.ignite.lang.IgnitePredicate, int...)</code></a>.
<h1 class="header">Events and Performance</h1>
Note that by default all events in Ignite are enabled and therefore generated and stored
by whatever event storage SPI is configured. Ignite can and often does generate thousands events per seconds
under the load and therefore it creates a significant additional load on the system. If these events are
not needed by the application this load is unnecessary and leads to significant performance degradation.
<p>
It is <b>highly recommended</b> to enable only those events that your application logic requires
by using <a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getIncludeEventTypes--"><code>IgniteConfiguration.getIncludeEventTypes()</code></a> method in Ignite configuration.
Note that certain events are required for Ignite's internal operations and such events will still be generated but not stored by
event storage SPI if they are disabled in Ignite configuration.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/ignite/events/EventType.html#EVT_SQL_QUERY_EXECUTION"><code>EventType.EVT_SQL_QUERY_EXECUTION</code></a>,
<a href="../../../../serialized-form.html#org.apache.ignite.events.SqlQueryExecutionEvent">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/events/SqlQueryExecutionEvent.html#SqlQueryExecutionEvent-org.apache.ignite.cluster.ClusterNode-java.lang.String-java.lang.String-java.lang.Object:A-java.util.UUID-">SqlQueryExecutionEvent</a></span>(<a href="../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
<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;msg,
@Nullable <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;text,
@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;args,
@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;subjId)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== 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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/events/SqlQueryExecutionEvent.html#arguments--">arguments</a></span>()</code>
<div class="block">Gets query arguments.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/events/SqlQueryExecutionEvent.html#subjectId--">subjectId</a></span>()</code>
<div class="block">Gets security subject ID.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>@Nullable <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/events/SqlQueryExecutionEvent.html#text--">text</a></span>()</code>
<div class="block">Gets query text.</div>
</td>
</tr>
<tr id="i3" 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/events/SqlQueryExecutionEvent.html#toString--">toString</a></span>()</code></td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.events.EventAdapter">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.ignite.events.<a href="../../../../org/apache/ignite/events/EventAdapter.html" title="class in org.apache.ignite.events">EventAdapter</a></h3>
<code><a href="../../../../org/apache/ignite/events/EventAdapter.html#compareTo-org.apache.ignite.events.Event-">compareTo</a>, <a href="../../../../org/apache/ignite/events/EventAdapter.html#equals-java.lang.Object-">equals</a>, <a href="../../../../org/apache/ignite/events/EventAdapter.html#hashCode--">hashCode</a>, <a href="../../../../org/apache/ignite/events/EventAdapter.html#id--">id</a>, <a href="../../../../org/apache/ignite/events/EventAdapter.html#localOrder--">localOrder</a>, <a href="../../../../org/apache/ignite/events/EventAdapter.html#message--">message</a>, <a href="../../../../org/apache/ignite/events/EventAdapter.html#message-java.lang.String-">message</a>, <a href="../../../../org/apache/ignite/events/EventAdapter.html#name--">name</a>, <a href="../../../../org/apache/ignite/events/EventAdapter.html#node--">node</a>, <a href="../../../../org/apache/ignite/events/EventAdapter.html#node-org.apache.ignite.cluster.ClusterNode-">node</a>, <a href="../../../../org/apache/ignite/events/EventAdapter.html#shortDisplay--">shortDisplay</a>, <a href="../../../../org/apache/ignite/events/EventAdapter.html#timestamp--">timestamp</a>, <a href="../../../../org/apache/ignite/events/EventAdapter.html#type--">type</a>, <a href="../../../../org/apache/ignite/events/EventAdapter.html#type-int-">type</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SqlQueryExecutionEvent-org.apache.ignite.cluster.ClusterNode-java.lang.String-java.lang.String-java.lang.Object:A-java.util.UUID-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SqlQueryExecutionEvent</h4>
<pre>public&nbsp;SqlQueryExecutionEvent(<a href="../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
<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;msg,
@Nullable
@Nullable <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;text,
@Nullable
@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;args,
@Nullable
@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;subjId)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Node where event was fired.</dd>
<dd><code>msg</code> - Event message.</dd>
<dd><code>text</code> - Query text.</dd>
<dd><code>args</code> - Query arguments.</dd>
<dd><code>subjId</code> - Security subject ID.</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="text--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>text</h4>
<pre>@Nullable
public&nbsp;@Nullable <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;text()</pre>
<div class="block">Gets query text.
<p>
Applicable for <code>SQL</code>, <code>SQL fields</code> queries.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Query text.</dd>
</dl>
</li>
</ul>
<a name="arguments--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>arguments</h4>
<pre>@Nullable
public&nbsp;@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;arguments()</pre>
<div class="block">Gets query arguments.
<p>
Applicable for <code>SQL</code> and <code>SQL fields</code> queries.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Query arguments.</dd>
</dl>
</li>
</ul>
<a name="subjectId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>subjectId</h4>
<pre>@Nullable
public&nbsp;@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;subjectId()</pre>
<div class="block">Gets security subject ID.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Security subject ID.</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&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;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/events/EventAdapter.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/ignite/events/EventAdapter.html" title="class in org.apache.ignite.events">EventAdapter</a></code></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/SqlQueryExecutionEvent.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/events/SnapshotEvent.html" title="class in org.apache.ignite.events"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/ignite/events/TaskEvent.html" title="class in org.apache.ignite.events"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/events/SqlQueryExecutionEvent.html" target="_top">Frames</a></li>
<li><a href="SqlQueryExecutionEvent.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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><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.0</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; September 11 2021 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>