From 9dd412cd199c26e78a9f8119c6912406a2d6f467 Mon Sep 17 00:00:00 2001 From: rbygrave Date: Mon, 1 Dec 2014 23:35:25 +1300 Subject: [PATCH] #218 - Internal change - modify SequenceIdGenerator to use Long instead of Integer --- .../config/dbplatform/SequenceIdGenerator.java | 16 +++++++--------- .../com/avaje/tests/genkey/TestSeqBatch.java | 6 ++++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/SequenceIdGenerator.java b/src/main/java/com/avaje/ebean/config/dbplatform/SequenceIdGenerator.java index 63beef4f6..df9cd9cfe 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/SequenceIdGenerator.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/SequenceIdGenerator.java @@ -40,7 +40,7 @@ public abstract class SequenceIdGenerator implements IdGenerator { protected final BackgroundExecutor backgroundExecutor; - protected final ArrayList idList = new ArrayList(50); + protected final ArrayList idList = new ArrayList(50); protected int batchSize; @@ -117,7 +117,7 @@ public abstract class SequenceIdGenerator implements IdGenerator { if (idList.size() == 0) { loadMoreIds(batchSize, t); } - Integer nextId = idList.remove(0); + Long nextId = idList.remove(0); if (batchSize > 1) { if (idList.size() <= batchSize / 2) { @@ -158,7 +158,7 @@ public abstract class SequenceIdGenerator implements IdGenerator { protected void loadMoreIds(final int numberToLoad, Transaction t) { - ArrayList newIds = getMoreIds(numberToLoad, t); + ArrayList newIds = getMoreIds(numberToLoad, t); if (logger.isDebugEnabled()) { logger.debug("... seq:" + seqName + " loaded:" + numberToLoad + " ids:" + newIds); @@ -174,11 +174,11 @@ public abstract class SequenceIdGenerator implements IdGenerator { /** * Get more Id's by executing a query and reading the Id's returned. */ - protected ArrayList getMoreIds(int loadSize, Transaction t) { + protected ArrayList getMoreIds(int loadSize, Transaction t) { String sql = getSql(loadSize); - ArrayList newIds = new ArrayList(loadSize); + ArrayList newIds = new ArrayList(loadSize); boolean useTxnConnection = t != null; @@ -191,12 +191,10 @@ public abstract class SequenceIdGenerator implements IdGenerator { pstmt = c.prepareStatement(sql); rset = pstmt.executeQuery(); while (rset.next()) { - int val = rset.getInt(1); - newIds.add(Integer.valueOf(val)); + newIds.add(rset.getLong(1)); } if (newIds.size() == 0) { - String m = "Always expecting more than 1 row from " + sql; - throw new PersistenceException(m); + throw new PersistenceException("Always expecting more than 1 row from " + sql); } return newIds; diff --git a/src/test/java/com/avaje/tests/genkey/TestSeqBatch.java b/src/test/java/com/avaje/tests/genkey/TestSeqBatch.java index 0a491e8e9..dd4bf8341 100644 --- a/src/test/java/com/avaje/tests/genkey/TestSeqBatch.java +++ b/src/test/java/com/avaje/tests/genkey/TestSeqBatch.java @@ -26,10 +26,12 @@ public class TestSeqBatch extends BaseTestCase { Object id = d.nextId(null); Assert.assertNotNull(id); - + //System.out.println(id); + for (int i = 0; i < 16; i++) { Object id2 = d.nextId(null); - Assert.assertNotNull(id2); + Assert.assertNotNull(id2); + //System.out.println(id2); } } }