Skip to content

Commit 081bde6

Browse files
committed
IRawClient does not generate any duplicates
1 parent 1f1936e commit 081bde6

File tree

5 files changed

+2211
-1549
lines changed

5 files changed

+2211
-1549
lines changed

src/Nest.Tests.Unit/Search/Query/Singles/BoolQueryJson.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,22 @@ namespace Nest.Tests.Unit.Search.Query.Singles
66
[TestFixture]
77
public class BoolQueryJson
88
{
9+
10+
[Test]
11+
public void EmptyBoolQuery()
12+
{
13+
var s = new SearchDescriptor<ElasticSearchProject>()
14+
.From(0)
15+
.Size(10)
16+
.Query(qd => null);
17+
18+
var json = TestElasticClient.Serialize(s);
19+
var expected = @"{ from: 0, size: 10 }";
20+
Assert.True(json.JsonEquals(expected), json);
21+
}
22+
23+
24+
925
[Test]
1026
public void BoolQuery()
1127
{

src/Nest/DSL/SearchDescriptor.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -879,6 +879,8 @@ public SearchDescriptor<T> Query(Func<QueryDescriptor<T>, BaseQuery> query)
879879
var q = new QueryDescriptor<T>().Strict(this._Strict);
880880

881881
var bq = query(q);
882+
if (bq == null)
883+
return this;
882884
if (this._Strict && bq.IsConditionless)
883885
throw new DslException("Query resulted in a conditionless query:\n{0}".F(JsonConvert.SerializeObject(bq, Formatting.Indented)));
884886

@@ -893,7 +895,7 @@ public SearchDescriptor<T> Query(Func<QueryDescriptor<T>, BaseQuery> query)
893895
public SearchDescriptor<T> Query(BaseQuery query)
894896
{
895897
query.ThrowIfNull("query");
896-
if (query.IsConditionless)
898+
if (query == null || query.IsConditionless)
897899
return this;
898900
this._Query = query;
899901
return this;
@@ -933,6 +935,8 @@ public SearchDescriptor<T> Filter(Func<FilterDescriptor<T>, BaseFilter> filter)
933935
var f = new FilterDescriptor<T>().Strict(this._Strict);
934936

935937
var bf = filter(f);
938+
if (bf == null)
939+
return this;
936940
if (this._Strict && bf.IsConditionless)
937941
throw new DslException("Filter resulted in a conditionless filter:\n{0}".F(JsonConvert.SerializeObject(bf, Formatting.Indented)));
938942

0 commit comments

Comments
 (0)