blob: 45ff20deda3bbb3279503ea29adb912ba42b3d8d [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:55 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SymfowarePlatform (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="SymfowarePlatform (EclipseLink 3.0.2, API Reference)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"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":9,"i28":10,"i29":9,"i30":10,"i31":10,"i32":10,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":10,"i41":9,"i42":9,"i43":9,"i44":10,"i45":10,"i46":10,"i47":10,"i48":9,"i49":9,"i50":9,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":9,"i61":9,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":9,"i71":9,"i72":9,"i73":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/SybasePlatform.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/TimesTen7Platform.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/SymfowarePlatform.html" target="_top">Frames</a></li>
<li><a href="SymfowarePlatform.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 SymfowarePlatform" class="title">Class SymfowarePlatform</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.SymfowarePlatform</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 class <span class="typeNameLabel">SymfowarePlatform</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">Symfoware Server<br>
http://wiki.eclipse.org/EclipseLink/Development/Incubator/Extensions/SymfowarePlatform <br>
Test results: http://wiki.eclipse.org/EclipseLink/Development/DatabasePlatform/SymfowarePlatform/TestResults <br>
Contributed by: Fujitsu Ltd.<br>
Contributed under bug: 288715
<p>
Developed on Symfoware Server V10<br>
Initial SRG Passes on Symfoware Server V10<br>
<p><b>Feature Testing</b><br>
----------------------
<ul>
<li> DDL Generation - Succeeds
<li> Outer Join - Succeeds
<li> Subquery - Succeeds with Limitations
<li> Stored Procedure Calls - Succeeds
<li> Stored Procedure Generation - Succeeds
<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> Spaces cannot be used in table, column or sequence names. (bug 304906)
<li> Input parameters cannot be used as first two arguments to the LOCATE function at the same time. (bug 304897)
<li> The first argument to the SUBSTRING function cannot be an input parameter. (bug 304897)
<li> Input parameters cannot be used as adjacent arguments to the CONCAT function. Concatenate the values in Java code first and pass the result to the query instead. (bug 304897)
<li> Input parameters cannot be used at both sides of an operand at the same time in an SQL statement (e.g. '? * ?'). Perform the operation in Java code first and pass the result to the query instead.
<li> Identity fields cannot be used. When primary key generation type IDENTITY is specified, a database sequence will be used instead.
<li> Pessimistic Locking adds 'FOR UPDATE' to the SELECT statement, and cannot be used with queries that use DISTINCT. (bug 304903)
<li> Pessimistic Locking cannot be used with queries that select from multiple tables. (bug 304903)
<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> Query timeout cannot be used; the timeout value is silently ignored. (bug 304905)
<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). (See bug 298193).
<li> Dropping of tables, sequences and procedures while the database connection is still open can fail due to unreleased locks. Shut down the Java process that executed the create operation before performing the drop operation, or have the create operation use an unpooled connection that is closed after use (GlassFish's deploy-time table generation function uses an unpooled connection).
<li> The standard deviation (STDDEV) and variance (VARIANCE) functions cannot be used. (bug 304909)
<li> '= NULL' and '&lt;&gt; NULL' cannot be used for null comparisons in the WHERE clause. Use 'IS (NOT) NULL' instead.
<li> A scrollable cursor policy of CONCUR_UPDATABLE mode cannot be used with queries that select from multiple tables.
<li> Columns and literals of different type may need casting to allow them to be compared or assigned. (bug 372178) For example:
'SELECT ... WHERE CAST(PHONE_ORDER_VARCHAR AS INTEGER) BETWEEN 0 AND 1'
<li> Subqueries with joins to the outer query are not supported. (see rfe 298193)
<li> Stored functions are not supported. (bug 342409)
<li> Using subquery in select list for query specification or single-row SELECT statement is not allowed. (bug 372172)
<li> The CascadeOnDelete doesn't work on a relation where CascadeType.Remove or CascadeType.All is specified. (bug 342413)
<li> A subquery cannot be specified on both sides of a comparison predicate or a quantified predicate. (bug 378313)
<li> A base table name to be updated cannot be identical to table name in from clause in query or subquery specification (bug 381302)
</ul>
<p><b>Additional Notes</b><br>
----------------
<ul>
<li> When using DDL generation, indices are automatically generated for primary and unique keys.
<li> The MOD(x, y) function is executed as 'CASE WHEN y = 0 THEN x ELSE (x - y * TRUNC( x / y )) END' on Symfoware database, which gives the same result as the MOD function on Oracle database. Input parameters cannot be used for both its arguments at the same time. In such case, calculate the modulus in Java code first and pass the result to the query instead.
<li> When input parameters are used as arguments to the TRIM function, they are substituted with their values before the SQL statement is sent to the JDBC driver.
<li> When an input parameter is used as argument to the UPPER, LOWER or LENGTH functions, it is substituted with its value before the SQL statement is sent to the JDBC driver.
</ul>
<p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../serialized-form.html#org.eclipse.persistence.platform.database.SymfowarePlatform">Serialized Form</a></dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Dies Koper, Wu Jie</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>EclipseLink 2.1</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/SymfowarePlatform.html#SymfowarePlatform--">SymfowarePlatform</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 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/SymfowarePlatform.html#addDate--">addDate</a></span>()</code>
<div class="block">Adds to a date the specified addition number as the specified interval
unit and returns the resulting date.<br>
Builds Symfoware equivalent to addDate(unit, number).<br>
Symfoware: ADD_DATE(date, number, unit)</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/SymfowarePlatform.html#addNonBindingOperator-org.eclipse.persistence.expressions.ExpressionOperator-">addNonBindingOperator</a></span>(<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;operator)</code>
<div class="block">Symfoware does not support the use of parameters in certain functions.<br>
This adds the operator and disables binding support at the same time.</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/SymfowarePlatform.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">Write a Calendar in Symfoware specific format.<br>
Note that Symfoware does not support nanoseconds.<br>
Symfoware: CNV_TIMESTAMP(calendar, 'YYYY-MM-DD hh24:mm:ss')</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/SymfowarePlatform.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">Appends a Date in Symfoware specific format.<br>
Symfoware: DATE'YYYY-MM-DD'</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.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">Appends a Time in Symfoware specific format.<br>
Symfoware: TIME'hh:mm:ss'</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.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">Appends a TimeStamp in Symfoware specific format.<br>
Note that Symfoware does not support the milli- and nanoseconds.<br>
Symfoware: TIMESTAMP'YYYY-MM-DD hh:mm:ss'</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<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>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#buildClassTypes--">buildClassTypes</a></span>()</code>
<div class="block">Return the mapping of database types to class types for the schema
framework.</div>
</td>
</tr>
<tr id="i7" 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/SymfowarePlatform.html#buildCreateIndex-java.lang.String-java.lang.String-java.lang.String-boolean-java.lang.String...-">buildCreateIndex</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;fullTableName,
<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;indexName,
<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;qualifier,
boolean&nbsp;isUnique,
<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;columnNames)</code>
<div class="block">Return the CREATE INDEX string for this platform.</div>
</td>
</tr>
<tr id="i8" 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/SymfowarePlatform.html#buildDropIndex-java.lang.String-java.lang.String-java.lang.String-">buildDropIndex</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;fullTableName,
<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;indexName,
<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;qualifier)</code>
<div class="block">Return the DROP INDEX string for this platform.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<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>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;,org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#buildFieldTypes--">buildFieldTypes</a></span>()</code>
<div class="block">Return the mapping of Java class types to database types for the schema
framework.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<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/SymfowarePlatform.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;seqName,
<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">Produce a DataReadQuery which updates(!) the sequence number in the DB
and returns it.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#charLength--">charLength</a></span>()</code>
<div class="block">Obtains the number of characters in the data string value expression.<br>
Builds Symfoware equivalent to length(string_exp).<br>
Symfoware: CHAR_LENGTH(string_exp)</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#computeMaxRowsForSQL-int-int-">computeMaxRowsForSQL</a></span>(int&nbsp;firstResultIndex,
int&nbsp;maxResults)</code>
<div class="block">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="i13" 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/SymfowarePlatform.html#getCreateTempTableSqlPrefix--">getCreateTempTableSqlPrefix</a></span>()</code>
<div class="block">Returns the beginning of the SQL string to create a temporary table.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<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/SymfowarePlatform.html#getCreateTempTableSqlSuffix--">getCreateTempTableSqlSuffix</a></span>()</code>
<div class="block">Returns the ending of the SQL string to create a temporary table.<br>
Symfoware V10 requires table space name and number of concurrent users.<br>
Maybe this will be implemented in the future, for now it invokes the
super class's method.</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/SymfowarePlatform.html#getDefaultSequenceTableName--">getDefaultSequenceTableName</a></span>()</code>
<div class="block">Returns the table name used by TableSequence by default.</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/SymfowarePlatform.html#getIndexNamePrefix-boolean-">getIndexNamePrefix</a></span>(boolean&nbsp;isUniqueSetOnField)</code>
<div class="block">Used to allow platforms to define their own index prefixes</div>
</td>
</tr>
<tr id="i17" 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/SymfowarePlatform.html#getInOutputProcedureToken--">getInOutputProcedureToken</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="i18" 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/SymfowarePlatform.html#getInputProcedureToken--">getInputProcedureToken</a></span>()</code>
<div class="block">Used for stored procedure creation: Prefix for INPUT parameters.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#getMaxFieldNameSize--">getMaxFieldNameSize</a></span>()</code>
<div class="block">Returns the maximum number of single byte characters that can be used in
a field name on this platform, assuming DEFAULT_DSI_NAME=CODE is
specified in Symfoware's operating environment file for the system (see
Symfoware manual).</div>
</td>
</tr>
<tr id="i20" 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/SymfowarePlatform.html#getProcedureAsString--">getProcedureAsString</a></span>()</code>
<div class="block">Symfoware does not use the AS token.</div>
</td>
</tr>
<tr id="i21" 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/SymfowarePlatform.html#getProcedureBeginString--">getProcedureBeginString</a></span>()</code>
<div class="block">Used for stored procedure definitions.</div>
</td>
</tr>
<tr id="i22" 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/SymfowarePlatform.html#getProcedureCallHeader--">getProcedureCallHeader</a></span>()</code>
<div class="block">Used for stored procedure calls.</div>
</td>
</tr>
<tr id="i23" 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/SymfowarePlatform.html#getProcedureCallTail--">getProcedureCallTail</a></span>()</code>
<div class="block">Used for stored procedure calls.</div>
</td>
</tr>
<tr id="i24" 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/SymfowarePlatform.html#getProcedureEndString--">getProcedureEndString</a></span>()</code>
<div class="block">Used for stored procedure definitions.</div>
</td>
</tr>
<tr id="i25" 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/SymfowarePlatform.html#getSelectForUpdateString--">getSelectForUpdateString</a></span>()</code>
<div class="block">Symfoware supports "for update" for row locking.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<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/SymfowarePlatform.html#getTimestampQuery--">getTimestampQuery</a></span>()</code>
<div class="block">This method returns the query to select the timestamp
from the database.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#greatest--">greatest</a></span>()</code>
<div class="block">Returns the greatest of two values.<br>
Builds Symfoware equivalent to GREATEST(x, y).<br>
Symfoware: CASE WHEN x &gt;= y THEN x ELSE y END</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#initializePlatformOperators--">initializePlatformOperators</a></span>()</code>
<div class="block">Initialize Symfoware platform-specific operators.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#instring--">instring</a></span>()</code>
<div class="block">Evaluates the location of the "tofind" text within the string_exp text.<br>
Builds Symfoware equivalent to Instring(string_exp, tofind).<br>
Symfoware: POSITION(tofind In string_exp)</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/SymfowarePlatform.html#isDynamicSQLRequiredForFunctions--">isDynamicSQLRequiredForFunctions</a></span>()</code>
<div class="block">Symfoware does not support the use of multiple parameters in certain functions.<br>
This allows statements to disable binding only in these cases.</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/SymfowarePlatform.html#isForUpdateCompatibleWithDistinct--">isForUpdateCompatibleWithDistinct</a></span>()</code>
<div class="block">Indicates whether SELECT DISTINCT ...</div>
</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/SymfowarePlatform.html#isSymfoware--">isSymfoware</a></span>()</code>
<div class="block">Identifies this database platform as Symfoware's.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#least--">least</a></span>()</code>
<div class="block">Returns the smallest of two values.<br>
Builds Symfoware equivalent to LEAST(x, y).<br>
Symfoware: CASE WHEN x &lt;= y THEN x ELSE y END</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#leftTrim--">leftTrim</a></span>()</code>
<div class="block">Returns the string left trimmed for white space.<br>
Builds Symfoware equivalent to LTRIM(string_exp).<br>
Symfoware: TRIM(LEADING FROM string_exp)</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#leftTrim2--">leftTrim2</a></span>()</code>
<div class="block">Returns the string left trimmed for white space.<br>
Builds Symfoware equivalent to LTRIM(string_exp, character).<br>
Symfoware: TRIM(LEADING character FROM string_exp)</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#length--">length</a></span>()</code>
<div class="block">Obtains the number of characters in the data string value expression.<br>
Builds Symfoware equivalent to length(string_exp).<br>
Symfoware: CHAR_LENGTH(string_exp)</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#locate--">locate</a></span>()</code>
<div class="block">Evaluates the location of the "tofind" text within the string_exp text.<br>
Builds Symfoware equivalent to locate(string_exp, tofind).<br>
Symfoware: POSITION(tofind IN string_exp)</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#locate2--">locate2</a></span>()</code>
<div class="block">Evaluates the location of the "tofind" text within the "string_exp" text,
starting from the given start position.<br>
Builds Symfoware equivalent to locate(string_exp, tofind, startpos).<br>
Symfoware: LOCATE(tofind IN string_exp, startpos)</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#logOperator--">logOperator</a></span>()</code>
<div class="block">Returns the log10 operator.<br>
Builds Symfoware equivalent to LOG(x).<br>
Symfoware: (LN(x)/LN(10))</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#minimumTimeIncrement--">minimumTimeIncrement</a></span>()</code>
<div class="block">INTERNAL:
Returns the minimum time increment supported by the platform.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#mod--">mod</a></span>()</code>
<div class="block">Returns the remainder of a division.<br>
Builds Symfoware equivalent to Oracle's MOD(x, y).<br>
Note that it returns x when y is 0, and the sign of the remainder is
taken from x.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#monthsBetween--">monthsBetween</a></span>()</code>
<div class="block">Returns the decimal number of months between the two dates.<br>
Builds Symfoware equivalent to monthsBetween(Date, Date).<br>
Symfoware: SPAN_DATE(Date, Date, 'MONTH')</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#nvl--">nvl</a></span>()</code>
<div class="block">Substitute a value when a null value is encountered.<br>
Builds Symfoware equivalent to NVL(string, replace_with).<br>
Symfoware: COALESCE(string, replace_with)</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.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">Print the pagination SQL using Symfoware syntax " WITH OPTION LIMIT (
&lt;max&gt;)".</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#requiresProcedureBrackets--">requiresProcedureBrackets</a></span>()</code>
<div class="block">Used for stored procedure creation: Symfoware needs brackets around
arguments declaration even if no arguments exist, and so returns true.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#requiresUniqueConstraintCreationOnTableCreate--">requiresUniqueConstraintCreationOnTableCreate</a></span>()</code>
<div class="block">Used for table creation.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#retrieveFirstPrimaryKeyOrOne-org.eclipse.persistence.queries.ReportQuery-">retrieveFirstPrimaryKeyOrOne</a></span>(<a href="../../../../../org/eclipse/persistence/queries/ReportQuery.html" title="class in org.eclipse.persistence.queries">ReportQuery</a>&nbsp;subselect)</code>
<div class="block">INTERNAL:
Used by Exists queries because they just need to select a single row.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#rightTrim--">rightTrim</a></span>()</code>
<div class="block">Returns the string right trimmed for white space.<br>
Builds Symfoware equivalent to RTRIM(character).<br>
Symfoware: TRIM(TRAILING FROM string_exp)</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#rightTrim2--">rightTrim2</a></span>()</code>
<div class="block">Returns the string right trimmed for white space.<br>
Builds Symfoware equivalent to RTRIM(string_exp, character).<br>
Symfoware: TRIM(TRAILING character FROM string_exp)</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#roundDate--">roundDate</a></span>()</code>
<div class="block">Returns the date rounded to the year, month or day.<br>
Builds Symfoware equivalent to ROUNDDATE(Date, rounded).<br>
Symfoware: ROUND_DATE(Date, rounded)</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#shouldAlwaysUseTempStorageForModifyAll--">shouldAlwaysUseTempStorageForModifyAll</a></span>()</code>
<div class="block">Symfoware does not support the default syntax generated for update-all
and delete-all queries as they can include the same table in the FROM
clause of the main and the sub-queries.</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#shouldBindLiterals--">shouldBindLiterals</a></span>()</code>
<div class="block">Allows platform to choose whether to bind literals in SQL statements or
not.<br>
Literal binding is enabled for Symfoware in general.</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#shouldCreateIndicesForPrimaryKeys--">shouldCreateIndicesForPrimaryKeys</a></span>()</code>
<div class="block">Used for table creation.</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#shouldCreateIndicesOnUniqueKeys--">shouldCreateIndicesOnUniqueKeys</a></span>()</code>
<div class="block">Used for table creation.</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#shouldPrintInputTokenAtStart--">shouldPrintInputTokenAtStart</a></span>()</code>
<div class="block">Used for stored procedure creation: Some platforms want to print prefix
for INPUT arguments BEFORE NAME.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#shouldPrintOutputTokenAtStart--">shouldPrintOutputTokenAtStart</a></span>()</code>
<div class="block">This is required in the construction of the stored procedures with output
parameters</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#shouldPrintOutputTokenBeforeType--">shouldPrintOutputTokenBeforeType</a></span>()</code>
<div class="block">This is required in the construction of the stored procedures with output
parameters</div>
</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#shouldPrintStoredProcedureArgumentNameInCall--">shouldPrintStoredProcedureArgumentNameInCall</a></span>()</code>
<div class="block">Symfoware stored procedure calls do not require the argument name be
printed in the call string.<br>
E.g.</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#shouldPrintStoredProcedureVariablesAfterBeginString--">shouldPrintStoredProcedureVariablesAfterBeginString</a></span>()</code>
<div class="block">Used for stored procedure creation: Symfoware declares variables AFTER
the procedure body's BEGIN string.</div>
</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#singleArgumentSubstring--">singleArgumentSubstring</a></span>()</code>
<div class="block">Gets the substring of a string starting from the specified start
position.<br>
Builds Symfoware equivalent to SUBSTRING(string_exp, startpos).<br>
Symfoware: SUBSTRING(string_exp FROM startpos)</div>
</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#substring--">substring</a></span>()</code>
<div class="block">Gets the substring of source bounded by start location to end location.</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#supportsANSIInnerJoinSyntax--">supportsANSIInnerJoinSyntax</a></span>()</code>
<div class="block">Indicates whether the ANSI syntax for inner joins (e.g.</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#supportsForeignKeyConstraints--">supportsForeignKeyConstraints</a></span>()</code>
<div class="block">Symfoware does not support foreign key constraint syntax, so returns
false.</div>
</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#supportsGlobalTempTables--">supportsGlobalTempTables</a></span>()</code>
<div class="block">Indicates whether the platform supports global temporary tables.</div>
</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#supportsIndividualTableLocking--">supportsIndividualTableLocking</a></span>()</code>
<div class="block">Indicates whether locking clause could be selectively applied only to
some tables in a ReadQuery.<br>
Symfoware platform currently only supports FOR UPDATE locking, which
cannot be applied to queries that select from multiple tables.</div>
</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#supportsLockingQueriesWithMultipleTables--">supportsLockingQueriesWithMultipleTables</a></span>()</code>
<div class="block">Indicates whether locking clause could be applied to the query that has
more than one table.<br>
Symfoware platform currently only supports FOR UPDATE locking, which
cannot be applied to queries that select from multiple tables.</div>
</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#supportsSequenceObjects--">supportsSequenceObjects</a></span>()</code>
<div class="block">Indicates whether the platform supports sequence objects.<br>
Symfoware does through global sequence objects.</div>
</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#supportsStoredFunctions--">supportsStoredFunctions</a></span>()</code>
<div class="block">Indicates whether the platform supports stored functions.<br>
Although Symfoware supports some stored functions as function routines,
their functionality is incompatible with the one EclipseLink provides.</div>
</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#supportsUniqueKeyConstraints--">supportsUniqueKeyConstraints</a></span>()</code>
<div class="block">Symfoware supports unique key constraints, so returns true.<br>
Do note that unique constraints cannot be added/removed using
"ALTER TABLE ADD/DROP CONSTRAINT" syntax.</div>
</td>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#toDate--">toDate</a></span>()</code>
<div class="block">Converts the character value expression of the conversion source to the
DATE type in accordance.<br>
Builds Symfoware equivalent to toDate(Date, format).<br>
Symfoware: CNV_DATE(Date, 'YYYY-MM-DD')</div>
</td>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#toNumber--">toNumber</a></span>()</code>
<div class="block">Returns the number converted from the string.<br>
Builds Symfoware equivalent to ToNumber(string_exp).<br>
Symfoware: CAST(string_exp AS SMALLINT)</div>
</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code>protected 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/SymfowarePlatform.html#truncateDate--">truncateDate</a></span>()</code>
<div class="block">Truncates a date by using the truncating unit.<br>
Builds Symfoware equivalent to truncateDate(date, unit).<br>
Symfoware: TRUNC_DATE(date, unit)</div>
</td>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#wasFailureCommunicationBased-java.sql.SQLException-java.sql.Connection-org.eclipse.persistence.internal.sessions.AbstractSession-">wasFailureCommunicationBased</a></span>(<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>&nbsp;exception,
<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&nbsp;connection,
org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;sessionForProfile)</code>
<div class="block">Fail-over is not implemented on platform.</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, buildCreateIndex, buildDropIndex, buildProcedureCallString, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, canBatchWriteWithOptimisticLocking, canBuildCallWithReturning, checkTableExists, commitTransaction, 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, getCreateViewString, getCreationInOutputProcedureToken, getCreationOutputProcedureToken, getCursorCode, getCustomModifyValueForCall, getDriverSupportsNVarChar, getDropCascadeString, getDropDatabaseSchemaString, getFieldTypeDefinition, getFieldTypes, getFunctionCallHeader, getJDBCOuterJoinString, getJDBCType, getJDBCType, getJDBCTypeForSetNull, getJdbcTypeName, getMaxBatchWritingSize, getMaxForeignKeyNameSize, getMaxIndexNameSize, getMaxUniqueKeyNameSize, getNoWaitString, getObjectFromResultSet, getOutputProcedureToken, getParameterValueFromDatabaseCall, getParameterValueFromDatabaseCall, getPartitioningCallback, getPingSQL, getProcedureArgument, getProcedureArgumentString, getProcedureOptionList, getQualifiedName, getQualifiedSequenceTableName, getRefValue, getRefValue, getSelectForUpdateNoWaitString, getSelectForUpdateOfString, getSelectForUpdateWaitString, getSequenceCounterFieldName, getSequenceNameFieldName, getSequencePreallocationSize, getSequenceTableName, getStatementCacheSize, getStoredProcedureParameterPrefix, getStoredProcedureTerminationToken, getStringBindingSize, getStructConverters, getTableCreationSuffix, getTableExistsQuery, getTempTableForTable, getTransactionIsolation, getTypeConverters, getUniqueConstraintDeletionString, getUseNationalCharacterVaryingTypeForString, getVPDClearIdentifierQuery, getVPDCreationFunctionString, getVPDCreationPolicyString, getVPDDeletionString, getVPDSetIdentifierQuery, hasPartitioningCallback, initialize, initializeConnectionData, isAlterSequenceObjectSupported, isCastRequired, isInformixOuterJoin, isJDBCExecuteCompliant, isLobCompatibleWithDistinct, isLockTimeoutException, isNullAllowedInSelectClause, isOutputAllowWithResultSet, isRowCountOutputParameterRequired, isXDBDocument, maximumNumericValues, minimumNumericValues, prepareBatchStatement, printFieldIdentityClause, printFieldNotNullClause, printFieldNullClause, printFieldTypeSize, printFieldTypeSize, printFieldUnique, printFieldUnique, printStoredFunctionReturnKeyWord, printValuelist, printValuelist, registerOutputParameter, registerOutputParameter, registerOutputParameter, registerOutputParameter, requiresNamedPrimaryKeyConstraints, requiresProcedureCallBrackets, requiresProcedureCallOuputToken, requiresTableInIndexDropDDL, requiresTypeNameToRegisterOutputParameter, 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, shouldCreateIndicesOnForeignKeys, shouldForceBindAllParameters, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldIgnoreException, shouldOptimizeDataConversion, shouldPrintAliasForUpdate, shouldPrintConstraintNameAfter, shouldPrintFieldIdentityClause, shouldPrintForUpdateClause, shouldPrintInnerJoinInWhereClause, shouldPrintInOutputTokenBeforeType, shouldPrintLockingClauseAfterWhereClause, shouldPrintOuterJoinInWhereClause, shouldTempTableSpecifyPrimaryKeys, shouldTrimStrings, shouldUseCustomModifyForCall, shouldUseGetSetNString, shouldUseJDBCOuterJoinSyntax, shouldUseRownumFiltering, supportsAutoCommit, supportsAutoConversionToNumericForArithmeticOperations, supportsConnectionUserName, supportsCountDistinctWithMultipleFields, supportsDeleteOnCascade, supportsIndexes, supportsLocalTempTables, supportsNestingOuterJoins, supportsOuterJoinsWithBrackets, supportsPrimaryKeyConstraint, supportsTempTables, supportsUniqueColumns, supportsVPD, supportsWaitForUpdate, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesSequenceTable, usesStreamsForBinding, usesStringBinding, 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, getUpdateSequenceQuery, hasDefaultSequence, initializeDefaultQueries, initIdentitySequences, isAccess, isAttunity, isCloudscape, isDB2, isDB2Z, isDBase, isDerby, isFirebird, isH2, isHANA, isHSQL, isInformix, isMaxDB, isMySQL, isODBC, isOracle, isOracle12, isOracle9, isPervasive, isPointBase, isPostgreSQL, isSQLAnywhere, isSQLServer, isSybase, isTimesTen, isTimesTen7, removeAllSequences, removeIdentitySequences, removeSequence, sequencesAfterCloneCleanup, setConversionManager, setDefaultNativeSequenceToTable, setDefaultSeqenceAtNextValue, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, shouldNativeSequenceUseTransaction, shouldPrepare, shouldSelectDistinctIncludeOrderBy, shouldSelectIncludeOrderBy, supportsIdentity, supportsNativeSequenceNumbers, 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="SymfowarePlatform--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SymfowarePlatform</h4>
<pre>public&nbsp;SymfowarePlatform()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<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">Appends a Date in Symfoware specific format.<br>
Symfoware: DATE'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">Appends a Time in Symfoware specific format.<br>
Symfoware: TIME'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">Appends a TimeStamp in Symfoware specific format.<br>
Note that Symfoware does not support the milli- and nanoseconds.<br>
Symfoware: TIMESTAMP'YYYY-MM-DD hh:mm:ss'</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">Write a Calendar in Symfoware specific format.<br>
Note that Symfoware does not support nanoseconds.<br>
Symfoware: CNV_TIMESTAMP(calendar, 'YYYY-MM-DD hh24:mm:ss')</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="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>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;,org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition&gt;&nbsp;buildFieldTypes()</pre>
<div class="block">Return the mapping of Java 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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>hashtable of Java types to FieldTypeDefinition instances
containing Symfoware SQL types.</dd>
</dl>
</li>
</ul>
<a name="buildClassTypes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildClassTypes</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<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>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&gt;&nbsp;buildClassTypes()</pre>
<div class="block">Return the mapping of database types to class types for the schema
framework.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>buildClassTypes</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the mappings.</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">Initialize Symfoware 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="addNonBindingOperator-org.eclipse.persistence.expressions.ExpressionOperator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addNonBindingOperator</h4>
<pre>protected&nbsp;void&nbsp;addNonBindingOperator(<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;operator)</pre>
<div class="block">Symfoware does not support the use of parameters in certain functions.<br>
This adds the operator and disables binding support at the same time.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>DatasourcePlatform.addOperator(ExpressionOperator)</code>,
<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html#setIsBindingSupported-boolean-"><code>ExpressionOperator.setIsBindingSupported(boolean)</code></a></dd>
</dl>
</li>
</ul>
<a name="isDynamicSQLRequiredForFunctions--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDynamicSQLRequiredForFunctions</h4>
<pre>public&nbsp;boolean&nbsp;isDynamicSQLRequiredForFunctions()</pre>
<div class="block">Symfoware does not support the use of multiple parameters in certain functions.<br>
This allows statements to disable binding only in these cases.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>isDynamicSQLRequiredForFunctions</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></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">Indicates whether SELECT DISTINCT ... FOR UPDATE is allowed by the
platform. (Symfoware 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="isSymfoware--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSymfoware</h4>
<pre>public&nbsp;boolean&nbsp;isSymfoware()</pre>
<div class="block">Identifies this database platform as Symfoware's.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>isSymfoware</code>&nbsp;in interface&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.Platform</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>isSymfoware</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></dd>
</dl>
</li>
</ul>
<a name="length--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>length</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;length()</pre>
<div class="block">Obtains the number of characters in the data string value expression.<br>
Builds Symfoware equivalent to length(string_exp).<br>
Symfoware: CHAR_LENGTH(string_exp)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="charLength--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>charLength</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;charLength()</pre>
<div class="block">Obtains the number of characters in the data string value expression.<br>
Builds Symfoware equivalent to length(string_exp).<br>
Symfoware: CHAR_LENGTH(string_exp)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="locate--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>locate</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;locate()</pre>
<div class="block">Evaluates the location of the "tofind" text within the string_exp text.<br>
Builds Symfoware equivalent to locate(string_exp, tofind).<br>
Symfoware: POSITION(tofind IN string_exp)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="locate2--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>locate2</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;locate2()</pre>
<div class="block">Evaluates the location of the "tofind" text within the "string_exp" text,
starting from the given start position.<br>
Builds Symfoware equivalent to locate(string_exp, tofind, startpos).<br>
Symfoware: LOCATE(tofind IN string_exp, startpos)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="logOperator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>logOperator</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;logOperator()</pre>
<div class="block">Returns the log10 operator.<br>
Builds Symfoware equivalent to LOG(x).<br>
Symfoware: (LN(x)/LN(10))</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="leftTrim--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>leftTrim</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;leftTrim()</pre>
<div class="block">Returns the string left trimmed for white space.<br>
Builds Symfoware equivalent to LTRIM(string_exp).<br>
Symfoware: TRIM(LEADING FROM string_exp)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="leftTrim2--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>leftTrim2</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;leftTrim2()</pre>
<div class="block">Returns the string left trimmed for white space.<br>
Builds Symfoware equivalent to LTRIM(string_exp, character).<br>
Symfoware: TRIM(LEADING character FROM string_exp)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="mod--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mod</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;mod()</pre>
<div class="block">Returns the remainder of a division.<br>
Builds Symfoware equivalent to Oracle's MOD(x, y).<br>
Note that it returns x when y is 0, and the sign of the remainder is
taken from x.
Symfoware: CASE WHEN y = 0 THEN x ELSE (x - y * TRUNC( x / y )) END</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="rightTrim--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rightTrim</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;rightTrim()</pre>
<div class="block">Returns the string right trimmed for white space.<br>
Builds Symfoware equivalent to RTRIM(character).<br>
Symfoware: TRIM(TRAILING FROM string_exp)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="rightTrim2--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rightTrim2</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;rightTrim2()</pre>
<div class="block">Returns the string right trimmed for white space.<br>
Builds Symfoware equivalent to RTRIM(string_exp, character).<br>
Symfoware: TRIM(TRAILING character FROM string_exp)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="substring--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>substring</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;substring()</pre>
<div class="block">Gets the substring of source bounded by start location to end location. <br>
Builds Symfoware equivalent to SUBSTRING(string_exp, startpos, length).<br>
Symfoware: SUBSTRING(string_exp FROM startpos FOR length)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="singleArgumentSubstring--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>singleArgumentSubstring</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;singleArgumentSubstring()</pre>
<div class="block">Gets the substring of a string starting from the specified start
position.<br>
Builds Symfoware equivalent to SUBSTRING(string_exp, startpos).<br>
Symfoware: SUBSTRING(string_exp FROM startpos)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="toNumber--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toNumber</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;toNumber()</pre>
<div class="block">Returns the number converted from the string.<br>
Builds Symfoware equivalent to ToNumber(string_exp).<br>
Symfoware: CAST(string_exp AS SMALLINT)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="instring--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>instring</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;instring()</pre>
<div class="block">Evaluates the location of the "tofind" text within the string_exp text.<br>
Builds Symfoware equivalent to Instring(string_exp, tofind).<br>
Symfoware: POSITION(tofind In string_exp)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="monthsBetween--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>monthsBetween</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;monthsBetween()</pre>
<div class="block">Returns the decimal number of months between the two dates.<br>
Builds Symfoware equivalent to monthsBetween(Date, Date).<br>
Symfoware: SPAN_DATE(Date, Date, 'MONTH')</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="roundDate--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>roundDate</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;roundDate()</pre>
<div class="block">Returns the date rounded to the year, month or day.<br>
Builds Symfoware equivalent to ROUNDDATE(Date, rounded).<br>
Symfoware: ROUND_DATE(Date, rounded)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="toDate--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toDate</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;toDate()</pre>
<div class="block">Converts the character value expression of the conversion source to the
DATE type in accordance.<br>
Builds Symfoware equivalent to toDate(Date, format).<br>
Symfoware: CNV_DATE(Date, 'YYYY-MM-DD')</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="addDate--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addDate</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;addDate()</pre>
<div class="block">Adds to a date the specified addition number as the specified interval
unit and returns the resulting date.<br>
Builds Symfoware equivalent to addDate(unit, number).<br>
Symfoware: ADD_DATE(date, number, unit)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="truncateDate--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>truncateDate</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;truncateDate()</pre>
<div class="block">Truncates a date by using the truncating unit.<br>
Builds Symfoware equivalent to truncateDate(date, unit).<br>
Symfoware: TRUNC_DATE(date, unit)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="nvl--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nvl</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;nvl()</pre>
<div class="block">Substitute a value when a null value is encountered.<br>
Builds Symfoware equivalent to NVL(string, replace_with).<br>
Symfoware: COALESCE(string, replace_with)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="greatest--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>greatest</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;greatest()</pre>
<div class="block">Returns the greatest of two values.<br>
Builds Symfoware equivalent to GREATEST(x, y).<br>
Symfoware: CASE WHEN x &gt;= y THEN x ELSE y END</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</dd>
</dl>
</li>
</ul>
<a name="least--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>least</h4>
<pre>protected static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;least()</pre>
<div class="block">Returns the smallest of two values.<br>
Builds Symfoware equivalent to LEAST(x, y).<br>
Symfoware: CASE WHEN x &lt;= y THEN x ELSE y END</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the defined expression operator.</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">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.
<pre>
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
</pre>
Symfoware uses case #2 and therefore the maxResults has to be altered
based on the firstResultIndex.</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="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;seqName,
<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">Produce a DataReadQuery which updates(!) the sequence number in the DB
and returns it.</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>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>seqName</code> - known by Symfoware to be a defined sequence</dd>
<dd><code>size</code> - size of sequence</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ValueReadQuery class to perform a read of a single data value.</dd>
</dl>
</li>
</ul>
<a name="buildCreateIndex-java.lang.String-java.lang.String-java.lang.String-boolean-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildCreateIndex</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;buildCreateIndex(<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;fullTableName,
<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;indexName,
<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;qualifier,
boolean&nbsp;isUnique,
<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;columnNames)</pre>
<div class="block">Return the CREATE INDEX string for this platform.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>buildCreateIndex</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fullTableName</code> - qualified name of the table the index is to be created on</dd>
<dd><code>indexName</code> - name of the index</dd>
<dd><code>qualifier</code> - qualifier to construct qualified name of index if needed</dd>
<dd><code>isUnique</code> - Indicates whether uniqe index is created</dd>
<dd><code>columnNames</code> - one or more columns the index is created for</dd>
</dl>
</li>
</ul>
<a name="buildDropIndex-java.lang.String-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildDropIndex</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;buildDropIndex(<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;fullTableName,
<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;indexName,
<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;qualifier)</pre>
<div class="block">Return the DROP INDEX string for this platform.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>buildDropIndex</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fullTableName</code> - qualified name of the table the index is to be created on</dd>
<dd><code>indexName</code> - name of the index</dd>
<dd><code>qualifier</code> - qualifier to construct qualified name of index if needed</dd>
</dl>
</li>
</ul>
<a name="getCreateTempTableSqlPrefix--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCreateTempTableSqlPrefix</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;getCreateTempTableSqlPrefix()</pre>
<div class="block">Returns the beginning of the SQL string to create a temporary table.</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>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#shouldAlwaysUseTempStorageForModifyAll--"><code>shouldAlwaysUseTempStorageForModifyAll()</code></a></dd>
</dl>
</li>
</ul>
<a name="getCreateTempTableSqlSuffix--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCreateTempTableSqlSuffix</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;getCreateTempTableSqlSuffix()</pre>
<div class="block">Returns the ending of the SQL string to create a temporary table.<br>
Symfoware V10 requires table space name and number of concurrent users.<br>
Maybe this will be implemented in the future, for now it invokes the
super class's method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getCreateTempTableSqlSuffix</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getDefaultSequenceTableName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultSequenceTableName</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;getDefaultSequenceTableName()</pre>
<div class="block">Returns the table name used by TableSequence by default. Symfoware does
not allow reserved keyword 'SEQUENCE' as table name, so returns
"SEQUENCE" (with double-quotes) instead.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getDefaultSequenceTableName</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getIndexNamePrefix-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIndexNamePrefix</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;getIndexNamePrefix(boolean&nbsp;isUniqueSetOnField)</pre>
<div class="block">Used to allow platforms to define their own index prefixes</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getIndexNamePrefix</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>isUniqueSetOnField</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
</dl>
</li>
</ul>
<a name="getInOutputProcedureToken--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInOutputProcedureToken</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;getInOutputProcedureToken()</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>getInOutputProcedureToken</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.</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="getMaxFieldNameSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxFieldNameSize</h4>
<pre>public&nbsp;int&nbsp;getMaxFieldNameSize()</pre>
<div class="block">Returns the maximum number of single byte characters that can be used in
a field name on this platform, assuming DEFAULT_DSI_NAME=CODE is
specified in Symfoware's operating environment file for the system (see
Symfoware manual).</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="getProcedureAsString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProcedureAsString</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;getProcedureAsString()</pre>
<div class="block">Symfoware does not use the AS token.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getProcedureAsString</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getProcedureCallHeader--">
<!-- -->
</a>
<ul class="blockList">
<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">Used for stored procedure 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>
<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 stored procedure 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="getProcedureBeginString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProcedureBeginString</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;getProcedureBeginString()</pre>
<div class="block">Used for stored procedure definitions.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getProcedureBeginString</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getProcedureEndString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProcedureEndString</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;getProcedureEndString()</pre>
<div class="block">Used for stored procedure definitions.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getProcedureEndString</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">Symfoware supports "for update" for row locking.</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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the string of "for update".</dd>
</dl>
</li>
</ul>
<a name="getTimestampQuery--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTimestampQuery</h4>
<pre>public&nbsp;<a href="../../../../../org/eclipse/persistence/queries/ValueReadQuery.html" title="class in org.eclipse.persistence.queries">ValueReadQuery</a>&nbsp;getTimestampQuery()</pre>
<div class="block">This method returns the query to select the timestamp
from the database.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getTimestampQuery</code>&nbsp;in interface&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.Platform</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getTimestampQuery</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></dd>
</dl>
</li>
</ul>
<a name="minimumTimeIncrement--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>minimumTimeIncrement</h4>
<pre>public&nbsp;long&nbsp;minimumTimeIncrement()</pre>
<div class="block">INTERNAL:
Returns the minimum time increment supported by the platform.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>minimumTimeIncrement</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</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">Print the pagination SQL using Symfoware syntax " WITH OPTION LIMIT (
&lt;max&gt;)". There is no equivalent to 'OFFSET'.<br>
Even though most performance benefit comes from including the offset in
the SQL statement, for this platform the benefit of including LIMIT is
that it allows pagination with result sets with scrollable cursors too
(which the Symfoware JDBC driver's setMaxRows method does not support).</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="requiresProcedureBrackets--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requiresProcedureBrackets</h4>
<pre>public&nbsp;boolean&nbsp;requiresProcedureBrackets()</pre>
<div class="block">Used for stored procedure creation: Symfoware needs brackets around
arguments declaration even if no arguments exist, and so returns true.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>requiresProcedureBrackets</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">Used for table creation. Symfoware does not support the ALTER TABLE
syntax to add/drop unique constraints, but it does allow declaration of
(single and multi-column) unique constraints as part of the CREATE TABLE
statement.</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="retrieveFirstPrimaryKeyOrOne-org.eclipse.persistence.queries.ReportQuery-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>retrieveFirstPrimaryKeyOrOne</h4>
<pre>public&nbsp;void&nbsp;retrieveFirstPrimaryKeyOrOne(<a href="../../../../../org/eclipse/persistence/queries/ReportQuery.html" title="class in org.eclipse.persistence.queries">ReportQuery</a>&nbsp;subselect)</pre>
<div class="block">INTERNAL:
Used by Exists queries because they just need to select a single row.
In most databases, we will select one of the primary key fields.
On Syfoware, there are situations where the key cannot be used.
See: https://bugs.eclipse.org/bugs/show_bug.cgi?id=303396</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>retrieveFirstPrimaryKeyOrOne</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>subselect</code> - </dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html" title="class in org.eclipse.persistence.platform.database"><code>SymfowarePlatform</code></a></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">Symfoware does not support the default syntax generated for update-all
and delete-all queries as they can include the same table in the FROM
clause of the main and the sub-queries. However, the alternative of using
global temporary tables leads to table locking issues, so returns false
to prevent the use of global temporary tables.</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">Allows platform to choose whether to bind literals in SQL statements or
not.<br>
Literal binding is enabled for Symfoware in general. As a number of
functions and operators have restrictions on the use of input parameters,
it is disabled for those.</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>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#isDynamicSQLRequiredForFunctions--"><code>isDynamicSQLRequiredForFunctions()</code></a></dd>
</dl>
</li>
</ul>
<a name="shouldCreateIndicesForPrimaryKeys--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldCreateIndicesForPrimaryKeys</h4>
<pre>public&nbsp;boolean&nbsp;shouldCreateIndicesForPrimaryKeys()</pre>
<div class="block">Used for table creation. Symfoware needs an index to be created
explicitly for columns with a primary key constraint.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>shouldCreateIndicesForPrimaryKeys</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true: indices should be created during table generation</dd>
</dl>
</li>
</ul>
<a name="shouldCreateIndicesOnUniqueKeys--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldCreateIndicesOnUniqueKeys</h4>
<pre>public&nbsp;boolean&nbsp;shouldCreateIndicesOnUniqueKeys()</pre>
<div class="block">Used for table creation. Symfoware needs an index to be created
explicitly for columns with a unique constraint.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>shouldCreateIndicesOnUniqueKeys</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true: indices should be created during table generation</dd>
</dl>
</li>
</ul>
<a name="shouldPrintInputTokenAtStart--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldPrintInputTokenAtStart</h4>
<pre>public&nbsp;boolean&nbsp;shouldPrintInputTokenAtStart()</pre>
<div class="block">Used for stored procedure creation: Some platforms want to print prefix
for INPUT arguments BEFORE NAME. If wanted, override and return true.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>shouldPrintInputTokenAtStart</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="shouldPrintOutputTokenBeforeType--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldPrintOutputTokenBeforeType</h4>
<pre>public&nbsp;boolean&nbsp;shouldPrintOutputTokenBeforeType()</pre>
<div class="block">This is required in the construction of the stored procedures with output
parameters</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>shouldPrintOutputTokenBeforeType</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="shouldPrintOutputTokenAtStart--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldPrintOutputTokenAtStart</h4>
<pre>public&nbsp;boolean&nbsp;shouldPrintOutputTokenAtStart()</pre>
<div class="block">This is required in the construction of the stored procedures with output
parameters</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>shouldPrintOutputTokenAtStart</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">Symfoware stored procedure calls do not require the argument name be
printed in the call string.<br>
E.g. call MyStoredProc(?) instead of call 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="shouldPrintStoredProcedureVariablesAfterBeginString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldPrintStoredProcedureVariablesAfterBeginString</h4>
<pre>public&nbsp;boolean&nbsp;shouldPrintStoredProcedureVariablesAfterBeginString()</pre>
<div class="block">Used for stored procedure creation: Symfoware declares variables AFTER
the procedure body's BEGIN string.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>shouldPrintStoredProcedureVariablesAfterBeginString</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="supportsANSIInnerJoinSyntax--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsANSIInnerJoinSyntax</h4>
<pre>public&nbsp;boolean&nbsp;supportsANSIInnerJoinSyntax()</pre>
<div class="block">Indicates whether the ANSI syntax for inner joins (e.g. SELECT FROM t1
JOIN t2 ON t1.pk = t2.fk) is supported by this platform. Symfoware does
not.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>supportsANSIInnerJoinSyntax</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</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>
<div class="block">Symfoware does not support foreign key constraint syntax, so returns
false.</div>
<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="supportsGlobalTempTables--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsGlobalTempTables</h4>
<pre>public&nbsp;boolean&nbsp;supportsGlobalTempTables()</pre>
<div class="block">Indicates whether the platform supports global temporary tables. Although
Symfoware does, it leads to table locking issues when used from
EclipseLink.</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>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/platform/database/SymfowarePlatform.html#shouldAlwaysUseTempStorageForModifyAll--"><code>shouldAlwaysUseTempStorageForModifyAll()</code></a></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">Indicates whether locking clause could be selectively applied only to
some tables in a ReadQuery.<br>
Symfoware platform currently only supports FOR UPDATE locking, which
cannot be applied to queries that select from multiple tables. Use of
other locking strategies (LOCK_MODE) are yet to be explored.</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="supportsLockingQueriesWithMultipleTables--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsLockingQueriesWithMultipleTables</h4>
<pre>public&nbsp;boolean&nbsp;supportsLockingQueriesWithMultipleTables()</pre>
<div class="block">Indicates whether locking clause could be applied to the query that has
more than one table.<br>
Symfoware platform currently only supports FOR UPDATE locking, which
cannot be applied to queries that select from multiple tables. Use of
other locking strategies (LOCK_MODE) are yet to be explored.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>supportsLockingQueriesWithMultipleTables</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">Indicates whether the platform supports sequence objects.<br>
Symfoware does through global sequence objects.</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>
<div class="block">Indicates whether the platform supports stored functions.<br>
Although Symfoware supports some stored functions as function routines,
their functionality is incompatible with the one EclipseLink provides.
So, return false;</div>
<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="supportsUniqueKeyConstraints--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsUniqueKeyConstraints</h4>
<pre>public&nbsp;boolean&nbsp;supportsUniqueKeyConstraints()</pre>
<div class="block">Symfoware supports unique key constraints, so returns true.<br>
Do note that unique constraints cannot be added/removed using
"ALTER TABLE ADD/DROP CONSTRAINT" syntax.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>supportsUniqueKeyConstraints</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/SymfowarePlatform.html#requiresUniqueConstraintCreationOnTableCreate--"><code>requiresUniqueConstraintCreationOnTableCreate()</code></a></dd>
</dl>
</li>
</ul>
<a name="wasFailureCommunicationBased-java.sql.SQLException-java.sql.Connection-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>wasFailureCommunicationBased</h4>
<pre>public&nbsp;boolean&nbsp;wasFailureCommunicationBased(<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>&nbsp;exception,
<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&nbsp;connection,
org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;sessionForProfile)</pre>
<div class="block">Fail-over is not implemented on platform. This method returns false no
matter what caused the failure.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>wasFailureCommunicationBased</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>false</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/SybasePlatform.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/TimesTen7Platform.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/SymfowarePlatform.html" target="_top">Frames</a></li>
<li><a href="SymfowarePlatform.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>