diff options
author | Eike Stepper | 2011-10-11 12:31:08 +0000 |
---|---|---|
committer | Eike Stepper | 2011-10-11 12:31:08 +0000 |
commit | b1425f26c598156a711e7f9e5f29b563b49ecefc (patch) | |
tree | 466845dd6b012636dc018f4312f62423ace61f0f /plugins | |
parent | b43e527d24f22c067b7c59d390579175a592b4b8 (diff) | |
download | cdo-b1425f26c598156a711e7f9e5f29b563b49ecefc.tar.gz cdo-b1425f26c598156a711e7f9e5f29b563b49ecefc.tar.xz cdo-b1425f26c598156a711e7f9e5f29b563b49ecefc.zip |
[360501] CDOQuery memory leak with getResult
https://bugs.eclipse.org/bugs/show_bug.cgi?id=360501
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/query/CDOQueryImpl.java | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/query/CDOQueryImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/query/CDOQueryImpl.java index 912accbb9c..89f19119f3 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/query/CDOQueryImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/query/CDOQueryImpl.java @@ -82,9 +82,21 @@ public class CDOQueryImpl extends CDOQueryInfoImpl implements CDOQuery public <T> List<T> getResult(Class<T> classObject) { - AbstractQueryIterator<T> queryResult = createQueryResult(classObject); - view.getSession().getSessionProtocol().query(view, queryResult); - return queryResult.asList(); + AbstractQueryIterator<T> queryResult = null; + + try + { + queryResult = createQueryResult(classObject); + view.getSession().getSessionProtocol().query(view, queryResult); + return queryResult.asList(); + } + finally + { + if (queryResult != null) + { + queryResult.close(); + } + } } public <T> List<T> getResult() |