All, I am having issues with generating id's of type double. The sql below that should return the max_key from the OJB_HL_SEQ table returns the value: 100001334000 which is larger than an Integer can be. Thus we use a Double for the id's. However, the OJB sequence seems to assume the field MAX_KEY is an integer, and therefore throws a Numeric Overflow SQLException as seen in the traces below. Is this a problem for anyone else and has a fix been discussed?
In the logs below i found it interesting that that ojb seems to be looking for a Long: at org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getUniqueLong(SequenceManagerHighLowImpl.java:191) but the Oracle call seems to be looking for an Int: at oracle.jdbc.driver.OracleResultSet.getInt(OracleResultSet.java:1551) [Full Exception Trace]: 1075770103075|0|1|statement|SELECT A0.MAX_KEY,A0.TABLENAME,A0.GRAB_SIZE,A0.VERSION,A0.FIELDNAME FROM OJB_HL_SEQ A0 WHERE (A0.TABLENAME LIKE ? ) AND A0.FIELDNAME LIKE ? |SELECT A0.MAX_KEY,A0.TABLENAM E,A0.GRAB_SIZE,A0.VERSION,A0.FIELDNAME FROM OJB_HL_SEQ A0 WHERE (A0.TABLENAME LIKE 'SEQ_TRK_CASE' ) AND A0.FIELDNAME LIKE 'ID' java.sql.SQLException: Numeric Overflow at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285) at oracle.jdbc.driver.OracleStatement.getIntValue(OracleStatement.java:3677) at oracle.jdbc.driver.OracleResultSetImpl.getInt(OracleResultSetImpl.java:332) at oracle.jdbc.driver.OracleResultSet.getInt(OracleResultSet.java:1551) at com.p6spy.engine.spy.P6ResultSet.getInt(P6ResultSet.java:261) at org.apache.ojb.broker.util.SqlTypeHelper.getObjectFromColumn(SqlTypeHelper.java:573) at org.apache.ojb.broker.util.SqlTypeHelper.getObjectFromColumn(SqlTypeHelper.java:328) at org.apache.ojb.broker.util.SqlHelper.getObjectFromColumn(SqlHelper.java:169) ... rethrown as org.apache.ojb.broker.PersistenceBrokerException: Error reading class type: org.apache.ojb.broker.util.sequence.HighLowSequence from result set: Numeric Overflow at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectArrayFrom(RowReaderDefaultImpl.java:171) at org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:426) at org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:263) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1403) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1563) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1599) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1588) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(PersistenceBrokerImpl.java:1856) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:291) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:291) at org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getSequence(SequenceManagerHighLowImpl.java:251) at org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getUniqueLong(SequenceManagerHighLowImpl.java:191) at org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueValue(AbstractSequenceManager.java:125) at org.apache.ojb.broker.util.BrokerHelper.getAutoIncrementValue(BrokerHelper.java:303) at org.apache.ojb.broker.util.BrokerHelper.getValuesForObject(BrokerHelper.java:349) at org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:215) at org.apache.ojb.broker.Identity.init(Identity.java:165) at org.apache.ojb.broker.Identity.<init>(Identity.java:129) ... 1075770103125|0|1|rollback|| 1075770103125|0|0|rollback|| ERROR 2004-02-02 20:01:43,125 [EMAIL PROTECTED]:org.apache.ojb.broker.metadata.ClassNotPersistenceCapableException: Can not init Identity for given object beans.CaseBean: Could not obtain next object: Error reading class type: org.apache.ojb.broker.util.sequence.HighLowSequence from result set: Numeric Overflow Regards, Phil Armour --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]