Changeset 6714
- Timestamp:
- Feb 3, 2015, 1:02:57 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.4-stable/src/core/net/sf/basedb/core/ChangeHistory.java
r6355 r6714 22 22 package net.sf.basedb.core; 23 23 24 import java.util.ArrayList; 24 25 import java.util.Date; 25 26 import java.util.List; … … 158 159 } 159 160 161 private static final int MAX_PARAMETERS_IN_QUERY = 10000; 160 162 161 163 /** … … 218 220 */ 219 221 query.setInteger("type", itemType); 220 List<Integer> stray = HibernateUtil.loadList(Integer.class, query, null); 221 if (stray.size() > 0) 222 List<Integer> stray = new ArrayList<Integer>(HibernateUtil.loadList(Integer.class, query, null)); 223 int startIndex = 0; 224 int endIndex = Math.min(MAX_PARAMETERS_IN_QUERY, stray.size()); 225 while (startIndex < stray.size()) 222 226 { 223 deleteQuery.setParameterList("ids", stray , TypeWrapper.INTEGER.getHibernateType());227 deleteQuery.setParameterList("ids", stray.subList(startIndex, endIndex), TypeWrapper.INTEGER.getHibernateType()); 224 228 numDeleted += HibernateUtil.executeUpdate(deleteQuery); 229 startIndex = endIndex; 230 endIndex = Math.min(startIndex + MAX_PARAMETERS_IN_QUERY, stray.size()); 225 231 } 226 232 index++;
Note: See TracChangeset
for help on using the changeset viewer.