From 7edcf49217d578c288f43fda4a560b38bb7a50d5 Mon Sep 17 00:00:00 2001 From: Johannes Mey <johannes.mey@tu-dresden.de> Date: Wed, 6 Feb 2019 10:55:41 +0100 Subject: [PATCH] change api to make it usable from the connector --- .../de/tudresden/inf/st/mquat/eris/ErisMQuATBuilder.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/ErisMQuATBuilder.java b/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/ErisMQuATBuilder.java index 461f4e7..1d39e57 100644 --- a/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/ErisMQuATBuilder.java +++ b/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/ErisMQuATBuilder.java @@ -5,6 +5,7 @@ import de.tudresden.inf.st.mquat.jastadd.model.*; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import java.util.Collection; import java.util.HashMap; import java.util.Map; @@ -248,7 +249,7 @@ public class ErisMQuATBuilder { // } // ref is the best direct or indirect access path - // score = ref.lookuptime*this.count - this.lookuptime*this.count - this.inserts*this.insertTime + // score = ref.lookuptime*this.numLookups - this.lookuptime*this.numLookups - this.inserts*this.insertTime // because we do not know ref.lookuptime here, we omit this part. it is irrelevant for selecting the index // access path, anyway. It is required later during the decision IF the index should be built. So the actual // score is: @@ -265,7 +266,7 @@ public class ErisMQuATBuilder { int att_count = attStats.getCount(); // get the correct size - int lookupsize = getLookupSize(lookupProperties, att_count); + int lookupsize = getLookupSize(lookupProperties.keySet(), att_count); { MultExpression negatedLoopups = new MultExpression(new LiteralExpression(-num_lookups), new PropertyResourceDesignator(indexAccessPathInstance.createRef(), lookupProperties.get(lookupsize).createRef())); MultExpression inserts = new MultExpression(new LiteralExpression(num_inserts), new PropertyResourceDesignator(indexAccessPathInstance.createRef(), insertProperties.get(lookupsize).createRef())); @@ -328,11 +329,11 @@ public class ErisMQuATBuilder { return root; } - private static int getLookupSize(Map<Integer, Property> lookupProperties, int att_count) { + private static int getLookupSize(Collection<Integer> lookupSizes, int att_count) { // get the correct size int lookupsize = 0; int dist = Integer.MAX_VALUE; - for (Integer i : lookupProperties.keySet()) { + for (Integer i : lookupSizes) { if (Math.abs(att_count - i) < dist) { dist = Math.abs(att_count - i); lookupsize = i; -- GitLab