From e3f02d804d23ba961ab0bd13f810dfe71dd629ac Mon Sep 17 00:00:00 2001 From: Eugene Livis <elivis@basistech.com> Date: Tue, 22 Sep 2020 12:46:26 -0400 Subject: [PATCH] Performance improvement --- Core/src/org/sleuthkit/autopsy/casemodule/Case.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java index 3ad14f6137..395310e600 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java @@ -1468,9 +1468,16 @@ public String getTextIndexName() { */ public boolean hasData() { boolean hasDataSources = false; - try { - hasDataSources = (getDataSources().size() > 0); - } catch (TskCoreException ex) { + String query = "SELECT count(*) AS count FROM tsk_objects WHERE par_obj_id IS NULL"; + try (SleuthkitCase.CaseDbQuery dbQuery = caseDb.executeQuery(query)) { + ResultSet resultSet = dbQuery.getResultSet(); + if (resultSet.next()) { + long numDataSources = resultSet.getLong("count"); + if (numDataSources > 0) { + hasDataSources = true; + } + } + } catch (TskCoreException | SQLException ex) { logger.log(Level.SEVERE, "Error accessing case database", ex); //NON-NLS } return hasDataSources; -- GitLab