cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Kienenberger <mkien...@gmail.com>
Subject Re: java.sql.SQLException: Numeric Overflow on relationship fetch
Date Mon, 09 May 2011 23:36:44 GMT
Thanks, Robert.

I'm installing P6Spy to see if I can determine what the statement is
that is causing the problem.   The regular Cayenne logging didn't
output anything before generating the error.

I suspect that this is not the same issue as the query itself hasn't
changed.   The only thing that would have changed recently is the
data.

On Mon, May 9, 2011 at 7:29 PM, Robert Zeigler
<robert.zeigler@roxanemy.com> wrote:
> I've hit something like this once, in oracle + hibernate, when I had a bucket-load of
joins in the query.  The driver was freaking out on one of the FK values (which was NOT a
large number... <10; I could reproduce it with a test case where the id sequences were
starting over with 1/clean db). I can't tell you why the driver thought it was a numeric overflow
exception.  But I can say that reducing the number of joins in the query solved the problem.
> That said... it was a truly monster query (of the sort only typically generated by an
ORM doing lots and lots of (joint) prefetching :).
>
> HTH,
>
> Robert
>
> On May 9, 2011, at 5/95:49 PM , Mike Kienenberger wrote:
>
>> I've got a Cayenne 1.1 application that has been running fine for years.
>> Today we hit a strange error, a Numeric Overflow on a relationship list
>> fetch.
>>
>> I've looked through the tables involved (account, user_account_relationship)
>> and didn't find any large values.
>> I am still looking through other table values.  I guess maybe it's hitting
>> the problem on prefetching something else?
>>
>> Anyone have any other ideas?
>>
>>
>>
>> Caused by: org.objectstyle.cayenne.CayenneRuntimeException: [v.1.1-dev March
>> 27 2008] Query exception.
>>    at
>> org.objectstyle.cayenne.access.util.SelectObserver.nextQueryException(SelectObserver.java:213)
>>    at
>> org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:364)
>>    at
>> org.objectstyle.cayenne.access.DataDomain.performQueries(DataDomain.java:654)
>>    at
>> org.objectstyle.cayenne.access.DataContext.performQueries(DataContext.java:1408)
>>    at
>> org.objectstyle.cayenne.access.Transaction.performQueries(Transaction.java:179)
>>    at
>> org.objectstyle.cayenne.access.DataContext.performQueries(DataContext.java:1366)
>>    at
>> org.objectstyle.cayenne.access.DataRowStore.getSnapshot(DataRowStore.java:310)
>>    at
>> org.objectstyle.cayenne.access.ObjectStore.getSnapshot(ObjectStore.java:737)
>>    at
>> org.objectstyle.cayenne.access.ObjectStore.resolveHollow(ObjectStore.java:977)
>>    at
>> org.objectstyle.cayenne.CayenneDataObject.resolveFault(CayenneDataObject.java:217)
>>    at
>> org.objectstyle.cayenne.CayenneDataObject.readProperty(CayenneDataObject.java:227)
>>    at
>> com.xyz.cayenne.ebpp.entity.generated._Account.getUserAccountRelationshipList(_Account.java:1782)
>>    at
>> com.xyz.struts.ebpp.business.batch.BillingTasks.checkForNewBills(BillingTasks.java:120)
>>    at
>> com.xyz.struts.ebpp.business.batch.BillingTasks.recoverCheckForNewBills(BillingTasks.java:104)
>>    at
>> com.xyz.struts.ebpp.business.batch.TaskProcessor.processBatchJob(TaskProcessor.java:99)
>>    at
>> com.xyz.struts.ebpp.business.batch.CronBasedTaskScheduler.checkScheduledEvents(CronBasedTaskScheduler.java:449)
>>    ... 2 more
>> Caused by: java.sql.SQLException: Numeric Overflow
>>    at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
>>    at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
>>    at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227)
>>    at
>> oracle.jdbc.driver.NumberCommonAccessor.throwOverflow(NumberCommonAccessor.java:6797)
>>    at
>> oracle.jdbc.driver.NumberCommonAccessor.getInt(NumberCommonAccessor.java:106)
>>    at
>> oracle.jdbc.driver.OracleResultSetImpl.getInt(OracleResultSetImpl.java:482)
>>    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>>    at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>    at java.lang.reflect.Method.invoke(Method.java:585)
>>    at
>> org.objectstyle.cayenne.access.types.DefaultType.materializeObject(DefaultType.java:243)
>>    at
>> org.objectstyle.cayenne.access.DefaultResultIterator.readDataRow(DefaultResultIterator.java:250)
>>    at
>> org.objectstyle.cayenne.access.DefaultResultIterator.nextDataRow(DefaultResultIterator.java:194)
>>    at
>> org.objectstyle.cayenne.access.DefaultResultIterator.dataRows(DefaultResultIterator.java:224)
>>    at org.objectstyle.cayenne.access.DataNode.runSelect(DataNode.java:413)
>>    at
>> org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:350)
>>    ... 16 more
>
>

Mime
View raw message