From befef9083fb6766521b7e77d9f688e9b21ac5899 Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Sun, 25 Mar 2018 16:32:15 -0700 Subject: Update TestFilteringScore to match new behavior in FilteringScore. In Carbonado@60b4fa0c1cfacc9ad484c08fbbd0de7b69ea27ca, FilteringScore was changed to better optimize range queries. --- .../java/com/amazon/carbonado/qe/TestFilteringScore.java | 12 +++++++----- 1 file 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 { -- cgit v1.2.3