diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/InQuery.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/InQuery.java index 7c747ced38b9d51d587b8ed84b61dbfb1347fd7f..8585869bba1ef3c21e04f15faf1a3ac256377394 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/InQuery.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/InQuery.java @@ -15,19 +15,21 @@ public class InQuery<I, O> { List<O> result = new ArrayList<O>(inArguments.size()); + int fixParamsSize = (fixParams == null) ? 0 : fixParams.size(); int fromIndex = 0; + while (fromIndex < inArguments.size()) { - int toIndex = fromIndex + POSTGRES_DRIVER_MAX_ARGS; + int toIndex = fromIndex + POSTGRES_DRIVER_MAX_ARGS - fixParamsSize; if (toIndex > inArguments.size()) { toIndex = inArguments.size(); } List<I> partialInArguments = inArguments.subList(fromIndex, toIndex); - SQLQuery query = session.createSQLQuery(inQuery); query.setParameterList(inParameter, partialInArguments); + if (fixParams != null) { for (String paramName : fixParams.keySet())