blob: 9a06e033a0db7a165573a41c18f382f6a6b20d72 [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>PostgreSQLPlatform (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="PostgreSQLPlatform (EclipseLink 3.0.2, API Reference)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":9,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":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/PointBasePlatform.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/SQLAnywherePlatform.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/PostgreSQLPlatform.html" target="_top">Frames</a></li>
<li><a href="PostgreSQLPlatform.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 PostgreSQLPlatform" class="title">Class PostgreSQLPlatform</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.PostgreSQLPlatform</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">PostgreSQLPlatform</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"><p>
<b>Purpose</b>: Provides Postgres specific behavior.
<p>
<b>Responsibilities</b>:
<ul>
<li>Native SQL for Date, Time, &amp; Timestamp.
<li>Native sequencing.
<li>Mapping of class types to database types for the schema framework.
<li>Pessimistic locking.
<li>Platform specific operators.
<li>LIMIT/OFFSET query syntax for select statements.
</ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../serialized-form.html#org.eclipse.persistence.platform.database.PostgreSQLPlatform">Serialized Form</a></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>OracleAS TopLink 10<i>g</i> (10.1.3)</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/PostgreSQLPlatform.html#PostgreSQLPlatform--">PostgreSQLPlatform</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#appendBoolean-java.lang.Boolean-java.io.Writer-">appendBoolean</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;bool,
<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 Boolean value.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>org.eclipse.persistence.internal.databaseaccess.DatabaseCall</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#buildCallWithReturning-org.eclipse.persistence.queries.SQLCall-java.util.Vector-">buildCallWithReturning</a></span>(<a href="../../../../../org/eclipse/persistence/queries/SQLCall.html" title="class in org.eclipse.persistence.queries">SQLCall</a>&nbsp;sqlCall,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;returnFields)</code>
<div class="block">INTERNAL:
Uses the returning clause on Postgres.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#buildFieldTypes--">buildFieldTypes</a></span>()</code>
<div class="block">Return the mapping of class types to database types for the schema framework.</div>
</td>
</tr>
<tr id="i3" 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/PostgreSQLPlatform.html#buildProcedureCallString-org.eclipse.persistence.queries.StoredProcedureCall-org.eclipse.persistence.internal.sessions.AbstractSession-org.eclipse.persistence.internal.sessions.AbstractRecord-">buildProcedureCallString</a></span>(<a href="../../../../../org/eclipse/persistence/queries/StoredProcedureCall.html" title="class in org.eclipse.persistence.queries">StoredProcedureCall</a>&nbsp;call,
org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session,
org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;row)</code>
<div class="block">INTERNAL: Used for sp calls.</div>
</td>
</tr>
<tr id="i4" 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/PostgreSQLPlatform.html#buildSelectQueryForIdentity--">buildSelectQueryForIdentity</a></span>()</code>
<div class="block">INTERNAL: Returns query used to read back the value generated by
Identity.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/persistence/queries/ValueReadQuery.html" title="class in org.eclipse.persistence.queries">ValueReadQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.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;qualifiedSeqName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;size)</code>
<div class="block">INTERNAL: Returns query used to read value generated by sequence object
(like Oracle sequence).</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#canBuildCallWithReturning--">canBuildCallWithReturning</a></span>()</code>
<div class="block">INTERNAL:
Postgres has a returning clause.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#computeMaxRowsForSQL-int-int-">computeMaxRowsForSQL</a></span>(int&nbsp;firstResultIndex,
int&nbsp;maxResults)</code>
<div class="block">INTERNAL: Use the JDBC maxResults and firstResultIndex setting to compute
a value to use when limiting the results of a query in SQL.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><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/PostgreSQLPlatform.html#getAssignmentString--">getAssignmentString</a></span>()</code>
<div class="block">INTERNAL Used for stored function calls.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#getCreateTempTableSqlPrefix--">getCreateTempTableSqlPrefix</a></span>()</code>
<div class="block">INTERNAL:</div>
</td>
</tr>
<tr id="i10" 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/PostgreSQLPlatform.html#getCreateTempTableSqlSuffix--">getCreateTempTableSqlSuffix</a></span>()</code>
<div class="block">INTERNAL:</div>
</td>
</tr>
<tr id="i11" 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/PostgreSQLPlatform.html#getDropCascadeString--">getDropCascadeString</a></span>()</code>
<div class="block">Allows DROP TABLE to cascade dropping of any dependent constraints if the database supports this option.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.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="i13" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#getJDBCType-java.lang.Class-">getJDBCType</a></span>(<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>&nbsp;javaType)</code>
<div class="block">Return the JDBC type for the Java type.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#getMaxFieldNameSize--">getMaxFieldNameSize</a></span>()</code>
<div class="block">INTERNAL: returns the maximum number of characters that can be used in a
field name on this platform.</div>
</td>
</tr>
<tr id="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/PostgreSQLPlatform.html#getProcedureBeginString--">getProcedureBeginString</a></span>()</code>
<div class="block">INTERNAL: Used for sp calls.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#getProcedureEndString--">getProcedureEndString</a></span>()</code>
<div class="block">INTERNAL: Used for sp calls.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/persistence/queries/ValueReadQuery.html" title="class in org.eclipse.persistence.queries">ValueReadQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#getTimestampQuery--">getTimestampQuery</a></span>()</code>
<div class="block">INTERNAL: This method returns the query to select the timestamp from the
server for Postgres.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#initializePlatformOperators--">initializePlatformOperators</a></span>()</code>
<div class="block">INTERNAL: Initialize any platform-specific operators</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#isAlterSequenceObjectSupported--">isAlterSequenceObjectSupported</a></span>()</code>
<div class="block">INTERNAL: Override this method if the platform supports sequence objects
and it's possible to alter sequence object's increment in the database.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#isJDBCExecuteCompliant--">isJDBCExecuteCompliant</a></span>()</code>
<div class="block">Calling a stored procedure query on PostgreSQL with no output parameters
always returns true from an execute call regardless if a result set is
returned or not.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#isPostgreSQL--">isPostgreSQL</a></span>()</code>
<div class="block">INTERNAL: Answers whether platform is Postgres.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>protected <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/PostgreSQLPlatform.html#operatorLocate--">operatorLocate</a></span>()</code>
<div class="block">INTERNAL: Override the default locate operator.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>protected <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/PostgreSQLPlatform.html#operatorLocate2--">operatorLocate2</a></span>()</code>
<div class="block">INTERNAL: Override the default locate operator.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#printFieldIdentityClause-java.io.Writer-">printFieldIdentityClause</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer)</code>
<div class="block">INTERNAL: Append the receiver's field 'identity' constraint clause to a
writer.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#printFieldTypeSize-java.io.Writer-org.eclipse.persistence.tools.schemaframework.FieldDefinition-org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition-boolean-">printFieldTypeSize</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer,
<a href="../../../../../org/eclipse/persistence/tools/schemaframework/FieldDefinition.html" title="class in org.eclipse.persistence.tools.schemaframework">FieldDefinition</a>&nbsp;field,
org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition&nbsp;fieldType,
boolean&nbsp;shouldPrintFieldIdentityClause)</code>&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#printFieldUnique-java.io.Writer-boolean-">printFieldUnique</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer,
boolean&nbsp;shouldPrintFieldIdentityClause)</code>&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.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 Postgres syntax
" LIMIT &lt;max&gt; OFFSET &lt;first&gt;".</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#regexpOperator--">regexpOperator</a></span>()</code>
<div class="block">INTERNAL:
Create the ~ operator.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#setNullFromDatabaseField-org.eclipse.persistence.internal.helper.DatabaseField-java.sql.PreparedStatement-int-">setNullFromDatabaseField</a></span>(org.eclipse.persistence.internal.helper.DatabaseField&nbsp;databaseField,
<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</a>&nbsp;statement,
int&nbsp;index)</code>&nbsp;</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/PostgreSQLPlatform.html#shouldPrintAliasForUpdate--">shouldPrintAliasForUpdate</a></span>()</code>
<div class="block">INTERNAL: Indicates whether locking OF clause should print alias for
field.</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/PostgreSQLPlatform.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="i32" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#shouldUseJDBCOuterJoinSyntax--">shouldUseJDBCOuterJoinSyntax</a></span>()</code>
<div class="block">JDBC defines and outer join syntax, many drivers do not support this.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#supportsIdentity--">supportsIdentity</a></span>()</code>
<div class="block">INTERNAL: Indicates whether the platform supports identity.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#supportsLocalTempTables--">supportsLocalTempTables</a></span>()</code>
<div class="block">INTERNAL:</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#supportsSequenceObjects--">supportsSequenceObjects</a></span>()</code>
<div class="block">INTERNAL: Indicates whether the platform supports sequence objects.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>protected <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/PostgreSQLPlatform.html#toNumberOperator--">toNumberOperator</a></span>()</code>
<div class="block">INTERNAL: Postgres to_number has two arguments, as fix format argument.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/platform/database/PostgreSQLPlatform.html#writeUpdateOriginalFromTempTableSql-java.io.Writer-org.eclipse.persistence.internal.helper.DatabaseTable-java.util.Collection-java.util.Collection-">writeUpdateOriginalFromTempTableSql</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer,
org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&nbsp;pkFields,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&nbsp;assignedFields)</code>
<div class="block">INTERNAL: May need to override this method if the platform supports
temporary tables and the generated sql doesn't work.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.internal.databaseaccess.DatabasePlatform">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</h3>
<code>addBatch, addStructConverter, allowsSizeInProcedureArguments, appendByteArray, appendCalendar, appendDate, appendLiteralToCall, appendLiteralToCallWithBinding, appendNumber, appendParameter, appendParameterInternal, appendString, appendTime, appendTimestamp, autoCommit, beginTransaction, buildBatchCriteria, buildBatchCriteriaForComplexId, buildClassTypes, buildCreateIndex, buildCreateIndex, buildDropIndex, buildDropIndex, buildSequenceObjectAlterIncrementWriter, buildSequenceObjectCreationWriter, buildSequenceObjectDeletionWriter, canBatchWriteWithOptimisticLocking, checkTableExists, commitTransaction, convertToDatabaseType, copyInto, createArray, createArray, createPlatformDefaultSequence, createStruct, createStruct, dontBindUpdateAllQueryUsingTempTables, executeBatch, executeStoredProcedure, freeTemporaryObject, getBatchBeginString, getBatchDelimiterString, getBatchEndString, getBatchRowCountAssignString, getBatchRowCountDeclareString, getBatchRowCountReturnString, getBatchWritingMechanism, getCastSizeForVarcharParameter, getClassTypes, getConnection, getConnectionUserName, getConstraintDeletionString, getCreateDatabaseSchemaString, getCreateTempTableSqlBodyForTable, getCreateViewString, getCreationInOutputProcedureToken, getCreationOutputProcedureToken, getCursorCode, getCustomModifyValueForCall, getDefaultSequenceTableName, getDriverSupportsNVarChar, getDropDatabaseSchemaString, getFieldTypeDefinition, getFieldTypes, getFunctionCallHeader, getIndexNamePrefix, getInputProcedureToken, getJDBCOuterJoinString, getJDBCType, getJDBCTypeForSetNull, getJdbcTypeName, getMaxBatchWritingSize, getMaxForeignKeyNameSize, getMaxIndexNameSize, getMaxUniqueKeyNameSize, getNoWaitString, getObjectFromResultSet, getOutputProcedureToken, getParameterValueFromDatabaseCall, getParameterValueFromDatabaseCall, getPartitioningCallback, getPingSQL, getProcedureArgument, getProcedureArgumentString, getProcedureAsString, getProcedureCallHeader, getProcedureCallTail, getProcedureOptionList, getQualifiedName, getQualifiedSequenceTableName, getRefValue, getRefValue, getSelectForUpdateNoWaitString, getSelectForUpdateOfString, getSelectForUpdateString, 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, isCastRequired, isDynamicSQLRequiredForFunctions, isForUpdateCompatibleWithDistinct, isInformixOuterJoin, isLobCompatibleWithDistinct, isLockTimeoutException, isNullAllowedInSelectClause, isOutputAllowWithResultSet, isRowCountOutputParameterRequired, isXDBDocument, maximumNumericValues, minimumNumericValues, minimumTimeIncrement, prepareBatchStatement, printFieldNotNullClause, printFieldNullClause, printFieldTypeSize, printFieldUnique, printStoredFunctionReturnKeyWord, printValuelist, printValuelist, registerOutputParameter, registerOutputParameter, registerOutputParameter, registerOutputParameter, requiresNamedPrimaryKeyConstraints, requiresProcedureBrackets, requiresProcedureCallBrackets, requiresProcedureCallOuputToken, requiresTableInIndexDropDDL, requiresTypeNameToRegisterOutputParameter, requiresUniqueConstraintCreationOnTableCreate, retrieveFirstPrimaryKeyOrOne, rollbackTransaction, setBatchWritingMechanism, setCastSizeForVarcharParameter, setClassTypes, setCursorCode, setDriverName, setDriverSupportsNVarChar, setFieldTypes, setIsCastRequired, setMaxBatchWritingSize, setNullFromDatabaseField, 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, shouldAlwaysUseTempStorageForModifyAll, shouldBindAllParameters, shouldBindLiterals, shouldCacheAllStatements, shouldCreateIndicesForPrimaryKeys, shouldCreateIndicesOnForeignKeys, shouldCreateIndicesOnUniqueKeys, shouldForceBindAllParameters, shouldForceFieldNamesToUpperCase, shouldIgnoreCaseOnFieldComparisons, shouldIgnoreException, shouldOptimizeDataConversion, shouldPrintConstraintNameAfter, shouldPrintFieldIdentityClause, shouldPrintForUpdateClause, shouldPrintInnerJoinInWhereClause, shouldPrintInOutputTokenBeforeType, shouldPrintInputTokenAtStart, shouldPrintLockingClauseAfterWhereClause, shouldPrintOuterJoinInWhereClause, shouldPrintOutputTokenBeforeType, shouldPrintStoredProcedureArgumentNameInCall, shouldPrintStoredProcedureVariablesAfterBeginString, shouldTempTableSpecifyPrimaryKeys, shouldTrimStrings, shouldUseCustomModifyForCall, shouldUseGetSetNString, shouldUseRownumFiltering, supportsANSIInnerJoinSyntax, supportsAutoCommit, supportsAutoConversionToNumericForArithmeticOperations, supportsConnectionUserName, supportsCountDistinctWithMultipleFields, supportsDeleteOnCascade, supportsForeignKeyConstraints, supportsGlobalTempTables, supportsIndexes, supportsIndividualTableLocking, supportsLockingQueriesWithMultipleTables, supportsNestingOuterJoins, supportsOuterJoinsWithBrackets, supportsPrimaryKeyConstraint, supportsStoredFunctions, supportsTempTables, supportsUniqueColumns, supportsUniqueKeyConstraints, supportsVPD, supportsWaitForUpdate, usesBatchWriting, usesByteArrayBinding, usesJDBCBatchWriting, usesNativeBatchWriting, usesNativeSQL, usesSequenceTable, usesStreamsForBinding, usesStringBinding, wasFailureCommunicationBased, writeAddColumnClause, writeAutoAssignmentSetClause, writeAutoJoinWhereClause, writeCleanUpTempTableSql, writeCreateTempTableSql, writeDeleteFromTargetTableUsingTempTableSql, writeFields, writeFieldsAutoClause, writeFieldsList, writeInsertIntoTableSql, writeJoinWhereClause, writeLOB, writeParameterMarker, writeTableCreationSuffix</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, 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, isSQLAnywhere, isSQLServer, isSybase, isSymfoware, isTimesTen, isTimesTen7, removeAllSequences, removeIdentitySequences, removeSequence, sequencesAfterCloneCleanup, setConversionManager, setDefaultNativeSequenceToTable, setDefaultSeqenceAtNextValue, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, shouldNativeSequenceUseTransaction, shouldPrepare, shouldSelectDistinctIncludeOrderBy, shouldSelectIncludeOrderBy, 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="PostgreSQLPlatform--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PostgreSQLPlatform</h4>
<pre>public&nbsp;PostgreSQLPlatform()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getJDBCType-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJDBCType</h4>
<pre>public&nbsp;int&nbsp;getJDBCType(<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>&nbsp;javaType)</pre>
<div class="block">Return the JDBC type for the Java type. For some reason PostgreSQL does
not seem to like the JDBC Blob type (PostgreSQL 8.2).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getJDBCType</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="appendBoolean-java.lang.Boolean-java.io.Writer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendBoolean</h4>
<pre>protected&nbsp;void&nbsp;appendBoolean(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;bool,
<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 Boolean value. Refer to :
http://www.postgresql.org/docs/8.0/static/datatype-boolean.html In
PostgreSQL the following are the values that are value for a boolean
field Valid literal values for the "true" state are: TRUE, 't', 'true',
'y', 'yes', '1' Valid literal values for the false" state are : FALSE,
'f', 'false', 'n', 'no', '0'
To be consistent with the other data platforms we are using the values
'1' and '0' for true and false states of a boolean field.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>appendBoolean</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="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">INTERNAL: Use the JDBC maxResults and firstResultIndex setting to compute
a value to use when limiting the results of a query in SQL. These limits
tend to be used in two ways.
1. MaxRows is the index of the last row to be returned (like JDBC
maxResults) 2. MaxRows is the number of rows to be returned
PostGreSQL 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="paramLabel">Parameters:</span></dt>
<dd><code>firstResultIndex</code> - </dd>
<dd><code>maxResults</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="initializePlatformOperators--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializePlatformOperators</h4>
<pre>protected&nbsp;void&nbsp;initializePlatformOperators()</pre>
<div class="block">INTERNAL: Initialize any platform-specific operators</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>initializePlatformOperators</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></dd>
</dl>
</li>
</ul>
<a name="regexpOperator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regexpOperator</h4>
<pre>public static&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;regexpOperator()</pre>
<div class="block">INTERNAL:
Create the ~ operator.
REGEXP allows for comparison through regular expression.</div>
</li>
</ul>
<a name="toNumberOperator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toNumberOperator</h4>
<pre>protected&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;toNumberOperator()</pre>
<div class="block">INTERNAL: Postgres to_number has two arguments, as fix format argument.</div>
</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">INTERNAL: This method returns the query to select the timestamp from the
server for Postgres.</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="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="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="isJDBCExecuteCompliant--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isJDBCExecuteCompliant</h4>
<pre>public&nbsp;boolean&nbsp;isJDBCExecuteCompliant()</pre>
<div class="block">Calling a stored procedure query on PostgreSQL with no output parameters
always returns true from an execute call regardless if a result set is
returned or not. This flag will help avoid throwing a JPA mandated
exception on an executeUpdate call (which calls jdbc execute and checks
the return value to ensure no results sets are returned (true))</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>isJDBCExecuteCompliant</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/PostgreSQLPlatform.html" title="class in org.eclipse.persistence.platform.database"><code>PostgreSQLPlatform</code></a></dd>
</dl>
</li>
</ul>
<a name="isPostgreSQL--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPostgreSQL</h4>
<pre>public&nbsp;boolean&nbsp;isPostgreSQL()</pre>
<div class="block">INTERNAL: Answers whether platform is Postgres.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>isPostgreSQL</code>&nbsp;in interface&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.Platform</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>isPostgreSQL</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></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">INTERNAL:</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="shouldPrintAliasForUpdate--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldPrintAliasForUpdate</h4>
<pre>public&nbsp;boolean&nbsp;shouldPrintAliasForUpdate()</pre>
<div class="block">INTERNAL: Indicates whether locking OF clause should print alias for
field. Example: on Oracle platform (method returns false): SELECT
ADDRESS_ID, ... FROM ADDRESS T1 WHERE (T1.ADDRESS_ID = ?) FOR UPDATE OF
T1.ADDRESS_ID on Postgres platform (method returns true): SELECT
ADDRESS_ID, ... FROM ADDRESS T1 WHERE (T1.ADDRESS_ID = ?) FOR UPDATE OF
T1</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>shouldPrintAliasForUpdate</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="supportsIdentity--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsIdentity</h4>
<pre>public&nbsp;boolean&nbsp;supportsIdentity()</pre>
<div class="block">INTERNAL: Indicates whether the platform supports identity.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>supportsIdentity</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></dd>
</dl>
</li>
</ul>
<a name="buildSelectQueryForIdentity--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildSelectQueryForIdentity</h4>
<pre>public&nbsp;<a href="../../../../../org/eclipse/persistence/queries/ValueReadQuery.html" title="class in org.eclipse.persistence.queries">ValueReadQuery</a>&nbsp;buildSelectQueryForIdentity()</pre>
<div class="block">INTERNAL: Returns query used to read back the value generated by
Identity. This method is called when identity NativeSequence is
connected, the returned query used until the sequence is disconnected. If
the platform supportsIdentity then (at least) one of
buildSelectQueryForIdentity methods should return non-null query.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>buildSelectQueryForIdentity</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</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">INTERNAL: Indicates whether the platform supports 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="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;qualifiedSeqName,
<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">INTERNAL: Returns query used to read value generated by sequence object
(like Oracle sequence). This method is called when sequence object
NativeSequence is connected, the returned query used until the sequence
is disconnected. If the platform supportsSequenceObjects then (at least)
one of buildSelectQueryForSequenceObject methods should return non-null
query.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>buildSelectQueryForSequenceObject</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></dd>
</dl>
</li>
</ul>
<a name="printFieldIdentityClause-java.io.Writer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printFieldIdentityClause</h4>
<pre>public&nbsp;void&nbsp;printFieldIdentityClause(<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="../../../../../org/eclipse/persistence/exceptions/ValidationException.html" title="class in org.eclipse.persistence.exceptions">ValidationException</a></pre>
<div class="block">INTERNAL: Append the receiver's field 'identity' constraint clause to a
writer.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>printFieldIdentityClause</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="../../../../../org/eclipse/persistence/exceptions/ValidationException.html" title="class in org.eclipse.persistence.exceptions">ValidationException</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>&nbsp;buildFieldTypes()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></span></div>
<div class="block">Return the mapping of class types to database types for the schema framework.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>buildFieldTypes</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="operatorLocate--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>operatorLocate</h4>
<pre>protected&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;operatorLocate()</pre>
<div class="block">INTERNAL: Override the default locate operator.</div>
</li>
</ul>
<a name="operatorLocate2--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>operatorLocate2</h4>
<pre>protected&nbsp;<a href="../../../../../org/eclipse/persistence/expressions/ExpressionOperator.html" title="class in org.eclipse.persistence.expressions">ExpressionOperator</a>&nbsp;operatorLocate2()</pre>
<div class="block">INTERNAL: Override the default locate operator.</div>
</li>
</ul>
<a name="supportsLocalTempTables--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsLocalTempTables</h4>
<pre>public&nbsp;boolean&nbsp;supportsLocalTempTables()</pre>
<div class="block">INTERNAL:</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>supportsLocalTempTables</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getCreateTempTableSqlPrefix--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCreateTempTableSqlPrefix</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getCreateTempTableSqlPrefix()</pre>
<div class="block">INTERNAL:</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getCreateTempTableSqlPrefix</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getMaxFieldNameSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxFieldNameSize</h4>
<pre>public&nbsp;int&nbsp;getMaxFieldNameSize()</pre>
<div class="block">INTERNAL: returns the maximum number of characters that can be used in a
field name on this platform.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getMaxFieldNameSize</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="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">INTERNAL: Used for sp calls.</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">INTERNAL: Used for sp calls.</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="buildProcedureCallString-org.eclipse.persistence.queries.StoredProcedureCall-org.eclipse.persistence.internal.sessions.AbstractSession-org.eclipse.persistence.internal.sessions.AbstractRecord-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildProcedureCallString</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;buildProcedureCallString(<a href="../../../../../org/eclipse/persistence/queries/StoredProcedureCall.html" title="class in org.eclipse.persistence.queries">StoredProcedureCall</a>&nbsp;call,
org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session,
org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;row)</pre>
<div class="block">INTERNAL: Used for sp calls. PostGreSQL uses a different method for executing StoredProcedures than other platforms.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>buildProcedureCallString</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getAssignmentString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAssignmentString</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;getAssignmentString()</pre>
<div class="block">INTERNAL Used for stored function calls.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getAssignmentString</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getDropCascadeString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDropCascadeString</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;getDropCascadeString()</pre>
<div class="block">Allows DROP TABLE to cascade dropping of any dependent constraints if the database supports this option.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getDropCascadeString</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="printFieldTypeSize-java.io.Writer-org.eclipse.persistence.tools.schemaframework.FieldDefinition-org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printFieldTypeSize</h4>
<pre>public&nbsp;void&nbsp;printFieldTypeSize(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer,
<a href="../../../../../org/eclipse/persistence/tools/schemaframework/FieldDefinition.html" title="class in org.eclipse.persistence.tools.schemaframework">FieldDefinition</a>&nbsp;field,
org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition&nbsp;fieldType,
boolean&nbsp;shouldPrintFieldIdentityClause)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>printFieldTypeSize</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="printFieldUnique-java.io.Writer-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printFieldUnique</h4>
<pre>public&nbsp;void&nbsp;printFieldUnique(<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,
boolean&nbsp;shouldPrintFieldIdentityClause)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>printFieldUnique</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="shouldUseJDBCOuterJoinSyntax--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldUseJDBCOuterJoinSyntax</h4>
<pre>public&nbsp;boolean&nbsp;shouldUseJDBCOuterJoinSyntax()</pre>
<div class="block">JDBC defines and outer join syntax, many drivers do not support this. So
we normally avoid it.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>shouldUseJDBCOuterJoinSyntax</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="isAlterSequenceObjectSupported--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAlterSequenceObjectSupported</h4>
<pre>public&nbsp;boolean&nbsp;isAlterSequenceObjectSupported()</pre>
<div class="block">INTERNAL: Override this method if the platform supports sequence objects
and it's possible to alter sequence object's increment in the database.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>isAlterSequenceObjectSupported</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 Postgres syntax
" LIMIT &lt;max&gt; OFFSET &lt;first&gt;".</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="writeUpdateOriginalFromTempTableSql-java.io.Writer-org.eclipse.persistence.internal.helper.DatabaseTable-java.util.Collection-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeUpdateOriginalFromTempTableSql</h4>
<pre>public&nbsp;void&nbsp;writeUpdateOriginalFromTempTableSql(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer,
org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&nbsp;pkFields,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&nbsp;assignedFields)
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">INTERNAL: May need to override this method if the platform supports
temporary tables and the generated sql doesn't work. Write an sql string
for updating the original table from the temporary table. Precondition:
supportsTempTables() == true. Precondition: pkFields and assignFields
don't intersect.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>writeUpdateOriginalFromTempTableSql</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>writer</code> - for writing the sql</dd>
<dd><code>table</code> - is original table for which temp table is
created.</dd>
<dd><code>pkFields</code> - - primary key fields for the original
table.</dd>
<dd><code>assignedFields</code> - - fields to be assigned a new value.</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="canBuildCallWithReturning--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>canBuildCallWithReturning</h4>
<pre>public&nbsp;boolean&nbsp;canBuildCallWithReturning()</pre>
<div class="block">INTERNAL:
Postgres has a returning clause.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>canBuildCallWithReturning</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="buildCallWithReturning-org.eclipse.persistence.queries.SQLCall-java.util.Vector-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildCallWithReturning</h4>
<pre>public&nbsp;org.eclipse.persistence.internal.databaseaccess.DatabaseCall&nbsp;buildCallWithReturning(<a href="../../../../../org/eclipse/persistence/queries/SQLCall.html" title="class in org.eclipse.persistence.queries">SQLCall</a>&nbsp;sqlCall,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;returnFields)</pre>
<div class="block">INTERNAL:
Uses the returning clause on Postgres.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>buildCallWithReturning</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabasePlatform</code></dd>
</dl>
</li>
</ul>
<a name="setNullFromDatabaseField-org.eclipse.persistence.internal.helper.DatabaseField-java.sql.PreparedStatement-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setNullFromDatabaseField</h4>
<pre>protected&nbsp;void&nbsp;setNullFromDatabaseField(org.eclipse.persistence.internal.helper.DatabaseField&nbsp;databaseField,
<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</a>&nbsp;statement,
int&nbsp;index)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>setNullFromDatabaseField</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/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/persistence/platform/database/PointBasePlatform.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/SQLAnywherePlatform.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/PostgreSQLPlatform.html" target="_top">Frames</a></li>
<li><a href="PostgreSQLPlatform.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>