summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2018-03-25 16:32:15 -0700
committerJesse Morgan <jesse@jesterpm.net>2018-03-25 16:32:15 -0700
commitbefef9083fb6766521b7e77d9f688e9b21ac5899 (patch)
treee148dcf29aa759ac71185038b16c85a6a059f076
parentef38af5dec46f6697fb10fd400f3640b68c4d840 (diff)
Update TestFilteringScore to match new behavior in FilteringScore.
In Carbonado@60b4fa0c1cfacc9ad484c08fbbd0de7b69ea27ca, FilteringScore was changed to better optimize range queries.
-rw-r--r--src/test/java/com/amazon/carbonado/qe/TestFilteringScore.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/test/java/com/amazon/carbonado/qe/TestFilteringScore.java b/src/test/java/com/amazon/carbonado/qe/TestFilteringScore.java
index ec07128..1195568 100644
--- a/src/test/java/com/amazon/carbonado/qe/TestFilteringScore.java
+++ b/src/test/java/com/amazon/carbonado/qe/TestFilteringScore.java
@@ -564,13 +564,14 @@ public class TestFilteringScore extends TestCase {
assertEquals(1, comp.compare(score_1, score_2));
assertEquals(-1, comp.compare(score_2, score_1));
- // Both indexes are as good, since range is open.
+ // Favor ix_2 because it hasRangeStart.
+ // See Carbonado@60b4fa0c1cfacc9ad484c08fbbd0de7b69ea27ca
filter = Filter.filterFor(StorableTestBasic.class, "id = ? & stringProp > ?");
score_1 = FilteringScore.evaluate(ix_1, filter);
score_2 = FilteringScore.evaluate(ix_2, filter);
- assertEquals(0, comp.compare(score_1, score_2));
- assertEquals(0, comp.compare(score_2, score_1));
+ assertEquals(1, comp.compare(score_1, score_2));
+ assertEquals(-1, comp.compare(score_2, score_1));
filter = Filter.filterFor(StorableTestBasic.class,
"id = ? & intProp = ? & stringProp > ?");
@@ -603,12 +604,13 @@ public class TestFilteringScore extends TestCase {
assertEquals(0, comp.compare(score_1, score_2));
assertEquals(0, comp.compare(score_2, score_1));
+ // When both indexes can satisfy the range, prefer the clustered index.
filter = Filter.filterFor(StorableTestBasic.class, "id >= ?");
score_1 = FilteringScore.evaluate(ix_1, filter);
score_2 = FilteringScore.evaluate(ix_2.clustered(true), filter);
- assertEquals(0, comp.compare(score_1, score_2));
- assertEquals(0, comp.compare(score_2, score_1));
+ assertEquals(1, comp.compare(score_1, score_2));
+ assertEquals(-1, comp.compare(score_2, score_1));
}
public void testFullComparator() throws Exception {