Skip to content

Commit 88fd696

Browse files
author
Krishna Kapadia
authored
Merge pull request #32 from MindscapeHQ/kk/search-query-context
Strategy not recognised
2 parents cdcdf27 + 5ad1762 commit 88fd696

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

Raygun.Druid4Net.Tests/Fluent/QueryDescriptors/SearchQueryDescriptorTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ public void ContextPropertiesAreSet_SetsContextInBody()
120120
chunkPeriod: "PT1H",
121121
serializeDateTimeAsLong: true,
122122
serializeDateTimeAsLongInner: false,
123-
searchStrategy: SearchStrategy.CursorOnly
123+
searchStrategy: SearchStrategy.cursorOnly
124124
).Generate();
125125

126126
var context = request.RequestData.Context;
@@ -137,7 +137,7 @@ public void ContextPropertiesAreSet_SetsContextInBody()
137137
Assert.That(context.ChunkPeriod, Is.EqualTo("PT1H"));
138138
Assert.That(context.SerializeDateTimeAsLong, Is.True);
139139
Assert.That(context.SerializeDateTimeAsLongInner, Is.False);
140-
Assert.That(context.SearchStrategy, Is.EqualTo(SearchStrategy.CursorOnly));
140+
Assert.That(context.SearchStrategy, Is.EqualTo(SearchStrategy.cursorOnly));
141141
}
142142

143143
[Test]

Raygun.Druid4Net/Fluent/Context/SearchStrategy.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,16 @@ public enum SearchStrategy
55
/// <summary>
66
/// First categorizes search dimensions into two groups according to their support for bitmap indexes. And then, it applies index-only and cursor-based execution plans to the group of dimensions supporting bitmaps and others, respectively
77
/// </summary>
8-
UsesIndexes,
8+
useIndexes,
99

1010
/// <summary>
1111
/// Generates a cursor-based execution plan. This plan creates a cursor which reads a row from a queryableIndexSegment, and then evaluates search predicates. If some filters support bitmap indexes, the cursor can read only the rows which satisfy those filters, thereby saving I/O cost
1212
/// </summary>
13-
CursorOnly
13+
cursorOnly,
14+
15+
/// <summary>
16+
/// Uses a cost-based planner for choosing an optimal search strategy. It estimates the cost of index-only and cursor-based execution plans, and chooses the optimal one.
17+
/// </summary>
18+
auto
1419
}
1520
}

Raygun.Druid4Net/Fluent/QueryDescriptors/SearchQueryDescriptor.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,10 @@ public ISearchQueryDescriptor Context(int? timeout = null, long? maxScatterGathe
9797
{
9898
SetCommonContextProperties(ContextValue, timeout, maxScatterGatherBytes, priority, queryId, useCache, populateCache, bySegment, finalize, chunkPeriod, serializeDateTimeAsLong, serializeDateTimeAsLongInner);
9999

100-
ContextValue.SearchStrategy = searchStrategy;
100+
if (searchStrategy.HasValue)
101+
{
102+
ContextValue.SearchStrategy = searchStrategy.Value;
103+
}
101104

102105
return this;
103106
}

0 commit comments

Comments
 (0)