From: <one...@us...> - 2003-04-02 02:49:11
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/id In directory sc8-pr-cvs1:/tmp/cvs-serv30148/hibernate/id Modified Files: SequenceHiLoGenerator.java TableHiLoGenerator.java Log Message: fixed bugs in hi/lo generators (Maarten Coene) Index: SequenceHiLoGenerator.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/id/SequenceHiLoGenerator.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** SequenceHiLoGenerator.java 25 Mar 2003 13:49:35 -0000 1.7 --- SequenceHiLoGenerator.java 2 Apr 2003 02:49:07 -0000 1.8 *************** *** 36,40 **** private static final Log log = LogFactory.getLog(SequenceHiLoGenerator.class); ! private int maxLoValue; private int lo; private long hi; --- 36,40 ---- private static final Log log = LogFactory.getLog(SequenceHiLoGenerator.class); ! private int maxLo; private int lo; private long hi; *************** *** 43,47 **** public void configure(Type type, Properties params, Dialect d) throws MappingException { super.configure(type, params, d); ! lo = maxLoValue = PropertiesHelper.getInt(MAX_LO, params, 9); returnClass = type.getReturnedClass(); } --- 43,48 ---- public void configure(Type type, Properties params, Dialect d) throws MappingException { super.configure(type, params, d); ! maxLo = PropertiesHelper.getInt(MAX_LO, params, 9); ! lo = maxLo + 1; // so we "clock over" on the first invocation returnClass = type.getReturnedClass(); } *************** *** 49,56 **** public synchronized Serializable generate(SessionImplementor session, Object obj) throws SQLException, HibernateException { ! if ( lo>maxLoValue ) { long hival = ( (Number) super.generate(session, obj) ).longValue(); lo = 1; ! hi = hival * ( maxLoValue+1 ); log.debug("new hi value: " + hival); } --- 50,57 ---- public synchronized Serializable generate(SessionImplementor session, Object obj) throws SQLException, HibernateException { ! if ( lo>maxLo ) { long hival = ( (Number) super.generate(session, obj) ).longValue(); lo = 1; ! hi = hival * ( maxLo+1 ); log.debug("new hi value: " + hival); } Index: TableHiLoGenerator.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/id/TableHiLoGenerator.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TableHiLoGenerator.java 25 Mar 2003 13:49:43 -0000 1.4 --- TableHiLoGenerator.java 2 Apr 2003 02:49:07 -0000 1.5 *************** *** 48,52 **** public void configure(Type type, Properties params, Dialect d) { super.configure(type, params, d); ! lo = maxLo = PropertiesHelper.getInt(MAX_LO, params, Short.MAX_VALUE); returnClass = type.getReturnedClass(); } --- 48,53 ---- public void configure(Type type, Properties params, Dialect d) { super.configure(type, params, d); ! maxLo = PropertiesHelper.getInt(MAX_LO, params, Short.MAX_VALUE); ! lo = maxLo + 1; // so we "clock over" on the first invocation returnClass = type.getReturnedClass(); } |