blob: e048859fc16341226dc24746c3d8e40167f18833 [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:53 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>MaxDBPlatform (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="MaxDBPlatform (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":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="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/JavaDBPlatform.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/MySQLPlatform.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/MaxDBPlatform.html" target="_top">Frames</a></li>
<li><a href="MaxDBPlatform.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 MaxDBPlatform" class="title">Class MaxDBPlatform</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.MaxDBPlatform</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">MaxDBPlatform</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 MaxDB.</b>
<p>
<a href="http://wiki.eclipse.org/EclipseLink/Development/DatabasePlatform/MaxDBPlatform"><b>Wiki page</b></a>
<p>
<b>Usage</b>
<p>
The MaxDB platform is configured in the persistence.xml by the following property:
<p>
<code>&lt;property name="eclipselink.target-database" value="MaxDB"/&gt;</code>
<p>
Forward mapping with EclipseLink assumes that MaxDB is configured for unicode (in version 7.7, this is the default). Unicode mode also needs to be specified in the URL as follows:
<p>
<code>jdbc:sapdb://localhost/E32?unicode=yes</code>
<p>
<b>Tested with:</b>
<ul>
<li>DB: MaxDB, kernel 7.8.01 build 004-123-218-928</li>
<li>JDBC driver: MaxDB JDBC Driver, SAP AG, 7.6.06 Build 006-000-009-234 (Make-Version: 7.8.01 Build 003-123-215-703)</li>
</ul>
<b>Limitations:</b>
<br>
<ul>
<li>The platform class must not be used with XA transactions - see bug 329773.</li>
<li>SetQueryTimeout or the hint "jakarta.persistence.query.timeout" do not work on MaxDB - see bug 326503.</li>
<li>The hint "jakarta.persistence.lock.timeout" has no effect with a positive value; a value of 0 is translated to NOWAIT.</li>
<li>The maximum width of an index is 1024 bytes on MaxDB. This also limits the size of a primary key. Moreover the primary key of join tables must not exceed this limit either. As it is composed of the primary key of the two tables that are joined, the combined width of the PKs of these two tables must not exceed this limit. See bug bug 326968.</li>
<li>VARCHAR [UNICODE] columns do not preserve trailing spaces - see bug 327435.</li>
<li>VARCHAR BYTE columns do not preserve trailing 0 bytes.</li>
<li>The hint "jakarta.persistence.lock.timeout=0" (NOWAIT) has no effect when atempting to pessimistically lock an entity with inheritance type JOINED - see bug 326799.</li>
<li>Pessimistic locking with lock scope EXTENDED should be used cautiously in the presence of foreign key constraints - see bug 327472.</li>
</ul>
<br></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../serialized-form.html#org.eclipse.persistence.platform.database.MaxDBPlatform">Serialized Form</a></dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Markus KARG (markus at headcrashing.eu), afischbach, agoerler, Sabine Heider (sabine.heider at sap.com), Konstantin Schwed (konstantin.schwed at sap.com)</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/MaxDBPlatform.html#MaxDBPlatform--">MaxDBPlatform</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="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 <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/MaxDBPlatform.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="i1" 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/MaxDBPlatform.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="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/MaxDBPlatform.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="i3" 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/MaxDBPlatform.html#getCreateTempTableSqlPrefix--">getCreateTempTableSqlPrefix</a></span>()</code>
<div class="block">INTERNAL:
Override this method if the platform supports temporary tables.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/MaxDBPlatform.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="i5" 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/MaxDBPlatform.html#getSelectForUpdateNoWaitString--">getSelectForUpdateNoWaitString</a></span>()</code>
<div class="block">This syntax does no wait on the lock.</div>
</td>
</tr>
<tr id="i6" 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/MaxDBPlatform.html#getSelectForUpdateString--">getSelectForUpdateString</a></span>()</code>
<div class="block">Most database support a syntax.</div>
</td>
</tr>
<tr id="i7" 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/MaxDBPlatform.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="i8" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/MaxDBPlatform.html#initializePlatformOperators--">initializePlatformOperators</a></span>()</code>
<div class="block">Initialize any platform-specific operators</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/MaxDBPlatform.html#isForUpdateCompatibleWithDistinct--">isForUpdateCompatibleWithDistinct</a></span>()</code>
<div class="block">INTERNAL:
Indicates whether SELECT DISTINCT ...</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/MaxDBPlatform.html#isMaxDB--">isMaxDB</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/MaxDBPlatform.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="i12" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/MaxDBPlatform.html#shouldAlwaysUseTempStorageForModifyAll--">shouldAlwaysUseTempStorageForModifyAll</a></span>()</code>
<div class="block">INTERNAL:
That method affects UpdateAllQuery and DeleteAllQuery execution.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/MaxDBPlatform.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="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/MaxDBPlatform.html#shouldOptimizeDataConversion--">shouldOptimizeDataConversion</a></span>()</code>
<div class="block">Return if our driver level data conversion optimization is enabled.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/MaxDBPlatform.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="i16" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/MaxDBPlatform.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="i17" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/MaxDBPlatform.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="i18" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/MaxDBPlatform.html#supportsLocalTempTables--">supportsLocalTempTables</a></span>()</code>
<div class="block">INTERNAL:
Indicates whether the platform supports local temporary tables.</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/MaxDBPlatform.html#supportsNativeSequenceNumbers--">supportsNativeSequenceNumbers</a></span>()</code>&nbsp;</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/MaxDBPlatform.html#supportsSequenceObjects--">supportsSequenceObjects</a></span>()</code>
<div class="block">INTERNAL:
Indicates whether the platform supports sequence objects.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/MaxDBPlatform.html#supportsStoredFunctions--">supportsStoredFunctions</a></span>()</code>&nbsp;</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, appendCalendar, appendDate, appendLiteralToCall, appendLiteralToCallWithBinding, appendNumber, appendParameter, appendParameterInternal, appendString, appendTime, appendTimestamp, autoCommit, beginTransaction, buildBatchCriteria, buildBatchCriteriaForComplexId, buildCallWithReturning, buildClassTypes, buildCreateIndex, buildCreateIndex, buildDropIndex, buildDropIndex, buildProcedureCallString, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, canBuildCallWithReturning, checkTableExists, commitTransaction, computeMaxRowsForSQL, convertToDatabaseType, copyInto, createArray, createArray, createPlatformDefaultSequence, createStruct, createStruct, dontBindUpdateAllQueryUsingTempTables, executeBatch, 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, getInputProcedureToken, getJDBCOuterJoinString, getJDBCType, getJDBCType, getJDBCTypeForSetNull, getJdbcTypeName, getMaxBatchWritingSize, getMaxForeignKeyNameSize, getMaxIndexNameSize, getMaxUniqueKeyNameSize, getNoWaitString, getObjectFromResultSet, getOutputProcedureToken, getParameterValueFromDatabaseCall, getParameterValueFromDatabaseCall, getPartitioningCallback, getPingSQL, getProcedureArgument, getProcedureArgumentString, getProcedureAsString, getProcedureBeginString, getProcedureCallHeader, getProcedureCallTail, getProcedureEndString, getProcedureOptionList, getQualifiedName, getQualifiedSequenceTableName, getRefValue, getRefValue, getSelectForUpdateOfString, 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, printSQLSelectStatement, printStoredFunctionReturnKeyWord, printValuelist, printValuelist, registerOutputParameter, registerOutputParameter, registerOutputParameter, registerOutputParameter, requiresNamedPrimaryKeyConstraints, requiresProcedureBrackets, requiresProcedureCallBrackets, requiresProcedureCallOuputToken, requiresTableInIndexDropDDL, requiresTypeNameToRegisterOutputParameter, requiresUniqueConstraintCreationOnTableCreate, 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, shouldPrintStoredProcedureArgumentNameInCall, shouldPrintStoredProcedureVariablesAfterBeginString, shouldTempTableSpecifyPrimaryKeys, shouldTrimStrings, shouldUseCustomModifyForCall, shouldUseGetSetNString, shouldUseRownumFiltering, supportsANSIInnerJoinSyntax, supportsAutoCommit, supportsAutoConversionToNumericForArithmeticOperations, supportsConnectionUserName, supportsCountDistinctWithMultipleFields, supportsDeleteOnCascade, supportsForeignKeyConstraints, supportsGlobalTempTables, supportsIndexes, supportsLockingQueriesWithMultipleTables, supportsNestingOuterJoins, supportsOuterJoinsWithBrackets, supportsPrimaryKeyConstraint, supportsTempTables, supportsUniqueColumns, supportsUniqueKeyConstraints, supportsVPD, supportsWaitForUpdate, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesSequenceTable, usesStreamsForBinding, usesStringBinding, wasFailureCommunicationBased, writeAddColumnClause, 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, isHANA, isHSQL, isInformix, 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="MaxDBPlatform--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MaxDBPlatform</h4>
<pre>public&nbsp;MaxDBPlatform()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<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="getSelectForUpdateString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSelectForUpdateString</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;getSelectForUpdateString()</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">Most database support a syntax. although don't actually lock the row.
Some require the OF some don't like it.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getSelectForUpdateString</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getSelectForUpdateNoWaitString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSelectForUpdateNoWaitString</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;getSelectForUpdateNoWaitString()</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">This syntax does no wait on the lock.
(i.e. In Oracle adding FOR UPDATE NOWAIT to the end will accomplish this)</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getSelectForUpdateNoWaitString</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="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="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="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="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="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="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="isMaxDB--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isMaxDB</h4>
<pre>public&nbsp;boolean&nbsp;isMaxDB()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>isMaxDB</code>&nbsp;in interface&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.Platform</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>isMaxDB</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</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="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="canBatchWriteWithOptimisticLocking-org.eclipse.persistence.internal.databaseaccess.DatabaseCall-">
<!-- -->
</a>
<ul class="blockListLast">
<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>
</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/JavaDBPlatform.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/MySQLPlatform.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/MaxDBPlatform.html" target="_top">Frames</a></li>
<li><a href="MaxDBPlatform.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>