@@ -261,7 +261,7 @@ func (s *ESVisibilitySuite) TestBuildSearchParametersV2() {
261261 SearchAfter : nil ,
262262 PageSize : testPageSize ,
263263 Sorter : []elastic.Sorter {
264- elastic .NewFieldSort (sadefs .WorkflowID ).Asc (),
264+ elastic .NewFieldSort (sadefs .WorkflowID ).Asc (). Missing ( "_last" ) ,
265265 elastic .NewFieldSort (sadefs .RunID ).Desc (),
266266 },
267267 }, p )
@@ -355,7 +355,7 @@ func (s *ESVisibilitySuite) Test_convertQueryLegacy() {
355355 queryParams , err = s .visibilityStore .convertQueryLegacy (testNamespace , testNamespaceID , query , nil , chasm .UnspecifiedArchetypeID )
356356 s .NoError (err )
357357 s .Equal (`{"bool":{"filter":[{"term":{"NamespaceId":"bfd5c907-f899-4baf-a7b2-2ab85e623ebd"}},{"bool":{"filter":{"term":{"WorkflowId":"wid"}}}}],"must_not":{"exists":{"field":"TemporalNamespaceDivision"}}}}` , s .queryToJSON (queryParams .Query ))
358- s .Equal (`[{"StartTime":{"order":"desc"}}]` , s .sorterToJSON (queryParams .Sorter ))
358+ s .JSONEq (`[{"StartTime":{"missing":"_last", "order":"desc"}}]` , s .sorterToJSON (queryParams .Sorter ))
359359
360360 query = `WorkflowId = 'wid' and CloseTime is null`
361361 queryParams , err = s .visibilityStore .convertQueryLegacy (testNamespace , testNamespaceID , query , nil , chasm .UnspecifiedArchetypeID )
@@ -373,7 +373,7 @@ func (s *ESVisibilitySuite) Test_convertQueryLegacy() {
373373 queryParams , err = s .visibilityStore .convertQueryLegacy (testNamespace , testNamespaceID , query , nil , chasm .UnspecifiedArchetypeID )
374374 s .NoError (err )
375375 s .Equal (`{"bool":{"filter":[{"term":{"NamespaceId":"bfd5c907-f899-4baf-a7b2-2ab85e623ebd"}},{"bool":{"must_not":{"exists":{"field":"CloseTime"}}}}],"must_not":{"exists":{"field":"TemporalNamespaceDivision"}}}}` , s .queryToJSON (queryParams .Query ))
376- s .Equal (`[{"CloseTime":{"order":"desc"}}]` , s .sorterToJSON (queryParams .Sorter ))
376+ s .JSONEq (`[{"CloseTime":{"missing":"_last", "order":"desc"}}]` , s .sorterToJSON (queryParams .Sorter ))
377377
378378 query = `StartTime = "2018-06-07T15:04:05.123456789-08:00"`
379379 queryParams , err = s .visibilityStore .convertQueryLegacy (testNamespace , testNamespaceID , query , nil , chasm .UnspecifiedArchetypeID )
@@ -409,13 +409,13 @@ func (s *ESVisibilitySuite) Test_convertQueryLegacy() {
409409 queryParams , err = s .visibilityStore .convertQueryLegacy (testNamespace , testNamespaceID , query , nil , chasm .UnspecifiedArchetypeID )
410410 s .NoError (err )
411411 s .Equal (`{"bool":{"filter":{"term":{"NamespaceId":"bfd5c907-f899-4baf-a7b2-2ab85e623ebd"}},"must_not":{"exists":{"field":"TemporalNamespaceDivision"}}}}` , s .queryToJSON (queryParams .Query ))
412- s .Equal (`[{"ExecutionTime":{"order":"asc"}}]` , s .sorterToJSON (queryParams .Sorter ))
412+ s .JSONEq (`[{"ExecutionTime":{"missing":"_last", "order":"asc"}}]` , s .sorterToJSON (queryParams .Sorter ))
413413
414414 query = `order by StartTime desc, CloseTime asc`
415415 queryParams , err = s .visibilityStore .convertQueryLegacy (testNamespace , testNamespaceID , query , nil , chasm .UnspecifiedArchetypeID )
416416 s .NoError (err )
417417 s .Equal (`{"bool":{"filter":{"term":{"NamespaceId":"bfd5c907-f899-4baf-a7b2-2ab85e623ebd"}},"must_not":{"exists":{"field":"TemporalNamespaceDivision"}}}}` , s .queryToJSON (queryParams .Query ))
418- s .Equal (`[{"StartTime":{"order":"desc"}},{"CloseTime":{"order":"asc"}}]` , s .sorterToJSON (queryParams .Sorter ))
418+ s .JSONEq (`[{"StartTime":{"missing":"_last"," order":"desc"}},{"CloseTime":{"missing":"_last", "order":"asc"}}]` , s .sorterToJSON (queryParams .Sorter ))
419419
420420 query = `order by CustomTextField desc`
421421 _ , err = s .visibilityStore .convertQueryLegacy (testNamespace , testNamespaceID , query , nil , chasm .UnspecifiedArchetypeID )
@@ -427,7 +427,7 @@ func (s *ESVisibilitySuite) Test_convertQueryLegacy() {
427427 queryParams , err = s .visibilityStore .convertQueryLegacy (testNamespace , testNamespaceID , query , nil , chasm .UnspecifiedArchetypeID )
428428 s .NoError (err )
429429 s .Equal (`{"bool":{"filter":{"term":{"NamespaceId":"bfd5c907-f899-4baf-a7b2-2ab85e623ebd"}},"must_not":{"exists":{"field":"TemporalNamespaceDivision"}}}}` , s .queryToJSON (queryParams .Query ))
430- s .Equal (`[{"CustomIntField":{"order":"asc"}}]` , s .sorterToJSON (queryParams .Sorter ))
430+ s .JSONEq (`[{"CustomIntField":{"missing":"_last", "order":"asc"}}]` , s .sorterToJSON (queryParams .Sorter ))
431431
432432 query = `ExecutionTime < "unable to parse"`
433433 queryParams , err = s .visibilityStore .convertQueryLegacy (testNamespace , testNamespaceID , query , nil , chasm .UnspecifiedArchetypeID )
@@ -479,13 +479,13 @@ func (s *ESVisibilitySuite) Test_convertQueryLegacy_Mapper() {
479479 queryParams , err = s .visibilityStore .convertQueryLegacy (testNamespace , testNamespaceID , query , nil , chasm .UnspecifiedArchetypeID )
480480 s .NoError (err )
481481 s .Equal (`{"bool":{"filter":{"term":{"NamespaceId":"bfd5c907-f899-4baf-a7b2-2ab85e623ebd"}},"must_not":{"exists":{"field":"TemporalNamespaceDivision"}}}}` , s .queryToJSON (queryParams .Query ))
482- s .Equal (`[{"ExecutionTime":{"order":"asc"}}]` , s .sorterToJSON (queryParams .Sorter ))
482+ s .JSONEq (`[{"ExecutionTime":{"missing":"_last", "order":"asc"}}]` , s .sorterToJSON (queryParams .Sorter ))
483483
484484 query = `order by AliasForCustomKeywordField asc`
485485 queryParams , err = s .visibilityStore .convertQueryLegacy (testNamespace , testNamespaceID , query , nil , chasm .UnspecifiedArchetypeID )
486486 s .NoError (err )
487487 s .Equal (`{"bool":{"filter":{"term":{"NamespaceId":"bfd5c907-f899-4baf-a7b2-2ab85e623ebd"}},"must_not":{"exists":{"field":"TemporalNamespaceDivision"}}}}` , s .queryToJSON (queryParams .Query ))
488- s .Equal (`[{"CustomKeywordField":{"order":"asc"}}]` , s .sorterToJSON (queryParams .Sorter ))
488+ s .JSONEq (`[{"CustomKeywordField":{"missing":"_last", "order":"asc"}}]` , s .sorterToJSON (queryParams .Sorter ))
489489
490490 query = `order by CustomKeywordField asc`
491491 queryParams , err = s .visibilityStore .convertQueryLegacy (testNamespace , testNamespaceID , query , nil , chasm .UnspecifiedArchetypeID )
@@ -519,7 +519,7 @@ func (s *ESVisibilitySuite) Test_convertQueryLegacy_Mapper_Error() {
519519 queryParams , err = s .visibilityStore .convertQueryLegacy (testNamespace , testNamespaceID , query , nil , chasm .UnspecifiedArchetypeID )
520520 s .NoError (err )
521521 s .Equal (`{"bool":{"filter":{"term":{"NamespaceId":"bfd5c907-f899-4baf-a7b2-2ab85e623ebd"}},"must_not":{"exists":{"field":"TemporalNamespaceDivision"}}}}` , s .queryToJSON (queryParams .Query ))
522- s .Equal (`[{"ExecutionTime":{"order":"asc"}}]` , s .sorterToJSON (queryParams .Sorter ))
522+ s .JSONEq (`[{"ExecutionTime":{"missing":"_last", "order":"asc"}}]` , s .sorterToJSON (queryParams .Sorter ))
523523
524524 s .visibilityStore .searchAttributesMapperProvider = nil
525525}
@@ -571,7 +571,7 @@ func (s *ESVisibilitySuite) Test_convertQuery() {
571571 elastic .NewTermQuery (sadefs .WorkflowID , "wid" ),
572572 ),
573573 ),
574- Sorter : []elastic.Sorter {elastic .NewFieldSort (sadefs .WorkflowID )},
574+ Sorter : []elastic.Sorter {elastic .NewFieldSort (sadefs .WorkflowID ). Missing ( "_last" ) },
575575 GroupBy : []string {},
576576 },
577577 },
@@ -609,7 +609,7 @@ func (s *ESVisibilitySuite) Test_convertQuery() {
609609 MinimumNumberShouldMatch (1 ),
610610 ),
611611 ),
612- Sorter : []elastic.Sorter {elastic .NewFieldSort ("CustomKeywordField" )},
612+ Sorter : []elastic.Sorter {elastic .NewFieldSort ("CustomKeywordField" ). Missing ( "_last" ) },
613613 GroupBy : []string {},
614614 },
615615 },
@@ -1957,7 +1957,7 @@ func (s *ESVisibilitySuite) Test_convertQueryLegacy_ChasmMapper() {
19571957 queryParams , err = s .visibilityStore .convertQueryLegacy (testNamespace , testNamespaceID , queryStr , chasmMapper , chasm .UnspecifiedArchetypeID )
19581958 s .NoError (err )
19591959 s .JSONEq (`{"bool":{"filter":[{"term":{"NamespaceId":"bfd5c907-f899-4baf-a7b2-2ab85e623ebd"}},{"bool":{"filter":{"match":{"TemporalBool01":{"query":true}}}}}],"must_not":{"exists":{"field":"TemporalNamespaceDivision"}}}}` , s .queryToJSON (queryParams .Query ))
1960- s .JSONEq (`[{"TemporalKeyword01":{"order":"asc"}}]` , s .sorterToJSON (queryParams .Sorter ))
1960+ s .JSONEq (`[{"TemporalKeyword01":{"missing":"_last"," order":"asc"}}]` , s .sorterToJSON (queryParams .Sorter ))
19611961
19621962 queryStr = `ChasmStatus = 'active' and WorkflowId = 'wid'`
19631963 queryParams , err = s .visibilityStore .convertQueryLegacy (testNamespace , testNamespaceID , queryStr , chasmMapper , chasm .UnspecifiedArchetypeID )
@@ -2051,7 +2051,7 @@ func (s *ESVisibilitySuite) Test_convertQuery_ChasmMapper() {
20512051 elastic .NewTermQuery ("TemporalBool01" , true ),
20522052 ),
20532053 ),
2054- Sorter : []elastic.Sorter {elastic .NewFieldSort ("TemporalKeyword01" )},
2054+ Sorter : []elastic.Sorter {elastic .NewFieldSort ("TemporalKeyword01" ). Missing ( "_last" ) },
20552055 GroupBy : []string {},
20562056 },
20572057 },
@@ -2166,7 +2166,7 @@ func (s *ESVisibilitySuite) TestBuildSearchParametersV2_ChasmMapper() {
21662166 SearchAfter : nil ,
21672167 PageSize : testPageSize ,
21682168 Sorter : []elastic.Sorter {
2169- elastic .NewFieldSort ("TemporalKeyword01" ).Asc (),
2169+ elastic .NewFieldSort ("TemporalKeyword01" ).Asc (). Missing ( "_last" ) ,
21702170 elastic .NewFieldSort (sadefs .RunID ).Desc (),
21712171 },
21722172 }, p )
0 commit comments