From 89ef1518ac0168d1ecfa6e69633db3695db02093 Mon Sep 17 00:00:00 2001
From: juanf <juanf>
Date: Thu, 6 Oct 2016 16:22:07 +0000
Subject: [PATCH] SSDM-4192 : Bugfix, Batch InQuery class to avoid postgres
 driver limit.

SVN: 37149
---
 .../cisd/openbis/generic/server/dataaccess/db/InQuery.java  | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

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 7c747ced38b..8585869bba1 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())
-- 
GitLab