public class SQLCall
extends org.eclipse.persistence.internal.databaseaccess.DatabaseCall
implements org.eclipse.persistence.internal.databaseaccess.QueryStringCall
Modifier and Type | Field and Description |
---|---|
protected boolean |
hasCustomSQLArguments |
protected boolean |
isTranslatedCustomQuery |
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
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
Constructor and Description |
---|
SQLCall()
PUBLIC:
Create a new SQL call.
|
SQLCall(java.lang.String sqlString)
PUBLIC:
Create a new SQL call.
|
Modifier and Type | Method and Description |
---|---|
protected void |
afterTranslateCustomQuery(java.util.List updatedParameters,
java.util.List<java.lang.Integer> updatedParameterTypes)
INTERNAL:
Set the data passed through setCustomSQLArgumentType and useCustomSQLCursorOutputAsResultSet methods.
|
protected org.eclipse.persistence.internal.helper.DatabaseField |
afterTranslateCustomQueryUpdateParameter(org.eclipse.persistence.internal.helper.DatabaseField field,
int index,
java.lang.Integer parameterType,
java.util.List updatedParameters,
java.util.List<java.lang.Integer> updatedParameterTypes)
INTERNAL:
Set the data passed through setCustomSQLArgumentType and useCustomSQLCursorOutputAsResultSet methods.
|
void |
appendTranslationParameter(java.io.Writer writer,
org.eclipse.persistence.internal.expressions.ParameterExpression expression,
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform,
org.eclipse.persistence.internal.sessions.AbstractRecord record)
INTERNAL:
All values are printed as ?
|
boolean |
hasCustomSQLArguments()
INTERNAL:
Used to avoid misinterpreting the # in custom SQL.
|
boolean |
isQueryStringCall() |
boolean |
isSQLCall() |
protected void |
prepareInternal(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Called by prepare method only.
|
void |
setCustomSQLArgumentType(java.lang.String customParameterName,
java.lang.Class type)
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).
|
void |
setCustomSQLArgumentType(java.lang.String argumentFieldName,
int type)
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).
|
void |
setCustomSQLArgumentType(java.lang.String argumentFieldName,
int type,
java.lang.String typeName)
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).
|
void |
setCustomSQLArgumentType(java.lang.String argumentFieldName,
int type,
java.lang.String typeName,
java.lang.Class javaType)
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).
|
void |
setCustomSQLArgumentType(java.lang.String argumentFieldName,
int type,
java.lang.String typeName,
java.lang.Class javaType,
org.eclipse.persistence.internal.helper.DatabaseField nestedType)
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).
|
void |
setCustomSQLArgumentType(java.lang.String argumentFieldName,
int type,
java.lang.String typeName,
org.eclipse.persistence.internal.helper.DatabaseField nestedType)
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).
|
void |
setHasCustomSQLArguments(boolean hasCustomSQLArguments)
INTERNAL:
Used to avoid misinterpreting the # in custom SQL.
|
void |
setSQLString(java.lang.String sqlString)
Set the SQL string.
|
void |
translateCustomQuery()
INTERNAL:
Keep track of the fact that this call has been translated.
|
void |
translatePureSQLCustomQuery()
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
|
void |
useCustomSQLCursorOutputAsResultSet(java.lang.String customParameterName)
PUBLIC:
This method should only be used with custom SQL:
Used for Oracle result sets through procedures.
|
addContext, appendIn, appendInOut, appendInOut, appendLogParameters, appendOut, appendOutCursor, appendParameter, bindParameter, buildNewQueryMechanism, buildOutputRow, buildQueryMechanism, createInOutParameter, getCallString, getContexts, getCursorOutIndex, getExecuteReturnValue, getFields, getFieldsArray, getFieldWithTypeFromDescriptor, getFirstResult, getLogString, getMaxRows, getOutputCursors, 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
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
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
appendLiteral, appendModify, appendParameter, appendTranslation, getParameters, getParameterTypes, getQueryString, hasParameters, prepare, setQueryString, translate, translateQueryString
buildNewQueryMechanism, buildQueryMechanism, clone, getLogString, isFinished, isNothingReturned, isOneRowReturned
protected boolean hasCustomSQLArguments
protected transient boolean isTranslatedCustomQuery
public SQLCall()
public SQLCall(java.lang.String sqlString)
protected void afterTranslateCustomQuery(java.util.List updatedParameters, java.util.List<java.lang.Integer> updatedParameterTypes)
protected org.eclipse.persistence.internal.helper.DatabaseField afterTranslateCustomQueryUpdateParameter(org.eclipse.persistence.internal.helper.DatabaseField field, int index, java.lang.Integer parameterType, java.util.List updatedParameters, java.util.List<java.lang.Integer> updatedParameterTypes)
public boolean hasCustomSQLArguments()
public boolean isSQLCall()
isSQLCall
in class org.eclipse.persistence.internal.databaseaccess.DatasourceCall
public boolean isQueryStringCall()
isQueryStringCall
in interface org.eclipse.persistence.internal.databaseaccess.QueryStringCall
isQueryStringCall
in class org.eclipse.persistence.internal.databaseaccess.DatasourceCall
protected void prepareInternal(org.eclipse.persistence.internal.sessions.AbstractSession session)
prepareInternal
in class org.eclipse.persistence.internal.databaseaccess.DatabaseCall
public void setHasCustomSQLArguments(boolean hasCustomSQLArguments)
public void setCustomSQLArgumentType(java.lang.String customParameterName, java.lang.Class type)
public void setCustomSQLArgumentType(java.lang.String argumentFieldName, int type)
public void setCustomSQLArgumentType(java.lang.String argumentFieldName, int type, java.lang.String typeName)
public void setCustomSQLArgumentType(java.lang.String argumentFieldName, int type, java.lang.String typeName, java.lang.Class javaType)
public void setCustomSQLArgumentType(java.lang.String argumentFieldName, int type, java.lang.String typeName, org.eclipse.persistence.internal.helper.DatabaseField nestedType)
public void setCustomSQLArgumentType(java.lang.String argumentFieldName, int type, java.lang.String typeName, java.lang.Class javaType, org.eclipse.persistence.internal.helper.DatabaseField nestedType)
public void setSQLString(java.lang.String sqlString)
public void translateCustomQuery()
translateCustomQuery
in interface org.eclipse.persistence.internal.databaseaccess.QueryStringCall
translateCustomQuery
in class org.eclipse.persistence.internal.databaseaccess.DatasourceCall
public void translatePureSQLCustomQuery()
translatePureSQLCustomQuery
in class org.eclipse.persistence.internal.databaseaccess.DatasourceCall
public void appendTranslationParameter(java.io.Writer writer, org.eclipse.persistence.internal.expressions.ParameterExpression expression, org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform, org.eclipse.persistence.internal.sessions.AbstractRecord record) throws java.io.IOException
java.io.IOException
public void useCustomSQLCursorOutputAsResultSet(java.lang.String customParameterName)