diff options
author | Roberto E. Escobar | 2012-09-04 22:39:04 +0000 |
---|---|---|
committer | Roberto E. Escobar | 2012-09-04 22:39:04 +0000 |
commit | 93404522f5153022780c4de5f9b32caa8997b1ab (patch) | |
tree | 9d5019fe5469004dd3b3962ba8382119178523ad | |
parent | 6ad1d7684dd4106c287706920134ec5717479d01 (diff) | |
download | org.eclipse.osee-93404522f5153022780c4de5f9b32caa8997b1ab.tar.gz org.eclipse.osee-93404522f5153022780c4de5f9b32caa8997b1ab.tar.xz org.eclipse.osee-93404522f5153022780c4de5f9b32caa8997b1ab.zip |
refinement: Improve tokenized attribute search performance0.10.1.v201208222203_REL_D
2 files changed, 11 insertions, 12 deletions
diff --git a/plugins/org.eclipse.osee.orcs.db.test/src/org/eclipse/osee/orcs/db/internal/search/QueryEngineImplTest.java b/plugins/org.eclipse.osee.orcs.db.test/src/org/eclipse/osee/orcs/db/internal/search/QueryEngineImplTest.java index 1f433713734..94f1547bde9 100644 --- a/plugins/org.eclipse.osee.orcs.db.test/src/org/eclipse/osee/orcs/db/internal/search/QueryEngineImplTest.java +++ b/plugins/org.eclipse.osee.orcs.db.test/src/org/eclipse/osee/orcs/db/internal/search/QueryEngineImplTest.java @@ -416,7 +416,7 @@ public class QueryEngineImplTest { String expected = "SELECT/*+ ordered */ art1.art_id, txs1.branch_id\n" + // " FROM \n" + // - "osee_join_id jid1, osee_attribute att1, osee_txs txs1, osee_search_tags tag1, osee_search_tags tag2, osee_search_tags tag3, osee_artifact art1, osee_txs txs2\n" + // + "osee_search_tags tag1, osee_search_tags tag2, osee_search_tags tag3, osee_attribute att1, osee_join_id jid1, osee_txs txs1, osee_artifact art1, osee_txs txs2\n" + // " WHERE \n" + // "att1.attr_type_id = jid1.id AND jid1.query_id = ?\n" + // " AND \n" + // @@ -456,7 +456,7 @@ public class QueryEngineImplTest { String expected = "SELECT/*+ ordered */ art1.art_id, txs1.branch_id\n" + // " FROM \n" + // - "osee_attribute att1, osee_txs txs1, osee_artifact art1, osee_txs txs2, osee_join_id jid1, osee_attribute att2, osee_txs txs3, osee_search_tags tag1, osee_search_tags tag2, osee_search_tags tag3\n" + // + "osee_attribute att1, osee_txs txs1, osee_artifact art1, osee_txs txs2, osee_search_tags tag1, osee_search_tags tag2, osee_search_tags tag3, osee_attribute att2, osee_join_id jid1, osee_txs txs3\n" + // " WHERE \n" + // "att1.attr_type_id = ? AND att1.value = ?\n" + // " AND \n" + // diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/search/handlers/AttributeTokenSqlHandler.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/search/handlers/AttributeTokenSqlHandler.java index e42fd13f5c1..61532a62d47 100644 --- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/search/handlers/AttributeTokenSqlHandler.java +++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/search/handlers/AttributeTokenSqlHandler.java @@ -82,16 +82,6 @@ public class AttributeTokenSqlHandler extends SqlHandler<CriteriaAttributeKeywor public void addTables(AbstractSqlWriter<QueryOptions> writer) throws OseeCoreException { types = criteria.getTypes(); - if (types.size() > 1) { - jIdAlias = writer.addTable(TableEnum.ID_JOIN_TABLE); - } - - List<String> aliases = writer.getAliases(TableEnum.ARTIFACT_TABLE); - List<String> txs = writer.getAliases(TableEnum.TXS_TABLE); - - attrAlias = writer.addTable(TableEnum.ATTRIBUTE_TABLE); - txsAlias1 = writer.addTable(TableEnum.TXS_TABLE); - if (criteria.getStringOp().isTokenized()) { codedTags = new ArrayList<Long>(); tokenize(criteria.getValue(), codedTags); @@ -101,6 +91,15 @@ public class AttributeTokenSqlHandler extends SqlHandler<CriteriaAttributeKeywor tagAliases.add(writer.addTable(TableEnum.SEARCH_TAGS_TABLE)); } } + attrAlias = writer.addTable(TableEnum.ATTRIBUTE_TABLE); + if (types.size() > 1) { + jIdAlias = writer.addTable(TableEnum.ID_JOIN_TABLE); + } + + List<String> aliases = writer.getAliases(TableEnum.ARTIFACT_TABLE); + List<String> txs = writer.getAliases(TableEnum.TXS_TABLE); + + txsAlias1 = writer.addTable(TableEnum.TXS_TABLE); if (aliases.isEmpty()) { artAlias2 = writer.addTable(TableEnum.ARTIFACT_TABLE); |