blob: b52470c70b87db46f1dda8b1a0e1d2601781b5cf [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_252) on Fri Jul 16 09:38:52 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>HANAPlatform (EclipseLink 3.0.2, API Reference)</title>
<meta name="date" content="2021-07-16">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="HANAPlatform (EclipseLink 3.0.2, API Reference)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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="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 class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/persistence/platform/database/H2Platform.html" title="class in org.eclipse.persistence.platform.database"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/persistence/platform/database/HSQLPlatform.html" title="class in org.eclipse.persistence.platform.database"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/platform/database/HANAPlatform.html" target="_top">Frames</a></li>
<li><a href="HANAPlatform.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><a href="#fields.inherited.from.class.org.eclipse.persistence.platform.database.DatabasePlatform">Field</a>&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.eclipse.persistence.platform.database</div>
<h2 title="Class HANAPlatform" class="title">Class HANAPlatform</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>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</li>
<li>
<ul class="inheritance">
<li>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/eclipse/persistence/platform/database/DatabasePlatform.html" title="class in org.eclipse.persistence.platform.database">org.eclipse.persistence.platform.database.DatabasePlatform</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.persistence.platform.database.HANAPlatform</li>
</ul>
</li>
</ul>
</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/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>, org.eclipse.persistence.internal.core.databaseaccess.CorePlatform&lt;org.eclipse.persistence.internal.helper.ConversionManager&gt;, org.eclipse.persistence.internal.databaseaccess.Platform</dd>
</dl>
<hr>
<br>
<pre>public final class <span class="typeNameLabel">HANAPlatform</span>
extends <a href="../../../../../org/eclipse/persistence/platform/database/DatabasePlatform.html" title="class in org.eclipse.persistence.platform.database">DatabasePlatform</a></pre>
<div class="block"><b>Database Platform for SAP HANA</b> <br>
<p>
<b>Feature Testing</b><br>
----------------------
<ul>
<li>DDL Generation - Succeeds
<li>Outer Join - Succeeds
<li>Subquery - Succeeds
<li>Stored Procedure Calls - Not supported
<li>Stored Procedure Generation - Not supported
<li>Native Sequences/Identifier fields - Succeeds
<li>JPA Bulk Update/Delete - Succeeds with Limitations
<li>Batch Reading - Succeeds
<li>Batch Writing - Succeeds
<li>Pessimistic Locking - Succeeds with Limitations
<li>First Result/Limit - Succeeds with Limitations
<li>Expression Framework - Succeeds with Limitations
<li>Delimiters - Succeeds
<li>Auto Detection - Succeeds
</ul>
<br>
<p>
<b>Limitations</b><br>
----------------
<ul>
<li>Reserved SQL keywords cannot be used as table, column or sequence names. Use a different
name, or enclose the name in double quotes. For example: @Column(name="\"LANGUAGE\"")
<li>Pessimistic locking adds 'FOR UPDATE' to the SELECT statement, and cannot be used with
queries that use DISTINCT.
<li>Pessimistic locking cannot be used with queries that select from multiple tables.
<li>The LockNoWait option of Pessimistic Locking cannot be used; it is ignored when specified
(i.e. only 'FOR UPDATE' is added to the SELECT statement).
<li>Bulk update and delete operations that require multiple tables to be accessed cannot be used
(e.g. bulk operation on an entity that is part of an inheritance hierarchy, UpdateAll and
DeleteAll queries).
&lt;li&gt;'= NULL' and '&lt;&gt; NULL' cannot be used for null comparisons in the WHERE clause.
Use 'IS (NOT) NULL' instead.
<li>Scrollable cursors are not supported.
<li>Query timeouts are not supported.
</ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../serialized-form.html#org.eclipse.persistence.platform.database.HANAPlatform">Serialized Form</a></dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Reiner Singer (SAP AG), Sabine Heider (SAP AG)</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.persistence.platform.database.DatabasePlatform">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.persistence.platform.database.<a href="../../../../../org/eclipse/persistence/platform/database/DatabasePlatform.html" title="class in org.eclipse.persistence.platform.database">DatabasePlatform</a></h3>
<code><a href="../../../../../org/eclipse/persistence/platform/database/DatabasePlatform.html#DEFAULT_VARCHAR_SIZE">DEFAULT_VARCHAR_SIZE</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.persistence.internal.databaseaccess.DatabasePlatform">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</h3>
<code>batchWritingMechanism, castSizeForVarcharParameter, classTypes, cursorCode, DEFAULT_MAX_BATCH_WRITING_SIZE, DEFAULT_PARAMETERIZED_MAX_BATCH_WRITING_SIZE, driverName, driverSupportsNationalCharacterVarying, fieldTypes, IS_VALID_TIMEOUT, isCastRequired, maxBatchWritingSize, partitioningCallback, pingSQL, printInnerJoinInWhereClause, printOuterJoinInWhereClause, shouldBindAllParameters, shouldBindLiterals, shouldCacheAllStatements, shouldCreateIndicesOnForeignKeys, shouldForceBindAllParameters, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldOptimizeDataConversion, shouldTrimStrings, statementCacheSize, storedProcedureTerminationToken, stringBindingSize, structConverters, supportsAutoCommit, tableCreationSuffix, transactionIsolation, typeConverters, useJDBCStoredProcedureSyntax, useNationalCharacterVarying, useRownumFiltering, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesStreamsForBinding, usesStringBinding</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</h3>
<code>conversionManager, dataTypesConvertedFromAClass, dataTypesConvertedToAClass, defaultNativeSequenceToTable, defaultSeqenceAtNextValue, defaultSequence, endDelimiter, platformOperators, sequences, sequencesLock, startDelimiter, tableQualifier, timestampQuery</code></li>
</ul>
</li>
</ul>
<!-- ======== 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/eclipse/persistence/platform/database/HANAPlatform.html#HANAPlatform--">HANAPlatform</a></span>()</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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#appendCalendar-java.util.Calendar-java.io.Writer-">appendCalendar</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html?is-external=true" title="class or interface in java.util">Calendar</a>&nbsp;calendar,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer)</code>
<div class="block">Answer a platform correct string representation of a Calendar as a Timestamp, suitable for SQL generation.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#appendDate-java.sql.Date-java.io.Writer-">appendDate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a>&nbsp;date,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer)</code>
<div class="block">Answer a platform correct string representation of a Date, suitable for SQL generation.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#appendTime-java.sql.Time-java.io.Writer-">appendTime</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Time.html?is-external=true" title="class or interface in java.sql">Time</a>&nbsp;time,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer)</code>
<div class="block">Answer a platform correct string representation of a Time, suitable for SQL generation.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#appendTimestamp-java.sql.Timestamp-java.io.Writer-">appendTimestamp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a>&nbsp;timestamp,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer)</code>
<div class="block">Answer a platform correct string representation of a Timestamp, suitable for SQL generation.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#buildFieldTypes--">buildFieldTypes</a></span>()</code>
<div class="block">Return the mapping of class types to database types for the schema framework.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/persistence/queries/ValueReadQuery.html" title="class in org.eclipse.persistence.queries">ValueReadQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#buildSelectQueryForSequenceObject-java.lang.String-java.lang.Integer-">buildSelectQueryForSequenceObject</a></span>(<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;sequenceName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;size)</code>
<div class="block">INTERNAL:
Returns query used to read value generated by sequence object (like Oracle sequence).</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#canBatchWriteWithOptimisticLocking-org.eclipse.persistence.internal.databaseaccess.DatabaseCall-">canBatchWriteWithOptimisticLocking</a></span>(org.eclipse.persistence.internal.databaseaccess.DatabaseCall&nbsp;call)</code>
<div class="block">INTERNAL:
Supports Batch Writing with Optimistic Locking.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#computeMaxRowsForSQL-int-int-">computeMaxRowsForSQL</a></span>(int&nbsp;firstResultIndex,
int&nbsp;maxResults)</code>
<div class="block">INTERNAL:
Use the JDBC maxResults and firstResultIndex setting to compute a value to use when
limiting the results of a query in SQL.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#createLocate2Operator--">createLocate2Operator</a></span>()</code>
<div class="block">INTERNAL: Build locate operator with 3 params i.e.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#createLocateOperator--">createLocateOperator</a></span>()</code>
<div class="block">INTERNAL: Build locate operator i.e.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#executeBatch-java.sql.Statement-boolean-">executeBatch</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</a>&nbsp;statement,
boolean&nbsp;isStatementPrepared)</code>
<div class="block">Internal: This gets called on each batch statement execution
Needs to be implemented so that it returns the number of rows successfully modified
by this statement for optimistic locking purposes.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected <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/eclipse/persistence/platform/database/HANAPlatform.html#getCreateTempTableSqlPrefix--">getCreateTempTableSqlPrefix</a></span>()</code>
<div class="block">INTERNAL:
Override this method if the platform supports temporary tables.</div>
</td>
</tr>
<tr id="i12" 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/eclipse/persistence/platform/database/HANAPlatform.html#getInputProcedureToken--">getInputProcedureToken</a></span>()</code>
<div class="block">Used for stored procedure creation: Prefix for INPUT parameters.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#getMaxFieldNameSize--">getMaxFieldNameSize</a></span>()</code>
<div class="block">INTERNAL:
returns the maximum number of characters that can be used in a field
name on this platform.</div>
</td>
</tr>
<tr id="i14" 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/eclipse/persistence/platform/database/HANAPlatform.html#getOutputProcedureToken--">getOutputProcedureToken</a></span>()</code>
<div class="block">This method is used to print the output parameter token when stored procedures are called</div>
</td>
</tr>
<tr id="i15" 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/eclipse/persistence/platform/database/HANAPlatform.html#getProcedureCallHeader--">getProcedureCallHeader</a></span>()</code>
<div class="block">Used for sp calls.</div>
</td>
</tr>
<tr id="i16" 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/eclipse/persistence/platform/database/HANAPlatform.html#getProcedureCallTail--">getProcedureCallTail</a></span>()</code>
<div class="block">Used for sp calls.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>org.eclipse.persistence.internal.helper.DatabaseTable</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#getTempTableForTable-org.eclipse.persistence.internal.helper.DatabaseTable-">getTempTableForTable</a></span>(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table)</code>
<div class="block">INTERNAL:
May override this method if the platform support temporary tables.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#initializePlatformOperators--">initializePlatformOperators</a></span>()</code>
<div class="block">Initialize any platform-specific operators</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#isForUpdateCompatibleWithDistinct--">isForUpdateCompatibleWithDistinct</a></span>()</code>
<div class="block">INTERNAL:
Indicates whether SELECT DISTINCT ...</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#isHANA--">isHANA</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#printFieldTypeSize-java.io.Writer-org.eclipse.persistence.tools.schemaframework.FieldDefinition-org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition-">printFieldTypeSize</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer,
<a href="../../../../../org/eclipse/persistence/tools/schemaframework/FieldDefinition.html" title="class in org.eclipse.persistence.tools.schemaframework">FieldDefinition</a>&nbsp;field,
org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition&nbsp;fieldType)</code>&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#printSQLSelectStatement-org.eclipse.persistence.internal.databaseaccess.DatabaseCall-org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter-org.eclipse.persistence.internal.expressions.SQLSelectStatement-">printSQLSelectStatement</a></span>(org.eclipse.persistence.internal.databaseaccess.DatabaseCall&nbsp;call,
org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter&nbsp;printer,
org.eclipse.persistence.internal.expressions.SQLSelectStatement&nbsp;statement)</code>
<div class="block">INTERNAL:
Print the SQL representation of the statement on a stream, storing the fields
in the DatabaseCall.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#requiresUniqueConstraintCreationOnTableCreate--">requiresUniqueConstraintCreationOnTableCreate</a></span>()</code>
<div class="block">Used for table creation.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#shouldAlwaysUseTempStorageForModifyAll--">shouldAlwaysUseTempStorageForModifyAll</a></span>()</code>
<div class="block">INTERNAL:
That method affects UpdateAllQuery and DeleteAllQuery execution.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#shouldBindLiterals--">shouldBindLiterals</a></span>()</code>
<div class="block">PUBLIC:
Allows platform to choose whether to bind literals in DatabaseCalls or not.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#shouldOptimizeDataConversion--">shouldOptimizeDataConversion</a></span>()</code>
<div class="block">Return if our driver level data conversion optimization is enabled.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#shouldPrintOuterJoinInWhereClause--">shouldPrintOuterJoinInWhereClause</a></span>()</code>
<div class="block">Some database require outer joins to be given in the where clause, others require it in the from clause.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#shouldPrintStoredProcedureArgumentNameInCall--">shouldPrintStoredProcedureArgumentNameInCall</a></span>()</code>
<div class="block">INTERNAL: Should the variable name of a stored procedure call be printed as part of the
procedure call e.g.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#shouldTempTableSpecifyPrimaryKeys--">shouldTempTableSpecifyPrimaryKeys</a></span>()</code>
<div class="block">INTERNAL:
Indicates whether temporary table can specify primary keys (some platforms don't allow that).</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#shouldUseJDBCOuterJoinSyntax--">shouldUseJDBCOuterJoinSyntax</a></span>()</code>
<div class="block">JDBC defines and outer join syntax, many drivers do not support this.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#supportsForeignKeyConstraints--">supportsForeignKeyConstraints</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#supportsGlobalTempTables--">supportsGlobalTempTables</a></span>()</code>
<div class="block">INTERNAL:
Indicates whether the platform supports global temporary tables.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#supportsIndividualTableLocking--">supportsIndividualTableLocking</a></span>()</code>
<div class="block">INTERNAL:
Indicates whether locking clause could be selectively applied only to some tables in a ReadQuery.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#supportsLocalTempTables--">supportsLocalTempTables</a></span>()</code>
<div class="block">INTERNAL:
Indicates whether the platform supports local temporary tables.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#supportsNativeSequenceNumbers--">supportsNativeSequenceNumbers</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#supportsSequenceObjects--">supportsSequenceObjects</a></span>()</code>
<div class="block">INTERNAL:
Indicates whether the platform supports sequence objects.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#supportsStoredFunctions--">supportsStoredFunctions</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#usesStringBinding--">usesStringBinding</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/HANAPlatform.html#writeAddColumnClause-java.io.Writer-org.eclipse.persistence.internal.sessions.AbstractSession-org.eclipse.persistence.tools.schemaframework.TableDefinition-org.eclipse.persistence.tools.schemaframework.FieldDefinition-">writeAddColumnClause</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer,
org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session,
<a href="../../../../../org/eclipse/persistence/tools/schemaframework/TableDefinition.html" title="class in org.eclipse.persistence.tools.schemaframework">TableDefinition</a>&nbsp;table,
<a href="../../../../../org/eclipse/persistence/tools/schemaframework/FieldDefinition.html" title="class in org.eclipse.persistence.tools.schemaframework">FieldDefinition</a>&nbsp;field)</code>
<div class="block">INTERNAL:
May need to override this method if the platform supports ALTER TABLE ADD &lt;column&gt;
and the generated sql doesn't work.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.internal.databaseaccess.DatabasePlatform">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</h3>
<code>addBatch, addStructConverter, allowsSizeInProcedureArguments, appendBoolean, appendByteArray, appendLiteralToCall, appendLiteralToCallWithBinding, appendNumber, appendParameter, appendParameterInternal, appendString, autoCommit, beginTransaction, buildBatchCriteria, buildBatchCriteriaForComplexId, buildCallWithReturning, buildClassTypes, buildCreateIndex, buildCreateIndex, buildDropIndex, buildDropIndex, buildProcedureCallString, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, canBuildCallWithReturning, checkTableExists, commitTransaction, convertToDatabaseType, copyInto, createArray, createArray, createPlatformDefaultSequence, createStruct, createStruct, dontBindUpdateAllQueryUsingTempTables, executeStoredProcedure, freeTemporaryObject, getAssignmentString, getBatchBeginString, getBatchDelimiterString, getBatchEndString, getBatchRowCountAssignString, getBatchRowCountDeclareString, getBatchRowCountReturnString, getBatchWritingMechanism, getCastSizeForVarcharParameter, getClassTypes, getConnection, getConnectionUserName, getConstraintDeletionString, getCreateDatabaseSchemaString, getCreateTempTableSqlBodyForTable, getCreateTempTableSqlSuffix, getCreateViewString, getCreationInOutputProcedureToken, getCreationOutputProcedureToken, getCursorCode, getCustomModifyValueForCall, getDefaultSequenceTableName, getDriverSupportsNVarChar, getDropCascadeString, getDropDatabaseSchemaString, getFieldTypeDefinition, getFieldTypes, getFunctionCallHeader, getIndexNamePrefix, getInOutputProcedureToken, getJDBCOuterJoinString, getJDBCType, getJDBCType, getJDBCTypeForSetNull, getJdbcTypeName, getMaxBatchWritingSize, getMaxForeignKeyNameSize, getMaxIndexNameSize, getMaxUniqueKeyNameSize, getNoWaitString, getObjectFromResultSet, getParameterValueFromDatabaseCall, getParameterValueFromDatabaseCall, getPartitioningCallback, getPingSQL, getProcedureArgument, getProcedureArgumentString, getProcedureAsString, getProcedureBeginString, getProcedureEndString, getProcedureOptionList, getQualifiedName, getQualifiedSequenceTableName, getRefValue, getRefValue, getSelectForUpdateNoWaitString, getSelectForUpdateOfString, getSelectForUpdateString, getSelectForUpdateWaitString, getSequenceCounterFieldName, getSequenceNameFieldName, getSequencePreallocationSize, getSequenceTableName, getStatementCacheSize, getStoredProcedureParameterPrefix, getStoredProcedureTerminationToken, getStringBindingSize, getStructConverters, getTableCreationSuffix, getTableExistsQuery, getTransactionIsolation, getTypeConverters, getUniqueConstraintDeletionString, getUseNationalCharacterVaryingTypeForString, getVPDClearIdentifierQuery, getVPDCreationFunctionString, getVPDCreationPolicyString, getVPDDeletionString, getVPDSetIdentifierQuery, hasPartitioningCallback, initialize, initializeConnectionData, isAlterSequenceObjectSupported, isCastRequired, isDynamicSQLRequiredForFunctions, isInformixOuterJoin, isJDBCExecuteCompliant, isLobCompatibleWithDistinct, isLockTimeoutException, isNullAllowedInSelectClause, isOutputAllowWithResultSet, isRowCountOutputParameterRequired, isXDBDocument, maximumNumericValues, minimumNumericValues, minimumTimeIncrement, prepareBatchStatement, printFieldIdentityClause, printFieldNotNullClause, printFieldNullClause, printFieldTypeSize, printFieldUnique, printFieldUnique, printStoredFunctionReturnKeyWord, printValuelist, printValuelist, registerOutputParameter, registerOutputParameter, registerOutputParameter, registerOutputParameter, requiresNamedPrimaryKeyConstraints, requiresProcedureBrackets, requiresProcedureCallBrackets, requiresProcedureCallOuputToken, requiresTableInIndexDropDDL, requiresTypeNameToRegisterOutputParameter, retrieveFirstPrimaryKeyOrOne, rollbackTransaction, setBatchWritingMechanism, setCastSizeForVarcharParameter, setClassTypes, setCursorCode, setDriverName, setDriverSupportsNVarChar, setFieldTypes, setIsCastRequired, setMaxBatchWritingSize, setNullFromDatabaseField, setNullFromDatabaseField, setParameterValueInDatabaseCall, setParameterValueInDatabaseCall, setPartitioningCallback, setPingSQL, setPrintInnerJoinInWhereClause, setPrintOuterJoinInWhereClause, setSequenceCounterFieldName, setSequenceNameFieldName, setSequenceTableName, setShouldBindAllParameters, setShouldBindLiterals, setShouldCacheAllStatements, setShouldCreateIndicesOnForeignKeys, setShouldForceBindAllParameters, setShouldForceFieldNamesToUpperCase, setShouldIgnoreCaseOnFieldComparisons, setShouldOptimizeDataConversion, setShouldTrimStrings, setShouldUseRownumFiltering, setStatementCacheSize, setStoredProcedureTerminationToken, setStringBindingSize, setSupportsAutoCommit, setTableCreationSuffix, setTransactionIsolation, setUseJDBCStoredProcedureSyntax, setUseNationalCharacterVaryingTypeForString, setUsesBatchWriting, setUsesByteArrayBinding, setUsesJDBCBatchWriting, setUsesNativeBatchWriting, setUsesNativeSQL, setUsesStreamsForBinding, setUsesStringBinding, shouldBindAllParameters, shouldCacheAllStatements, shouldCreateIndicesForPrimaryKeys, shouldCreateIndicesOnForeignKeys, shouldCreateIndicesOnUniqueKeys, shouldForceBindAllParameters, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldIgnoreException, shouldPrintAliasForUpdate, shouldPrintConstraintNameAfter, shouldPrintFieldIdentityClause, shouldPrintForUpdateClause, shouldPrintInnerJoinInWhereClause, shouldPrintInOutputTokenBeforeType, shouldPrintInputTokenAtStart, shouldPrintLockingClauseAfterWhereClause, shouldPrintOutputTokenAtStart, shouldPrintOutputTokenBeforeType, shouldPrintStoredProcedureVariablesAfterBeginString, shouldTrimStrings, shouldUseCustomModifyForCall, shouldUseGetSetNString, shouldUseRownumFiltering, supportsANSIInnerJoinSyntax, supportsAutoCommit, supportsAutoConversionToNumericForArithmeticOperations, supportsConnectionUserName, supportsCountDistinctWithMultipleFields, supportsDeleteOnCascade, supportsIndexes, supportsLockingQueriesWithMultipleTables, supportsNestingOuterJoins, supportsOuterJoinsWithBrackets, supportsPrimaryKeyConstraint, supportsTempTables, supportsUniqueColumns, supportsUniqueKeyConstraints, supportsVPD, supportsWaitForUpdate, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesSequenceTable, usesStreamsForBinding, wasFailureCommunicationBased, writeAutoAssignmentSetClause, writeAutoJoinWhereClause, writeCleanUpTempTableSql, writeCreateTempTableSql, writeDeleteFromTargetTableUsingTempTableSql, writeFields, writeFieldsAutoClause, writeFieldsList, writeInsertIntoTableSql, writeJoinWhereClause, writeLOB, writeParameterMarker, writeTableCreationSuffix, writeUpdateOriginalFromTempTableSql</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</h3>
<code>addOperator, addSequence, addSequence, buildNativeCall, buildSelectQueryForIdentity, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, clone, convertObject, createConnectionCustomizer, createExpressionFor, getConversionManager, getDataTypesConvertedFrom, getDataTypesConvertedTo, getDefaultNativeSequenceToTable, getDefaultSeqenceAtNextValue, getDefaultSequence, getDefaultSequenceToWrite, getEndDelimiter, getINClauseLimit, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequences, getSequencesToWrite, getStartDelimiter, getTableQualifier, getTimestampFromServer, getTimestampQuery, getUpdateSequenceQuery, hasDefaultSequence, initializeDefaultQueries, initIdentitySequences, isAccess, isAttunity, isCloudscape, isDB2, isDB2Z, isDBase, isDerby, isFirebird, isH2, isHSQL, isInformix, isMaxDB, isMySQL, isODBC, isOracle, isOracle12, isOracle9, isPervasive, isPointBase, isPostgreSQL, isSQLAnywhere, isSQLServer, isSybase, isSymfoware, isTimesTen, isTimesTen7, removeAllSequences, removeIdentitySequences, removeSequence, sequencesAfterCloneCleanup, setConversionManager, setDefaultNativeSequenceToTable, setDefaultSeqenceAtNextValue, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, shouldNativeSequenceUseTransaction, shouldPrepare, shouldSelectDistinctIncludeOrderBy, shouldSelectIncludeOrderBy, supportsIdentity, toString, usesPlatformDefaultSequence</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#equals-java.lang.Object-" title="class or interface in java.lang">equals</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#hashCode--" title="class or interface in java.lang">hashCode</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="HANAPlatform--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>HANAPlatform</h4>
<pre>public&nbsp;HANAPlatform()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="isHANA--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isHANA</h4>
<pre>public&nbsp;boolean&nbsp;isHANA()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>isHANA</code>&nbsp;in interface&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.Platform</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>isHANA</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></dd>
</dl>
</li>
</ul>
<a name="usesStringBinding--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>usesStringBinding</h4>
<pre>public&nbsp;boolean&nbsp;usesStringBinding()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>usesStringBinding</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="requiresUniqueConstraintCreationOnTableCreate--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requiresUniqueConstraintCreationOnTableCreate</h4>
<pre>public&nbsp;boolean&nbsp;requiresUniqueConstraintCreationOnTableCreate()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">Used for table creation. If a database platform does not support ALTER
TABLE syntax to add/drop unique constraints (like Symfoware), overriding
this method will allow the constraint to be specified in the CREATE TABLE
statement.
<p>
This only affects unique constraints specified using the UniqueConstraint
annotation or equivalent method. Columns for which the 'unique' attribute
is set to true will be declared 'UNIQUE' in the CREATE TABLE statement
regardless of the return value of this method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>requiresUniqueConstraintCreationOnTableCreate</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether unique constraints should be declared as part of the
CREATE TABLE statement instead of in separate ALTER TABLE
ADD/DROP statements.</dd>
</dl>
</li>
</ul>
<a name="isForUpdateCompatibleWithDistinct--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isForUpdateCompatibleWithDistinct</h4>
<pre>public&nbsp;boolean&nbsp;isForUpdateCompatibleWithDistinct()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">INTERNAL:
Indicates whether SELECT DISTINCT ... FOR UPDATE is allowed by the platform (Oracle doesn't allow this).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>isForUpdateCompatibleWithDistinct</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="supportsIndividualTableLocking--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsIndividualTableLocking</h4>
<pre>public&nbsp;boolean&nbsp;supportsIndividualTableLocking()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">INTERNAL:
Indicates whether locking clause could be selectively applied only to some tables in a ReadQuery.
Example: the following locks the rows in SALARY table, doesn't lock the rows in EMPLOYEE table:
on Oracle platform (method returns true):
SELECT t0.EMP_ID..., t1.SALARY FROM EMPLOYEE t0, SALARY t1 WHERE ... FOR UPDATE t1.SALARY
on SQLServer platform (method returns true):
SELECT t0.EMP_ID..., t1.SALARY FROM EMPLOYEE t0, SALARY t1 WITH (UPDLOCK) WHERE ...</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>supportsIndividualTableLocking</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="buildFieldTypes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildFieldTypes</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</a>&nbsp;buildFieldTypes()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">Return the mapping of class types to database types for the schema framework.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>buildFieldTypes</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="printFieldTypeSize-java.io.Writer-org.eclipse.persistence.tools.schemaframework.FieldDefinition-org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printFieldTypeSize</h4>
<pre>protected&nbsp;void&nbsp;printFieldTypeSize(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer,
<a href="../../../../../org/eclipse/persistence/tools/schemaframework/FieldDefinition.html" title="class in org.eclipse.persistence.tools.schemaframework">FieldDefinition</a>&nbsp;field,
org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition&nbsp;fieldType)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>printFieldTypeSize</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="initializePlatformOperators--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializePlatformOperators</h4>
<pre>protected&nbsp;void&nbsp;initializePlatformOperators()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></span></div>
<div class="block">Initialize any platform-specific operators</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>initializePlatformOperators</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></dd>
</dl>
</li>
</ul>
<a name="createLocateOperator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createLocateOperator</h4>
<pre>public static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;createLocateOperator()</pre>
<div class="block">INTERNAL: Build locate operator i.e. LOCATE("ob", t0.F_NAME)</div>
</li>
</ul>
<a name="createLocate2Operator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createLocate2Operator</h4>
<pre>public static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;createLocate2Operator()</pre>
<div class="block">INTERNAL: Build locate operator with 3 params i.e. LOCATE("coffee", t0.DESCRIP, 4). Last
parameter is a start at.</div>
</li>
</ul>
<a name="printSQLSelectStatement-org.eclipse.persistence.internal.databaseaccess.DatabaseCall-org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter-org.eclipse.persistence.internal.expressions.SQLSelectStatement-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printSQLSelectStatement</h4>
<pre>public&nbsp;void&nbsp;printSQLSelectStatement(org.eclipse.persistence.internal.databaseaccess.DatabaseCall&nbsp;call,
org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter&nbsp;printer,
org.eclipse.persistence.internal.expressions.SQLSelectStatement&nbsp;statement)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">INTERNAL:
Print the SQL representation of the statement on a stream, storing the fields
in the DatabaseCall.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>printSQLSelectStatement</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="computeMaxRowsForSQL-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeMaxRowsForSQL</h4>
<pre>public&nbsp;int&nbsp;computeMaxRowsForSQL(int&nbsp;firstResultIndex,
int&nbsp;maxResults)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">INTERNAL:
Use the JDBC maxResults and firstResultIndex setting to compute a value to use when
limiting the results of a query in SQL. These limits tend to be used in two ways.
1. MaxRows is the index of the last row to be returned (like JDBC maxResults)
2. MaxRows is the number of rows to be returned
By default, we assume case 1 and simply return the value of maxResults. Subclasses
may provide an override</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>computeMaxRowsForSQL</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/database/MySQLPlatform.html" title="class in org.eclipse.persistence.platform.database"><code>MySQLPlatform</code></a></dd>
</dl>
</li>
</ul>
<a name="shouldOptimizeDataConversion--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldOptimizeDataConversion</h4>
<pre>public&nbsp;boolean&nbsp;shouldOptimizeDataConversion()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">Return if our driver level data conversion optimization is enabled.
This can be disabled as some drivers perform data conversion themselves incorrectly.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>shouldOptimizeDataConversion</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="supportsNativeSequenceNumbers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsNativeSequenceNumbers</h4>
<pre>public&nbsp;boolean&nbsp;supportsNativeSequenceNumbers()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>supportsNativeSequenceNumbers</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></dd>
</dl>
</li>
</ul>
<a name="buildSelectQueryForSequenceObject-java.lang.String-java.lang.Integer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildSelectQueryForSequenceObject</h4>
<pre>public&nbsp;<a href="../../../../../org/eclipse/persistence/queries/ValueReadQuery.html" title="class in org.eclipse.persistence.queries">ValueReadQuery</a>&nbsp;buildSelectQueryForSequenceObject(<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;sequenceName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;size)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></span></div>
<div class="block">INTERNAL:
Returns query used to read value generated by sequence object (like Oracle sequence).
In case the other version of this method (taking no parameters) returns null,
this method is called every time sequence object NativeSequence reads.
If the platform supportsSequenceObjects then (at least) one of buildSelectQueryForSequenceObject
methods should return non-null query.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>buildSelectQueryForSequenceObject</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></dd>
</dl>
</li>
</ul>
<a name="supportsGlobalTempTables--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsGlobalTempTables</h4>
<pre>public&nbsp;boolean&nbsp;supportsGlobalTempTables()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">INTERNAL:
Indicates whether the platform supports global temporary tables.
"Global" means that an attempt to create temporary table with the same
name for the second time results in exception.
EclipseLink attempts to create global temporary table in the beginning of UpdateAllQuery,
execution and assumes that it already exists in case SQLException results.
In the end of UpdateAllQuery execution all rows are removed from the temporary table -
it is necessary in case the same temporary table will be used by another UpdateAllQuery
in the same transaction.
Override this method if the platform supports global temporary tables.
Note that this method is ignored in case supportsLocalTempTables() returns true.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>supportsGlobalTempTables</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getCreateTempTableSqlPrefix--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCreateTempTableSqlPrefix</h4>
<pre>protected&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;getCreateTempTableSqlPrefix()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">INTERNAL:
Override this method if the platform supports temporary tables.
This should contain the beginning of sql string for
creating temporary table - the sql statement name, for instance:
"CREATE GLOBAL TEMPORARY TABLE ".
Don't forget to end it with a space.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getCreateTempTableSqlPrefix</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getTempTableForTable-org.eclipse.persistence.internal.helper.DatabaseTable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTempTableForTable</h4>
<pre>public&nbsp;org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;getTempTableForTable(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">INTERNAL:
May override this method if the platform support temporary tables.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getTempTableForTable</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>table</code> - is original table for which temp table is created.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>temporary table</dd>
</dl>
</li>
</ul>
<a name="shouldTempTableSpecifyPrimaryKeys--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldTempTableSpecifyPrimaryKeys</h4>
<pre>protected&nbsp;boolean&nbsp;shouldTempTableSpecifyPrimaryKeys()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">INTERNAL:
Indicates whether temporary table can specify primary keys (some platforms don't allow that).
Used by writeCreateTempTableSql method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>shouldTempTableSpecifyPrimaryKeys</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getMaxFieldNameSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxFieldNameSize</h4>
<pre>public&nbsp;int&nbsp;getMaxFieldNameSize()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">INTERNAL:
returns the maximum number of characters that can be used in a field
name on this platform.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getMaxFieldNameSize</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="supportsLocalTempTables--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsLocalTempTables</h4>
<pre>public&nbsp;boolean&nbsp;supportsLocalTempTables()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">INTERNAL:
Indicates whether the platform supports local temporary tables.
"Local" means that several threads may create
temporary tables with the same name.
Local temporary table is created in the beginning of UpdateAllQuery
execution and dropped in the end of it.
Override this method if the platform supports local temporary tables.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>supportsLocalTempTables</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="shouldAlwaysUseTempStorageForModifyAll--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldAlwaysUseTempStorageForModifyAll</h4>
<pre>public&nbsp;boolean&nbsp;shouldAlwaysUseTempStorageForModifyAll()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">INTERNAL:
That method affects UpdateAllQuery and DeleteAllQuery execution.
In case it returns false modify all queries would attempt to proceed
without using temporary storage if it is possible.
In case it returns true modify all queries would use temporary storage unless
each modify statement doesn't reference any other tables.
May need to override this method if the platform can't handle the sql
generated for modify all queries without using temporary storage.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>shouldAlwaysUseTempStorageForModifyAll</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="shouldBindLiterals--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldBindLiterals</h4>
<pre>public&nbsp;boolean&nbsp;shouldBindLiterals()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">PUBLIC:
Allows platform to choose whether to bind literals in DatabaseCalls or not.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>shouldBindLiterals</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="shouldPrintOuterJoinInWhereClause--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldPrintOuterJoinInWhereClause</h4>
<pre>public&nbsp;boolean&nbsp;shouldPrintOuterJoinInWhereClause()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">Some database require outer joins to be given in the where clause, others require it in the from clause.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>shouldPrintOuterJoinInWhereClause</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="shouldUseJDBCOuterJoinSyntax--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldUseJDBCOuterJoinSyntax</h4>
<pre>public&nbsp;boolean&nbsp;shouldUseJDBCOuterJoinSyntax()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">JDBC defines and outer join syntax, many drivers do not support this. So we normally avoid it.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>shouldUseJDBCOuterJoinSyntax</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="supportsSequenceObjects--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsSequenceObjects</h4>
<pre>public&nbsp;boolean&nbsp;supportsSequenceObjects()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></span></div>
<div class="block">INTERNAL:
Indicates whether the platform supports sequence objects.
This method is to be used *ONLY* by sequencing classes</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>supportsSequenceObjects</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></dd>
</dl>
</li>
</ul>
<a name="canBatchWriteWithOptimisticLocking-org.eclipse.persistence.internal.databaseaccess.DatabaseCall-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>canBatchWriteWithOptimisticLocking</h4>
<pre>public&nbsp;boolean&nbsp;canBatchWriteWithOptimisticLocking(org.eclipse.persistence.internal.databaseaccess.DatabaseCall&nbsp;call)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">INTERNAL:
Supports Batch Writing with Optimistic Locking.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>canBatchWriteWithOptimisticLocking</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="executeBatch-java.sql.Statement-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executeBatch</h4>
<pre>public&nbsp;int&nbsp;executeBatch(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</a>&nbsp;statement,
boolean&nbsp;isStatementPrepared)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">Internal: This gets called on each batch statement execution
Needs to be implemented so that it returns the number of rows successfully modified
by this statement for optimistic locking purposes.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>executeBatch</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dd><code>isStatementPrepared</code> - - flag is set to true if this statement is prepared</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>- number of rows modified/deleted by this statement</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></code></dd>
</dl>
</li>
</ul>
<a name="supportsForeignKeyConstraints--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsForeignKeyConstraints</h4>
<pre>public&nbsp;boolean&nbsp;supportsForeignKeyConstraints()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>supportsForeignKeyConstraints</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getInputProcedureToken--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInputProcedureToken</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;getInputProcedureToken()</pre>
<div class="block">Used for stored procedure creation: Prefix for INPUT parameters. Not required on most
platforms.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getInputProcedureToken</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getOutputProcedureToken--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOutputProcedureToken</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;getOutputProcedureToken()</pre>
<div class="block">This method is used to print the output parameter token when stored procedures are called</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getOutputProcedureToken</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getProcedureCallTail--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProcedureCallTail</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;getProcedureCallTail()</pre>
<div class="block">Used for sp calls.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getProcedureCallTail</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="shouldPrintStoredProcedureArgumentNameInCall--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldPrintStoredProcedureArgumentNameInCall</h4>
<pre>public&nbsp;boolean&nbsp;shouldPrintStoredProcedureArgumentNameInCall()</pre>
<div class="block">INTERNAL: Should the variable name of a stored procedure call be printed as part of the
procedure call e.g. EXECUTE PROCEDURE MyStoredProc(myvariable = ?)</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>shouldPrintStoredProcedureArgumentNameInCall</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="supportsStoredFunctions--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsStoredFunctions</h4>
<pre>public&nbsp;boolean&nbsp;supportsStoredFunctions()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>supportsStoredFunctions</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="appendDate-java.sql.Date-java.io.Writer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendDate</h4>
<pre>protected&nbsp;void&nbsp;appendDate(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a>&nbsp;date,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">Answer a platform correct string representation of a Date, suitable for SQL generation.
The date is printed in the ODBC platform independent format {d 'yyyy-mm-dd'}.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>appendDate</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="appendTime-java.sql.Time-java.io.Writer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendTime</h4>
<pre>protected&nbsp;void&nbsp;appendTime(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Time.html?is-external=true" title="class or interface in java.sql">Time</a>&nbsp;time,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">Answer a platform correct string representation of a Time, suitable for SQL generation.
The time is printed in the ODBC platform independent format {t'hh:mm:ss'}.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>appendTime</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="appendTimestamp-java.sql.Timestamp-java.io.Writer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendTimestamp</h4>
<pre>protected&nbsp;void&nbsp;appendTimestamp(<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a>&nbsp;timestamp,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">Answer a platform correct string representation of a Timestamp, suitable for SQL generation.
The timestamp is printed in the ODBC platform independent timestamp format {ts'YYYY-MM-DD HH:MM:SS.NNNNNNNNN'}.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>appendTimestamp</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="appendCalendar-java.util.Calendar-java.io.Writer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendCalendar</h4>
<pre>protected&nbsp;void&nbsp;appendCalendar(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html?is-external=true" title="class or interface in java.util">Calendar</a>&nbsp;calendar,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">Answer a platform correct string representation of a Calendar as a Timestamp, suitable for SQL generation.
The calendar is printed in the ODBC platform independent timestamp format {ts'YYYY-MM-DD HH:MM:SS.NNNNNNNNN'}.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>appendCalendar</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="writeAddColumnClause-java.io.Writer-org.eclipse.persistence.internal.sessions.AbstractSession-org.eclipse.persistence.tools.schemaframework.TableDefinition-org.eclipse.persistence.tools.schemaframework.FieldDefinition-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeAddColumnClause</h4>
<pre>public&nbsp;void&nbsp;writeAddColumnClause(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer,
org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session,
<a href="../../../../../org/eclipse/persistence/tools/schemaframework/TableDefinition.html" title="class in org.eclipse.persistence.tools.schemaframework">TableDefinition</a>&nbsp;table,
<a href="../../../../../org/eclipse/persistence/tools/schemaframework/FieldDefinition.html" title="class in org.eclipse.persistence.tools.schemaframework">FieldDefinition</a>&nbsp;field)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">INTERNAL:
May need to override this method if the platform supports ALTER TABLE ADD &lt;column&gt;
and the generated sql doesn't work.
Write the string that follows ALTER TABLE to create a sql statement for
the platform in order to append a new column to an existing table.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>writeAddColumnClause</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="getProcedureCallHeader--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getProcedureCallHeader</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;getProcedureCallHeader()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">Used for sp calls.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getProcedureCallHeader</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</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="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 class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/persistence/platform/database/H2Platform.html" title="class in org.eclipse.persistence.platform.database"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/persistence/platform/database/HSQLPlatform.html" title="class in org.eclipse.persistence.platform.database"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/platform/database/HANAPlatform.html" target="_top">Frames</a></li>
<li><a href="HANAPlatform.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><a href="#fields.inherited.from.class.org.eclipse.persistence.platform.database.DatabasePlatform">Field</a>&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>Copyright &#169; 2007&#x2013;2021 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>