Search in sources :

Example 11 with DataModifyQuery

use of org.eclipse.persistence.queries.DataModifyQuery in project eclipselink by eclipse-ee4j.

the class PLSQLProject method buildSimpleInDefaults2Query.

protected DatabaseQuery buildSimpleInDefaults2Query() {
    PLSQLStoredProcedureCall call = new PLSQLStoredProcedureCall();
    call.setProcedureName("PLSQL_SIMPLE_IN_DEFAULTS");
    call.addNamedArgument("P_VARCHAR", JDBCTypes.VARCHAR_TYPE, 30);
    call.addNamedArgument("P_BOOLEAN", OraclePLSQLTypes.PLSQLBoolean);
    call.addNamedArgument("P_BINARY_INTEGER", OraclePLSQLTypes.BinaryInteger);
    call.addNamedArgument("P_DEC", OraclePLSQLTypes.Dec);
    call.addNamedArgument("P_INT", OraclePLSQLTypes.Int);
    call.addNamedArgument("P_NATURAL", OraclePLSQLTypes.Natural);
    call.addNamedArgument("P_NATURALN", OraclePLSQLTypes.NaturalN);
    call.addNamedArgument("P_PLS_INTEGER", OraclePLSQLTypes.PLSQLInteger);
    call.addNamedArgument("P_POSITIVE", OraclePLSQLTypes.Positive);
    call.addNamedArgument("P_POSITIVEN", OraclePLSQLTypes.PositiveN);
    call.addNamedArgument("P_SIGNTYPE", OraclePLSQLTypes.SignType);
    call.addNamedArgument("P_NUMBER", JDBCTypes.NUMERIC_TYPE, 10, 2);
    call.addOptionalArgument("P_VARCHAR");
    call.addOptionalArgument("P_BOOLEAN");
    call.addOptionalArgument("P_BINARY_INTEGER");
    call.addOptionalArgument("P_DEC");
    call.addOptionalArgument("P_INT");
    call.addOptionalArgument("P_NATURAL");
    call.addOptionalArgument("P_NATURALN");
    call.addOptionalArgument("P_PLS_INTEGER");
    call.addOptionalArgument("P_POSITIVE");
    call.addOptionalArgument("P_POSITIVEN");
    call.addOptionalArgument("P_SIGNTYPE");
    call.addOptionalArgument("P_NUMBER");
    DataModifyQuery query = new DataModifyQuery();
    query.addArgument("P_VARCHAR", String.class, true);
    query.addArgument("P_BOOLEAN", Integer.class, true);
    query.addArgument("P_BINARY_INTEGER", Integer.class, true);
    query.addArgument("P_DEC", Integer.class, true);
    query.addArgument("P_INT", Integer.class, true);
    query.addArgument("P_NATURAL", Integer.class, true);
    query.addArgument("P_NATURALN", Integer.class, true);
    query.addArgument("P_PLS_INTEGER", Integer.class, true);
    query.addArgument("P_POSITIVE", Integer.class, true);
    query.addArgument("P_POSITIVEN", Integer.class, true);
    query.addArgument("P_SIGNTYPE", BigDecimal.class, true);
    query.addArgument("P_NUMBER", BigDecimal.class, true);
    query.setCall(call);
    return query;
}
Also used : PLSQLStoredProcedureCall(org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall) DataModifyQuery(org.eclipse.persistence.queries.DataModifyQuery)

Example 12 with DataModifyQuery

use of org.eclipse.persistence.queries.DataModifyQuery in project eclipselink by eclipse-ee4j.

the class PLSQLProject method buildAddressInObjectQuery.

protected DatabaseQuery buildAddressInObjectQuery() {
    PLSQLrecord record = buildAddressRowTypeRecord();
    PLSQLStoredProcedureCall call = new PLSQLStoredProcedureCall();
    call.setProcedureName("PLSQL_ADDRESS_IN");
    call.addNamedArgument("P_ADDRESS", record);
    DataModifyQuery query = new DataModifyQuery();
    query.addArgument("P_ADDRESS", Address.class);
    query.setCall(call);
    return query;
}
Also used : PLSQLStoredProcedureCall(org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall) PLSQLrecord(org.eclipse.persistence.platform.database.oracle.plsql.PLSQLrecord) DataModifyQuery(org.eclipse.persistence.queries.DataModifyQuery)

Example 13 with DataModifyQuery

use of org.eclipse.persistence.queries.DataModifyQuery in project eclipselink by eclipse-ee4j.

the class PLSQLProject method buildSimpleOutQuery.

protected DatabaseQuery buildSimpleOutQuery() {
    PLSQLStoredProcedureCall call = new PLSQLStoredProcedureCall();
    call.setProcedureName("PLSQL_SIMPLE_OUT");
    call.addNamedOutputArgument("P_VARCHAR", JDBCTypes.VARCHAR_TYPE, 30);
    call.addNamedOutputArgument("P_BOOLEAN", OraclePLSQLTypes.PLSQLBoolean);
    call.addNamedOutputArgument("P_BINARY_INTEGER", OraclePLSQLTypes.BinaryInteger);
    call.addNamedOutputArgument("P_DEC", OraclePLSQLTypes.Dec);
    call.addNamedOutputArgument("P_INT", OraclePLSQLTypes.Int);
    call.addNamedOutputArgument("P_NATURAL", OraclePLSQLTypes.Natural);
    // TODO: NATURALN not working for outputs, get conversion error?
    // call.addNamedOutputArgument("P_NATURALN", OraclePLSQLTypes.NaturalN);
    call.addNamedOutputArgument("P_PLS_INTEGER", OraclePLSQLTypes.PLSQLInteger);
    call.addNamedOutputArgument("P_POSITIVE", OraclePLSQLTypes.Positive);
    // call.addNamedOutputArgument("P_POSITIVEN", OraclePLSQLTypes.PositiveN);
    call.addNamedOutputArgument("P_SIGNTYPE", OraclePLSQLTypes.SignType);
    call.addNamedOutputArgument("P_NUMBER", JDBCTypes.NUMERIC_TYPE, 10, 2);
    DataModifyQuery query = new DataModifyQuery();
    query.setCall(call);
    return query;
}
Also used : PLSQLStoredProcedureCall(org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall) DataModifyQuery(org.eclipse.persistence.queries.DataModifyQuery)

Example 14 with DataModifyQuery

use of org.eclipse.persistence.queries.DataModifyQuery in project eclipselink by eclipse-ee4j.

the class PLSQLProject method buildEmployeeListInQuery.

protected DatabaseQuery buildEmployeeListInQuery() {
    PLSQLrecord record = buildEmployeeRecord();
    PLSQLCollection collection = new PLSQLCollection();
    collection.setTypeName("PLSQL_P.PLSQL_EMP_LIST");
    collection.setCompatibleType("PLSQL_P_PLSQL_EMP_LIST");
    collection.setNestedType(record);
    PLSQLStoredProcedureCall call = new PLSQLStoredProcedureCall();
    call.setProcedureName("PLSQL_P.PLSQL_EMP_LIST_IN");
    call.addNamedArgument("P_EMP_LIST", collection);
    call.addNamedArgument("P_CITY", JDBCTypes.VARCHAR_TYPE);
    DataModifyQuery query = new DataModifyQuery();
    query.addArgument("P_EMP_LIST", java.sql.Array.class);
    query.addArgument("P_CITY", String.class);
    query.setCall(call);
    return query;
}
Also used : PLSQLStoredProcedureCall(org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall) PLSQLCollection(org.eclipse.persistence.platform.database.oracle.plsql.PLSQLCollection) PLSQLrecord(org.eclipse.persistence.platform.database.oracle.plsql.PLSQLrecord) DataModifyQuery(org.eclipse.persistence.queries.DataModifyQuery)

Example 15 with DataModifyQuery

use of org.eclipse.persistence.queries.DataModifyQuery in project eclipselink by eclipse-ee4j.

the class AbstractSession method executeNonSelectingCall.

/**
 * PUBLIC:
 * Execute the call on the database.
 * The row count is returned.
 * The call can be a stored procedure call, SQL call or other type of call.
 * <p>Example:
 * <p>session.executeNonSelectingCall(new SQLCall("Delete from Employee");
 *
 * @see #executeSelectingCall(Call)
 */
@Override
public int executeNonSelectingCall(Call call) throws DatabaseException {
    DataModifyQuery query = new DataModifyQuery();
    query.setIsExecutionClone(true);
    query.setCall(call);
    Integer value = (Integer) executeQuery(query);
    if (value == null) {
        return 0;
    } else {
        return value;
    }
}
Also used : DataModifyQuery(org.eclipse.persistence.queries.DataModifyQuery)

Aggregations

DataModifyQuery (org.eclipse.persistence.queries.DataModifyQuery)72 PLSQLStoredProcedureCall (org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall)32 Test (org.junit.Test)24 StringReader (java.io.StringReader)23 Project (org.eclipse.persistence.sessions.Project)22 ObjectPersistenceWorkbenchXMLProject (org.eclipse.persistence.internal.sessions.factories.ObjectPersistenceWorkbenchXMLProject)21 XMLContext (org.eclipse.persistence.oxm.XMLContext)21 XMLMarshaller (org.eclipse.persistence.oxm.XMLMarshaller)21 Document (org.w3c.dom.Document)21 NonJDBCTestHelper.buildTestProject (org.eclipse.persistence.testing.tests.nonJDBC.NonJDBCTestHelper.buildTestProject)17 NonJDBCTestHelper.buildWorkbenchXMLProject (org.eclipse.persistence.testing.tests.nonJDBC.NonJDBCTestHelper.buildWorkbenchXMLProject)17 AbstractRecord (org.eclipse.persistence.internal.sessions.AbstractRecord)12 DatabaseField (org.eclipse.persistence.internal.helper.DatabaseField)10 PLSQLrecord (org.eclipse.persistence.platform.database.oracle.plsql.PLSQLrecord)8 DatabaseRecord (org.eclipse.persistence.sessions.DatabaseRecord)7 Expression (org.eclipse.persistence.expressions.Expression)5 SQLUpdateStatement (org.eclipse.persistence.internal.expressions.SQLUpdateStatement)5 ExpressionBuilder (org.eclipse.persistence.expressions.ExpressionBuilder)4 DatabaseTable (org.eclipse.persistence.internal.helper.DatabaseTable)4 AbstractSession (org.eclipse.persistence.internal.sessions.AbstractSession)4