Skip to content
Snippets Groups Projects
Commit 89ef1518 authored by juanf's avatar juanf
Browse files

SSDM-4192 : Bugfix, Batch InQuery class to avoid postgres driver limit.

SVN: 37149
parent 6d791151
No related branches found
No related tags found
No related merge requests found
...@@ -15,19 +15,21 @@ public class InQuery<I, O> ...@@ -15,19 +15,21 @@ public class InQuery<I, O>
{ {
List<O> result = new ArrayList<O>(inArguments.size()); List<O> result = new ArrayList<O>(inArguments.size());
int fixParamsSize = (fixParams == null) ? 0 : fixParams.size();
int fromIndex = 0; int fromIndex = 0;
while (fromIndex < inArguments.size()) while (fromIndex < inArguments.size())
{ {
int toIndex = fromIndex + POSTGRES_DRIVER_MAX_ARGS; int toIndex = fromIndex + POSTGRES_DRIVER_MAX_ARGS - fixParamsSize;
if (toIndex > inArguments.size()) if (toIndex > inArguments.size())
{ {
toIndex = inArguments.size(); toIndex = inArguments.size();
} }
List<I> partialInArguments = inArguments.subList(fromIndex, toIndex); List<I> partialInArguments = inArguments.subList(fromIndex, toIndex);
SQLQuery query = session.createSQLQuery(inQuery); SQLQuery query = session.createSQLQuery(inQuery);
query.setParameterList(inParameter, partialInArguments); query.setParameterList(inParameter, partialInArguments);
if (fixParams != null) if (fixParams != null)
{ {
for (String paramName : fixParams.keySet()) for (String paramName : fixParams.keySet())
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment