<!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:39:09 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SQLCall (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="SQLCall (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};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/queries/ScrollableCursorPolicy.html" title="class in org.eclipse.persistence.queries"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/queries/SQLResult.html" title="class in org.eclipse.persistence.queries"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/queries/SQLCall.html" target="_top">Frames</a></li>
<li><a href="SQLCall.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="#field.summary">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><a href="#field.detail">Field</a>&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.queries</div>
<h2 title="Class SQLCall" class="title">Class SQLCall</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.DatasourceCall</li>
<li>
<ul class="inheritance">
<li>org.eclipse.persistence.internal.databaseaccess.DatabaseCall</li>
<li>
<ul class="inheritance">
<li>org.eclipse.persistence.queries.SQLCall</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.databaseaccess.QueryStringCall, <a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">SQLCall</span>
extends org.eclipse.persistence.internal.databaseaccess.DatabaseCall
implements org.eclipse.persistence.internal.databaseaccess.QueryStringCall</pre>
<div class="block"><b>Purpose</b>: Used as an abstraction of an SQL call.
 A call is an SQL string with parameters.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../serialized-form.html#org.eclipse.persistence.queries.SQLCall">Serialized Form</a></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>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#hasCustomSQLArguments">hasCustomSQLArguments</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#isTranslatedCustomQuery">isTranslatedCustomQuery</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.persistence.internal.databaseaccess.DatabaseCall">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.persistence.internal.databaseaccess.DatabaseCall</h3>
<code>executeReturnValue, fields, fieldsArray, firstResult, FIRSTRESULT_FIELD, hasAllocatedConnection, hasMultipleResultSets, hasOptimisticLock, ignoreFirstRowSetting, ignoreMaxResultsSetting, isBatchExecutionSupported, isCallableStatementRequired, isCursorOutputProcedure, isFieldMatchingRequired, isMultipleCursorOutputProcedure, isResultSetScrollable, MAXROW_FIELD, maxRows, outputCursors, queryTimeout, queryTimeoutUnit, result, resultSetConcurrency, resultSetFetchSize, resultSetType, returnMultipleResultSetCollections, returnsResultSet, shouldBuildOutputRow, shouldCacheStatement, sqlString, statement, usesBinding</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.persistence.internal.databaseaccess.DatasourceCall">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.persistence.internal.databaseaccess.DatasourceCall</h3>
<code>CUSTOM_MODIFY, EXECUTE_UPDATE, IN, INLINE, INOUT, isNativeConnectionRequired, isPrepared, LITERAL, MODIFY, NO_RETURN, OUT, OUT_CURSOR, parameters, parameterTypes, query, RETURN_CURSOR, RETURN_MANY_ROWS, RETURN_ONE_ROW, returnType, shouldProcessTokenInQuotes, TRANSLATION</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/queries/SQLCall.html#SQLCall--">SQLCall</a></span>()</code>
<div class="block">PUBLIC:
 Create a new SQL call.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#SQLCall-java.lang.String-">SQLCall</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;sqlString)</code>
<div class="block">PUBLIC:
 Create a new SQL call.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#afterTranslateCustomQuery-java.util.List-java.util.List-">afterTranslateCustomQuery</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;updatedParameters,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<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>&gt;&nbsp;updatedParameterTypes)</code>
<div class="block">INTERNAL:
 Set the data passed through setCustomSQLArgumentType and useCustomSQLCursorOutputAsResultSet methods.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected org.eclipse.persistence.internal.helper.DatabaseField</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#afterTranslateCustomQueryUpdateParameter-org.eclipse.persistence.internal.helper.DatabaseField-int-java.lang.Integer-java.util.List-java.util.List-">afterTranslateCustomQueryUpdateParameter</a></span>(org.eclipse.persistence.internal.helper.DatabaseField&nbsp;field,
                                        int&nbsp;index,
                                        <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;parameterType,
                                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;updatedParameters,
                                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<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>&gt;&nbsp;updatedParameterTypes)</code>
<div class="block">INTERNAL:
 Set the data passed through setCustomSQLArgumentType and useCustomSQLCursorOutputAsResultSet methods.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#appendTranslationParameter-java.io.Writer-org.eclipse.persistence.internal.expressions.ParameterExpression-org.eclipse.persistence.internal.databaseaccess.DatabasePlatform-org.eclipse.persistence.internal.sessions.AbstractRecord-">appendTranslationParameter</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.expressions.ParameterExpression&nbsp;expression,
                          org.eclipse.persistence.internal.databaseaccess.DatabasePlatform&nbsp;platform,
                          org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;record)</code>
<div class="block">INTERNAL:
 All values are printed as ? to allow for parameter binding or translation during the execute of the call.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#hasCustomSQLArguments--">hasCustomSQLArguments</a></span>()</code>
<div class="block">INTERNAL:
 Used to avoid misinterpreting the # in custom SQL.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#isQueryStringCall--">isQueryStringCall</a></span>()</code>
<div class="block">Should return true.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#isSQLCall--">isSQLCall</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#prepareInternal-org.eclipse.persistence.internal.sessions.AbstractSession-">prepareInternal</a></span>(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</code>
<div class="block">INTERNAL:
 Called by prepare method only.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#setCustomSQLArgumentType-java.lang.String-java.lang.Class-">setCustomSQLArgumentType</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;customParameterName,
                        <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;type)</code>
<div class="block">PUBLIC:
 This method should only be used with custom SQL:
 it sets a type to IN, OUT or INOUT parameter (prefixed with #, ### or #### in custom SQL string).</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#setCustomSQLArgumentType-java.lang.String-int-">setCustomSQLArgumentType</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;argumentFieldName,
                        int&nbsp;type)</code>
<div class="block">PUBLIC:
 This method should only be used with custom SQL:
 it sets a type to IN, OUT or INOUT parameter (prefixed with #, ### or #### in custom SQL string).</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#setCustomSQLArgumentType-java.lang.String-int-java.lang.String-">setCustomSQLArgumentType</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;argumentFieldName,
                        int&nbsp;type,
                        <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;typeName)</code>
<div class="block">PUBLIC:
 This method should only be used with custom SQL:
 it sets a type to IN, OUT or INOUT parameter (prefixed with #, ### or #### in custom SQL string).</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#setCustomSQLArgumentType-java.lang.String-int-java.lang.String-java.lang.Class-">setCustomSQLArgumentType</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;argumentFieldName,
                        int&nbsp;type,
                        <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;typeName,
                        <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">PUBLIC:
 This method should only be used with custom SQL:
 it sets a type to IN, OUT or INOUT parameter (prefixed with #, ### or #### in custom SQL string).</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#setCustomSQLArgumentType-java.lang.String-int-java.lang.String-java.lang.Class-org.eclipse.persistence.internal.helper.DatabaseField-">setCustomSQLArgumentType</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;argumentFieldName,
                        int&nbsp;type,
                        <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;typeName,
                        <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,
                        org.eclipse.persistence.internal.helper.DatabaseField&nbsp;nestedType)</code>
<div class="block">PUBLIC:
 This method should only be used with custom SQL:
 it sets a type to IN, OUT or INOUT parameter (prefixed with #, ### or #### in custom SQL string).</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#setCustomSQLArgumentType-java.lang.String-int-java.lang.String-org.eclipse.persistence.internal.helper.DatabaseField-">setCustomSQLArgumentType</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;argumentFieldName,
                        int&nbsp;type,
                        <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;typeName,
                        org.eclipse.persistence.internal.helper.DatabaseField&nbsp;nestedType)</code>
<div class="block">PUBLIC:
 This method should only be used with custom SQL:
 it sets a type to IN, OUT or INOUT parameter (prefixed with #, ### or #### in custom SQL string).</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#setHasCustomSQLArguments-boolean-">setHasCustomSQLArguments</a></span>(boolean&nbsp;hasCustomSQLArguments)</code>
<div class="block">INTERNAL:
 Used to avoid misinterpreting the # in custom SQL.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#setSQLString-java.lang.String-">setSQLString</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;sqlString)</code>
<div class="block">Set the SQL string.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#translateCustomQuery--">translateCustomQuery</a></span>()</code>
<div class="block">INTERNAL:
 Keep track of the fact that this call has been translated.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#translatePureSQLCustomQuery--">translatePureSQLCustomQuery</a></span>()</code>
<div class="block">INTERNAL:
 Only translate the call if it was not previously translated

 This code ensures the translation code for a custom SQLCall is only run once
 In the case of inheritance we will try to call the translation code once to get the
 list of types and again for each subclass</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/SQLCall.html#useCustomSQLCursorOutputAsResultSet-java.lang.String-">useCustomSQLCursorOutputAsResultSet</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;customParameterName)</code>
<div class="block">PUBLIC:
 This method should only be used with custom SQL:
 Used for Oracle result sets through procedures.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.internal.databaseaccess.DatabaseCall">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.persistence.internal.databaseaccess.DatabaseCall</h3>
<code>addContext, appendIn, appendInOut, appendInOut, appendLogParameters, appendOut, appendOutCursor, appendParameter, bindParameter, buildNewQueryMechanism, buildOutputRow, buildQueryMechanism, createInOutParameter, getCallString, getContexts, getCursorOutIndex, getExecuteReturnValue, getFields, getFieldsArray, getFieldWithTypeFromDescriptor, getFirstResult, getLogString, getMaxRows, getOutputCursors, getOutputParameterValue, getOutputParameterValue, getOutputRowFields, getQueryString, getQueryTimeout, getResult, getResultSetConcurrency, getResultSetFetchSize, getResultSetType, getReturnsResultSet, getSQLString, getStatement, hasAllocatedConnection, hasMultipleResultSets, hasOptimisticLock, hasOutputCursors, isBatchExecutionSupported, isCallableStatementRequired, isCursorOutputProcedure, isCursorReturned, isDynamicCall, isFieldMatchingRequired, isFinished, isLOBLocatorNeeded, isMultipleCursorOutputProcedure, isNonCursorOutputProcedure, isResultSetScrollable, isUsesBindingSet, matchFieldOrder, prepare, prepareInternalParameters, prepareStatement, returnMultipleResultSetCollections, setBatchExecutionSupported, setContexts, setExecuteReturnValue, setFields, setFirstResult, setHasAllocatedConnection, setHasMultipleResultSets, setHasOptimisticLock, setIgnoreFirstRowSetting, setIgnoreMaxResultsSetting, setIsCallableStatementRequired, setIsCursorOutputProcedure, setIsFieldMatchingRequired, setIsMultipleCursorOutputProcedure, setIsResultSetScrollable, setMaxRows, setQueryString, setQueryTimeout, setQueryTimeoutUnit, setResult, setResultSetConcurrency, setResultSetFetchSize, setResultSetType, setReturnMultipleResultSetCollections, setReturnsResultSet, setShouldBuildOutputRow, setShouldCacheStatement, setSQLStringInternal, setStatement, setUsesBinding, shouldBuildOutputRow, shouldCacheStatement, shouldCacheStatement, shouldIgnoreFirstRowSetting, shouldIgnoreMaxResultsSetting, toString, translate, translateQueryStringForParameterizedIN, usesBinding, usesBinding, useUnnamedCursorOutputAsResultSet</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.internal.databaseaccess.DatasourceCall">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.persistence.internal.databaseaccess.DatasourceCall</h3>
<code>appendIn, appendInOut, appendLiteral, appendModify, appendOut, appendTranslation, areManyRowsReturned, argumentMarker, clone, createField, getParameters, getParameterTypes, getQuery, getReturnType, getValueForInOutParameter, getValueForInParameter, hasParameters, isEISInteraction, isExecuteUpdate, isJPQLCall, isNativeConnectionRequired, isNothingReturned, isOneRowReturned, isOutputParameterType, isPrepared, isReturnSet, isStoredFunctionCall, isStoredPLSQLFunctionCall, isStoredPLSQLProcedureCall, isStoredProcedureCall, returnCursor, returnManyRows, returnNothing, returnOneRow, setExecuteUpdate, setIsNativeConnectionRequired, setIsPrepared, setParameters, setParameterTypes, setQuery, setReturnType, translateQueryString, whitespace</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>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.internal.databaseaccess.QueryStringCall">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.persistence.internal.databaseaccess.QueryStringCall</h3>
<code>appendLiteral, appendModify, appendParameter, appendTranslation, getParameters, getParameterTypes, getQueryString, hasParameters, prepare, setQueryString, translate, translateQueryString</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.queries.Call">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.persistence.queries.<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a></h3>
<code><a href="../../../../org/eclipse/persistence/queries/Call.html#buildNewQueryMechanism-org.eclipse.persistence.queries.DatabaseQuery-">buildNewQueryMechanism</a>, <a href="../../../../org/eclipse/persistence/queries/Call.html#buildQueryMechanism-org.eclipse.persistence.queries.DatabaseQuery-org.eclipse.persistence.internal.queries.DatabaseQueryMechanism-">buildQueryMechanism</a>, <a href="../../../../org/eclipse/persistence/queries/Call.html#clone--">clone</a>, <a href="../../../../org/eclipse/persistence/queries/Call.html#getLogString-org.eclipse.persistence.internal.databaseaccess.Accessor-">getLogString</a>, <a href="../../../../org/eclipse/persistence/queries/Call.html#isFinished--">isFinished</a>, <a href="../../../../org/eclipse/persistence/queries/Call.html#isNothingReturned--">isNothingReturned</a>, <a href="../../../../org/eclipse/persistence/queries/Call.html#isOneRowReturned--">isOneRowReturned</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="hasCustomSQLArguments">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasCustomSQLArguments</h4>
<pre>protected&nbsp;boolean hasCustomSQLArguments</pre>
</li>
</ul>
<a name="isTranslatedCustomQuery">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isTranslatedCustomQuery</h4>
<pre>protected transient&nbsp;boolean isTranslatedCustomQuery</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="SQLCall--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SQLCall</h4>
<pre>public&nbsp;SQLCall()</pre>
<div class="block">PUBLIC:
 Create a new SQL call.</div>
</li>
</ul>
<a name="SQLCall-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SQLCall</h4>
<pre>public&nbsp;SQLCall(<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;sqlString)</pre>
<div class="block">PUBLIC:
 Create a new SQL call.
 Warning: Allowing an unverified SQL string to be passed into this
 method makes your application vulnerable to SQL injection attacks.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="afterTranslateCustomQuery-java.util.List-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterTranslateCustomQuery</h4>
<pre>protected&nbsp;void&nbsp;afterTranslateCustomQuery(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;updatedParameters,
                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<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>&gt;&nbsp;updatedParameterTypes)</pre>
<div class="block">INTERNAL:
 Set the data passed through setCustomSQLArgumentType and useCustomSQLCursorOutputAsResultSet methods.</div>
</li>
</ul>
<a name="afterTranslateCustomQueryUpdateParameter-org.eclipse.persistence.internal.helper.DatabaseField-int-java.lang.Integer-java.util.List-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterTranslateCustomQueryUpdateParameter</h4>
<pre>protected&nbsp;org.eclipse.persistence.internal.helper.DatabaseField&nbsp;afterTranslateCustomQueryUpdateParameter(org.eclipse.persistence.internal.helper.DatabaseField&nbsp;field,
                                                                                                         int&nbsp;index,
                                                                                                         <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;parameterType,
                                                                                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;updatedParameters,
                                                                                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<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>&gt;&nbsp;updatedParameterTypes)</pre>
<div class="block">INTERNAL:
 Set the data passed through setCustomSQLArgumentType and useCustomSQLCursorOutputAsResultSet methods.
 This will return the null if the user did not add the field/type using the setCustomSQLArgumentType method</div>
</li>
</ul>
<a name="hasCustomSQLArguments--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasCustomSQLArguments</h4>
<pre>public&nbsp;boolean&nbsp;hasCustomSQLArguments()</pre>
<div class="block">INTERNAL:
 Used to avoid misinterpreting the # in custom SQL.</div>
</li>
</ul>
<a name="isSQLCall--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSQLCall</h4>
<pre>public&nbsp;boolean&nbsp;isSQLCall()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>isSQLCall</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourceCall</code></dd>
</dl>
</li>
</ul>
<a name="isQueryStringCall--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isQueryStringCall</h4>
<pre>public&nbsp;boolean&nbsp;isQueryStringCall()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.QueryStringCall</code></span></div>
<div class="block">Should return true.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>isQueryStringCall</code>&nbsp;in interface&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.QueryStringCall</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>isQueryStringCall</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourceCall</code></dd>
</dl>
</li>
</ul>
<a name="prepareInternal-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareInternal</h4>
<pre>protected&nbsp;void&nbsp;prepareInternal(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</pre>
<div class="block">INTERNAL:
 Called by prepare method only.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>prepareInternal</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatabaseCall</code></dd>
</dl>
</li>
</ul>
<a name="setHasCustomSQLArguments-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHasCustomSQLArguments</h4>
<pre>public&nbsp;void&nbsp;setHasCustomSQLArguments(boolean&nbsp;hasCustomSQLArguments)</pre>
<div class="block">INTERNAL:
 Used to avoid misinterpreting the # in custom SQL.</div>
</li>
</ul>
<a name="setCustomSQLArgumentType-java.lang.String-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCustomSQLArgumentType</h4>
<pre>public&nbsp;void&nbsp;setCustomSQLArgumentType(<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;customParameterName,
                                     <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;type)</pre>
<div class="block">PUBLIC:
 This method should only be used with custom SQL:
 it sets a type to IN, OUT or INOUT parameter (prefixed with #, ### or #### in custom SQL string).</div>
</li>
</ul>
<a name="setCustomSQLArgumentType-java.lang.String-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCustomSQLArgumentType</h4>
<pre>public&nbsp;void&nbsp;setCustomSQLArgumentType(<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;argumentFieldName,
                                     int&nbsp;type)</pre>
<div class="block">PUBLIC:
 This method should only be used with custom SQL:
 it sets a type to IN, OUT or INOUT parameter (prefixed with #, ### or #### in custom SQL string).
 The argumentFieldName is the field or argument name used in the SQL.
 The type is the JDBC type code for the parameter.</div>
</li>
</ul>
<a name="setCustomSQLArgumentType-java.lang.String-int-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCustomSQLArgumentType</h4>
<pre>public&nbsp;void&nbsp;setCustomSQLArgumentType(<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;argumentFieldName,
                                     int&nbsp;type,
                                     <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;typeName)</pre>
<div class="block">PUBLIC:
 This method should only be used with custom SQL:
 it sets a type to IN, OUT or INOUT parameter (prefixed with #, ### or #### in custom SQL string).
 The argumentFieldName is the field or argument name used in the SQL.
 The type is the JDBC type code for the parameter.
 The typeName is the JDBC type name, this may be required for ARRAY or STRUCT types.</div>
</li>
</ul>
<a name="setCustomSQLArgumentType-java.lang.String-int-java.lang.String-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCustomSQLArgumentType</h4>
<pre>public&nbsp;void&nbsp;setCustomSQLArgumentType(<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;argumentFieldName,
                                     int&nbsp;type,
                                     <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;typeName,
                                     <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">PUBLIC:
 This method should only be used with custom SQL:
 it sets a type to IN, OUT or INOUT parameter (prefixed with #, ### or #### in custom SQL string).
 TThe argumentFieldName is the field or argument name used in the SQL.
 The type is the JDBC type code for the parameter.
 The typeName is the JDBC type name, this may be required for ARRAY or STRUCT types.
 The javaType is the java class to return instead of the ARRAY and STRUCT types if a conversion is possible.</div>
</li>
</ul>
<a name="setCustomSQLArgumentType-java.lang.String-int-java.lang.String-org.eclipse.persistence.internal.helper.DatabaseField-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCustomSQLArgumentType</h4>
<pre>public&nbsp;void&nbsp;setCustomSQLArgumentType(<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;argumentFieldName,
                                     int&nbsp;type,
                                     <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;typeName,
                                     org.eclipse.persistence.internal.helper.DatabaseField&nbsp;nestedType)</pre>
<div class="block">PUBLIC:
 This method should only be used with custom SQL:
 it sets a type to IN, OUT or INOUT parameter (prefixed with #, ### or #### in custom SQL string).
 TThe argumentFieldName is the field or argument name used in the SQL.
 The type is the JDBC type code for the parameter.
 The typeName is the JDBC type name, this may be required for ARRAY or STRUCT types.
 The nestedType is a DatabaseField with type information set to match the VARRAYs object types</div>
</li>
</ul>
<a name="setCustomSQLArgumentType-java.lang.String-int-java.lang.String-java.lang.Class-org.eclipse.persistence.internal.helper.DatabaseField-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCustomSQLArgumentType</h4>
<pre>public&nbsp;void&nbsp;setCustomSQLArgumentType(<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;argumentFieldName,
                                     int&nbsp;type,
                                     <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;typeName,
                                     <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,
                                     org.eclipse.persistence.internal.helper.DatabaseField&nbsp;nestedType)</pre>
<div class="block">PUBLIC:
 This method should only be used with custom SQL:
 it sets a type to IN, OUT or INOUT parameter (prefixed with #, ### or #### in custom SQL string).
 TThe argumentFieldName is the field or argument name used in the SQL.
 The type is the JDBC type code for the parameter.
 The typeName is the JDBC type name, this may be required for ARRAY or STRUCT types.
 The javaType is the java class to return instead of the ARRAY and STRUCT types if a conversion is possible.
 The nestedType is a DatabaseField with type information set to match the VARRAYs object types</div>
</li>
</ul>
<a name="setSQLString-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSQLString</h4>
<pre>public&nbsp;void&nbsp;setSQLString(<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;sqlString)</pre>
<div class="block">Set the SQL string.
 Warning: Allowing an unverified SQL string to be passed into this
 method makes your application vulnerable to SQL injection attacks.</div>
</li>
</ul>
<a name="translateCustomQuery--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>translateCustomQuery</h4>
<pre>public&nbsp;void&nbsp;translateCustomQuery()</pre>
<div class="block">INTERNAL:
 Keep track of the fact that this call has been translated.  This information is used to
 ensure the translation code for a custom SQLCall is only run once
 In the case of inheritance we will try to call the translation code once to get the
 list of types and again for each subclass</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>translateCustomQuery</code>&nbsp;in interface&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.QueryStringCall</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>translateCustomQuery</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourceCall</code></dd>
</dl>
</li>
</ul>
<a name="translatePureSQLCustomQuery--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>translatePureSQLCustomQuery</h4>
<pre>public&nbsp;void&nbsp;translatePureSQLCustomQuery()</pre>
<div class="block">INTERNAL:
 Only translate the call if it was not previously translated

 This code ensures the translation code for a custom SQLCall is only run once
 In the case of inheritance we will try to call the translation code once to get the
 list of types and again for each subclass</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>translatePureSQLCustomQuery</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourceCall</code></dd>
</dl>
</li>
</ul>
<a name="appendTranslationParameter-java.io.Writer-org.eclipse.persistence.internal.expressions.ParameterExpression-org.eclipse.persistence.internal.databaseaccess.DatabasePlatform-org.eclipse.persistence.internal.sessions.AbstractRecord-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendTranslationParameter</h4>
<pre>public&nbsp;void&nbsp;appendTranslationParameter(<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.expressions.ParameterExpression&nbsp;expression,
                                       org.eclipse.persistence.internal.databaseaccess.DatabasePlatform&nbsp;platform,
                                       org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;record)
                                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:
 All values are printed as ? to allow for parameter binding or translation during the execute of the call.</div>
<dl>
<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="useCustomSQLCursorOutputAsResultSet-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>useCustomSQLCursorOutputAsResultSet</h4>
<pre>public&nbsp;void&nbsp;useCustomSQLCursorOutputAsResultSet(<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;customParameterName)</pre>
<div class="block">PUBLIC:
 This method should only be used with custom SQL:
 Used for Oracle result sets through procedures.
 It defines OUT parameter (prefixed with ### in custom SQL string)
 as a cursor output.</div>
</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/queries/ScrollableCursorPolicy.html" title="class in org.eclipse.persistence.queries"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/queries/SQLResult.html" title="class in org.eclipse.persistence.queries"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/queries/SQLCall.html" target="_top">Frames</a></li>
<li><a href="SQLCall.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="#field.summary">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><a href="#field.detail">Field</a>&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>
