There is a memory leak in org.polepos.teams.jdbc.NestedListsJdbc.java
It does not always close the result set when doing the recursive read.
1. if it already has found the list holder
2. if the query on list table comes up empty
diff --git a/poleposition-0.40/src/org/polepos/teams/jdbc/NestedListsJdbc.java b/poleposition-0.40/src/org/polepos/teams/jdbc/NestedListsJdbc.java
index c33fd6b..a239229 100644
--- a/poleposition-0.40/src/org/polepos/teams/jdbc/NestedListsJdbc.java
+++ b/poleposition-0.40/src/org/polepos/teams/jdbc/NestedListsJdbc.java
@@ -145,6 +145,7 @@ public class NestedListsJdbc extends JdbcDriver implements NestedLists {
ListHolder listHolder = new ListHolder();
listHolder.id(id);
if(found.contains(listHolder)){
+ listHolderResultSet.close();
return listHolder;
}
found.add(listHolder);
@@ -165,6 +166,8 @@ public class NestedListsJdbc extends JdbcDriver implements NestedLists {
}
listHolder.list(list);
}
+ else
+ listResultSet.close();
return listHolder;
}