Module eclipselink
Class PLSQLStoredProcedureCall
java.lang.Object
org.eclipse.persistence.internal.databaseaccess.DatasourceCall
org.eclipse.persistence.internal.databaseaccess.DatabaseCall
org.eclipse.persistence.queries.StoredProcedureCall
org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall
- All Implemented Interfaces:
Serializable,Cloneable,Call
- Direct Known Subclasses:
PLSQLStoredFunctionCall
Purpose:
Generates an Anonymous PL/SQL block to invoke the specified Stored Procedure
with arguments that may or may not have JDBC equivalents.
This handles conversion of PLSQL Record and Table types into SQL ARRAY (VARRAY) and STRUCT (OBJECT TYPE).
It also handles conversion of flat PLSQL Record types and PLSQL BOOLEAN and other basic types.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourceCall
org.eclipse.persistence.internal.databaseaccess.DatasourceCall.ParameterType -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected List<PLSQLargument> List of procedure IN/OUT/INOUT arguments.protected intId used to generate unique local functions.protected intKeeps track of the next procedure argument index.protected org.eclipse.persistence.internal.sessions.AbstractRecordTranslation row stored after translation on the call clone, used only for logging.Fields inherited from class org.eclipse.persistence.queries.StoredProcedureCall
optionalArguments, procedureArgumentNames, procedureNameFields inherited from class org.eclipse.persistence.internal.databaseaccess.DatabaseCall
executeReturnValue, fields, fieldsArray, firstResult, FIRSTRESULT_FIELD, generatedKeys, hasAllocatedConnection, hasMultipleResultSets, hasOptimisticLock, ignoreFirstRowSetting, ignoreMaxResultsSetting, isBatchExecutionSupported, isCallableStatementRequired, isCursorOutputProcedure, isFieldMatchingRequired, isMultipleCursorOutputProcedure, isResultSetScrollable, MAXROW_FIELD, maxRows, queryTimeout, queryTimeoutUnit, result, resultSetConcurrency, resultSetFetchSize, resultSetType, returnMultipleResultSetCollections, returnsResultSet, shouldBuildOutputRow, shouldCacheStatement, shouldReturnGeneratedKeys, sqlString, statement, usesBindingFields inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourceCall
EXECUTE_UPDATE, isNativeConnectionRequired, isPrepared, NO_RETURN, outputCursors, parameterBindings, parameters, parameterTypes, query, RETURN_CURSOR, RETURN_MANY_ROWS, RETURN_ONE_ROW, returnType, shouldProcessTokenInQuotes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddNamedArgument(String procedureParameterAndArgumentFieldName) PUBLIC: Define the argument to the stored procedure and the field/argument name to be substitute for it.voidaddNamedArgument(String procedureParameterName, String argumentFieldName) PUBLIC: Define the argument to the stored procedure and the field/argument name to be substitute for it.voidaddNamedArgument(String procedureParameterName, String argumentFieldName, int type) PUBLIC: Define the input argument to the stored procedure and the field/argument name to be substitute for it.voidaddNamedArgument(String procedureParameterName, String argumentFieldName, int type, String typeName) PUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it.voidaddNamedArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType) PUBLIC: Add a named IN argument to the stored procedure.voidaddNamedArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType, int length) PUBLIC: Add a named IN argument to the stored procedure.voidaddNamedArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType, int precision, int scale) PUBLIC: Add a named IN argument to the stored procedure.voidaddNamedArgumentValue(String procedureParameterName, Object argumentValue) PUBLIC: Define the argument to the stored procedure and the value to be substitute for it.voidaddNamedInOutputArgument(String procedureParameterAndArgumentFieldName) PUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out.voidaddNamedInOutputArgument(String procedureParameterName, String argumentFieldName) PUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out.voidaddNamedInOutputArgument(String procedureParameterName, String argumentFieldName, Class<?> type) PUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out.voidaddNamedInOutputArgument(String procedureParameterName, String inArgumentFieldName, String outArgumentFieldName, int type) PUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out.voidaddNamedInOutputArgument(String procedureParameterName, String inArgumentFieldName, String outArgumentFieldName, int type, String typeName) PUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out.voidaddNamedInOutputArgument(String procedureParameterName, String inArgumentFieldName, String outArgumentFieldName, int type, String typeName, Class<?> classType) PUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out.voidaddNamedInOutputArgument(String procedureParameterName, String inArgumentFieldName, String outArgumentFieldName, int type, String typeName, Class<?> javaType, org.eclipse.persistence.internal.helper.DatabaseField nestedType) PUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out.voidaddNamedInOutputArgument(String procedureParameterName, String inArgumentFieldName, String outArgumentFieldName, Class<?> type) PUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out.voidaddNamedInOutputArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType) PUBLIC: Add a named IN OUT argument to the stored procedure.voidaddNamedInOutputArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType, int length) PUBLIC: Add a named IN OUT argument to the stored procedure.voidaddNamedInOutputArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType, int precision, int scale) PUBLIC: Add a named IN OUT argument to the stored procedure.voidaddNamedInOutputArgumentValue(String procedureParameterName, Object inArgumentValue, String outArgumentFieldName, Class<?> type) PUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out.voidaddNamedOutputArgument(String procedureParameterAndArgumentFieldName) PUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it.voidaddNamedOutputArgument(String procedureParameterName, String argumentFieldName) PUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it.voidaddNamedOutputArgument(String procedureParameterName, String argumentFieldName, int type) PUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it.voidaddNamedOutputArgument(String procedureParameterName, String argumentFieldName, int type, String typeName) PUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it.voidaddNamedOutputArgument(String procedureParameterName, String argumentFieldName, int jdbcType, String typeName, Class<?> javaType) PUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it.voidaddNamedOutputArgument(String procedureParameterName, String argumentFieldName, int jdbcType, String typeName, Class<?> javaType, org.eclipse.persistence.internal.helper.DatabaseField nestedType) PUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it.voidaddNamedOutputArgument(String procedureParameterName, String argumentFieldName, Class<?> type) PUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it.voidaddNamedOutputArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType) PUBLIC: Add a named OUT argument to the stored procedure.voidaddNamedOutputArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType, int length) PUBLIC: Add a named OUT argument to the stored procedure.voidaddNamedOutputArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType, int precision, int scale) PUBLIC: Add a named OUT argument to the stored procedure.protected voidaddNestedFunctionsForArgument(List<String> functions, PLSQLargument argument, org.eclipse.persistence.internal.helper.DatabaseType databaseType, Set<org.eclipse.persistence.internal.helper.DatabaseType> processed) INTERNAL Add the nested function string required for the type and its subtypes.voidaddUnamedArgument(String argumentFieldName) PUBLIC: Define the field/argument name to be substitute for the index argument.voidaddUnamedArgument(String argumentFieldName, int type) PUBLIC: Define the argument to the stored procedure for the index argument.voidaddUnamedArgument(String argumentFieldName, int type, String typeName) PUBLIC: Define the argument to the stored procedure for the index argument.voidaddUnamedArgument(String argumentFieldName, int type, String typeName, org.eclipse.persistence.internal.helper.DatabaseField nestedType) PUBLIC: Define the argument to the stored procedure for the index argument.voidaddUnamedArgument(String argumentFieldName, Class<?> type) PUBLIC: Define the argument to the stored procedure for the index argument.voidaddUnamedArgumentValue(Object argumentValue) PUBLIC: Define the argument to the stored procedure for the index argument.voidaddUnamedInOutputArgument(String argumentFieldName) PUBLIC: Define the inoutput argument to the stored procedure for the index argument and the field/argument name to be substitute for it on the way in and out.voidaddUnamedInOutputArgument(String argumentFieldName, Class<?> type) PUBLIC: Define the inoutput argument to the stored procedure for the index argument and the field/argument name to be substitute for it on the way in and out.voidaddUnamedInOutputArgument(String inArgumentFieldName, String outArgumentFieldName, int type) PUBLIC: Define the argument to the stored procedure for the index argument.voidaddUnamedInOutputArgument(String inArgumentFieldName, String outArgumentFieldName, int type, String typeName) PUBLIC: Define the inoutput argument to the stored procedure for the index argument and the field/argument name to be substitute for it on the way in and out.voidaddUnamedInOutputArgument(String inArgumentFieldName, String outArgumentFieldName, int type, String typeName, Class<?> collection) PUBLIC: Define the inoutput argument to the stored procedure for the index argument and the field/argument name to be substitute for it on the way in and out.voidaddUnamedInOutputArgument(String inArgumentFieldName, String outArgumentFieldName, int type, String typeName, Class<?> collection, org.eclipse.persistence.internal.helper.DatabaseField nestedType) PUBLIC: Define the inoutput argument to the stored procedure for the index argument and the field/argument name to be substitute for it on the way in and out.voidaddUnamedInOutputArgument(String inArgumentFieldName, String outArgumentFieldName, Class<?> type) PUBLIC: Define the argument to the stored procedure for the index argument.voidaddUnamedInOutputArgumentValue(Object inArgumentValue, String outArgumentFieldName, Class<?> type) PUBLIC: Define the inoutput argument to the stored procedure for the index argument and the field/argument name to be substitute for it on the way in and out.voidaddUnamedOutputArgument(String argumentFieldName) PUBLIC: Define the field/argument name to be substitute for the index output argument.voidaddUnamedOutputArgument(String argumentFieldName, int type) PUBLIC: Define the field/argument name to be substitute for the index output argument.voidaddUnamedOutputArgument(String argumentFieldName, int type, String typeName) PUBLIC: Define the field/argument name to be substitute for the index output argument.voidaddUnamedOutputArgument(String argumentFieldName, int jdbcType, String typeName, Class<?> javaType) PUBLIC: Define the field/argument name to be substitute for the index output argument.voidaddUnamedOutputArgument(String argumentFieldName, int jdbcType, String typeName, Class<?> javaType, org.eclipse.persistence.internal.helper.DatabaseField nestedType) PUBLIC: Define the field/argument name to be substitute for the index output argument.voidaddUnamedOutputArgument(String argumentFieldName, Class<?> type) PUBLIC: Define the field/argument name to be substitute for the index output argument.protected voidINTERNAL compute the re-ordered indices - Do the IN args first, then the 'IN-half' of the INOUT args next, the OUT args, then the 'OUT-half' of the INOUT argsprotected voidbuildBeginBlock(StringBuilder sb, List<PLSQLargument> arguments) INTERNAL Generate portion of the Anonymous PL/SQL block that assigns fields at the beginning of the BEGIN block (before invoking the target procedure).protected voidbuildDeclareBlock(StringBuilder sb, List<PLSQLargument> arguments) INTERNAL Generate portion of the Anonymous PL/SQL block that declares the temporary variables in the DECLARE section.protected voidbuildNestedFunctions(StringBuilder stream, List<PLSQLargument> arguments) INTERNAL Generate portion of the Anonymous PL/SQL block with PL/SQL conversion routines as nested functions.protected voidbuildOutAssignments(StringBuilder sb, List<PLSQLargument> arguments) INTERNAL Generate portion of the Anonymous PL/SQL block after the target procedures has been invoked and OUT parameters must be handled.org.eclipse.persistence.internal.sessions.AbstractRecordbuildOutputRow(CallableStatement statement, org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor, org.eclipse.persistence.internal.sessions.AbstractSession session) Translate the SQL procedure output row, into the row expected by the PLSQL procedure.protected voidbuildProcedureInvocation(StringBuilder sb, List<PLSQLargument> arguments) INTERNAL Generate portion of the Anonymous PL/SQL block that invokes the target procedure.Return the PLSQL arguments.protected static List<PLSQLargument> getArguments(List<PLSQLargument> args, org.eclipse.persistence.internal.databaseaccess.DatasourceCall.ParameterType direction) INTERNALgetLogString(org.eclipse.persistence.internal.databaseaccess.Accessor accessor) INTERNAL: Build the log string for the call.getOutputParameterValue(CallableStatement statement, int index, org.eclipse.persistence.internal.sessions.AbstractSession session) INTERNAL:getPl2SQLName(org.eclipse.persistence.internal.helper.ComplexDatabaseType type) Return the conversion function name, generate the function if missing.getSQL2PlName(org.eclipse.persistence.internal.helper.ComplexDatabaseType type) Return the conversion function name, generate the function if missing.booleanprotected voidprepareInternal(org.eclipse.persistence.internal.sessions.AbstractSession session) Generate the Anonymous PL/SQL blockprepareStatement(org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow, org.eclipse.persistence.internal.sessions.AbstractSession session) INTERNAL: Prepare the JDBC statement, this may be parameterize or a call statement.voidsetArguments(List<PLSQLargument> arguments) Set the PLSQL arguments.voidtranslate(org.eclipse.persistence.internal.sessions.AbstractRecord translationRow, org.eclipse.persistence.internal.sessions.AbstractRecord modifyRow, org.eclipse.persistence.internal.sessions.AbstractSession session) Translate the PLSQL procedure translation row, into the row expected by the SQL procedure.voiduseNamedCursorOutputAsResultSet(String argumentName) PUBLIC: Used for Oracle result sets through procedures.voiduseNamedCursorOutputAsResultSet(String argumentName, org.eclipse.persistence.internal.helper.DatabaseType databaseType) PUBLIC: Add a named OUT cursor argument to the stored procedure.voidPUBLIC: Used for Oracle result sets through procedures.Methods inherited from class org.eclipse.persistence.queries.StoredProcedureCall
addNamedArgument, addNamedArgument, addNamedArgument, addNamedArgument, addNamedArgument, addNamedCursorOutputArgument, addOptionalArgument, addUnnamedCursorOutputArgument, bindParameter, getCallHeader, getFirstParameterIndexForCallString, getOptionalArguments, getProcedureArgumentNames, getProcedureName, hasOptionalArguments, isCallableStatementRequired, isStoredProcedureCall, setHasMultipleResultSets, setOptionalArguments, setProcedureArgumentNames, setProcedureName, setReturnsResultSet, toString, useCursorOutputResultSet, useUnnamedCursorOutputAsResultSetMethods inherited from class org.eclipse.persistence.internal.databaseaccess.DatabaseCall
addContext, appendLogParameters, appendParameter, buildNewQueryMechanism, buildQueryMechanism, createInOutParameter, getCallString, getContexts, getCursorOutIndex, getExecuteReturnValue, getFields, getFieldsArray, getFieldWithTypeFromDescriptor, getFirstResult, getGeneratedKeys, getMaxRows, getOutputParameterValue, getOutputRowFields, getQueryString, getQueryTimeout, getResult, getResultSetConcurrency, getResultSetFetchSize, getResultSetType, getReturnsResultSet, getSQLString, getStatement, hasAllocatedConnection, hasMultipleResultSets, hasOptimisticLock, isBatchExecutionSupported, isCursorOutputProcedure, isCursorReturned, isDynamicCall, isFieldMatchingRequired, isFinished, isLOBLocatorNeeded, isMultipleCursorOutputProcedure, isNonCursorOutputProcedure, isResultSetScrollable, matchFieldOrder, prepare, prepareInternalParameters, returnMultipleResultSetCollections, setBatchExecutionSupported, setContexts, setExecuteReturnValue, setFields, setFields, setFirstResult, setGeneratedKeys, setHasAllocatedConnection, setHasOptimisticLock, setIgnoreFirstRowSetting, setIgnoreMaxResultsSetting, setIsCallableStatementRequired, setIsCursorOutputProcedure, setIsFieldMatchingRequired, setIsMultipleCursorOutputProcedure, setIsResultSetScrollable, setMaxRows, setQueryString, setQueryTimeout, setQueryTimeoutUnit, setResult, setResultSetConcurrency, setResultSetFetchSize, setResultSetType, setReturnMultipleResultSetCollections, setShouldBuildOutputRow, setShouldCacheStatement, setShouldReturnGeneratedKeys, setSQLStringInternal, setStatement, shouldBuildOutputRow, shouldCacheStatement, shouldCacheStatement, shouldIgnoreFirstRowSetting, shouldIgnoreMaxResultsSetting, shouldReturnGeneratedKeysMethods inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourceCall
appendIn, appendIn, appendIn, appendInOut, appendInOut, appendInOut, appendInOut, appendInOut, appendLiteral, appendLiteral, appendLiteral, appendModify, appendModify, appendModify, appendOut, appendOut, appendOut, appendOutCursor, appendOutCursor, appendTranslation, appendTranslation, appendTranslation, areManyRowsReturned, argumentMarker, clone, createField, getOutputCursors, getParameterBindings, getParameters, getParameterTypes, getQuery, getReturnType, getValueForInOutParameter, getValueForInParameter, hasOutputCursors, hasParameters, isEISInteraction, isExecuteUpdate, isJPQLCall, isNativeConnectionRequired, isNothingReturned, isOneRowReturned, isOutputParameterType, isPrepared, isQueryStringCall, isReturnSet, isSQLCall, isStoredFunctionCall, isStoredPLSQLFunctionCall, isUsesBindingSet, returnCursor, returnManyRows, returnNothing, returnOneRow, setExecuteUpdate, setIsNativeConnectionRequired, setIsPrepared, setParameterBindings, setParameters, setParameterTypes, setQuery, setReturnType, setUsesBinding, translateCustomQuery, translatePureSQLCustomQuery, translateQueryString, translateQueryStringAndBindParameters, translateQueryStringForParameterizedIN, usesBinding, usesBinding, usesBinding, whitespace
-
Field Details
-
arguments
List of procedure IN/OUT/INOUT arguments. -
originalIndex
protected int originalIndexKeeps track of the next procedure argument index. -
translationRow
protected org.eclipse.persistence.internal.sessions.AbstractRecord translationRowTranslation row stored after translation on the call clone, used only for logging. -
functionId
protected int functionIdId used to generate unique local functions.
-
-
Constructor Details
-
PLSQLStoredProcedureCall
public PLSQLStoredProcedureCall()
-
-
Method Details
-
addNamedArgument
public void addNamedArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType) PUBLIC: Add a named IN argument to the stored procedure. The databaseType parameter classifies the parameter (JDBCType vs. OraclePLSQLType, simple vs. complex) -
addNamedArgument
public void addNamedArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType, int length) PUBLIC: Add a named IN argument to the stored procedure. The databaseType parameter classifies the parameter (JDBCType vs. OraclePLSQLType, simple vs. complex). The extra length parameter indicates that this parameter, when used in an Anonymous PL/SQL block, requires a length. -
addNamedArgument
public void addNamedArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType, int precision, int scale) PUBLIC: Add a named IN argument to the stored procedure. The databaseType parameter classifies the parameter (JDBCType vs. OraclePLSQLType, simple vs. complex). The extra scale and precision parameters indicates that this parameter, when used in an Anonymous PL/SQL block, requires scale and precision specification -
addNamedArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the input argument to the stored procedure and the field/argument name to be substitute for it. The procedureParameterName is the name of the procedure argument expected. The argumentFieldName is the field or argument name to be used to pass to the user. If these names are the same (as they normally are) this method can be called with a single argument. The type is the JDBC type code, this is dependent on the type required by the procedure.- Overrides:
addNamedArgumentin classStoredProcedureCall
-
addNamedArgument
public void addNamedArgument(String procedureParameterName, String argumentFieldName, int type, String typeName) Description copied from class:StoredProcedureCallPUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it. The procedureParameterName is the name of the procedure argument expected. The argumentFieldName is the field or argument name to be used to pass to the procedure. If these names are the same (as they normally are) this method can be called with a single argument. The type is the JDBC type code, this is dependent on the type required by the procedure. The typeName is the JDBC type name, this may be required for ARRAY or STRUCT types.- Overrides:
addNamedArgumentin classStoredProcedureCall
-
addNamedInOutputArgument
public void addNamedInOutputArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType) PUBLIC: Add a named IN OUT argument to the stored procedure. The databaseType parameter classifies the parameter (JDBCType vs. OraclePLSQLType, simple vs. complex) -
addNamedInOutputArgument
public void addNamedInOutputArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType, int length) PUBLIC: Add a named IN OUT argument to the stored procedure. The databaseType parameter classifies the parameter (JDBCType vs. OraclePLSQLType, simple vs. complex). The extra length parameter indicates that this parameter, when used in an Anonymous PL/SQL block, requires a length. -
addNamedInOutputArgument
public void addNamedInOutputArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType, int precision, int scale) PUBLIC: Add a named IN OUT argument to the stored procedure. The databaseType parameter classifies the parameter (JDBCType vs. OraclePLSQLType, simple vs. complex). The extra scale and precision parameters indicates that this parameter, when used in an Anonymous PL/SQL block, requires scale and precision specification -
addNamedInOutputArgument
public void addNamedInOutputArgument(String procedureParameterName, String inArgumentFieldName, String outArgumentFieldName, int type) Description copied from class:StoredProcedureCallPUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out. The procedureParameterName is the name of the procedure argument expected. The inArgumentFieldName is the field or argument name to be used to pass to the procedure. The outArgumentFieldName is the field or argument name to be used is the result of the output row. If these names are the same (as they normally are) this method can be called with a single argument. The type is the JDBC type code, this dependent on the type returned from the procedure.- Overrides:
addNamedInOutputArgumentin classStoredProcedureCall
-
addNamedInOutputArgument
public void addNamedInOutputArgument(String procedureParameterName, String inArgumentFieldName, String outArgumentFieldName, int type, String typeName) Description copied from class:StoredProcedureCallPUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out. The procedureParameterName is the name of the procedure argument expected. The inArgumentFieldName is the field or argument name to be used to pass to the procedure. The outArgumentFieldName is the field or argument name to be used is the result of the output row. If these names are the same (as they normally are) this method can be called with a single argument. The type is the JDBC type code, this dependent on the type returned from the procedure. The typeName is the JDBC type name, this may be required for ARRAY or STRUCT types.- Overrides:
addNamedInOutputArgumentin classStoredProcedureCall
-
addNamedInOutputArgument
public void addNamedInOutputArgument(String procedureParameterName, String inArgumentFieldName, String outArgumentFieldName, int type, String typeName, Class<?> classType) Description copied from class:StoredProcedureCallPUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out. The procedureParameterName is the name of the procedure argument expected. The inArgumentFieldName is the field or argument name to be used to pass to the procedure. The outArgumentFieldName is the field or argument name to be used is the result of the output row. If these names are the same (as they normally are) this method can be called with a single argument. The type is the JDBC type code, this dependent on the type returned from the procedure. The typeName is the JDBC type name, this may be required for STRUCT and ARRAY types. The classType is the type of Java class desired back from the procedure, this is dependent on the type returned from the procedure.- Overrides:
addNamedInOutputArgumentin classStoredProcedureCall
-
addNamedInOutputArgument
public void addNamedInOutputArgument(String procedureParameterName, String inArgumentFieldName, String outArgumentFieldName, int type, String typeName, Class<?> javaType, org.eclipse.persistence.internal.helper.DatabaseField nestedType) Description copied from class:StoredProcedureCallPUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out. The procedureParameterName is the name of the procedure argument expected. The inArgumentFieldName is the field or argument name to be used to pass to the procedure. The outArgumentFieldName is the field or argument name to be used is the result of the output row. If these names are the same (as they normally are) this method can be called with a single argument. The type is the JDBC type code, this dependent on the type returned from the procedure. The typeName is the JDBC type name, this may be required for ARRAY 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- Overrides:
addNamedInOutputArgumentin classStoredProcedureCall
-
addNamedOutputArgument
public void addNamedOutputArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType) PUBLIC: Add a named OUT argument to the stored procedure. The databaseType parameter classifies the parameter (JDBCType vs. OraclePLSQLType, simple vs. complex) -
addNamedOutputArgument
public void addNamedOutputArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType, int length) PUBLIC: Add a named OUT argument to the stored procedure. The databaseType parameter classifies the parameter (JDBCType vs. OraclePLSQLType, simple vs. complex). The extra length parameter indicates that this parameter, when used in an Anonymous PL/SQL block, requires a length. -
addNamedOutputArgument
public void addNamedOutputArgument(String procedureParameterName, org.eclipse.persistence.internal.helper.DatabaseType databaseType, int precision, int scale) PUBLIC: Add a named OUT argument to the stored procedure. The databaseType parameter classifies the parameter (JDBCType vs. OraclePLSQLType, simple vs. complex). The extra scale and precision parameters indicates that this parameter, when used in an Anonymous PL/SQL block, requires scale and precision specification -
addNamedOutputArgument
public void addNamedOutputArgument(String procedureParameterName, String argumentFieldName, int jdbcType, String typeName, Class<?> javaType) Description copied from class:StoredProcedureCallPUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it. The procedureParameterName is the name of the procedure argument expected. The argumentFieldName is the field or argument name to be used is the result of the output row. The jdbcType is the JDBC type code, this dependent on the type returned from the procedure. The typeName is the JDBC type name, this may be required for ARRAY and STRUCT types. The javaType is the java class to return instead of the ARRAY and STRUCT types if a conversion is possible.- Overrides:
addNamedOutputArgumentin classStoredProcedureCall
-
addNamedOutputArgument
public void addNamedOutputArgument(String procedureParameterName, String argumentFieldName, int jdbcType, String typeName, Class<?> javaType, org.eclipse.persistence.internal.helper.DatabaseField nestedType) Description copied from class:StoredProcedureCallPUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it. The procedureParameterName is the name of the procedure argument expected. The argumentFieldName is the field or argument name to be used is the result of the output row. The jdbcType is the JDBC type code, this dependent on the type returned from the procedure. The typeName is the JDBC type name, this may be required for ARRAY and 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- Overrides:
addNamedOutputArgumentin classStoredProcedureCall
-
addNamedOutputArgument
public void addNamedOutputArgument(String procedureParameterName, String argumentFieldName, int type, String typeName) Description copied from class:StoredProcedureCallPUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it. The procedureParameterName is the name of the procedure argument expected. The argumentFieldName is the field or argument name to be used to pass to the procedure. If these names are the same (as they normally are) this method can be called with a single argument. The type is the JDBC type code, this is dependent on the type returned from the procedure. The typeName is the JDBC type name, this may be required for ARRAY or STRUCT types.- Overrides:
addNamedOutputArgumentin classStoredProcedureCall
-
addNamedOutputArgument
public void addNamedOutputArgument(String procedureParameterName, String argumentFieldName, int type) Description copied from class:StoredProcedureCallPUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it. The procedureParameterName is the name of the procedure argument expected. The argumentFieldName is the field or argument name to be used to pass to the procedure. If these names are the same (as they normally are) this method can be called with a single argument. The type is the JDBC type code, this is dependent on the type returned from the procedure.- Overrides:
addNamedOutputArgumentin classStoredProcedureCall
-
addNamedArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the argument to the stored procedure and the field/argument name to be substitute for it. The procedureParameterAndArgumentFieldName is the name of the procedure argument expected, and is the field or argument name to be used to pass to the procedure. These names are assumed to be the same, if not this method can be called with two arguments.- Overrides:
addNamedArgumentin classStoredProcedureCall
-
addNamedArgumentValue
Description copied from class:StoredProcedureCallPUBLIC: Define the argument to the stored procedure and the value to be substitute for it. The procedureParameterName is the name of the procedure argument expected. The argumentValue is the value of the argument to be used to pass to the procedure.- Overrides:
addNamedArgumentValuein classStoredProcedureCall
-
addNamedArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the argument to the stored procedure and the field/argument name to be substitute for it. The procedureParameterName is the name of the procedure argument expected. The argumentFieldName is the field or argument name to be used to pass to the procedure. If these names are the same (as they normally are) this method can be called with a single argument.- Overrides:
addNamedArgumentin classStoredProcedureCall
-
addNamedInOutputArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out. The procedureParameterAndArgumentFieldName is the name of the procedure argument expected, the field or argument name to be used to pass to the procedure and, the field or argument name to be used is the result of the output row.- Overrides:
addNamedInOutputArgumentin classStoredProcedureCall
-
addNamedInOutputArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out. The procedureParameterName is the name of the procedure argument expected. The argumentFieldName is the field or argument name to be used to pass to the procedure and is the result of the output row.- Overrides:
addNamedInOutputArgumentin classStoredProcedureCall
-
addNamedInOutputArgument
public void addNamedInOutputArgument(String procedureParameterName, String argumentFieldName, Class<?> type) Description copied from class:StoredProcedureCallPUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out. The procedureParameterName is the name of the procedure argument expected. The argumentFieldName is the field or argument name to be used to pass to the procedure and is the result of the output row. The type is the type of Java class desired back from the procedure, this is dependent on the type returned from the procedure.- Overrides:
addNamedInOutputArgumentin classStoredProcedureCall
-
addNamedInOutputArgument
public void addNamedInOutputArgument(String procedureParameterName, String inArgumentFieldName, String outArgumentFieldName, Class<?> type) Description copied from class:StoredProcedureCallPUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out. The procedureParameterName is the name of the procedure argument expected. The inArgumentFieldName is the field or argument name to be used to pass to the procedure. The outArgumentFieldName is the field or argument name to be used is the result of the output row. If these names are the same (as they normally are) this method can be called with a single argument. The type the Java class desired back from the procedure, if a struct is returned and the class has an ObjectRelationalDataTypeDescriptor defined .- Overrides:
addNamedInOutputArgumentin classStoredProcedureCall
-
addNamedInOutputArgumentValue
public void addNamedInOutputArgumentValue(String procedureParameterName, Object inArgumentValue, String outArgumentFieldName, Class<?> type) Description copied from class:StoredProcedureCallPUBLIC: Define the inoutput argument to the stored procedure and the field/argument name to be substitute for it on the way in and out. The procedureParameterName is the name of the procedure argument expected. The inArgumentValue is the value of the argument to be used to pass to the procedure. The outArgumentFieldName is the field or argument name to be used is the result of the output row. If these names are the same (as they normally are) this method can be called with a single argument. The type is the type of Java class desired back from the procedure, this is dependent on the type returned from the procedure.- Overrides:
addNamedInOutputArgumentValuein classStoredProcedureCall
-
addNamedOutputArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it. The procedureParameterAndArgumentFieldName is the name of the procedure argument expected, and is the field or argument name to be used to pass to the procedure. These names are assumed to be the same, if not this method can be called with two arguments.- Overrides:
addNamedOutputArgumentin classStoredProcedureCall
-
addNamedOutputArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it. The procedureParameterName is the name of the procedure argument expected. The argumentFieldName is the field or argument name to be used to pass to the procedure. If these names are the same (as they normally are) this method can be called with a single argument.- Overrides:
addNamedOutputArgumentin classStoredProcedureCall
-
addNamedOutputArgument
public void addNamedOutputArgument(String procedureParameterName, String argumentFieldName, Class<?> type) Description copied from class:StoredProcedureCallPUBLIC: Define the output argument to the stored procedure and the field/argument name to be substitute for it. The procedureParameterName is the name of the procedure argument expected. The argumentFieldName is the field or argument name to be used to pass to the procedure. If these names are the same (as they normally are) this method can be called with a single argument. The type is the type of Java class desired back from the procedure, this is dependent on the type returned from the procedure.- Overrides:
addNamedOutputArgumentin classStoredProcedureCall
-
useNamedCursorOutputAsResultSet
Description copied from class:StoredProcedureCallPUBLIC: Used for Oracle result sets through procedures. This can only be used if the arguments are not named but ordered.- Overrides:
useNamedCursorOutputAsResultSetin classStoredProcedureCall
-
addUnamedArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the argument to the stored procedure for the index argument. This method is used if the procedure is not named and the order is explicit, arguments must be added in the correct order. The argumentFieldName is the field or argument name to be used to pass to the user. The type is the type of Java class for the field, and is dependent on the type required by the procedure. This is used to set the type in case null is passed in.- Overrides:
addUnamedArgumentin classStoredProcedureCall
-
addUnamedArgument
public void addUnamedArgument(String argumentFieldName, int type, String typeName, org.eclipse.persistence.internal.helper.DatabaseField nestedType) Description copied from class:StoredProcedureCallPUBLIC: Define the argument to the stored procedure for the index argument. This method is used if the procedure is not named and the order is explicit, arguments must be added in the correct order. The argumentFieldName is the field or argument name to be used to pass to the procedure. If these names are the same (as they normally are) this method can be called with a single argument. The type is the JDBC type code, this is dependent on the type required by the procedure. The typeName is the JDBC type name, as required for STRUCT and ARRAY types. The nestedType is a DatabaseField with type information set to match the VARRAYs object types- Overrides:
addUnamedArgumentin classStoredProcedureCall
-
addUnamedArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the argument to the stored procedure for the index argument. This method is used if the procedure is not named and the order is explicit, arguments must be added in the correct order. The argumentFieldName is the field or argument name to be used to pass to the procedure. If these names are the same (as they normally are) this method can be called with a single argument. The type is the JDBC type code, this is dependent on the type required by the procedure. The typeName is the JDBC type name, this may be required for ARRAY or STRUCT types.- Overrides:
addUnamedArgumentin classStoredProcedureCall
-
addUnamedArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the argument to the stored procedure for the index argument. This method is used if the procedure is not named and the order is explicit, arguments must be added in the correct order. The argumentFieldName is the field or argument name to be used to pass to the user. If these names are the same (as they normally are) this method can be called with a single argument. The type is the JDBC type code, this is dependent on the type required by the procedure.- Overrides:
addUnamedArgumentin classStoredProcedureCall
-
addUnamedArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the field/argument name to be substitute for the index argument. This method is used if the procedure is not named and the order is explicit, names must be added in the correct order. The argumentFieldName is the field or argument name to be used to pass to the procedure.- Overrides:
addUnamedArgumentin classStoredProcedureCall
-
addUnamedArgumentValue
Description copied from class:StoredProcedureCallPUBLIC: Define the argument to the stored procedure for the index argument. This method is used if the procedure is not named and the order is explicit, arguments must be added in the correct order. The argumentValue is the value of the argument to be used to pass to the procedure.- Overrides:
addUnamedArgumentValuein classStoredProcedureCall
-
addUnamedInOutputArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the inoutput argument to the stored procedure for the index argument and the field/argument name to be substitute for it on the way in and out. This method is used if the procedure is not named and the order is explicit, arguments must be added in the correct order. The argumentFieldName is the field name of the argument to be used to pass to the procedure and to be used is the result of the output row. The type is the type of Java class desired back from the procedure, this is dependent on the type returned from the procedure.- Overrides:
addUnamedInOutputArgumentin classStoredProcedureCall
-
addUnamedInOutputArgument
public void addUnamedInOutputArgument(String inArgumentFieldName, String outArgumentFieldName, Class<?> type) Description copied from class:StoredProcedureCallPUBLIC: Define the argument to the stored procedure for the index argument. This method is used if the procedure is not named and the order is explicit, arguments must be added in the correct order. The inArgumentFieldName is the field name of the argument to be used to pass to the procedure. The outArgumentFieldName is the field or argument name to be used is the result of the output row. If these names are the same (as they normally are) this method can be called with a single argument. The type is the type of Java class desired back from the procedure, this is dependent on the type returned from the procedure.- Overrides:
addUnamedInOutputArgumentin classStoredProcedureCall
-
addUnamedInOutputArgument
public void addUnamedInOutputArgument(String inArgumentFieldName, String outArgumentFieldName, int type, String typeName, Class<?> collection, org.eclipse.persistence.internal.helper.DatabaseField nestedType) Description copied from class:StoredProcedureCallPUBLIC: Define the inoutput argument to the stored procedure for the index argument and the field/argument name to be substitute for it on the way in and out. This method is used if the procedure is not named and the order is explicit, arguments must be added in the correct order. The argumentFieldName is the field or argument name to be used is the result of the output row. The jdbcType is the JDBC type code, this dependent on the type returned from the procedure. The typeName is the JDBC type name, this may be required for ARRAY and 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- Overrides:
addUnamedInOutputArgumentin classStoredProcedureCall
-
addUnamedInOutputArgument
public void addUnamedInOutputArgument(String inArgumentFieldName, String outArgumentFieldName, int type, String typeName, Class<?> collection) Description copied from class:StoredProcedureCallPUBLIC: Define the inoutput argument to the stored procedure for the index argument and the field/argument name to be substitute for it on the way in and out. This method is used if the procedure is not named and the order is explicit, arguments must be added in the correct order. The inArgumentFieldName is the field or argument name to be used to pass to the procedure. The outArgumentFieldName is the field or argument name to be used is the result of the output row. If these names are the same (as they normally are) this method can be called with a single argument. The type is the JDBC type code, this dependent on the type returned from the procedure. The typeName is the JDBC type name, this may be required for ARRAY types. The collectionClass is the java class to return instead of the ARRAY type.- Overrides:
addUnamedInOutputArgumentin classStoredProcedureCall
-
addUnamedInOutputArgument
public void addUnamedInOutputArgument(String inArgumentFieldName, String outArgumentFieldName, int type, String typeName) Description copied from class:StoredProcedureCallPUBLIC: Define the inoutput argument to the stored procedure for the index argument and the field/argument name to be substitute for it on the way in and out. This method is used if the procedure is not named and the order is explicit, arguments must be added in the correct order. The inArgumentFieldName is the field name of the argument to be used to pass to the procedure. The outArgumentFieldName is the field or argument name to be used is the result of the output row. If these names are the same (as they normally are) this method can be called with a single argument. The type is the JDBC type code, this is dependent on the type returned from the procedure. The typeName is the JDBC type name, this may be required for ARRAY or STRUCT types.- Overrides:
addUnamedInOutputArgumentin classStoredProcedureCall
-
addUnamedInOutputArgument
public void addUnamedInOutputArgument(String inArgumentFieldName, String outArgumentFieldName, int type) Description copied from class:StoredProcedureCallPUBLIC: Define the argument to the stored procedure for the index argument. This method is used if the procedure is not named and the order is explicit, arguments must be added in the correct order. The inArgumentFieldName is the field name of the argument to be used to pass to the procedure. The outArgumentFieldName is the field or argument name to be used is the result of the output row. If these names are the same (as they normally are) this method can be called with a single argument. The type is the JDBC type code, this is dependent on the type returned from the procedure.- Overrides:
addUnamedInOutputArgumentin classStoredProcedureCall
-
addUnamedInOutputArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the inoutput argument to the stored procedure for the index argument and the field/argument name to be substitute for it on the way in and out. This method is used if the procedure is not named and the order is explicit, arguments must be added in the correct order. The argumentFieldName is the field name of the argument to be used to pass to the procedure and to be used is the result of the output row.- Overrides:
addUnamedInOutputArgumentin classStoredProcedureCall
-
addUnamedInOutputArgumentValue
public void addUnamedInOutputArgumentValue(Object inArgumentValue, String outArgumentFieldName, Class<?> type) Description copied from class:StoredProcedureCallPUBLIC: Define the inoutput argument to the stored procedure for the index argument and the field/argument name to be substitute for it on the way in and out. This method is used if the procedure is not named and the order is explicit, arguments must be added in the correct order. The inArgumentValue is the value of the argument to be used to pass to the procedure. The outArgumentFieldName is the field or argument name to be used is the result of the output row. If these names are the same (as they normally are) this method can be called with a single argument. The type is the type of Java class desired back from the procedure, this is dependent on the type returned from the procedure.- Overrides:
addUnamedInOutputArgumentValuein classStoredProcedureCall
-
addUnamedOutputArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the field/argument name to be substitute for the index output argument. This method is used if the procedure is not named and the order is explicit, names must be added in the correct order. The argumentFieldName is the field or argument name to be used to pass to the procedure. The type is the type of Java class desired back from the procedure, this is dependent on the type returned from the procedure.- Overrides:
addUnamedOutputArgumentin classStoredProcedureCall
-
addUnamedOutputArgument
public void addUnamedOutputArgument(String argumentFieldName, int jdbcType, String typeName, Class<?> javaType, org.eclipse.persistence.internal.helper.DatabaseField nestedType) Description copied from class:StoredProcedureCallPUBLIC: Define the field/argument name to be substitute for the index output argument. This method is used if the procedure is not named and the order is explicit, names must be added in the correct order. The argumentFieldName is the field or argument name to be used is the result of the output row. The jdbcType is the JDBC type code, this dependent on the type returned from the procedure. The typeName is the JDBC type name, this may be required for ARRAY and 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- Overrides:
addUnamedOutputArgumentin classStoredProcedureCall
-
addUnamedOutputArgument
public void addUnamedOutputArgument(String argumentFieldName, int jdbcType, String typeName, Class<?> javaType) Description copied from class:StoredProcedureCallPUBLIC: Define the field/argument name to be substitute for the index output argument. This method is used if the procedure is not named and the order is explicit, names must be added in the correct order. The argumentFieldName is the field or argument name to be used is the result of the output row. The jdbcType is the JDBC type code, this dependent on the type returned from the procedure. The typeName is the JDBC type name, this may be required for ARRAY and STRUCT types. The javaType is the java class to return instead of the ARRAY and STRUCT types if a conversion is possible.- Overrides:
addUnamedOutputArgumentin classStoredProcedureCall
-
addUnamedOutputArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the field/argument name to be substitute for the index output argument. This method is used if the procedure is not named and the order is explicit, names must be added in the correct order. The argumentFieldName is the field or argument name to be used to pass to the procedure. The type is the JDBC type code, this is dependent on the type returned from the procedure. The typeName is the JDBC type name, this may be required for ARRAY or STRUCT types.- Overrides:
addUnamedOutputArgumentin classStoredProcedureCall
-
addUnamedOutputArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the field/argument name to be substitute for the index output argument. This method is used if the procedure is not named and the order is explicit, names must be added in the correct order. The argumentFieldName is the field or argument name to be used to pass to the procedure. The type is the JDBC type code, this is dependent on the type returned from the procedure.- Overrides:
addUnamedOutputArgumentin classStoredProcedureCall
-
addUnamedOutputArgument
Description copied from class:StoredProcedureCallPUBLIC: Define the field/argument name to be substitute for the index output argument. This method is used if the procedure is not named and the order is explicit, names must be added in the correct order. The argumentFieldName is the field or argument name to be used to pass to the procedure. The type is the type of Java class desired back from the procedure, this is dependent on the type returned from the procedure.- Overrides:
addUnamedOutputArgumentin classStoredProcedureCall
-
useUnnamedCursorOutputAsResultSet
public void useUnnamedCursorOutputAsResultSet()Description copied from class:StoredProcedureCallPUBLIC: Used for Oracle result sets through procedures. This can only be used if the arguments are not named but ordered.- Overrides:
useUnnamedCursorOutputAsResultSetin classStoredProcedureCall
-
useNamedCursorOutputAsResultSet
public void useNamedCursorOutputAsResultSet(String argumentName, org.eclipse.persistence.internal.helper.DatabaseType databaseType) PUBLIC: Add a named OUT cursor argument to the stored procedure. The databaseType parameter classifies the parameter (JDBCType vs. OraclePLSQLType, simple vs. complex). -
assignIndices
protected void assignIndices()INTERNAL compute the re-ordered indices - Do the IN args first, then the 'IN-half' of the INOUT args next, the OUT args, then the 'OUT-half' of the INOUT args -
buildDeclareBlock
INTERNAL Generate portion of the Anonymous PL/SQL block that declares the temporary variables in the DECLARE section. -
addNestedFunctionsForArgument
protected void addNestedFunctionsForArgument(List<String> functions, PLSQLargument argument, org.eclipse.persistence.internal.helper.DatabaseType databaseType, Set<org.eclipse.persistence.internal.helper.DatabaseType> processed) INTERNAL Add the nested function string required for the type and its subtypes. The functions must be added in inverse order to resolve dependencies. -
buildNestedFunctions
INTERNAL Generate portion of the Anonymous PL/SQL block with PL/SQL conversion routines as nested functions. -
buildBeginBlock
INTERNAL Generate portion of the Anonymous PL/SQL block that assigns fields at the beginning of the BEGIN block (before invoking the target procedure). -
buildProcedureInvocation
INTERNAL Generate portion of the Anonymous PL/SQL block that invokes the target procedure. -
buildOutAssignments
INTERNAL Generate portion of the Anonymous PL/SQL block after the target procedures has been invoked and OUT parameters must be handled. -
prepareInternal
protected void prepareInternal(org.eclipse.persistence.internal.sessions.AbstractSession session) Generate the Anonymous PL/SQL block- Overrides:
prepareInternalin classStoredProcedureCall
-
prepareStatement
public Statement prepareStatement(org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow, org.eclipse.persistence.internal.sessions.AbstractSession session) throws SQLException INTERNAL: Prepare the JDBC statement, this may be parameterize or a call statement. If caching statements this must check for the pre-prepared statement and re-bind to it.- Overrides:
prepareStatementin classStoredProcedureCall- Throws:
SQLException
-
translate
public void translate(org.eclipse.persistence.internal.sessions.AbstractRecord translationRow, org.eclipse.persistence.internal.sessions.AbstractRecord modifyRow, org.eclipse.persistence.internal.sessions.AbstractSession session) Translate the PLSQL procedure translation row, into the row expected by the SQL procedure. This handles expanding and re-ordering parameters.- Overrides:
translatein classorg.eclipse.persistence.internal.databaseaccess.DatabaseCall
-
buildOutputRow
public org.eclipse.persistence.internal.sessions.AbstractRecord buildOutputRow(CallableStatement statement, org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor, org.eclipse.persistence.internal.sessions.AbstractSession session) throws SQLException Translate the SQL procedure output row, into the row expected by the PLSQL procedure. This handles re-ordering parameters.- Overrides:
buildOutputRowin classorg.eclipse.persistence.internal.databaseaccess.DatabaseCall- Throws:
SQLException
-
getLogString
INTERNAL: Build the log string for the call.- Specified by:
getLogStringin interfaceCall- Overrides:
getLogStringin classStoredProcedureCall
-
getArguments
protected static List<PLSQLargument> getArguments(List<PLSQLargument> args, org.eclipse.persistence.internal.databaseaccess.DatasourceCall.ParameterType direction) INTERNAL- Returns:
- list of arguments with the specified direction
-
getSQL2PlName
Return the conversion function name, generate the function if missing. -
isStoredPLSQLProcedureCall
public boolean isStoredPLSQLProcedureCall()- Overrides:
isStoredPLSQLProcedureCallin classorg.eclipse.persistence.internal.databaseaccess.DatasourceCall
-
getPl2SQLName
Return the conversion function name, generate the function if missing. -
getOutputParameterValue
public Object getOutputParameterValue(CallableStatement statement, int index, org.eclipse.persistence.internal.sessions.AbstractSession session) throws SQLException Description copied from class:org.eclipse.persistence.internal.databaseaccess.DatabaseCallINTERNAL:Get the return object from the statement. Use the parameter index to determine what return object to get.
- Overrides:
getOutputParameterValuein classStoredProcedureCall- Parameters:
statement- SQL/JDBC statement to call stored procedure/functionindex- 0-based index in the argument listsession- Active database session (in connected state).- Throws:
SQLException
-
getArguments
Return the PLSQL arguments. -
setArguments
Set the PLSQL arguments.
-