Skip to content
Snippets Groups Projects
Commit 7edcf492 authored by Johannes Mey's avatar Johannes Mey
Browse files

change api to make it usable from the connector

parent 1441c07d
Branches
No related tags found
No related merge requests found
......@@ -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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment