
<!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 File Location</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-traf_authentication_config 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>File Location</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="#file_location" title="File Location">File Location</a></li>
						<li class="divider-vertical"></li>
						<li class="toplevel"><a href="#template" title="Template">Template</a></li>
						<li class="divider-vertical"></li>
						<li class="toplevel"><a href="#configuration_attributes" title="Configuration Attributes">Configuration Attributes</a></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 page describes the settings in the <b><tt>.traf_authentication_config</tt></b> file, which is the configuration file related to <a href="enable-secure-trafodion.html">Enabling Security Features in Trafodion</a>.</p> 
<div class="page-header">
 <h1 id="file_location">File Location</h1>
</div> 
<p>By default the Trafodion authentication configuration file is located at <b><tt>$MY_SQROOT/sql/scripts/.traf_authentication_config</tt></b>. If you want to store the configuration file in a different location and/or use a different filename, then Trafodion supports environment variables to specify the alternate location/name.</p> 
<p>Trafodion firsts checks the environment variable <b><tt>TRAFAUTH_CONFIGFILE</tt></b>. If set, the value is used as the fully qualified Trafodion authentication configuration file.</p> 
<p>If the environment variable is not set, then Trafodion next checks the variable <b><tt>TRAFAUTH_CONFIGDIR</tt></b>. If set, the value is prepended to <b><tt>.traf_authentication_config</tt></b> and used as the Trafodion authentication file.</p> 
<p>If neither is set, Trafodion defaults to <b><tt>$MY_SQROOT/sql/scripts/.traf_authentication_config</tt></b>.</p> 
<h1 id="template">Template</h1> 
<div class="source"> 
 <div class="source"> 
  <pre># To use authentication in Trafodion, this file must be configured
# as described below and placed in $MY_SQROOT/sql/scripts and be named
# .traf_authentication_config.  You must also enable authentication by
# running the script traf_authentication_setup in $MY_SQROOT/sql/scripts.
#
# NOTE: the format of this configuration file is expected to change in the 
# next release of Trafodion.  Backward compatibility is not guaranteed.
#
SECTION: Defaults
  DefaultSectionName: local
  RefreshTime: 1800
  TLS_CACERTFilename:
SECTION: local 
# If one or more of the LDAPHostName values is a load balancing host, list
# the name(s) here, one name: value pair for each host.
  LoadBalanceHostName: 

# One or more identically configured hosts must be specified here,  
# one name: value pair for each host.
  LDAPHostName:

# Default is port 389, change if using 636 or any other port
  LDAPPort:389

# Must specify one or more unique identifiers, one name: value pair for each
  UniqueIdentifier:

# If the configured LDAP server requires a username and password to 
# to perform name lookup, provide those here.  
  LDAPSearchDN:
  LDAPSearchPwd:

# If configured LDAP server requires TLS(1) or SSL (2), update this value
  LDAPSSL:0

# Default timeout values in seconds
  LDAPNetworkTimeout: 30 
  LDAPTimeout: 30 
  LDAPTimeLimit: 30

# Default values for retry logic algorithm
  RetryCount: 5 
  RetryDelay: 2 
  PreserveConnection: No
  ExcludeBadHosts: Yes  
  MaxExcludeListSize: 3
</pre> 
 </div> 
</div> 
<h1 id="configuration_attributes">Configuration Attributes</h1> 
<table border="0" class="bodyTable table table-striped table-hover"> 
 <thead> 
  <tr class="a"> 
   <th>Attribute Name </th> 
   <th>Purpose </th> 
   <th>Example Value </th> 
   <th>Notes</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr class="b"> 
   <td><b><tt>LDAPHostName</tt></b> </td> 
   <td>Host name of the local LDAP server. </td> 
   <td><b><tt>ldap.master.com</tt></b> </td> 
   <td>If more than one <b><tt>LDAPHostName</tt></b> entry is provided, Trafodion will attempt to connect with each LDAP server before returning an authentication error. Also see the description related to <b><tt>RetryCount</tt></b> and <b><tt>RetryDelay</tt></b> entries.</td> 
  </tr> 
  <tr class="a"> 
   <td><b><tt>LDAPPort</tt></b> </td> 
   <td>Port number of the local LDAP server. </td> 
   <td><b><tt>345</tt></b> </td> 
   <td>Must be numeric value. Related to <b><tt>LDAPSSL</tt></b> entry. Standard port numbers for OpenLDAP are as follows: 
    <ul> 
     <li>Non-secure: 389</li> 
     <li>SSL: 636</li> 
     <li>TLS: 389</li> 
    </ul></td> 
  </tr> 
  <tr class="b"> 
   <td><b><tt>LDAPSearchDN</tt></b> </td> 
   <td>If a search user is needed, the search user distinguished name is specified here. </td> 
   <td><b><tt>cn=aaabbb, dc=demo, dc=net</tt></b> </td> 
   <td>If anonymous search is allowed on the local server, this attribute does not need to be specified or can be specified with no value (blank). To date, anonymous search is the normal approach used.</td> 
  </tr> 
  <tr class="a"> 
   <td><b><tt>LDAPSearchPWD</tt></b> </td> 
   <td>Password for the <b><tt>LDAPSearchDN</tt></b> value. See that entry for details. </td> 
   <td><b><tt>welcome</tt></b> </td> 
   <td>None.</td> 
  </tr> 
  <tr class="b"> 
   <td><b><tt>LDAPSSL</tt></b> </td> 
   <td>A numeric value specifying whether the local LDAP server interface is unencrypted or TLS or SSL. Legal values are 0 for unencrypted, 1 for SSL, and 2 for TLS. For SSL/TLS, see the section below on Encryption Support. </td> 
   <td><b><tt>0</tt></b> </td> 
   <td>None.</td> 
  </tr> 
  <tr class="a"> 
   <td><b><tt>UniqueIdentifier</tt></b> </td> 
   <td>The directory attribute that contains the user’s unique identifier. </td> 
   <td><b><tt>uid=,ou=Users,dc=demo, dc=net</tt></b> </td> 
   <td>To account for the multiple forms of <b><tt>DN</tt></b> supported by a given LDAP server, specify the <b><tt>UniqueIdentifier</tt></b> parameter multiple times with different values. During a search, each <b><tt>UniqueIdentifier</tt></b> is tried in the order it is listed in the configuration file.</td> 
  </tr> 
  <tr class="b"> 
   <td><b><tt>LDAPNetworkTimeout</tt></b> </td> 
   <td>Specifies the timeout (in seconds) after which the next <b><tt>LDAPHostName</tt></b> entry will be tried, in case of no response for a connection request. This parameter is similar to <b><tt>NETWORK_TIMEOUT</tt></b> in <b><tt>ldap_conf(5)</tt></b>. Default value is 30 seconds. </td> 
   <td><b><tt>20</tt></b> </td> 
   <td>The value must be a positive number or -1. Setting this to -1 results in an infinite timeout.</td> 
  </tr> 
  <tr class="a"> 
   <td><b><tt>LDAPTimelimit</tt></b> </td> 
   <td>Specifies the time to wait when performing a search on the LDAP server for the user name. The number must be a positive integer. This parameter is similar to <b><tt>TIMELIMIT</tt></b> in <b><tt>ldap_conf(5)</tt></b>. Default value is 30 seconds. </td> 
   <td><b><tt>15</tt></b> </td> 
   <td>The server may still apply a lower server-side limit on the duration of a search operation.</td> 
  </tr> 
  <tr class="b"> 
   <td><b><tt>LDAPTimeout</tt></b> </td> 
   <td>Specifies a timeout (in seconds) after which calls to synchronous LDAP APIs will abort if no response is received. This parameter is similar to <b><tt>TIMEOUT</tt></b> in <b><tt>ldap_conf(5)</tt></b>. Default value is 30 seconds. </td> 
   <td><b><tt>15</tt></b> </td> 
   <td>The value must be a positive number or -1. Setting this to -1 results in an infinite timeout.</td> 
  </tr> 
  <tr class="a"> 
   <td><b><tt>RetryCount</tt></b> </td> 
   <td>Number of attempts to establish a successful LDAP connection. Default is 5 retries before returning an error. </td> 
   <td><b><tt>10</tt></b> </td> 
   <td>When a failed operation is retried, it will be attempted with each configured LDAP server, until the operation is successful or the number of configured retries is exceeded.</td> 
  </tr> 
  <tr class="b"> 
   <td><b><tt>RetryDelay</tt></b> </td> 
   <td>Specifies the number of seconds to delay between retries. Default value is 2 seconds. See description of <b><tt>RetryCount</tt></b>. </td> 
   <td><b><tt>1</tt></b> </td> 
   <td>None.</td> 
  </tr> 
  <tr class="a"> 
   <td><b><tt>PreserveConnection</tt></b> </td> 
   <td>Specifies whether the connection to LDAP server will be maintained (YES) or closed (NO) once the operation finishes. Default value is NO. </td> 
   <td><b><tt>YES</tt></b> </td> 
   <td>None.</td> 
  </tr> 
  <tr class="b"> 
   <td><b><tt>RefreshTime</tt></b> </td> 
   <td>Specifies the number of seconds that must have elapsed before the configuration file is reread. Default is 1800 (30 minutes). </td> 
   <td><b><tt>3600</tt></b> </td> 
   <td>If set to zero, the configuration file is never read. The connectivity servers must be restarted for changes to take effect if this value is zero. This attribute is not specific to either configuration and must be defined in the DEFAULTS section.</td> 
  </tr> 
  <tr class="a"> 
   <td><b><tt>TLS_CACERTFilename</tt></b> </td> 
   <td>Specifies the location of the certificate file for the LDAP server(s). Filename can either be fully qualified or relative to <b><tt>$CACERTS_DIR</tt></b>. </td> 
   <td><b><tt>cert.pem</tt></b> </td> 
   <td>This attribute applies to both configurations. If a configuration does not require a certificate, this attribute is ignored. This attribute must be defined in the DEFAULTS section.</td> 
  </tr> 
  <tr class="b"> 
   <td><b><tt>DefaultSectionName</tt></b> </td> 
   <td>Specifies the configuration type that will be assigned to a user by the <b><tt>REGISTER USER</tt></b> command if no authentication type is specified. In the initial Trafodion release, only one configuration is supported. </td> 
   <td><b><tt>LOCAL</tt></b> </td> 
   <td>This attribute must be defined in the <b><tt>DEFAULTS</tt></b> section. If the <b><tt>DefaultSectionName</tt></b> attribute is specified, a section by that name (or equivalent) must be defined in <b><tt>.traf_ldapconfig</tt></b>. Legal values are <b><tt>LOCAL</tt></b> and <b><tt>ENTERPRISE</tt></b>. This syntax is likely to change.</td> 
  </tr> 
 </tbody> 
</table> 
<p>Return to <a href="enable-secure-trafodion.html">Enabling Security Features in Trafodion</a>.</p>
			</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>
