ClassCastException with OracleLOBBatchAction

From: Bryan Lewis (jbryanlewi..mail.com)
Date: Mon Jun 29 2009 - 19:29:02 EDT


One more bug report related to Oracle, although this one might not be
specific to Oracle8.

DataDomainActionBuilder.batchAction calls delegate.batchAction():

    public SQLAction batchAction(BatchQuery query) {
        return new DataDomainBatchAction(domain, (BatchAction)
delegate.batchAction(query));
    }

That delegate, OracleActionBuilder in our case, has some special handling:

    if (OracleAdapter.isSupportsOracleLOB() &&
OracleAdapter.updatesLOBColumns(query)) {
            return new OracleLOBBatchAction(query, getAdapter());

That class does not extend BatchAction (unlike the normal OracleBatchAction
case) and the BatchAction cast fails.

It appears to be a simple non-data-dependent bug. The
DataDomainActionBuilder is new code in 3.0. Either it shouldn't cast to
BatchAction, or OracleLOBBatchAction should extend BatchAction.

I've worked around it for our purposes by telling the OracleAdapter that
supportsOracleLOB is false.

I'll create a Jira.



This archive was generated by hypermail 2.0.0 : Mon Jun 29 2009 - 19:29:38 EDT