Skip to content
Snippets Groups Projects
Unverified Commit a4095138 authored by Ann Priestman's avatar Ann Priestman Committed by GitHub
Browse files

Merge pull request #2636 from gdicristofaro/8250-columnOrdering

8250 row id ordering
parents 943e4d99 6db04acf
No related branches found
No related tags found
No related merge requests found
......@@ -442,6 +442,19 @@ public ArrayList<BlackboardAttribute> getBlackboardAttributes(final BlackboardAr
CaseDbConnection connection = null;
Statement statement = null;
ResultSet rs = null;
String rowId;
switch (caseDb.getDatabaseType()) {
case POSTGRESQL:
rowId = "attrs.CTID";
break;
case SQLITE:
rowId = "attrs.ROWID";
break;
default:
throw new TskCoreException("Unknown database type: " + caseDb.getDatabaseType());
}
caseDb.acquireSingleUserCaseReadLock();
try {
connection = caseDb.getConnection();
......@@ -453,7 +466,8 @@ public ArrayList<BlackboardAttribute> getBlackboardAttributes(final BlackboardAr
+ "attrs.value_int64 AS value_int64, attrs.value_double AS value_double, "
+ "types.type_name AS type_name, types.display_name AS display_name "
+ "FROM blackboard_attributes AS attrs, blackboard_attribute_types AS types WHERE attrs.artifact_id = " + artifact.getArtifactID()
+ " AND attrs.attribute_type_id = types.attribute_type_id");
+ " AND attrs.attribute_type_id = types.attribute_type_id "
+ " ORDER BY " + rowId);
ArrayList<BlackboardAttribute> attributes = new ArrayList<>();
while (rs.next()) {
final BlackboardAttribute attr = createAttributeFromResultSet(rs);
......@@ -500,6 +514,18 @@ public <T extends BlackboardArtifact> void loadBlackboardAttributes(List<T> arts
// Get all artifact IDs as a comma-separated string
String idString = arts.stream().map(p -> Long.toString(p.getArtifactID())).collect(Collectors.joining(", "));
String rowId;
switch (caseDb.getDatabaseType()) {
case POSTGRESQL:
rowId = "attrs.CTID";
break;
case SQLITE:
rowId = "attrs.ROWID";
break;
default:
throw new TskCoreException("Unknown database type: " + caseDb.getDatabaseType());
}
// Get the attributes
CaseDbConnection connection = null;
Statement statement = null;
......@@ -515,7 +541,8 @@ public <T extends BlackboardArtifact> void loadBlackboardAttributes(List<T> arts
+ "attrs.value_int64 AS value_int64, attrs.value_double AS value_double, "
+ "types.type_name AS type_name, types.display_name AS display_name "
+ "FROM blackboard_attributes AS attrs, blackboard_attribute_types AS types WHERE attrs.artifact_id IN (" + idString + ") "
+ " AND attrs.attribute_type_id = types.attribute_type_id");
+ " AND attrs.attribute_type_id = types.attribute_type_id"
+ " ORDER BY " + rowId);
while (rs.next()) {
final BlackboardAttribute attr = createAttributeFromResultSet(rs);
attr.setParentDataSourceID(artifactMap.get(attr.getArtifactID()).getDataSourceObjectID());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment