
<!DOCTYPE html>
<!--
 Generated by Apache Maven Doxia at 2016-02-24
 Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">

	<head>
		<meta charset="UTF-8" />
		<title>Apache Trafodion Release 0.8.0</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<meta name="description" content="" />
		<meta http-equiv="content-language" content="en" />

		<link href="http://netdna.bootstrapcdn.com/bootswatch/2.3.2/cerulean/bootstrap.min.css" rel="stylesheet" />
		<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-responsive.min.css" rel="stylesheet" />
		<link href="./css/bootswatch.css" rel="stylesheet" />
		<link href="./css/reflow-skin.css" rel="stylesheet" />

		<link href="http://yandex.st/highlightjs/7.5/styles/default.min.css" rel="stylesheet" />

		<link href="./css/lightbox.css" rel="stylesheet" />

		<link href="./css/site.css" rel="stylesheet" />
		<link href="./css/print.css" rel="stylesheet" media="print" />

		<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
			<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
		<![endif]-->



		<!-- Google Analytics -->
		<script type="text/javascript">

			var _gaq = _gaq || [];
			_gaq.push(['_setAccount', 'UA-72491210-1']);
			_gaq.push(['_trackPageview']);

			(function() {
				var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
				ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
				var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
			})();

		</script>
		</head>

	<body class="page-release-notes-0-8-0 project-trafodion" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target">

		<div class="navbar navbar-fixed-top">
			<div class="navbar-inner">
				<div class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<a class="brand" href="index.html">Apache <span class="color-highlight">Trafodion</span></a>
					<div class="nav-collapse collapse" id="top-nav-collapse">
						<ul class="nav pull-right">
							<li ><a href="download.html" title="Download">Download</a></li>
							<li ><a href="quickstart.html" title="Quick Start">Quick Start</a></li>
							<li ><a href="documentation.html" title="Docs">Docs</a></li>
							<li ><a href="contributing-redirect.html" title="Contribute">Contribute</a></li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Project <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="index.html" title="Overview">Overview</a></li>
									<li ><a href="faq.html" title="FAQ">FAQ</a></li>
									<li ><a href="release-notes.html" title="Release Notes">Release Notes</a></li>
									<li ><a href="management.html" title="Managing Trafodion">Managing Trafodion</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="team-redirect.html" title="Team">Team</a></li>
									<li ><a href="presentations.html" title="Presentations">Presentations</a></li>
									<li ><a href="mail-lists.html" title="Mailing List">Mailing List</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="source-repository.html" title="Source Repository">Source Repository</a></li>
									<li ><a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a></li>
									<li ><a href="license.html" title="License">License</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Features <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="architecture-overview.html" title="Architecture Overview">Architecture Overview</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/security-ansi-schemas" title="ANSI Schema Support" class="externalLink">ANSI Schema Support</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/ustat-automation" title="Automated Update Statistics" class="externalLink">Automated Update Statistics</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/bulkunload" title="Bulk Unload" class="externalLink">Bulk Unload</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability#Logging_Events" title="Event Handling" class="externalLink">Event Handling</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/hybrid-query-cache" title="Hybrid Query Cache" class="externalLink">Hybrid Query Cache</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/identity-column" title="Identity Column" class="externalLink">Identity Column</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Creating_Statistics_During_Bulk_Load" title="Immediate Update Statistics" class="externalLink">Immediate Update Statistics</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/lob-support" title="Large Object (LOB)" class="externalLink">Large Object (LOB)</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/ddl-query-invalidation" title="Metadata Query Invalidation" class="externalLink">Metadata Query Invalidation</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Cmp-divisioning" title="Multi-Temperature Data" class="externalLink">Multi-Temperature Data</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/access-external-hbase-tables" title="Native HBase Tables" class="externalLink">Native HBase Tables</a></li>
									<li ><a href="docs/odb_user/index.html" title="ODB">ODB</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/sql-query-cancel" title="Query Cancel" class="externalLink">Query Cancel</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/security-privilege-updates" title="Privilege Checking" class="externalLink">Privilege Checking</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability" title="Repository" class="externalLink">Repository</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/enable-get-statistics-thru-rms" title="Runtime Management System" class="externalLink">Runtime Management System</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/sequence-numbers" title="Sequence Numbers" class="externalLink">Sequence Numbers</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/skew-buster" title="Skew Buster" class="externalLink">Skew Buster</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Tutorial:_The_object-oriented_UDF_interface" title="Table-Oriented UDF" class="externalLink">Table-Oriented UDF</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Data_Loading#Trickle_Loading_Data_Into_Trafodion_Tables" title="Trickle Load" class="externalLink">Trickle Load</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Backup_and_Restore" title="Backup/Restore Utility" class="externalLink">Backup/Restore Utility</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Metadata_Cleanup" title="Metadata Cleanup Utility" class="externalLink">Metadata Cleanup Utility</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="http://incubator.apache.org/projects/trafodion.html" title="Project Status" target="_blank" class="externalLink">Project Status</a></li>
									<li ><a href="http://www.apache.org/foundation/how-it-works.html" title="Apache Foundation" target="_blank" class="externalLink">Apache Foundation</a></li>
									<li ><a href="http://www.apache.org/licenses/" title="Apache License" target="_blank" class="externalLink">Apache License</a></li>
									<li ><a href="http://www.apache.org/security/" title="Apache Security" target="_blank" class="externalLink">Apache Security</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship" target="_blank" class="externalLink">Sponsorship</a></li>
									<li ><a href="http://www.apache.org/foundation/thanks.html" title="Thanks" target="_blank" class="externalLink">Thanks</a></li>
								</ul>
							</li>
						</ul>
					</div><!--/.nav-collapse -->
				</div>
			</div>
		</div>

	<div class="container">

	<!-- Masthead
	================================================== -->

	<header>
	<div class="jumbotron subhead">
		<div class="row" id="banner">
			<div class="span12">
				<div class="pull-left">
					<a href="index.html" id="bannerLeft"><h1><img src="images/logos/trafodion-logo.jpg" alt="Trafodion Logo"></h1></a>
					<p class="lead">Transactional SQL-on-Hadoop Database</p>
				</div>
				<div class="pull-right">
				</div>
			</div>
		</div>
	</div>
		<div>
			<ul class="breadcrumb">
				<li><a href="index.html" title="Trafodion">Trafodion</a></li>
				<li class="divider">/</li>
				<li>Release 0.8.0</li>
			</ul>
		</div>
		<hr class="toc-separator" />
		<div id="toc-bar" class="navbar" data-spy="affix" data-offset-top="250">
			<div class="navbar-inner">
				<div id="toc-scroll-target" class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#toc-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<div class="nav-collapse collapse" id="toc-nav-collapse">
						<ul id="toc" class="nav">
						<li class="toplevel"><a href="#supported_platforms" title="Supported Platforms">Supported Platforms</a></li>
						<li class="divider-vertical"></li>
						<li class="toplevel"><a href="#enhancements" title="Enhancements">Enhancements</a></li>
						<li class="divider-vertical"></li>
						<li class="dropdown">
							<a href="#fixes" title="Fixes" class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#">Fixes <b class="caret"></b></a>
							<ul class="dropdown-menu" role="menu">
								<!-- Repeat the item, otherwise it is not clickable as the dropdown root -->
								<li><a href="#fixes" title="Fixes">Fixes</a></li>
								<li class="divider"></li>
								<li><a href="#a080" title="0.8.0">0.8.0</a></li>
								<li><a href="#a081" title="0.8.1">0.8.1</a></li>
								<li><a href="#a082" title="0.8.2">0.8.2</a></li>
								<li><a href="#a083" title="0.8.3">0.8.3</a></li>

							</ul>
						</li>
						<li class="divider-vertical"></li>
						<li class="dropdown">
							<a href="#known_issues" title="Known Issues" class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#">Known Issues <b class="caret"></b></a>
							<ul class="dropdown-menu" role="menu">
								<!-- Repeat the item, otherwise it is not clickable as the dropdown root -->
								<li><a href="#known_issues" title="Known Issues">Known Issues</a></li>
								<li class="divider"></li>
								<li><a href="#sqlci_prints_no_banner_or_prompt_when_used_in_a_su_session" title="sqlci prints no banner or prompt when used in a su session">sqlci prints no banner or prompt when used in a su session</a></li>
								<li><a href="#Getting_TM_error_97_when_tables_split_or_get_moved" title="Getting TM error 97 when tables split or get moved">Getting TM error 97 when tables split or get moved</a></li>

							</ul>
						</li>
						</ul>
					</div>
				</div>
			</div>
		</div>
	</header>

	<div class="main-body">
	<div class="row">
		<div class="span12">
			<div class="body-content">
<!-- Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. --> 
<p>This is the initial source-only release of the Apache Trafodion (incubating) project.</p> 
<p>Build instructions are available <a href="build.html">here</a>.</p> 
<div class="page-header">
 <h1 id="supported_platforms">Supported Platforms</h1>
</div> 
<p>The following platforms are supported in this release.</p> 
<p><span> </span></p> 
<table border="0" class="bodyTable table table-striped table-hover"> 
 <tbody> 
  <tr class="a"> 
   <td><b>Operating Systems</b></td> 
   <td>CentOS 6.5 – 6.7</td> 
  </tr> 
  <tr class="b"> 
   <td><b>Hadoop Distributions</b></td> 
   <td>Hortonworks distribution HDP 2.0</td> 
  </tr> 
  <tr class="a"> 
   <td><b>Java Version</b></td> 
   <td>JDK 1.7.0_67 or newer</td> 
  </tr> 
  <tr class="b"> 
   <td><b>HBase Version</b></td> 
   <td>HBase 0.94.x</td> 
  </tr> 
 </tbody> 
</table> 
<h1 id="enhancements">Enhancements</h1> 
<p>This release contains the following new features.</p> 
<p><span> </span></p> 
<table border="0" class="bodyTable table table-striped table-hover"> 
 <thead> 
  <tr class="a"> 
   <th>Category</th> 
   <th>Feature</th> 
   <th>Defect ID</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr class="b"> 
   <td><b>SQL</b></td> 
   <td> 
    <ul> 
     <li>Foreign key (referential integrity), check, and unique constraints in addition to primary key and not null constraints.</li> 
     <li>Stored Procedures in Java (SPJs) (not yet fully tested).</li> 
     <li>User-Defined Functions (UDFs) written in C (not yet fully tested).</li> 
     <li>ACID properties apart from failure recovery.</li> 
     <li>Transactional atomicity and consistency provided by the standard two-phased commit protocol with presumed abort semantics, supporting commit and rollback.</li> 
     <li>Serializability based on a Multi-Version Concurrency Control (MVCC) algorithm in HBase-trx.</li> 
     <li>Distributed/global transaction support across the cluster, including transaction propagation between SQL components.</li> 
     <li>Support for multithreaded SQL clients.</li> 
    </ul> </td> 
   <td></td> 
  </tr> 
 </tbody> 
</table> 
<h1 id="fixes">Fixes</h1> 
<div class="section"> 
 <h2 id="a080">0.8.0</h2> 
 <p>Fixes to the Trafodion ODBC driver for Windows and the installer, which handles the installation of the Trafodion software. This release also includes performance fixes and cleanup to the Trafodion software code.</p> 
</div> 
<div class="section"> 
 <h2 id="a081">0.8.1</h2> 
 <p>Release 0.8.1 provides these fixes to the Trafodion installer:</p> 
 <ul> 
  <li>An updated license agreement in the installer.</li> 
  <li>Fix to the installation problem noted in <a class="externalLink" href="https://answers.launchpad.net/trafodion/+question/250671">Launchpad Question #250671</a>.</li> 
 </ul> 
</div> 
<div class="section"> 
 <h2 id="a082">0.8.2</h2> 
 <p>Release 0.8.2 has a corrected license file in the installer.</p> 
</div> 
<div class="section"> 
 <h2 id="a083">0.8.3</h2> 
 <p>Release 0.8.3 contains fixes to more than 35 critical and high defects, which were filed through <a class="externalLink" href="https://bugs.launchpad.net/trafodion/">Launchpad</a>, and includes some performance enhancements based on DC and YCSB benchmarks. Native Expressions and Transaction Manager Recovery were disabled in order to avoid two critical issues. Those issues will be addressed in an upcoming release.</p> 
 <h1 id="known_issues">Known Issues</h1> 
</div> 
<div class="section"> 
 <h2 id="sqlci_prints_no_banner_or_prompt_when_used_in_a_su_session">sqlci prints no banner or prompt when used in a su session</h2> 
 <p><b>Defect:</b> <a class="externalLink" href="https://bugs.launchpad.net/trafodion/+bug/1329001">1329001</a></p> 
 <p><b>Symptom:</b> <tt>sqlci</tt> hangs and is missing output after “<tt>su</tt>” command.</p> 
 <p><b>Cause:</b> The <tt>sqlci</tt> program may appear hung (producing no output) when you use the “<tt>su</tt>” command to switch to another user. This is caused by a permission problem in Linux, making the standard output of <tt>sqlci</tt> disappear.</p> 
 <p><b>Solution:</b> There are two possible workarounds:</p> 
 <ol style="list-style-type: decimal"> 
  <li>Create a new session for the changed user; for example: with the <tt>ssh</tt> or <tt>xterm</tt> commands, or</li> 
  <li>Invoke the program like this: <tt>sqlci | cat</tt></li> 
 </ol> 
</div> 
<div class="section"> 
 <h2 id="Getting_TM_error_97_when_tables_split_or_get_moved">Getting TM error 97 when tables split or get moved</h2> 
 <p><b>Defect:</b> <a class="externalLink" href="https://bugs.launchpad.net/trafodion/+bug/1274651">1274651</a></p> 
 <p><b>Symptom:</b> HBase Region Splits, Load Balancing, and Error 97.</p> 
 <p><b>Cause:</b> As part of an HBase environment’s ongoing operations (and based on the policies configured for the HBase environment), an HBase region can either get split (into two daughter regions) or moved to a different region server. (Please see the blog: <a class="externalLink" href="http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/">http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/</a>.) If that happens when a Trafodion transaction is active (and operates on rows within the region that is being split or load-balanced), then a subsequent transaction commit operation by the application might encounter an error 97. Please note that under such conditions the Trafodion Transaction Manager will abort the transaction and will preserve the integrity of the database.</p> 
 <p><b>Solution:</b> To minimize disruptions when this happens, we suggest that you use one or more of the following approaches:</p> 
 <ol style="list-style-type: decimal"> 
  <li>Enhance your JDBC application logic to retry when an error 97 is returned for a commit operation.</li> 
  <li>Update the HBase configuration to reduce the times when such disruptions happen. It involves updates to some properties that can be set in <tt>hbase-site.xml</tt> (or via the manageability interface of your Hadoop distribution).</li> 
  <ul> 
   <li>Set the maximum file size of an HBase Region to 100 GB. For example, set the value of the property <tt>hbase.hregion.max.filesize</tt> to <tt>107374182400</tt>.</li> 
   <li> <p>Set the HBase region split policy to '<tt>ConstantSizeRegionSplitPolicy</tt>'. For example, set the value of the property <tt>hbase.regionserver.region.split.policy</tt> to <tt>org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy</tt>.</p> <p><b>NOTE</b>: The split policy should already be set to '<tt>onstantSizeRegionSplitPolicy</tt>' by the Trafodion installer.</p> <p><b>Summary</b></p> <p> <span> </span></p> 
    <table border="0" class="bodyTable table table-striped table-hover"> 
     <thead> 
      <tr class="a"> 
       <th>Property</th> 
       <th>Value</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr class="b"> 
       <td><tt>hbase.hregion.max.filesize</tt></td> 
       <td><tt>107374182400</tt></td> 
      </tr> 
      <tr class="a"> 
       <td><tt>hbase.regionserver.region.split.policy</tt></td> 
       <td><tt>org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy</tt></td> 
      </tr> 
     </tbody> 
    </table> More information: [http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/](http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/) </li> 
  </ul> 
  <li> <p>Disable HBase Region Load Balancing. Use the HBase shell command balance_switch false to disable the movement of a region from one server to another.</p> <p><b>Example</b></p> 
   <div> 
    <pre>
hbase shell
hbase(main):002:0&gt; balance_switch false
true  -- Output will be the last setting of the balance_switch value
0 row(s) in 0.0080 seconds
        </pre> 
   </div> </li> 
  <li> Pre-split the table into multiple regions by using the <tt>SALT USING n PARTITIONS</tt> clause when creating the table. The number of partitions that you specify could be a function of the number of region servers present in the HBase cluster. Here is a simple example in which the table INVENTORY is pre-split into four regions when created: 
   <div> 
    <pre>
CREATE TABLE INVENTORY
  (
    ITEM_ID       INT UNSIGNED NO DEFAULT NOT NULL
  , ITEM_TYPE     INT UNSIGNED NO DEFAULT NOT NULL
  , ITEM_COUNT    INT UNSIGNED NO DEFAULT NOT NULL
  , PRIMARY KEY (ITEM_ID ASC)
  )  SALT USING 4 PARTITIONS
  ;    </pre> 
   </div> </li> 
 </ol> 
</div>
			</div>
		</div>
	</div>
	</div>

	</div><!-- /container -->

	<!-- Footer
	================================================== -->
	<footer class="well">
		<div class="container">
			<div class="row">
				<div class="span4 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Project</li>
						<li >
							<a href="index.html" title="Overview">Overview</a>
						</li>
						<li >
							<a href="faq.html" title="FAQ">FAQ</a>
						</li>
						<li >
							<a href="release-notes.html" title="Release Notes">Release Notes</a>
						</li>
						<li >
							<a href="management.html" title="Managing Trafodion">Managing Trafodion</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="team-redirect.html" title="Team">Team</a>
						</li>
						<li >
							<a href="presentations.html" title="Presentations">Presentations</a>
						</li>
						<li >
							<a href="mail-lists.html" title="Mailing List">Mailing List</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="source-repository.html" title="Source Repository">Source Repository</a>
						</li>
						<li >
							<a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
						</li>
						<li >
							<a href="license.html" title="License">License</a>
						</li>
					</ul>
				</div>
				<div class="span4 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Features</li>
						<li >
							<a href="architecture-overview.html" title="Architecture Overview">Architecture Overview</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/security-ansi-schemas" title="ANSI Schema Support" class="externalLink">ANSI Schema Support</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/ustat-automation" title="Automated Update Statistics" class="externalLink">Automated Update Statistics</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/bulkunload" title="Bulk Unload" class="externalLink">Bulk Unload</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability#Logging_Events" title="Event Handling" class="externalLink">Event Handling</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/hybrid-query-cache" title="Hybrid Query Cache" class="externalLink">Hybrid Query Cache</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/identity-column" title="Identity Column" class="externalLink">Identity Column</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Creating_Statistics_During_Bulk_Load" title="Immediate Update Statistics" class="externalLink">Immediate Update Statistics</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/lob-support" title="Large Object (LOB)" class="externalLink">Large Object (LOB)</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/ddl-query-invalidation" title="Metadata Query Invalidation" class="externalLink">Metadata Query Invalidation</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Cmp-divisioning" title="Multi-Temperature Data" class="externalLink">Multi-Temperature Data</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/access-external-hbase-tables" title="Native HBase Tables" class="externalLink">Native HBase Tables</a>
						</li>
						<li >
							<a href="docs/odb_user/index.html" title="ODB">ODB</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/sql-query-cancel" title="Query Cancel" class="externalLink">Query Cancel</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/security-privilege-updates" title="Privilege Checking" class="externalLink">Privilege Checking</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability" title="Repository" class="externalLink">Repository</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/enable-get-statistics-thru-rms" title="Runtime Management System" class="externalLink">Runtime Management System</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/sequence-numbers" title="Sequence Numbers" class="externalLink">Sequence Numbers</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/skew-buster" title="Skew Buster" class="externalLink">Skew Buster</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Tutorial:_The_object-oriented_UDF_interface" title="Table-Oriented UDF" class="externalLink">Table-Oriented UDF</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Data_Loading#Trickle_Loading_Data_Into_Trafodion_Tables" title="Trickle Load" class="externalLink">Trickle Load</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Backup_and_Restore" title="Backup/Restore Utility" class="externalLink">Backup/Restore Utility</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Metadata_Cleanup" title="Metadata Cleanup Utility" class="externalLink">Metadata Cleanup Utility</a>
						</li>
					</ul>
				</div>
				<div class="span4 bottom-description">
					<blockquote><a href="http://trafodion.apache.org/">Apache Trafodion</a> is a webscale SQL-on-Hadoop solution enabling transactional or operational
          workloads on Hadoop. <br /><br />The name &quot;Trafodion&quot; (the Welsh word for transactions, pronounced
          &quot;Tra-vod-eee-on&quot;) was chosen specifically to emphasize the differentiation that 
          Trafodion provides in closing a critical gap in the Hadoop ecosystem.<br /><br />          
          Trafodion builds on the scalability, elasticity, and flexibility of Hadoop. Trafodion extends 
          Hadoop to provide guaranteed transactional integrity, enabling new kinds of big data 
          applications to run on Hadoop.</blockquote>
				</div>
			</div>
		</div>
	</footer>

	<div class="container subfooter">
		<div class="row">
			<div class="span12">
				<p class="pull-right"><a href="#">Back to top</a></p>
				<p class="copyright">Copyright &copy;2015-2016 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
		
<hr/>
<div class="row span16">
  <span>Disclaimer: Apache Trafodion is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC. 
        Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making 
        process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the 
        completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</span>
  <br/>
  <br/>
  <span>Apache, Apache Maven, Apache Maven Fluido Skin, the Apache feather logo, the Apache Maven project logo and the Apache Incubator project logo 
        are trademarks of The Apache Software Foundation.</span>
  <br/>
  <br/>
  <span>
    <a target="_blank" href="http://incubator.apache.org/">
      <img id="incubator-logo" alt="Apache Incubator" src="images/logos/egg-logo.png"/>
    </a>
  </span>
</div>			</div>
		</div>
	</div>

	<!-- Le javascript
	================================================== -->
	<!-- Placed at the end of the document so the pages load faster -->
	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

	<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
	<script src="./js/lightbox.min.js"></script>
	<script src="./js/reflow-scroll.js"></script>
	<script src="http://yandex.st/highlightjs/7.5/highlight.min.js"></script>

	<script src="./js/reflow-skin.js"></script>

	</body>
</html>
