Fix Sqlite memory leak

All Sqlite statements must be in a try-resource block otherwise a native memory leak will occur
This commit is contained in:
James Seibel
2023-10-19 20:11:39 -05:00
parent b1ed91af2a
commit b38b33e87e
@@ -122,9 +122,9 @@ public abstract class AbstractDhRepo<TDTO extends IBaseDTO>
}
private void insert(TDTO dto)
{
try
try(PreparedStatement statement = this.createInsertStatement(dto))
{
this.query(this.createInsertStatement(dto));
this.query(statement);
}
catch (SQLException e)
{
@@ -135,9 +135,9 @@ public abstract class AbstractDhRepo<TDTO extends IBaseDTO>
}
private void update(TDTO dto)
{
try
try(PreparedStatement statement = this.createUpdateStatement(dto))
{
this.query(this.createUpdateStatement(dto));
this.query(statement);
}
catch (SQLException e)
{
@@ -190,8 +190,10 @@ public abstract class AbstractDhRepo<TDTO extends IBaseDTO>
// Note: this can only handle 1 command at a time
boolean resultSetPresent = statement.execute();
ResultSet resultSet = statement.getResultSet();
return this.parseQueryResult(resultSet, resultSetPresent);
try (ResultSet resultSet = statement.getResultSet())
{
return this.parseQueryResult(resultSet, resultSetPresent);
}
}
catch(SQLException e)
{
@@ -212,8 +214,10 @@ public abstract class AbstractDhRepo<TDTO extends IBaseDTO>
// Note: this can only handle 1 command at a time
boolean resultSetPresent = statement.execute(sql);
ResultSet resultSet = statement.getResultSet();
return this.parseQueryResult(resultSet, resultSetPresent);
try (ResultSet resultSet = statement.getResultSet())
{
return this.parseQueryResult(resultSet, resultSetPresent);
}
}
catch(SQLException e)
{